termdock 1.4.75 → 1.4.76

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 (68) hide show
  1. package/dist/client/assets/{ModelPreview-CgadwE-X.js → ModelPreview-C-q0ZKQc.js} +1 -1
  2. package/dist/client/assets/{abnfDiagram-VRR7QNED-BwzoWS84.js → abnfDiagram-VRR7QNED-CTIYIXpN.js} +1 -1
  3. package/dist/client/assets/{arc-BSXeDTtT.js → arc-CWRnRy7-.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-ZJ3FMSHR-CiktZAdt.js → architectureDiagram-ZJ3FMSHR-BjKAk737.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-677ZJIJ3-CcO7Gv0u.js → blockDiagram-677ZJIJ3-C55fph0Z.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-LMCZKHZV-DqSBXIs2.js → c4Diagram-LMCZKHZV-DRTCWkB3.js} +1 -1
  7. package/dist/client/assets/channel-CUuM04vQ.js +1 -0
  8. package/dist/client/assets/{chunk-2Q5K7J3B-RGQqr7Wd.js → chunk-2Q5K7J3B-iGljLK_x.js} +1 -1
  9. package/dist/client/assets/{chunk-32BRIVSS-DBskyu-m.js → chunk-32BRIVSS-CDMTJyUy.js} +1 -1
  10. package/dist/client/assets/{chunk-5VM5RSS4-CkFCVM93.js → chunk-5VM5RSS4-D0KHRy6E.js} +1 -1
  11. package/dist/client/assets/{chunk-EX3LRPZG-DpOkJyEK.js → chunk-EX3LRPZG-DHATAaJ2.js} +1 -1
  12. package/dist/client/assets/{chunk-JWPE2WC7-D7tvMM1y.js → chunk-JWPE2WC7-CTAbPamj.js} +1 -1
  13. package/dist/client/assets/{chunk-MOJQB5TN-Bux1LkUq.js → chunk-MOJQB5TN-BAUYva62.js} +1 -1
  14. package/dist/client/assets/{chunk-RYQCIY6F-5i4ikiym.js → chunk-RYQCIY6F-BenQNED-.js} +1 -1
  15. package/dist/client/assets/{chunk-V7JOEXUC-B43bfTin.js → chunk-V7JOEXUC-DoeCEFBb.js} +1 -1
  16. package/dist/client/assets/{chunk-VR4S4FIN-CD4WRjxv.js → chunk-VR4S4FIN-qhV-heEs.js} +1 -1
  17. package/dist/client/assets/{chunk-XXDRQBXY-BrlHgkck.js → chunk-XXDRQBXY-BLyra8ga.js} +1 -1
  18. package/dist/client/assets/classDiagram-OUVF2IWQ-C3XV0AzU.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-EOCWNBFH-C3XV0AzU.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-JH36ORCC-Lvvlk7-a.js → cose-bilkent-JH36ORCC-B7BLroC9.js} +1 -1
  21. package/dist/client/assets/{cynefin-VYW2F7L2-9R5HIkEY.js → cynefin-VYW2F7L2-Bt3_-jgj.js} +1 -1
  22. package/dist/client/assets/{cynefinDiagram-TSTJHNR4-CXZG1iZX.js → cynefinDiagram-TSTJHNR4-BaknonMa.js} +1 -1
  23. package/dist/client/assets/{dagre-VKFMJZFB-BfwBKO-b.js → dagre-VKFMJZFB-DJUE9Psd.js} +1 -1
  24. package/dist/client/assets/{diagram-FQU43EPY-PCnnSXdy.js → diagram-FQU43EPY-C1rQc4x3.js} +1 -1
  25. package/dist/client/assets/{diagram-G47NLZAW-BKrDfn5t.js → diagram-G47NLZAW-iEEdqs7c.js} +1 -1
  26. package/dist/client/assets/{diagram-NH7WQ7WH-DVmM7ZUm.js → diagram-NH7WQ7WH-DED5E1CI.js} +1 -1
  27. package/dist/client/assets/{diagram-OA4YK3LP-B5YZo9wv.js → diagram-OA4YK3LP-DHN7yOfM.js} +1 -1
  28. package/dist/client/assets/{diagram-WEI45ONY-BMSaQpt2.js → diagram-WEI45ONY-DmxyFjoJ.js} +1 -1
  29. package/dist/client/assets/{ebnfDiagram-CCIWWBDH-CUUXzNR1.js → ebnfDiagram-CCIWWBDH-CiX9mmWF.js} +1 -1
  30. package/dist/client/assets/{erDiagram-Q63AITRT-Dro29FWF.js → erDiagram-Q63AITRT-C8E8y_qp.js} +1 -1
  31. package/dist/client/assets/{flowDiagram-23GEKE2U--NLPfw_6.js → flowDiagram-23GEKE2U-BWvDWa5q.js} +1 -1
  32. package/dist/client/assets/{ganttDiagram-NO4QXBWP-BTwHdLRq.js → ganttDiagram-NO4QXBWP-BqszPZeB.js} +1 -1
  33. package/dist/client/assets/{gitGraphDiagram-IHSO6WYX-Dn23E-JS.js → gitGraphDiagram-IHSO6WYX-D8JcEALS.js} +1 -1
  34. package/dist/client/assets/{index-CB7j58QZ.js → index-CZtz-DGQ.js} +4 -4
  35. package/dist/client/assets/{infoDiagram-FWYZ7A6U-DbngRn-9.js → infoDiagram-FWYZ7A6U-BvvzLAui.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-CvbaO0Ju.js → ishikawaDiagram-FXEZZL3T-i_XQE4MF.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-5HDEW3XC-DTxptbBV.js → journeyDiagram-5HDEW3XC-0hUa9Bzd.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-HUTT4EX6-CXaGI_k2.js → kanban-definition-HUTT4EX6-MBrs82kW.js} +1 -1
  39. package/dist/client/assets/{linear-B0GEZWeO.js → linear-GF7rgnsv.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-BPmN3s0O.js → mermaid.core-C1E_d21e.js} +4 -4
  41. package/dist/client/assets/{mindmap-definition-LN4V7U3C-BaDOqGJ0.js → mindmap-definition-LN4V7U3C-CEewRjaa.js} +1 -1
  42. package/dist/client/assets/{pegDiagram-2B236MQR-CQk8hRGW.js → pegDiagram-2B236MQR-ClruTMrh.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-ENE6RG2P-CO-EGZwN.js → pieDiagram-ENE6RG2P-l3ac3HhH.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-BTIXISZS.js → quadrantDiagram-ABIIQ3AL-CsRHP5PZ.js} +1 -1
  45. package/dist/client/assets/{railroadDiagram-RFXS5EU6-Bb_SaJhp.js → railroadDiagram-RFXS5EU6-BwL1dd-f.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-TGXJPOKE-BCZbXuhF.js → requirementDiagram-TGXJPOKE-Bff03sZ0.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-HTMAVEWB-J7wtByga.js → sankeyDiagram-HTMAVEWB-iWQieiuV.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-DBY2YBRQ-DX18koCe.js → sequenceDiagram-DBY2YBRQ-C3Yw-uLR.js} +1 -1
  49. package/dist/client/assets/{sizeCapture-X5ZJPWSS-Ckw-HC0v.js → sizeCapture-X5ZJPWSS-BdEH6Skx.js} +1 -1
  50. package/dist/client/assets/{stateDiagram-2N3HPSRC-CsWwRc8Z.js → stateDiagram-2N3HPSRC-B9xX15Lh.js} +1 -1
  51. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-DlpXZf5O.js +1 -0
  52. package/dist/client/assets/{swimlanes-5IMT3BWC-C-9fnG6s.js → swimlanes-5IMT3BWC-rXC-dyGV.js} +2 -2
  53. package/dist/client/assets/swimlanesDiagram-G3AALYLV-NhCNd6Sd.js +8 -0
  54. package/dist/client/assets/{timeline-definition-FHXFAJF6-RR6aJx9T.js → timeline-definition-FHXFAJF6-DREOEn0u.js} +1 -1
  55. package/dist/client/assets/{vennDiagram-L72KCM5P-Bq70NfzM.js → vennDiagram-L72KCM5P-BADqoPf4.js} +1 -1
  56. package/dist/client/assets/{wardleyDiagram-EHGQE667-BExg805C.js → wardleyDiagram-EHGQE667-Bw1CQz9t.js} +1 -1
  57. package/dist/client/assets/{xychartDiagram-FW5EYKEG-CAuIXNf1.js → xychartDiagram-FW5EYKEG-jooAMoGy.js} +1 -1
  58. package/dist/client/index.html +1 -1
  59. package/dist/client/sw.js +1 -1
  60. package/dist/server/agent/autoTitle.js +5 -0
  61. package/dist/server/routes/terminal.js +74 -13
  62. package/package.json +1 -1
  63. package/runtime-manifest.json +2 -2
  64. package/dist/client/assets/channel-CaB7X-EF.js +0 -1
  65. package/dist/client/assets/classDiagram-OUVF2IWQ-C_qGVbiI.js +0 -1
  66. package/dist/client/assets/classDiagram-v2-EOCWNBFH-C_qGVbiI.js +0 -1
  67. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-DwkbQF8P.js +0 -1
  68. package/dist/client/assets/swimlanesDiagram-G3AALYLV-C-O52D50.js +0 -8
@@ -1,4 +1,4 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Ca-rq7yX.js","assets/react-XDCjal2T.js","assets/ModelPreview-CgadwE-X.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/katex-55ZPZeOF.css","assets/mermaid.core-BPmN3s0O.js","assets/purify.es-CC4Brkr_.js"])))=>i.map(i=>d[i]);
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Ca-rq7yX.js","assets/react-XDCjal2T.js","assets/ModelPreview-C-q0ZKQc.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/katex-55ZPZeOF.css","assets/mermaid.core-C1E_d21e.js","assets/purify.es-CC4Brkr_.js"])))=>i.map(i=>d[i]);
2
2
  import{r as $m,a as BC,g as k4}from"./react-XDCjal2T.js";import{b as w,R as D,r as ql,a as PC}from"./dnd-BCFAPC0L.js";import{L as jC,l as FC}from"./terminal-C7X98Amf.js";(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function r(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerPolicy&&(i.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?i.credentials="include":s.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(s){if(s.ep)return;s.ep=!0;const i=r(s);fetch(s.href,i)}})();var Kg={exports:{}},O0={};var G5;function OC(){if(G5)return O0;G5=1;var e=$m(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,s=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function a(u,d,h){var m,b={},x=null,v=null;h!==void 0&&(x=""+h),d.key!==void 0&&(x=""+d.key),d.ref!==void 0&&(v=d.ref);for(m in d)n.call(d,m)&&!i.hasOwnProperty(m)&&(b[m]=d[m]);if(u&&u.defaultProps)for(m in d=u.defaultProps,d)b[m]===void 0&&(b[m]=d[m]);return{$$typeof:t,type:u,key:x,ref:v,props:b,_owner:s.current}}return O0.Fragment=r,O0.jsx=a,O0.jsxs=a,O0}var W5;function QC(){return W5||(W5=1,Kg.exports=OC()),Kg.exports}var l=QC(),$h={},V5;function $C(){if(V5)return $h;V5=1;var e=BC();return $h.createRoot=e.createRoot,$h.hydrateRoot=e.hydrateRoot,$h}var HC=$C();const UC=k4(HC);function q5(e){return e!==null&&typeof e=="object"&&"constructor"in e&&e.constructor===Object}function ux(e={},t={}){const r=["__proto__","constructor","prototype"];Object.keys(t).filter(n=>r.indexOf(n)<0).forEach(n=>{typeof e[n]>"u"?e[n]=t[n]:q5(t[n])&&q5(e[n])&&Object.keys(t[n]).length>0&&ux(e[n],t[n])})}const _4={body:{},addEventListener(){},removeEventListener(){},activeElement:{blur(){},nodeName:""},querySelector(){return null},querySelectorAll(){return[]},getElementById(){return null},createEvent(){return{initEvent(){}}},createElement(){return{children:[],childNodes:[],style:{},setAttribute(){},getElementsByTagName(){return[]}}},createElementNS(){return{}},importNode(){return null},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""}};function Au(){const e=typeof document<"u"?document:{};return ux(e,_4),e}const zC={document:_4,navigator:{userAgent:""},location:{hash:"",host:"",hostname:"",href:"",origin:"",pathname:"",protocol:"",search:""},history:{replaceState(){},pushState(){},go(){},back(){}},CustomEvent:function(){return this},addEventListener(){},removeEventListener(){},getComputedStyle(){return{getPropertyValue(){return""}}},Image(){},Date(){},screen:{},setTimeout(){},clearTimeout(){},matchMedia(){return{}},requestAnimationFrame(e){return typeof setTimeout>"u"?(e(),null):setTimeout(e,0)},cancelAnimationFrame(e){typeof setTimeout>"u"||clearTimeout(e)}};function Co(){const e=typeof window<"u"?window:{};return ux(e,zC),e}function GC(e=""){return e.trim().split(" ").filter(t=>!!t.trim())}function WC(e){const t=e;Object.keys(t).forEach(r=>{try{t[r]=null}catch{}try{delete t[r]}catch{}})}function L4(e,t=0){return setTimeout(e,t)}function rm(){return Date.now()}function VC(e){const t=Co();let r;return t.getComputedStyle&&(r=t.getComputedStyle(e,null)),!r&&e.currentStyle&&(r=e.currentStyle),r||(r=e.style),r}function qC(e,t="x"){const r=Co();let n,s,i;const a=VC(e);return r.WebKitCSSMatrix?(s=a.transform||a.webkitTransform,s.split(",").length>6&&(s=s.split(", ").map(u=>u.replace(",",".")).join(", ")),i=new r.WebKitCSSMatrix(s==="none"?"":s)):(i=a.MozTransform||a.OTransform||a.MsTransform||a.msTransform||a.transform||a.getPropertyValue("transform").replace("translate(","matrix(1, 0, 0, 1,"),n=i.toString().split(",")),t==="x"&&(r.WebKitCSSMatrix?s=i.m41:n.length===16?s=parseFloat(n[12]):s=parseFloat(n[4])),t==="y"&&(r.WebKitCSSMatrix?s=i.m42:n.length===16?s=parseFloat(n[13]):s=parseFloat(n[5])),s||0}function Hh(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"}function YC(e){return typeof window<"u"&&typeof window.HTMLElement<"u"?e instanceof HTMLElement:e&&(e.nodeType===1||e.nodeType===11)}function ra(...e){const t=Object(e[0]);for(let r=1;r<e.length;r+=1){const n=e[r];if(n!=null&&!YC(n)){const s=Object.keys(Object(n)).filter(i=>i!=="__proto__"&&i!=="constructor"&&i!=="prototype");for(let i=0,a=s.length;i<a;i+=1){const u=s[i],d=Object.getOwnPropertyDescriptor(n,u);d!==void 0&&d.enumerable&&(Hh(t[u])&&Hh(n[u])?n[u].__swiper__?t[u]=n[u]:ra(t[u],n[u]):!Hh(t[u])&&Hh(n[u])?(t[u]={},n[u].__swiper__?t[u]=n[u]:ra(t[u],n[u])):t[u]=n[u])}}}return t}function Gu(e,t,r){e.style.setProperty(t,r)}function E4({swiper:e,targetPosition:t,side:r}){const n=Co(),s=-e.translate;let i=null,a;const u=e.params.speed;e.wrapperEl.style.scrollSnapType="none",n.cancelAnimationFrame(e.cssModeFrameID);const d=t>s?"next":"prev",h=(b,x)=>d==="next"&&b>=x||d==="prev"&&b<=x,m=()=>{a=new Date().getTime(),i===null&&(i=a);const b=Math.max(Math.min((a-i)/u,1),0),x=.5-Math.cos(b*Math.PI)/2;let v=s+x*(t-s);if(h(v,t)&&(v=t),e.wrapperEl.scrollTo({[r]:v}),h(v,t)){e.wrapperEl.style.overflow="hidden",e.wrapperEl.style.scrollSnapType="",setTimeout(()=>{e.wrapperEl.style.overflow="",e.wrapperEl.scrollTo({[r]:v})}),n.cancelAnimationFrame(e.cssModeFrameID);return}e.cssModeFrameID=n.requestAnimationFrame(m)};m()}function Fl(e,t=""){const r=Co(),n=[...e.children];return r.HTMLSlotElement&&e instanceof HTMLSlotElement&&n.push(...e.assignedElements()),t?n.filter(s=>s.matches(t)):n}function KC(e,t){const r=[t];for(;r.length>0;){const n=r.shift();if(e===n)return!0;r.push(...n.children,...n.shadowRoot?n.shadowRoot.children:[],...n.assignedElements?n.assignedElements():[])}}function ZC(e,t){const r=Co();let n=t.contains(e);return!n&&r.HTMLSlotElement&&t instanceof HTMLSlotElement&&(n=[...t.assignedElements()].includes(e),n||(n=KC(e,t))),n}function nm(e){try{console.warn(e);return}catch{}}function O2(e,t=[]){const r=document.createElement(e);return r.classList.add(...Array.isArray(t)?t:GC(t)),r}function XC(e,t){const r=[];for(;e.previousElementSibling;){const n=e.previousElementSibling;t?n.matches(t)&&r.push(n):r.push(n),e=n}return r}function JC(e,t){const r=[];for(;e.nextElementSibling;){const n=e.nextElementSibling;t?n.matches(t)&&r.push(n):r.push(n),e=n}return r}function wc(e,t){return Co().getComputedStyle(e,null).getPropertyValue(t)}function Y5(e){let t=e,r;if(t){for(r=0;(t=t.previousSibling)!==null;)t.nodeType===1&&(r+=1);return r}}function ek(e,t){const r=[];let n=e.parentElement;for(;n;)r.push(n),n=n.parentElement;return r}function K5(e,t,r){const n=Co();return e[t==="width"?"offsetWidth":"offsetHeight"]+parseFloat(n.getComputedStyle(e,null).getPropertyValue(t==="width"?"margin-right":"margin-top"))+parseFloat(n.getComputedStyle(e,null).getPropertyValue(t==="width"?"margin-left":"margin-bottom"))}function Z5(e,t=""){typeof trustedTypes<"u"?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:r=>r}).createHTML(t):e.innerHTML=t}let Zg;function tk(){const e=Co(),t=Au();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}function I4(){return Zg||(Zg=tk()),Zg}let Xg;function rk({userAgent:e}={}){const t=I4(),r=Co(),n=r.navigator.platform,s=e||r.navigator.userAgent,i={ios:!1,android:!1},a=r.screen.width,u=r.screen.height,d=s.match(/(Android);?[\s\/]+([\d.]+)?/);let h=s.match(/(iPad)(?!\1).*OS\s([\d_]+)/);const m=s.match(/(iPod)(.*OS\s([\d_]+))?/),b=!h&&s.match(/(iPhone\sOS|iOS)\s([\d_]+)/),x=n==="Win32";let v=n==="MacIntel";const S=["1024x1366","1366x1024","834x1194","1194x834","834x1112","1112x834","768x1024","1024x768","820x1180","1180x820","810x1080","1080x810"];return!h&&v&&t.touch&&S.indexOf(`${a}x${u}`)>=0&&(h=s.match(/(Version)\/([\d.]+)/),h||(h=[0,1,"13_0_0"]),v=!1),d&&!x&&(i.os="android",i.android=!0),(h||b||m)&&(i.os="ios",i.ios=!0),i}function M4(e={}){return Xg||(Xg=rk(e)),Xg}let Jg;function nk(){const e=Co(),t=M4();let r=!1;function n(){const u=e.navigator.userAgent.toLowerCase();return u.indexOf("safari")>=0&&u.indexOf("chrome")<0&&u.indexOf("android")<0}if(n()){const u=String(e.navigator.userAgent);if(u.includes("Version/")){const[d,h]=u.split("Version/")[1].split(" ")[0].split(".").map(m=>Number(m));r=d<16||d===16&&h<2}}const s=/(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(e.navigator.userAgent),i=n(),a=i||s&&t.ios;return{isSafari:r||i,needPerspectiveFix:r,need3dFix:a,isWebView:s}}function R4(){return Jg||(Jg=nk()),Jg}function sk({swiper:e,on:t,emit:r}){const n=Co();let s=null,i=null;const a=()=>{!e||e.destroyed||!e.initialized||(r("beforeResize"),r("resize"))},u=()=>{!e||e.destroyed||!e.initialized||(s=new ResizeObserver(m=>{i=n.requestAnimationFrame(()=>{const{width:b,height:x}=e;let v=b,S=x;m.forEach(({contentBoxSize:T,contentRect:_,target:L})=>{L&&L!==e.el||(v=_?_.width:(T[0]||T).inlineSize,S=_?_.height:(T[0]||T).blockSize)}),(v!==b||S!==x)&&a()})}),s.observe(e.el))},d=()=>{i&&n.cancelAnimationFrame(i),s&&s.unobserve&&e.el&&(s.unobserve(e.el),s=null)},h=()=>{!e||e.destroyed||!e.initialized||r("orientationchange")};t("init",()=>{if(e.params.resizeObserver&&typeof n.ResizeObserver<"u"){u();return}n.addEventListener("resize",a),n.addEventListener("orientationchange",h)}),t("destroy",()=>{d(),n.removeEventListener("resize",a),n.removeEventListener("orientationchange",h)})}function ik({swiper:e,extendParams:t,on:r,emit:n}){const s=[],i=Co(),a=(h,m={})=>{const b=i.MutationObserver||i.WebkitMutationObserver,x=new b(v=>{if(e.__preventObserver__)return;if(v.length===1){n("observerUpdate",v[0]);return}const S=function(){n("observerUpdate",v[0])};i.requestAnimationFrame?i.requestAnimationFrame(S):i.setTimeout(S,0)});x.observe(h,{attributes:typeof m.attributes>"u"?!0:m.attributes,childList:e.isElement||(typeof m.childList>"u"?!0:m).childList,characterData:typeof m.characterData>"u"?!0:m.characterData}),s.push(x)},u=()=>{if(e.params.observer){if(e.params.observeParents){const h=ek(e.hostEl);for(let m=0;m<h.length;m+=1)a(h[m])}a(e.hostEl,{childList:e.params.observeSlideChildren}),a(e.wrapperEl,{attributes:!1})}},d=()=>{s.forEach(h=>{h.disconnect()}),s.splice(0,s.length)};t({observer:!1,observeParents:!1,observeSlideChildren:!1}),r("init",u),r("destroy",d)}var ok={on(e,t,r){const n=this;if(!n.eventsListeners||n.destroyed||typeof t!="function")return n;const s=r?"unshift":"push";return e.split(" ").forEach(i=>{n.eventsListeners[i]||(n.eventsListeners[i]=[]),n.eventsListeners[i][s](t)}),n},once(e,t,r){const n=this;if(!n.eventsListeners||n.destroyed||typeof t!="function")return n;function s(...i){n.off(e,s),s.__emitterProxy&&delete s.__emitterProxy,t.apply(n,i)}return s.__emitterProxy=t,n.on(e,s,r)},onAny(e,t){const r=this;if(!r.eventsListeners||r.destroyed||typeof e!="function")return r;const n=t?"unshift":"push";return r.eventsAnyListeners.indexOf(e)<0&&r.eventsAnyListeners[n](e),r},offAny(e){const t=this;if(!t.eventsListeners||t.destroyed||!t.eventsAnyListeners)return t;const r=t.eventsAnyListeners.indexOf(e);return r>=0&&t.eventsAnyListeners.splice(r,1),t},off(e,t){const r=this;return!r.eventsListeners||r.destroyed||!r.eventsListeners||e.split(" ").forEach(n=>{typeof t>"u"?r.eventsListeners[n]=[]:r.eventsListeners[n]&&r.eventsListeners[n].forEach((s,i)=>{(s===t||s.__emitterProxy&&s.__emitterProxy===t)&&r.eventsListeners[n].splice(i,1)})}),r},emit(...e){const t=this;if(!t.eventsListeners||t.destroyed||!t.eventsListeners)return t;let r,n,s;return typeof e[0]=="string"||Array.isArray(e[0])?(r=e[0],n=e.slice(1,e.length),s=t):(r=e[0].events,n=e[0].data,s=e[0].context||t),n.unshift(s),(Array.isArray(r)?r:r.split(" ")).forEach(a=>{t.eventsAnyListeners&&t.eventsAnyListeners.length&&t.eventsAnyListeners.forEach(u=>{u.apply(s,[a,...n])}),t.eventsListeners&&t.eventsListeners[a]&&t.eventsListeners[a].forEach(u=>{u.apply(s,n)})}),t}};function ak(){const e=this;let t,r;const n=e.el;typeof e.params.width<"u"&&e.params.width!==null?t=e.params.width:t=n.clientWidth,typeof e.params.height<"u"&&e.params.height!==null?r=e.params.height:r=n.clientHeight,!(t===0&&e.isHorizontal()||r===0&&e.isVertical())&&(t=t-parseInt(wc(n,"padding-left")||0,10)-parseInt(wc(n,"padding-right")||0,10),r=r-parseInt(wc(n,"padding-top")||0,10)-parseInt(wc(n,"padding-bottom")||0,10),Number.isNaN(t)&&(t=0),Number.isNaN(r)&&(r=0),Object.assign(e,{width:t,height:r,size:e.isHorizontal()?t:r}))}function lk(){const e=this;function t(Y,U){return parseFloat(Y.getPropertyValue(e.getDirectionLabel(U))||0)}const r=e.params,{wrapperEl:n,slidesEl:s,rtlTranslate:i,wrongRTL:a}=e,u=e.virtual&&r.virtual.enabled,d=u?e.virtual.slides.length:e.slides.length,h=Fl(s,`.${e.params.slideClass}, swiper-slide`),m=u?e.virtual.slides.length:h.length;let b=[];const x=[],v=[];let S=r.slidesOffsetBefore;typeof S=="function"&&(S=r.slidesOffsetBefore.call(e));let T=r.slidesOffsetAfter;typeof T=="function"&&(T=r.slidesOffsetAfter.call(e));const _=e.snapGrid.length,L=e.slidesGrid.length,M=e.size-S-T;let R=r.spaceBetween,Q=-S,N=0,j=0;if(typeof M>"u")return;typeof R=="string"&&R.indexOf("%")>=0?R=parseFloat(R.replace("%",""))/100*M:typeof R=="string"&&(R=parseFloat(R)),e.virtualSize=-R-S-T,h.forEach(Y=>{i?Y.style.marginLeft="":Y.style.marginRight="",Y.style.marginBottom="",Y.style.marginTop=""}),r.centeredSlides&&r.cssMode&&(Gu(n,"--swiper-centered-offset-before",""),Gu(n,"--swiper-centered-offset-after","")),r.cssMode&&(Gu(n,"--swiper-slides-offset-before",`${S}px`),Gu(n,"--swiper-slides-offset-after",`${T}px`));const A=r.grid&&r.grid.rows>1&&e.grid;A?e.grid.initSlides(h):e.grid&&e.grid.unsetSlides();let F;const z=r.slidesPerView==="auto"&&r.breakpoints&&Object.keys(r.breakpoints).filter(Y=>typeof r.breakpoints[Y].slidesPerView<"u").length>0;for(let Y=0;Y<m;Y+=1){F=0;const U=h[Y];if(!(U&&(A&&e.grid.updateSlide(Y,U,h),wc(U,"display")==="none"))){if(u&&r.slidesPerView==="auto")r.virtual.slidesPerViewAutoSlideSize&&(F=r.virtual.slidesPerViewAutoSlideSize),F&&U&&(r.roundLengths&&(F=Math.floor(F)),U.style[e.getDirectionLabel("width")]=`${F}px`);else if(r.slidesPerView==="auto"){z&&(U.style[e.getDirectionLabel("width")]="");const G=getComputedStyle(U),ee=U.style.transform,te=U.style.webkitTransform;if(ee&&(U.style.transform="none"),te&&(U.style.webkitTransform="none"),r.roundLengths)F=e.isHorizontal()?K5(U,"width"):K5(U,"height");else{const pe=t(G,"width"),Se=t(G,"padding-left"),ye=t(G,"padding-right"),fe=t(G,"margin-left"),ae=t(G,"margin-right"),Ee=G.getPropertyValue("box-sizing");if(Ee&&Ee==="border-box")F=pe+fe+ae;else{const{clientWidth:We,offsetWidth:Fe}=U;F=pe+Se+ye+fe+ae+(Fe-We)}}ee&&(U.style.transform=ee),te&&(U.style.webkitTransform=te),r.roundLengths&&(F=Math.floor(F))}else F=(M-(r.slidesPerView-1)*R)/r.slidesPerView,r.roundLengths&&(F=Math.floor(F)),U&&(U.style[e.getDirectionLabel("width")]=`${F}px`);U&&(U.swiperSlideSize=F),v.push(F),r.centeredSlides?(Q=Q+F/2+N/2+R,N===0&&Y!==0&&(Q=Q-M/2-R),Y===0&&(Q=Q-M/2-R),Math.abs(Q)<1/1e3&&(Q=0),r.roundLengths&&(Q=Math.floor(Q)),j%r.slidesPerGroup===0&&b.push(Q),x.push(Q)):(r.roundLengths&&(Q=Math.floor(Q)),(j-Math.min(e.params.slidesPerGroupSkip,j))%e.params.slidesPerGroup===0&&b.push(Q),x.push(Q),Q=Q+F+R),e.virtualSize+=F+R,N=F,j+=1}}if(e.virtualSize=Math.max(e.virtualSize,M)+T,i&&a&&(r.effect==="slide"||r.effect==="coverflow")&&(n.style.width=`${e.virtualSize+R}px`),r.setWrapperSize&&(n.style[e.getDirectionLabel("width")]=`${e.virtualSize+R}px`),A&&e.grid.updateWrapperSize(F,b),!r.centeredSlides){const Y=r.slidesPerView!=="auto"&&r.slidesPerView%1!==0,U=r.snapToSlideEdge&&!r.loop&&(r.slidesPerView==="auto"||Y);let G=b.length;if(U){let te;if(r.slidesPerView==="auto"){te=1;let pe=0;for(let Se=v.length-1;Se>=0&&(pe+=v[Se]+(Se<v.length-1?R:0),pe<=M);Se-=1)te=v.length-Se}else te=Math.floor(r.slidesPerView);G=Math.max(m-te,0)}const ee=[];for(let te=0;te<b.length;te+=1){let pe=b[te];r.roundLengths&&(pe=Math.floor(pe)),U?te<=G&&ee.push(pe):b[te]<=e.virtualSize-M&&ee.push(pe)}b=ee,Math.floor(e.virtualSize-M)-Math.floor(b[b.length-1])>1&&(U||b.push(e.virtualSize-M))}if(u&&r.loop){const Y=v[0]+R;if(r.slidesPerGroup>1){const U=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/r.slidesPerGroup),G=Y*r.slidesPerGroup;for(let ee=0;ee<U;ee+=1)b.push(b[b.length-1]+G)}for(let U=0;U<e.virtual.slidesBefore+e.virtual.slidesAfter;U+=1)r.slidesPerGroup===1&&b.push(b[b.length-1]+Y),x.push(x[x.length-1]+Y),e.virtualSize+=Y}if(b.length===0&&(b=[0]),R!==0){const Y=e.isHorizontal()&&i?"marginLeft":e.getDirectionLabel("marginRight");h.filter((U,G)=>!r.cssMode||r.loop?!0:G!==h.length-1).forEach(U=>{U.style[Y]=`${R}px`})}if(r.centeredSlides&&r.centeredSlidesBounds){let Y=0;v.forEach(G=>{Y+=G+(R||0)}),Y-=R;const U=Y>M?Y-M:0;b=b.map(G=>G<=0?-S:G>U?U+T:G)}if(r.centerInsufficientSlides){let Y=0;if(v.forEach(U=>{Y+=U+(R||0)}),Y-=R,Y<M){const U=(M-Y)/2;b.forEach((G,ee)=>{b[ee]=G-U}),x.forEach((G,ee)=>{x[ee]=G+U})}}if(Object.assign(e,{slides:h,snapGrid:b,slidesGrid:x,slidesSizesGrid:v}),r.centeredSlides&&r.cssMode&&!r.centeredSlidesBounds){Gu(n,"--swiper-centered-offset-before",`${-b[0]}px`),Gu(n,"--swiper-centered-offset-after",`${e.size/2-v[v.length-1]/2}px`);const Y=-e.snapGrid[0],U=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(G=>G+Y),e.slidesGrid=e.slidesGrid.map(G=>G+U)}if(m!==d&&e.emit("slidesLengthChange"),b.length!==_&&(e.params.watchOverflow&&e.checkOverflow(),e.emit("snapGridLengthChange")),x.length!==L&&e.emit("slidesGridLengthChange"),r.watchSlidesProgress&&e.updateSlidesOffset(),e.emit("slidesUpdated"),!u&&!r.cssMode&&(r.effect==="slide"||r.effect==="fade")){const Y=`${r.containerModifierClass}backface-hidden`,U=e.el.classList.contains(Y);m<=r.maxBackfaceHiddenSlides?U||e.el.classList.add(Y):U&&e.el.classList.remove(Y)}}function ck(e){const t=this,r=[],n=t.virtual&&t.params.virtual.enabled;let s=0,i;typeof e=="number"?t.setTransition(e):e===!0&&t.setTransition(t.params.speed);const a=u=>n?t.slides[t.getSlideIndexByData(u)]:t.slides[u];if(t.params.slidesPerView!=="auto"&&t.params.slidesPerView>1)if(t.params.centeredSlides)(t.visibleSlides||[]).forEach(u=>{r.push(u)});else for(i=0;i<Math.ceil(t.params.slidesPerView);i+=1){const u=t.activeIndex+i;if(u>t.slides.length&&!n)break;r.push(a(u))}else r.push(a(t.activeIndex));for(i=0;i<r.length;i+=1)if(typeof r[i]<"u"){const u=r[i].offsetHeight;s=u>s?u:s}(s||s===0)&&(t.wrapperEl.style.height=`${s}px`)}function uk(){const e=this,t=e.slides,r=e.isElement?e.isHorizontal()?e.wrapperEl.offsetLeft:e.wrapperEl.offsetTop:0;for(let n=0;n<t.length;n+=1)t[n].swiperSlideOffset=(e.isHorizontal()?t[n].offsetLeft:t[n].offsetTop)-r-e.cssOverflowAdjustment()}const X5=(e,t,r)=>{t&&!e.classList.contains(r)?e.classList.add(r):!t&&e.classList.contains(r)&&e.classList.remove(r)};function dk(e=this&&this.translate||0){const t=this,r=t.params,{slides:n,rtlTranslate:s,snapGrid:i}=t;if(n.length===0)return;typeof n[0].swiperSlideOffset>"u"&&t.updateSlidesOffset();let a=-e;s&&(a=e),t.visibleSlidesIndexes=[],t.visibleSlides=[];let u=r.spaceBetween;typeof u=="string"&&u.indexOf("%")>=0?u=parseFloat(u.replace("%",""))/100*t.size:typeof u=="string"&&(u=parseFloat(u));for(let d=0;d<n.length;d+=1){const h=n[d];let m=h.swiperSlideOffset;r.cssMode&&r.centeredSlides&&(m-=n[0].swiperSlideOffset);const b=(a+(r.centeredSlides?t.minTranslate():0)-m)/(h.swiperSlideSize+u),x=(a-i[0]+(r.centeredSlides?t.minTranslate():0)-m)/(h.swiperSlideSize+u),v=-(a-m),S=v+t.slidesSizesGrid[d],T=v>=0&&v<=t.size-t.slidesSizesGrid[d],_=v>=0&&v<t.size-1||S>1&&S<=t.size||v<=0&&S>=t.size;_&&(t.visibleSlides.push(h),t.visibleSlidesIndexes.push(d)),X5(h,_,r.slideVisibleClass),X5(h,T,r.slideFullyVisibleClass),h.progress=s?-b:b,h.originalProgress=s?-x:x}}function fk(e){const t=this;if(typeof e>"u"){const m=t.rtlTranslate?-1:1;e=t&&t.translate&&t.translate*m||0}const r=t.params,n=t.maxTranslate()-t.minTranslate();let{progress:s,isBeginning:i,isEnd:a,progressLoop:u}=t;const d=i,h=a;if(n===0)s=0,i=!0,a=!0;else{s=(e-t.minTranslate())/n;const m=Math.abs(e-t.minTranslate())<1,b=Math.abs(e-t.maxTranslate())<1;i=m||s<=0,a=b||s>=1,m&&(s=0),b&&(s=1)}if(r.loop){const m=t.getSlideIndexByData(0),b=t.getSlideIndexByData(t.slides.length-1),x=t.slidesGrid[m],v=t.slidesGrid[b],S=t.slidesGrid[t.slidesGrid.length-1],T=Math.abs(e);T>=x?u=(T-x)/S:u=(T+S-v)/S,u>1&&(u-=1)}Object.assign(t,{progress:s,progressLoop:u,isBeginning:i,isEnd:a}),(r.watchSlidesProgress||r.centeredSlides&&r.autoHeight)&&t.updateSlidesProgress(e),i&&!d&&t.emit("reachBeginning toEdge"),a&&!h&&t.emit("reachEnd toEdge"),(d&&!i||h&&!a)&&t.emit("fromEdge"),t.emit("progress",s)}const e1=(e,t,r)=>{t&&!e.classList.contains(r)?e.classList.add(r):!t&&e.classList.contains(r)&&e.classList.remove(r)};function hk(){const e=this,{slides:t,params:r,slidesEl:n,activeIndex:s}=e,i=e.virtual&&r.virtual.enabled,a=e.grid&&r.grid&&r.grid.rows>1,u=b=>Fl(n,`.${r.slideClass}${b}, swiper-slide${b}`)[0];let d,h,m;if(i)if(r.loop){let b=s-e.virtual.slidesBefore;b<0&&(b=e.virtual.slides.length+b),b>=e.virtual.slides.length&&(b-=e.virtual.slides.length),d=u(`[data-swiper-slide-index="${b}"]`)}else d=u(`[data-swiper-slide-index="${s}"]`);else a?(d=t.find(b=>b.column===s),m=t.find(b=>b.column===s+1),h=t.find(b=>b.column===s-1)):d=t[s];d&&(a||(m=JC(d,`.${r.slideClass}, swiper-slide`)[0],r.loop&&!m&&(m=t[0]),h=XC(d,`.${r.slideClass}, swiper-slide`)[0],r.loop&&!h===0&&(h=t[t.length-1]))),t.forEach(b=>{e1(b,b===d,r.slideActiveClass),e1(b,b===m,r.slideNextClass),e1(b,b===h,r.slidePrevClass)}),e.emitSlidesClasses()}const Np=(e,t)=>{if(!e||e.destroyed||!e.params)return;const r=()=>e.isElement?"swiper-slide":`.${e.params.slideClass}`,n=t.closest(r());if(n){let s=n.querySelector(`.${e.params.lazyPreloaderClass}`);!s&&e.isElement&&(n.shadowRoot?s=n.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`):requestAnimationFrame(()=>{n.shadowRoot&&(s=n.shadowRoot.querySelector(`.${e.params.lazyPreloaderClass}`),s&&!s.lazyPreloaderManaged&&s.remove())})),s&&!s.lazyPreloaderManaged&&s.remove()}},t1=(e,t)=>{if(!e.slides[t])return;const r=e.slides[t].querySelector('[loading="lazy"]');r&&r.removeAttribute("loading")},Q2=e=>{if(!e||e.destroyed||!e.params)return;let t=e.params.lazyPreloadPrevNext;const r=e.slides.length;if(!r||!t||t<0)return;t=Math.min(t,r);const n=e.params.slidesPerView==="auto"?e.slidesPerViewDynamic():Math.ceil(e.params.slidesPerView),s=e.activeIndex;if(e.params.grid&&e.params.grid.rows>1){const a=s,u=[a-t];u.push(...Array.from({length:t}).map((d,h)=>a+n+h)),e.slides.forEach((d,h)=>{u.includes(d.column)&&t1(e,h)});return}const i=s+n-1;if(e.params.rewind||e.params.loop)for(let a=s-t;a<=i+t;a+=1){const u=(a%r+r)%r;(u<s||u>i)&&t1(e,u)}else for(let a=Math.max(s-t,0);a<=Math.min(i+t,r-1);a+=1)a!==s&&(a>i||a<s)&&t1(e,a)};function pk(e){const{slidesGrid:t,params:r}=e,n=e.rtlTranslate?e.translate:-e.translate;let s;for(let i=0;i<t.length;i+=1)typeof t[i+1]<"u"?n>=t[i]&&n<t[i+1]-(t[i+1]-t[i])/2?s=i:n>=t[i]&&n<t[i+1]&&(s=i+1):n>=t[i]&&(s=i);return r.normalizeSlideIndex&&(s<0||typeof s>"u")&&(s=0),s}function mk(e){const t=this,r=t.rtlTranslate?t.translate:-t.translate,{snapGrid:n,params:s,activeIndex:i,realIndex:a,snapIndex:u}=t;let d=e,h;const m=v=>{let S=v-t.virtual.slidesBefore;return S<0&&(S=t.virtual.slides.length+S),S>=t.virtual.slides.length&&(S-=t.virtual.slides.length),S};if(typeof d>"u"&&(d=pk(t)),n.indexOf(r)>=0)h=n.indexOf(r);else{const v=Math.min(s.slidesPerGroupSkip,d);h=v+Math.floor((d-v)/s.slidesPerGroup)}if(h>=n.length&&(h=n.length-1),d===i&&!t.params.loop){h!==u&&(t.snapIndex=h,t.emit("snapIndexChange"));return}if(d===i&&t.params.loop&&t.virtual&&t.params.virtual.enabled){t.realIndex=m(d);return}const b=t.grid&&s.grid&&s.grid.rows>1;let x;if(t.virtual&&s.virtual.enabled)s.loop?x=m(d):x=d;else if(b){const v=t.slides.find(T=>T.column===d);let S=parseInt(v.getAttribute("data-swiper-slide-index"),10);Number.isNaN(S)&&(S=Math.max(t.slides.indexOf(v),0)),x=Math.floor(S/s.grid.rows)}else if(t.slides[d]){const v=t.slides[d].getAttribute("data-swiper-slide-index");v?x=parseInt(v,10):x=d}else x=d;Object.assign(t,{previousSnapIndex:u,snapIndex:h,previousRealIndex:a,realIndex:x,previousIndex:i,activeIndex:d}),t.initialized&&Q2(t),t.emit("activeIndexChange"),t.emit("snapIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&(a!==x&&t.emit("realIndexChange"),t.emit("slideChange"))}function gk(e,t){const r=this,n=r.params;let s=e.closest(`.${n.slideClass}, swiper-slide`);!s&&r.isElement&&t&&t.length>1&&t.includes(e)&&[...t.slice(t.indexOf(e)+1,t.length)].forEach(u=>{!s&&u.matches&&u.matches(`.${n.slideClass}, swiper-slide`)&&(s=u)});let i=!1,a;if(s){for(let u=0;u<r.slides.length;u+=1)if(r.slides[u]===s){i=!0,a=u;break}}if(s&&i)r.clickedSlide=s,r.virtual&&r.params.virtual.enabled?r.clickedIndex=parseInt(s.getAttribute("data-swiper-slide-index"),10):r.clickedIndex=a;else{r.clickedSlide=void 0,r.clickedIndex=void 0;return}n.slideToClickedSlide&&r.clickedIndex!==void 0&&r.clickedIndex!==r.activeIndex&&r.slideToClickedSlide()}var bk={updateSize:ak,updateSlides:lk,updateAutoHeight:ck,updateSlidesOffset:uk,updateSlidesProgress:dk,updateProgress:fk,updateSlidesClasses:hk,updateActiveIndex:mk,updateClickedSlide:gk};function xk(e=this.isHorizontal()?"x":"y"){const t=this,{params:r,rtlTranslate:n,translate:s,wrapperEl:i}=t;if(r.virtualTranslate)return n?-s:s;if(r.cssMode)return s;let a=qC(i,e);return a+=t.cssOverflowAdjustment(),n&&(a=-a),a||0}function yk(e,t){const r=this,{rtlTranslate:n,params:s,wrapperEl:i,progress:a}=r;let u=0,d=0;const h=0;r.isHorizontal()?u=n?-e:e:d=e,s.roundLengths&&(u=Math.floor(u),d=Math.floor(d)),r.previousTranslate=r.translate,r.translate=r.isHorizontal()?u:d,s.cssMode?i[r.isHorizontal()?"scrollLeft":"scrollTop"]=r.isHorizontal()?-u:-d:s.virtualTranslate||(r.isHorizontal()?u-=r.cssOverflowAdjustment():d-=r.cssOverflowAdjustment(),i.style.transform=`translate3d(${u}px, ${d}px, ${h}px)`);let m;const b=r.maxTranslate()-r.minTranslate();b===0?m=0:m=(e-r.minTranslate())/b,m!==a&&r.updateProgress(e),r.emit("setTranslate",r.translate,t)}function vk(){return-this.snapGrid[0]}function wk(){return-this.snapGrid[this.snapGrid.length-1]}function Ak(e=0,t=this.params.speed,r=!0,n=!0,s){const i=this,{params:a,wrapperEl:u}=i;if(i.animating&&a.preventInteractionOnTransition)return!1;const d=i.minTranslate(),h=i.maxTranslate();let m;if(n&&e>d?m=d:n&&e<h?m=h:m=e,i.updateProgress(m),a.cssMode){const b=i.isHorizontal();if(t===0)u[b?"scrollLeft":"scrollTop"]=-m;else{if(!i.support.smoothScroll)return E4({swiper:i,targetPosition:-m,side:b?"left":"top"}),!0;u.scrollTo({[b?"left":"top"]:-m,behavior:"smooth"})}return!0}return t===0?(i.setTransition(0),i.setTranslate(m),r&&(i.emit("beforeTransitionStart",t,s),i.emit("transitionEnd"))):(i.setTransition(t),i.setTranslate(m),r&&(i.emit("beforeTransitionStart",t,s),i.emit("transitionStart")),i.animating||(i.animating=!0,i.onTranslateToWrapperTransitionEnd||(i.onTranslateToWrapperTransitionEnd=function(x){!i||i.destroyed||x.target===this&&(i.wrapperEl.removeEventListener("transitionend",i.onTranslateToWrapperTransitionEnd),i.onTranslateToWrapperTransitionEnd=null,delete i.onTranslateToWrapperTransitionEnd,i.animating=!1,r&&i.emit("transitionEnd"))}),i.wrapperEl.addEventListener("transitionend",i.onTranslateToWrapperTransitionEnd))),!0}var Sk={getTranslate:xk,setTranslate:yk,minTranslate:vk,maxTranslate:wk,translateTo:Ak};function Tk(e,t){const r=this;r.params.cssMode||(r.wrapperEl.style.transitionDuration=`${e}ms`,r.wrapperEl.style.transitionDelay=e===0?"0ms":""),r.emit("setTransition",e,t)}function N4({swiper:e,runCallbacks:t,direction:r,step:n}){const{activeIndex:s,previousIndex:i}=e;let a=r;a||(s>i?a="next":s<i?a="prev":a="reset"),e.emit(`transition${n}`),t&&a==="reset"?e.emit(`slideResetTransition${n}`):t&&s!==i&&(e.emit(`slideChangeTransition${n}`),a==="next"?e.emit(`slideNextTransition${n}`):e.emit(`slidePrevTransition${n}`))}function Ck(e=!0,t){const r=this,{params:n}=r;n.cssMode||(n.autoHeight&&r.updateAutoHeight(),N4({swiper:r,runCallbacks:e,direction:t,step:"Start"}))}function kk(e=!0,t){const r=this,{params:n}=r;r.animating=!1,!n.cssMode&&(r.setTransition(0),N4({swiper:r,runCallbacks:e,direction:t,step:"End"}))}var _k={setTransition:Tk,transitionStart:Ck,transitionEnd:kk};function Lk(e=0,t,r=!0,n,s){typeof e=="string"&&(e=parseInt(e,10));const i=this;let a=e;a<0&&(a=0);const{params:u,snapGrid:d,slidesGrid:h,previousIndex:m,activeIndex:b,rtlTranslate:x,wrapperEl:v,enabled:S}=i;if(!S&&!n&&!s||i.destroyed||i.animating&&u.preventInteractionOnTransition)return!1;typeof t>"u"&&(t=i.params.speed);const T=Math.min(i.params.slidesPerGroupSkip,a);let _=T+Math.floor((a-T)/i.params.slidesPerGroup);_>=d.length&&(_=d.length-1);const L=-d[_];if(u.normalizeSlideIndex)for(let A=0;A<h.length;A+=1){const F=-Math.floor(L*100),z=Math.floor(h[A]*100),Y=Math.floor(h[A+1]*100);typeof h[A+1]<"u"?F>=z&&F<Y-(Y-z)/2?a=A:F>=z&&F<Y&&(a=A+1):F>=z&&(a=A)}if(i.initialized&&a!==b&&(!i.allowSlideNext&&(x?L>i.translate&&L>i.minTranslate():L<i.translate&&L<i.minTranslate())||!i.allowSlidePrev&&L>i.translate&&L>i.maxTranslate()&&(b||0)!==a))return!1;a!==(m||0)&&r&&i.emit("beforeSlideChangeStart"),i.updateProgress(L);let M;a>b?M="next":a<b?M="prev":M="reset";const R=i.virtual&&i.params.virtual.enabled;if(!(R&&s)&&(x&&-L===i.translate||!x&&L===i.translate))return i.updateActiveIndex(a),u.autoHeight&&i.updateAutoHeight(),i.updateSlidesClasses(),u.effect!=="slide"&&i.setTranslate(L),M!=="reset"&&(i.transitionStart(r,M),i.transitionEnd(r,M)),!1;if(u.cssMode){const A=i.isHorizontal(),F=x?L:-L;if(t===0)R&&(i.wrapperEl.style.scrollSnapType="none",i._immediateVirtual=!0),R&&!i._cssModeVirtualInitialSet&&i.params.initialSlide>0?(i._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{v[A?"scrollLeft":"scrollTop"]=F})):v[A?"scrollLeft":"scrollTop"]=F,R&&requestAnimationFrame(()=>{i.wrapperEl.style.scrollSnapType="",i._immediateVirtual=!1});else{if(!i.support.smoothScroll)return E4({swiper:i,targetPosition:F,side:A?"left":"top"}),!0;v.scrollTo({[A?"left":"top"]:F,behavior:"smooth"})}return!0}const j=R4().isSafari;return R&&!s&&j&&i.isElement&&i.virtual.update(!1,!1,a),i.setTransition(t),i.setTranslate(L),i.updateActiveIndex(a),i.updateSlidesClasses(),i.emit("beforeTransitionStart",t,n),i.transitionStart(r,M),t===0?i.transitionEnd(r,M):i.animating||(i.animating=!0,i.onSlideToWrapperTransitionEnd||(i.onSlideToWrapperTransitionEnd=function(F){!i||i.destroyed||F.target===this&&(i.wrapperEl.removeEventListener("transitionend",i.onSlideToWrapperTransitionEnd),i.onSlideToWrapperTransitionEnd=null,delete i.onSlideToWrapperTransitionEnd,i.transitionEnd(r,M))}),i.wrapperEl.addEventListener("transitionend",i.onSlideToWrapperTransitionEnd)),!0}function Ek(e=0,t,r=!0,n){typeof e=="string"&&(e=parseInt(e,10));const s=this;if(s.destroyed)return;typeof t>"u"&&(t=s.params.speed);const i=s.grid&&s.params.grid&&s.params.grid.rows>1;let a=e;if(s.params.loop)if(s.virtual&&s.params.virtual.enabled)a=a+s.virtual.slidesBefore;else{let u;if(i){const T=a*s.params.grid.rows;u=s.slides.find(_=>_.getAttribute("data-swiper-slide-index")*1===T).column}else u=s.getSlideIndexByData(a);const d=i?Math.ceil(s.slides.length/s.params.grid.rows):s.slides.length,{centeredSlides:h,slidesOffsetBefore:m,slidesOffsetAfter:b}=s.params,x=h||!!m||!!b;let v=s.params.slidesPerView;v==="auto"?v=s.slidesPerViewDynamic():(v=Math.ceil(parseFloat(s.params.slidesPerView,10)),x&&v%2===0&&(v=v+1));let S=d-u<v;if(x&&(S=S||u<Math.ceil(v/2)),n&&x&&s.params.slidesPerView!=="auto"&&!i&&(S=!1),S){const T=x?u<s.activeIndex?"prev":"next":u-s.activeIndex-1<s.params.slidesPerView?"next":"prev";s.loopFix({direction:T,slideTo:!0,activeSlideIndex:T==="next"?u+1:u-d+1,slideRealIndex:T==="next"?s.realIndex:void 0})}if(i){const T=a*s.params.grid.rows;a=s.slides.find(_=>_.getAttribute("data-swiper-slide-index")*1===T).column}else a=s.getSlideIndexByData(a)}return requestAnimationFrame(()=>{s.slideTo(a,t,r,n)}),s}function Ik(e,t=!0,r){const n=this,{enabled:s,params:i,animating:a}=n;if(!s||n.destroyed)return n;typeof e>"u"&&(e=n.params.speed);let u=i.slidesPerGroup;i.slidesPerView==="auto"&&i.slidesPerGroup===1&&i.slidesPerGroupAuto&&(u=Math.max(n.slidesPerViewDynamic("current",!0),1));const d=n.activeIndex<i.slidesPerGroupSkip?1:u,h=n.virtual&&i.virtual.enabled;if(i.loop){if(a&&!h&&i.loopPreventsSliding)return!1;if(n.loopFix({direction:"next"}),n._clientLeft=n.wrapperEl.clientLeft,n.activeIndex===n.slides.length-1&&i.cssMode)return requestAnimationFrame(()=>{n.slideTo(n.activeIndex+d,e,t,r)}),!0}return i.rewind&&n.isEnd?n.slideTo(0,e,t,r):n.slideTo(n.activeIndex+d,e,t,r)}function Mk(e,t=!0,r){const n=this,{params:s,snapGrid:i,slidesGrid:a,rtlTranslate:u,enabled:d,animating:h}=n;if(!d||n.destroyed)return n;typeof e>"u"&&(e=n.params.speed);const m=n.virtual&&s.virtual.enabled;if(s.loop){if(h&&!m&&s.loopPreventsSliding)return!1;n.loopFix({direction:"prev"}),n._clientLeft=n.wrapperEl.clientLeft}const b=u?n.translate:-n.translate;function x(M){return M<0?-Math.floor(Math.abs(M)):Math.floor(M)}const v=x(b),S=i.map(M=>x(M)),T=s.freeMode&&s.freeMode.enabled;let _=i[S.indexOf(v)-1];if(typeof _>"u"&&(s.cssMode||T)){let M;i.forEach((R,Q)=>{v>=R&&(M=Q)}),typeof M<"u"&&(_=T?i[M]:i[M>0?M-1:M])}let L=0;if(typeof _<"u"&&(L=a.indexOf(_),L<0&&(L=n.activeIndex-1),s.slidesPerView==="auto"&&s.slidesPerGroup===1&&s.slidesPerGroupAuto&&(L=L-n.slidesPerViewDynamic("previous",!0)+1,L=Math.max(L,0))),s.rewind&&n.isBeginning){const M=n.params.virtual&&n.params.virtual.enabled&&n.virtual?n.virtual.slides.length-1:n.slides.length-1;return n.slideTo(M,e,t,r)}else if(s.loop&&n.activeIndex===0&&s.cssMode)return requestAnimationFrame(()=>{n.slideTo(L,e,t,r)}),!0;return n.slideTo(L,e,t,r)}function Rk(e,t=!0,r){const n=this;if(!n.destroyed)return typeof e>"u"&&(e=n.params.speed),n.slideTo(n.activeIndex,e,t,r)}function Nk(e,t=!0,r,n=.5){const s=this;if(s.destroyed)return;typeof e>"u"&&(e=s.params.speed);let i=s.activeIndex;const a=Math.min(s.params.slidesPerGroupSkip,i),u=a+Math.floor((i-a)/s.params.slidesPerGroup),d=s.rtlTranslate?s.translate:-s.translate;if(d>=s.snapGrid[u]){const h=s.snapGrid[u],m=s.snapGrid[u+1];d-h>(m-h)*n&&(i+=s.params.slidesPerGroup)}else{const h=s.snapGrid[u-1],m=s.snapGrid[u];d-h<=(m-h)*n&&(i-=s.params.slidesPerGroup)}return i=Math.max(i,0),i=Math.min(i,s.slidesGrid.length-1),s.slideTo(i,e,t,r)}function Dk(){const e=this;if(e.destroyed)return;const{params:t,slidesEl:r}=e,n=t.slidesPerView==="auto"?e.slidesPerViewDynamic():t.slidesPerView;let s=e.getSlideIndexWhenGrid(e.clickedIndex),i;const a=e.isElement?"swiper-slide":`.${t.slideClass}`,u=e.grid&&e.params.grid&&e.params.grid.rows>1;if(t.loop){if(e.animating)return;i=parseInt(e.clickedSlide.getAttribute("data-swiper-slide-index"),10),t.centeredSlides?e.slideToLoop(i):s>(u?(e.slides.length-n)/2-(e.params.grid.rows-1):e.slides.length-n)?(e.loopFix(),s=e.getSlideIndex(Fl(r,`${a}[data-swiper-slide-index="${i}"]`)[0]),L4(()=>{e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}var Bk={slideTo:Lk,slideToLoop:Ek,slideNext:Ik,slidePrev:Mk,slideReset:Rk,slideToClosest:Nk,slideToClickedSlide:Dk};function Pk(e,t){const r=this,{params:n,slidesEl:s}=r;if(!n.loop||r.virtual&&r.params.virtual.enabled)return;const i=()=>{Fl(s,`.${n.slideClass}, swiper-slide`).forEach((S,T)=>{S.setAttribute("data-swiper-slide-index",T)})},a=()=>{const v=Fl(s,`.${n.slideBlankClass}`);v.forEach(S=>{S.remove()}),v.length>0&&(r.recalcSlides(),r.updateSlides())},u=r.grid&&n.grid&&n.grid.rows>1;n.loopAddBlankSlides&&(n.slidesPerGroup>1||u)&&a();const d=n.slidesPerGroup*(u?n.grid.rows:1),h=r.slides.length%d!==0,m=u&&r.slides.length%n.grid.rows!==0,b=v=>{for(let S=0;S<v;S+=1){const T=r.isElement?O2("swiper-slide",[n.slideBlankClass]):O2("div",[n.slideClass,n.slideBlankClass]);r.slidesEl.append(T)}};if(h){if(n.loopAddBlankSlides){const v=d-r.slides.length%d;b(v),r.recalcSlides(),r.updateSlides()}else nm("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else if(m){if(n.loopAddBlankSlides){const v=n.grid.rows-r.slides.length%n.grid.rows;b(v),r.recalcSlides(),r.updateSlides()}else nm("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else i();const x=n.centeredSlides||!!n.slidesOffsetBefore||!!n.slidesOffsetAfter;r.loopFix({slideRealIndex:e,direction:x?void 0:"next",initial:t})}function jk({slideRealIndex:e,slideTo:t=!0,direction:r,setTranslate:n,activeSlideIndex:s,initial:i,byController:a,byMousewheel:u}={}){const d=this;if(!d.params.loop)return;d.emit("beforeLoopFix");const{slides:h,allowSlidePrev:m,allowSlideNext:b,slidesEl:x,params:v}=d,{centeredSlides:S,slidesOffsetBefore:T,slidesOffsetAfter:_,initialSlide:L}=v,M=S||!!T||!!_;if(d.allowSlidePrev=!0,d.allowSlideNext=!0,d.virtual&&v.virtual.enabled){t&&(!M&&d.snapIndex===0?d.slideTo(d.virtual.slides.length,0,!1,!0):M&&d.snapIndex<v.slidesPerView?d.slideTo(d.virtual.slides.length+d.snapIndex,0,!1,!0):d.snapIndex===d.snapGrid.length-1&&d.slideTo(d.virtual.slidesBefore,0,!1,!0)),d.allowSlidePrev=m,d.allowSlideNext=b,d.emit("loopFix");return}let R=v.slidesPerView;R==="auto"?R=d.slidesPerViewDynamic():(R=Math.ceil(parseFloat(v.slidesPerView,10)),M&&R%2===0&&(R=R+1));const Q=v.slidesPerGroupAuto?R:v.slidesPerGroup;let N=M?Math.max(Q,Math.ceil(R/2)):Q;N%Q!==0&&(N+=Q-N%Q),N+=v.loopAdditionalSlides,d.loopedSlides=N;const j=d.grid&&v.grid&&v.grid.rows>1;h.length<R+N||d.params.effect==="cards"&&h.length<R+N*2?nm("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):j&&v.grid.fill==="row"&&nm("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const A=[],F=[],z=j?Math.ceil(h.length/v.grid.rows):h.length,Y=i&&z-L<R&&!M;let U=Y?L:d.activeIndex;typeof s>"u"?s=d.getSlideIndex(h.find(fe=>fe.classList.contains(v.slideActiveClass))):U=s;const G=r==="next"||!r,ee=r==="prev"||!r;let te=0,pe=0;const ye=(j?h[s].column:s)+(M&&typeof n>"u"?-R/2+.5:0);if(ye<N){te=Math.max(N-ye,Q);for(let fe=0;fe<N-ye;fe+=1){const ae=fe-Math.floor(fe/z)*z;if(j){const Ee=z-ae-1;for(let We=h.length-1;We>=0;We-=1)h[We].column===Ee&&A.push(We)}else A.push(z-ae-1)}}else if(ye+R>z-N){pe=Math.max(ye-(z-N*2),Q),Y&&(pe=Math.max(pe,R-z+L+1));for(let fe=0;fe<pe;fe+=1){const ae=fe-Math.floor(fe/z)*z;j?h.forEach((Ee,We)=>{Ee.column===ae&&F.push(We)}):F.push(ae)}}if(d.__preventObserver__=!0,requestAnimationFrame(()=>{d.__preventObserver__=!1}),d.params.effect==="cards"&&h.length<R+N*2&&(F.includes(s)&&F.splice(F.indexOf(s),1),A.includes(s)&&A.splice(A.indexOf(s),1)),ee&&A.forEach(fe=>{h[fe].swiperLoopMoveDOM=!0,x.prepend(h[fe]),h[fe].swiperLoopMoveDOM=!1}),G&&F.forEach(fe=>{h[fe].swiperLoopMoveDOM=!0,x.append(h[fe]),h[fe].swiperLoopMoveDOM=!1}),d.recalcSlides(),v.slidesPerView==="auto"?d.updateSlides():j&&(A.length>0&&ee||F.length>0&&G)&&d.slides.forEach((fe,ae)=>{d.grid.updateSlide(ae,fe,d.slides)}),v.watchSlidesProgress&&d.updateSlidesOffset(),t){if(A.length>0&&ee){if(typeof e>"u"){const fe=d.slidesGrid[U],Ee=d.slidesGrid[U+te]-fe;u?d.setTranslate(d.translate-Ee):(d.slideTo(U+Math.ceil(te),0,!1,!0),n&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-Ee,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-Ee))}else if(n){const fe=j?A.length/v.grid.rows:A.length;d.slideTo(d.activeIndex+fe,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(F.length>0&&G)if(typeof e>"u"){const fe=d.slidesGrid[U],Ee=d.slidesGrid[U-pe]-fe;u?d.setTranslate(d.translate-Ee):(d.slideTo(U-pe,0,!1,!0),n&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-Ee,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-Ee))}else{const fe=j?F.length/v.grid.rows:F.length;d.slideTo(d.activeIndex-fe,0,!1,!0)}}if(d.allowSlidePrev=m,d.allowSlideNext=b,d.controller&&d.controller.control&&!a){const fe={slideRealIndex:e,direction:r,setTranslate:n,activeSlideIndex:s,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach(ae=>{!ae.destroyed&&ae.params.loop&&ae.loopFix({...fe,slideTo:ae.params.slidesPerView===v.slidesPerView?t:!1})}):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...fe,slideTo:d.controller.control.params.slidesPerView===v.slidesPerView?t:!1})}d.emit("loopFix")}function Fk(){const e=this,{params:t,slidesEl:r}=e;if(!t.loop||!r||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const n=[];e.slides.forEach(s=>{const i=typeof s.swiperSlideIndex>"u"?s.getAttribute("data-swiper-slide-index")*1:s.swiperSlideIndex;n[i]=s}),e.slides.forEach(s=>{s.removeAttribute("data-swiper-slide-index")}),n.forEach(s=>{r.append(s)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}var Ok={loopCreate:Pk,loopFix:jk,loopDestroy:Fk};function Qk(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const r=t.params.touchEventsTarget==="container"?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),r.style.cursor="move",r.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame(()=>{t.__preventObserver__=!1})}function $k(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e[e.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}var Hk={setGrabCursor:Qk,unsetGrabCursor:$k};function Uk(e,t=this){function r(n){if(!n||n===Au()||n===Co())return null;n.assignedSlot&&(n=n.assignedSlot);const s=n.closest(e);return!s&&!n.getRootNode?null:s||r(n.getRootNode().host)}return r(t)}function J5(e,t,r){const n=Co(),{params:s}=e,i=s.edgeSwipeDetection,a=s.edgeSwipeThreshold;return i&&(r<=a||r>=n.innerWidth-a)?i==="prevent"?(t.preventDefault(),!0):!1:!0}function zk(e){const t=this;if(t.destroyed)return;const r=Au();let n=e;n.originalEvent&&(n=n.originalEvent);const s=t.touchEventsData;if(n.type==="pointerdown"){if(s.pointerId!==null&&s.pointerId!==n.pointerId)return;s.pointerId=n.pointerId}else n.type==="touchstart"&&n.targetTouches.length===1&&(s.touchId=n.targetTouches[0].identifier);if(n.type==="touchstart"){J5(t,n,n.targetTouches[0].pageX);return}const{params:i,touches:a,enabled:u}=t;if(!u||!i.simulateTouch&&n.pointerType==="mouse"||t.animating&&i.preventInteractionOnTransition)return;!t.animating&&i.cssMode&&i.loop&&t.loopFix();let d=n.target;if(i.touchEventsTarget==="wrapper"&&!ZC(d,t.wrapperEl)||"which"in n&&n.which===3||"button"in n&&n.button>0||s.isTouched&&s.isMoved)return;const h=!!i.noSwipingClass&&i.noSwipingClass!=="",m=n.composedPath?n.composedPath():n.path;h&&n.target&&n.target.shadowRoot&&m&&(d=m[0]);const b=i.noSwipingSelector?i.noSwipingSelector:`.${i.noSwipingClass}`,x=!!(n.target&&n.target.shadowRoot);if(i.noSwiping&&(x?Uk(b,d):d.closest(b))){t.allowClick=!0;return}if(i.swipeHandler&&!d.closest(i.swipeHandler))return;a.currentX=n.pageX,a.currentY=n.pageY;const v=a.currentX,S=a.currentY;if(!J5(t,n,v))return;Object.assign(s,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),a.startX=v,a.startY=S,s.touchStartTime=rm(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,i.threshold>0&&(s.allowThresholdMove=!1);let T=!0;d.matches(s.focusableElements)&&(T=!1,d.nodeName==="SELECT"&&(s.isTouched=!1)),r.activeElement&&r.activeElement.matches(s.focusableElements)&&r.activeElement!==d&&(n.pointerType==="mouse"||n.pointerType!=="mouse"&&!d.matches(s.focusableElements))&&r.activeElement.blur();const _=T&&t.allowTouchMove&&i.touchStartPreventDefault;(i.touchStartForcePreventDefault||_)&&!d.isContentEditable&&n.preventDefault(),i.freeMode&&i.freeMode.enabled&&t.freeMode&&t.animating&&!i.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",n)}function Gk(e){const t=Au(),r=this;if(r.destroyed)return;const n=r.touchEventsData,{params:s,touches:i,rtlTranslate:a,enabled:u}=r;if(!u||!s.simulateTouch&&e.pointerType==="mouse")return;let d=e;if(d.originalEvent&&(d=d.originalEvent),d.type==="pointermove"&&(n.touchId!==null||d.pointerId!==n.pointerId))return;let h;if(d.type==="touchmove"){if(h=[...d.changedTouches].find(N=>N.identifier===n.touchId),!h||h.identifier!==n.touchId)return}else h=d;if(!n.isTouched){n.startMoving&&n.isScrolling&&r.emit("touchMoveOpposite",d);return}const m=h.pageX,b=h.pageY;if(d.preventedByNestedSwiper){i.startX=m,i.startY=b;return}if(!r.allowTouchMove){d.target.matches(n.focusableElements)||(r.allowClick=!1),n.isTouched&&(Object.assign(i,{startX:m,startY:b,currentX:m,currentY:b}),n.touchStartTime=rm());return}if(s.touchReleaseOnEdges&&!s.loop)if(r.isVertical()){if(b<i.startY&&r.translate<=r.maxTranslate()||b>i.startY&&r.translate>=r.minTranslate()){n.isTouched=!1,n.isMoved=!1;return}}else{if(a&&(m>i.startX&&-r.translate<=r.maxTranslate()||m<i.startX&&-r.translate>=r.minTranslate()))return;if(!a&&(m<i.startX&&r.translate<=r.maxTranslate()||m>i.startX&&r.translate>=r.minTranslate()))return}if(t.activeElement&&t.activeElement.matches(n.focusableElements)&&t.activeElement!==d.target&&d.pointerType!=="mouse"&&t.activeElement.blur(),t.activeElement&&d.target===t.activeElement&&d.target.matches(n.focusableElements)){n.isMoved=!0,r.allowClick=!1;return}n.allowTouchCallbacks&&r.emit("touchMove",d),i.previousX=i.currentX,i.previousY=i.currentY,i.currentX=m,i.currentY=b;const x=i.currentX-i.startX,v=i.currentY-i.startY;if(r.params.threshold&&Math.sqrt(x**2+v**2)<r.params.threshold)return;if(typeof n.isScrolling>"u"){let N;r.isHorizontal()&&i.currentY===i.startY||r.isVertical()&&i.currentX===i.startX?n.isScrolling=!1:x*x+v*v>=25&&(N=Math.atan2(Math.abs(v),Math.abs(x))*180/Math.PI,n.isScrolling=r.isHorizontal()?N>s.touchAngle:90-N>s.touchAngle)}if(n.isScrolling&&r.emit("touchMoveOpposite",d),typeof n.startMoving>"u"&&(i.currentX!==i.startX||i.currentY!==i.startY)&&(n.startMoving=!0),n.isScrolling||d.type==="touchmove"&&n.preventTouchMoveFromPointerMove){n.isTouched=!1;return}if(!n.startMoving)return;r.allowClick=!1,!s.cssMode&&d.cancelable&&d.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&d.stopPropagation();let S=r.isHorizontal()?x:v,T=r.isHorizontal()?i.currentX-i.previousX:i.currentY-i.previousY;s.oneWayMovement&&(S=Math.abs(S)*(a?1:-1),T=Math.abs(T)*(a?1:-1)),i.diff=S,S*=s.touchRatio,a&&(S=-S,T=-T);const _=r.touchesDirection;r.swipeDirection=S>0?"prev":"next",r.touchesDirection=T>0?"prev":"next";const L=r.params.loop&&!s.cssMode,M=r.touchesDirection==="next"&&r.allowSlideNext||r.touchesDirection==="prev"&&r.allowSlidePrev;if(!n.isMoved){if(L&&M&&r.loopFix({direction:r.swipeDirection}),n.startTranslate=r.getTranslate(),r.setTransition(0),r.animating){const N=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});r.wrapperEl.dispatchEvent(N)}n.allowMomentumBounce=!1,s.grabCursor&&(r.allowSlideNext===!0||r.allowSlidePrev===!0)&&r.setGrabCursor(!0),r.emit("sliderFirstMove",d)}if(new Date().getTime(),s._loopSwapReset!==!1&&n.isMoved&&n.allowThresholdMove&&_!==r.touchesDirection&&L&&M&&Math.abs(S)>=1){Object.assign(i,{startX:m,startY:b,currentX:m,currentY:b,startTranslate:n.currentTranslate}),n.loopSwapReset=!0,n.startTranslate=n.currentTranslate;return}r.emit("sliderMove",d),n.isMoved=!0,n.currentTranslate=S+n.startTranslate;let R=!0,Q=s.resistanceRatio;if(s.touchReleaseOnEdges&&(Q=0),S>0?(L&&M&&n.allowThresholdMove&&n.currentTranslate>(s.centeredSlides?r.minTranslate()-r.slidesSizesGrid[r.activeIndex+1]-(s.slidesPerView!=="auto"&&r.slides.length-s.slidesPerView>=2?r.slidesSizesGrid[r.activeIndex+1]+r.params.spaceBetween:0)-r.params.spaceBetween:r.minTranslate())&&r.loopFix({direction:"prev",setTranslate:!0,activeSlideIndex:0}),n.currentTranslate>r.minTranslate()&&(R=!1,s.resistance&&(n.currentTranslate=r.minTranslate()-1+(-r.minTranslate()+n.startTranslate+S)**Q))):S<0&&(L&&M&&n.allowThresholdMove&&n.currentTranslate<(s.centeredSlides?r.maxTranslate()+r.slidesSizesGrid[r.slidesSizesGrid.length-1]+r.params.spaceBetween+(s.slidesPerView!=="auto"&&r.slides.length-s.slidesPerView>=2?r.slidesSizesGrid[r.slidesSizesGrid.length-1]+r.params.spaceBetween:0):r.maxTranslate())&&r.loopFix({direction:"next",setTranslate:!0,activeSlideIndex:r.slides.length-(s.slidesPerView==="auto"?r.slidesPerViewDynamic():Math.ceil(parseFloat(s.slidesPerView,10)))}),n.currentTranslate<r.maxTranslate()&&(R=!1,s.resistance&&(n.currentTranslate=r.maxTranslate()+1-(r.maxTranslate()-n.startTranslate-S)**Q))),R&&(d.preventedByNestedSwiper=!0),!r.allowSlideNext&&r.swipeDirection==="next"&&n.currentTranslate<n.startTranslate&&(n.currentTranslate=n.startTranslate),!r.allowSlidePrev&&r.swipeDirection==="prev"&&n.currentTranslate>n.startTranslate&&(n.currentTranslate=n.startTranslate),!r.allowSlidePrev&&!r.allowSlideNext&&(n.currentTranslate=n.startTranslate),s.threshold>0)if(Math.abs(S)>s.threshold||n.allowThresholdMove){if(!n.allowThresholdMove){n.allowThresholdMove=!0,i.startX=i.currentX,i.startY=i.currentY,n.currentTranslate=n.startTranslate,i.diff=r.isHorizontal()?i.currentX-i.startX:i.currentY-i.startY;return}}else{n.currentTranslate=n.startTranslate;return}!s.followFinger||s.cssMode||((s.freeMode&&s.freeMode.enabled&&r.freeMode||s.watchSlidesProgress)&&(r.updateActiveIndex(),r.updateSlidesClasses()),s.freeMode&&s.freeMode.enabled&&r.freeMode&&r.freeMode.onTouchMove(),r.updateProgress(n.currentTranslate),r.setTranslate(n.currentTranslate))}function Wk(e){const t=this;if(t.destroyed)return;const r=t.touchEventsData;let n=e;n.originalEvent&&(n=n.originalEvent);let s;if(n.type==="touchend"||n.type==="touchcancel"){if(s=[...n.changedTouches].find(N=>N.identifier===r.touchId),!s||s.identifier!==r.touchId)return}else{if(r.touchId!==null||n.pointerId!==r.pointerId)return;s=n}if(["pointercancel","pointerout","pointerleave","contextmenu"].includes(n.type)&&!(["pointercancel","contextmenu"].includes(n.type)&&(t.browser.isSafari||t.browser.isWebView)))return;r.pointerId=null,r.touchId=null;const{params:a,touches:u,rtlTranslate:d,slidesGrid:h,enabled:m}=t;if(!m||!a.simulateTouch&&n.pointerType==="mouse")return;if(r.allowTouchCallbacks&&t.emit("touchEnd",n),r.allowTouchCallbacks=!1,!r.isTouched){r.isMoved&&a.grabCursor&&t.setGrabCursor(!1),r.isMoved=!1,r.startMoving=!1;return}a.grabCursor&&r.isMoved&&r.isTouched&&(t.allowSlideNext===!0||t.allowSlidePrev===!0)&&t.setGrabCursor(!1);const b=rm(),x=b-r.touchStartTime;if(t.allowClick){const N=n.path||n.composedPath&&n.composedPath();t.updateClickedSlide(N&&N[0]||n.target,N),t.emit("tap click",n),x<300&&b-r.lastClickTime<300&&t.emit("doubleTap doubleClick",n)}if(r.lastClickTime=rm(),L4(()=>{t.destroyed||(t.allowClick=!0)}),!r.isTouched||!r.isMoved||!t.swipeDirection||u.diff===0&&!r.loopSwapReset||r.currentTranslate===r.startTranslate&&!r.loopSwapReset){r.isTouched=!1,r.isMoved=!1,r.startMoving=!1;return}r.isTouched=!1,r.isMoved=!1,r.startMoving=!1;let v;if(a.followFinger?v=d?t.translate:-t.translate:v=-r.currentTranslate,a.cssMode)return;if(a.freeMode&&a.freeMode.enabled){t.freeMode.onTouchEnd({currentPos:v});return}const S=v>=-t.maxTranslate()&&!t.params.loop;let T=0,_=t.slidesSizesGrid[0];for(let N=0;N<h.length;N+=N<a.slidesPerGroupSkip?1:a.slidesPerGroup){const j=N<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;typeof h[N+j]<"u"?(S||v>=h[N]&&v<h[N+j])&&(T=N,_=h[N+j]-h[N]):(S||v>=h[N])&&(T=N,_=h[h.length-1]-h[h.length-2])}let L=null,M=null;a.rewind&&(t.isBeginning?M=a.virtual&&a.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(L=0));const R=(v-h[T])/_,Q=T<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;if(x>a.longSwipesMs){if(!a.longSwipes){t.slideTo(t.activeIndex);return}t.swipeDirection==="next"&&(R>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?L:T+Q):t.slideTo(T)),t.swipeDirection==="prev"&&(R>1-a.longSwipesRatio?t.slideTo(T+Q):M!==null&&R<0&&Math.abs(R)>a.longSwipesRatio?t.slideTo(M):t.slideTo(T))}else{if(!a.shortSwipes){t.slideTo(t.activeIndex);return}t.navigation&&(n.target===t.navigation.nextEl||n.target===t.navigation.prevEl)?n.target===t.navigation.nextEl?t.slideTo(T+Q):t.slideTo(T):(t.swipeDirection==="next"&&t.slideTo(L!==null?L:T+Q),t.swipeDirection==="prev"&&t.slideTo(M!==null?M:T))}}function ey(){const e=this,{params:t,el:r}=e;if(r&&r.offsetWidth===0)return;t.breakpoints&&e.setBreakpoint();const{allowSlideNext:n,allowSlidePrev:s,snapGrid:i}=e,a=e.virtual&&e.params.virtual.enabled;e.allowSlideNext=!0,e.allowSlidePrev=!0,e.updateSize(),e.updateSlides(),e.updateSlidesClasses();const u=a&&t.loop;if((t.slidesPerView==="auto"||t.slidesPerView>1)&&e.isEnd&&!e.isBeginning&&!e.params.centeredSlides&&!u){const d=a?e.virtual.slides:e.slides;e.slideTo(d.length-1,0,!1,!0)}else e.params.loop&&!a?e.slideToLoop(e.realIndex,0,!1,!0):e.slideTo(e.activeIndex,0,!1,!0);e.autoplay&&e.autoplay.running&&e.autoplay.paused&&(clearTimeout(e.autoplay.resizeTimeout),e.autoplay.resizeTimeout=setTimeout(()=>{e.autoplay&&e.autoplay.running&&e.autoplay.paused&&e.autoplay.resume()},500)),e.allowSlidePrev=s,e.allowSlideNext=n,e.params.watchOverflow&&i!==e.snapGrid&&e.checkOverflow()}function Vk(e){const t=this;t.destroyed||t.enabled&&(t.allowClick||(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())))}function qk(){const e=this;if(e.destroyed)return;const{wrapperEl:t,rtlTranslate:r,enabled:n}=e;if(!n)return;e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,e.translate===0&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses();let s;const i=e.maxTranslate()-e.minTranslate();i===0?s=0:s=(e.translate-e.minTranslate())/i,s!==e.progress&&e.updateProgress(r?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1)}function Yk(e){const t=this;t.destroyed||(Np(t,e.target),!(t.params.cssMode||t.params.slidesPerView!=="auto"&&!t.params.autoHeight)&&t.update())}function Kk(){const e=this;e.destroyed||e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const D4=(e,t)=>{const r=Au(),{params:n,el:s,wrapperEl:i,device:a}=e,u=!!n.nested,d=t==="on"?"addEventListener":"removeEventListener",h=t;!s||typeof s=="string"||(r[d]("touchstart",e.onDocumentTouchStart,{passive:!1,capture:u}),s[d]("touchstart",e.onTouchStart,{passive:!1}),s[d]("pointerdown",e.onTouchStart,{passive:!1}),r[d]("touchmove",e.onTouchMove,{passive:!1,capture:u}),r[d]("pointermove",e.onTouchMove,{passive:!1,capture:u}),r[d]("touchend",e.onTouchEnd,{passive:!0}),r[d]("pointerup",e.onTouchEnd,{passive:!0}),r[d]("pointercancel",e.onTouchEnd,{passive:!0}),r[d]("touchcancel",e.onTouchEnd,{passive:!0}),r[d]("pointerout",e.onTouchEnd,{passive:!0}),r[d]("pointerleave",e.onTouchEnd,{passive:!0}),r[d]("contextmenu",e.onTouchEnd,{passive:!0}),(n.preventClicks||n.preventClicksPropagation)&&s[d]("click",e.onClick,!0),n.cssMode&&i[d]("scroll",e.onScroll),n.updateOnWindowResize?e[h](a.ios||a.android?"resize orientationchange observerUpdate":"resize observerUpdate",ey,!0):e[h]("observerUpdate",ey,!0),s[d]("load",e.onLoad,{capture:!0}))};function Zk(){const e=this,{params:t}=e;e.onTouchStart=zk.bind(e),e.onTouchMove=Gk.bind(e),e.onTouchEnd=Wk.bind(e),e.onDocumentTouchStart=Kk.bind(e),t.cssMode&&(e.onScroll=qk.bind(e)),e.onClick=Vk.bind(e),e.onLoad=Yk.bind(e),D4(e,"on")}function Xk(){D4(this,"off")}var Jk={attachEvents:Zk,detachEvents:Xk};const ty=(e,t)=>e.grid&&t.grid&&t.grid.rows>1;function e_(){const e=this,{realIndex:t,initialized:r,params:n,el:s}=e,i=n.breakpoints;if(!i||i&&Object.keys(i).length===0)return;const a=Au(),u=n.breakpointsBase==="window"||!n.breakpointsBase?n.breakpointsBase:"container",d=["window","container"].includes(n.breakpointsBase)||!n.breakpointsBase?e.el:a.querySelector(n.breakpointsBase),h=e.getBreakpoint(i,u,d);if(!h||e.currentBreakpoint===h)return;const b=(h in i?i[h]:void 0)||e.originalParams,x=ty(e,n),v=ty(e,b),S=e.params.grabCursor,T=b.grabCursor,_=n.enabled;x&&!v?(s.classList.remove(`${n.containerModifierClass}grid`,`${n.containerModifierClass}grid-column`),e.emitContainerClasses()):!x&&v&&(s.classList.add(`${n.containerModifierClass}grid`),(b.grid.fill&&b.grid.fill==="column"||!b.grid.fill&&n.grid.fill==="column")&&s.classList.add(`${n.containerModifierClass}grid-column`),e.emitContainerClasses()),S&&!T?e.unsetGrabCursor():!S&&T&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach(j=>{if(typeof b[j]>"u")return;const A=n[j]&&n[j].enabled,F=b[j]&&b[j].enabled;A&&!F&&e[j].disable(),!A&&F&&e[j].enable()});const L=b.direction&&b.direction!==n.direction,M=n.loop&&(b.slidesPerView!==n.slidesPerView||L),R=n.loop;L&&r&&e.changeDirection(),ra(e.params,b);const Q=e.params.enabled,N=e.params.loop;Object.assign(e,{allowTouchMove:e.params.allowTouchMove,allowSlideNext:e.params.allowSlideNext,allowSlidePrev:e.params.allowSlidePrev}),_&&!Q?e.disable():!_&&Q&&e.enable(),e.currentBreakpoint=h,e.emit("_beforeBreakpoint",b),r&&(M?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!R&&N?(e.loopCreate(t),e.updateSlides()):R&&!N&&e.loopDestroy()),e.emit("breakpoint",b)}function t_(e,t="window",r){if(!e||t==="container"&&!r)return;let n=!1;const s=Co(),i=t==="window"?s.innerHeight:r.clientHeight,a=Object.keys(e).map(u=>{if(typeof u=="string"&&u.indexOf("@")===0){const d=parseFloat(u.substr(1));return{value:i*d,point:u}}return{value:u,point:u}});a.sort((u,d)=>parseInt(u.value,10)-parseInt(d.value,10));for(let u=0;u<a.length;u+=1){const{point:d,value:h}=a[u];t==="window"?s.matchMedia(`(min-width: ${h}px)`).matches&&(n=d):h<=r.clientWidth&&(n=d)}return n||"max"}var r_={setBreakpoint:e_,getBreakpoint:t_};function n_(e,t){const r=[];return e.forEach(n=>{typeof n=="object"?Object.keys(n).forEach(s=>{n[s]&&r.push(t+s)}):typeof n=="string"&&r.push(t+n)}),r}function s_(){const e=this,{classNames:t,params:r,rtl:n,el:s,device:i}=e,a=n_(["initialized",r.direction,{"free-mode":e.params.freeMode&&r.freeMode.enabled},{autoheight:r.autoHeight},{rtl:n},{grid:r.grid&&r.grid.rows>1},{"grid-column":r.grid&&r.grid.rows>1&&r.grid.fill==="column"},{android:i.android},{ios:i.ios},{"css-mode":r.cssMode},{centered:r.cssMode&&r.centeredSlides},{"watch-progress":r.watchSlidesProgress}],r.containerModifierClass);t.push(...a),s.classList.add(...t),e.emitContainerClasses()}function i_(){const e=this,{el:t,classNames:r}=e;!t||typeof t=="string"||(t.classList.remove(...r),e.emitContainerClasses())}var o_={addClasses:s_,removeClasses:i_};function a_(){const e=this,{isLocked:t,params:r}=e,{slidesOffsetBefore:n}=r;if(n){const s=e.slides.length-1,i=e.slidesGrid[s]+e.slidesSizesGrid[s]+n*2;e.isLocked=e.size>i}else e.isLocked=e.snapGrid.length===1;r.allowSlideNext===!0&&(e.allowSlideNext=!e.isLocked),r.allowSlidePrev===!0&&(e.allowSlidePrev=!e.isLocked),t&&t!==e.isLocked&&(e.isEnd=!1),t!==e.isLocked&&e.emit(e.isLocked?"lock":"unlock")}var l_={checkOverflow:a_},$2={init:!0,direction:"horizontal",oneWayMovement:!1,swiperElementNodeName:"SWIPER-CONTAINER",touchEventsTarget:"wrapper",initialSlide:0,speed:300,cssMode:!1,updateOnWindowResize:!0,resizeObserver:!0,nested:!1,createElements:!1,eventsPrefix:"swiper",enabled:!0,focusableElements:"input, select, option, textarea, button, video, label",width:null,height:null,preventInteractionOnTransition:!1,userAgent:null,url:null,edgeSwipeDetection:!1,edgeSwipeThreshold:20,autoHeight:!1,setWrapperSize:!1,virtualTranslate:!1,effect:"slide",breakpoints:void 0,breakpointsBase:"window",spaceBetween:0,slidesPerView:1,slidesPerGroup:1,slidesPerGroupSkip:0,slidesPerGroupAuto:!1,centeredSlides:!1,centeredSlidesBounds:!1,slidesOffsetBefore:0,slidesOffsetAfter:0,normalizeSlideIndex:!0,centerInsufficientSlides:!1,snapToSlideEdge:!1,watchOverflow:!0,roundLengths:!1,touchRatio:1,touchAngle:45,simulateTouch:!0,shortSwipes:!0,longSwipes:!0,longSwipesRatio:.5,longSwipesMs:300,followFinger:!0,allowTouchMove:!0,threshold:5,touchMoveStopPropagation:!1,touchStartPreventDefault:!0,touchStartForcePreventDefault:!1,touchReleaseOnEdges:!1,uniqueNavElements:!0,resistance:!0,resistanceRatio:.85,watchSlidesProgress:!1,grabCursor:!1,preventClicks:!0,preventClicksPropagation:!0,slideToClickedSlide:!1,loop:!1,loopAddBlankSlides:!0,loopAdditionalSlides:0,loopPreventsSliding:!0,rewind:!1,allowSlidePrev:!0,allowSlideNext:!0,swipeHandler:null,noSwiping:!0,noSwipingClass:"swiper-no-swiping",noSwipingSelector:null,passiveListeners:!0,maxBackfaceHiddenSlides:10,containerModifierClass:"swiper-",slideClass:"swiper-slide",slideBlankClass:"swiper-slide-blank",slideActiveClass:"swiper-slide-active",slideVisibleClass:"swiper-slide-visible",slideFullyVisibleClass:"swiper-slide-fully-visible",slideNextClass:"swiper-slide-next",slidePrevClass:"swiper-slide-prev",wrapperClass:"swiper-wrapper",lazyPreloaderClass:"swiper-lazy-preloader",lazyPreloadPrevNext:0,runCallbacksOnInit:!0,_emitClasses:!1};function c_(e,t){return function(n={}){const s=Object.keys(n)[0],i=n[s];if(typeof i!="object"||i===null){ra(t,n);return}if(e[s]===!0&&(e[s]={enabled:!0}),s==="navigation"&&e[s]&&e[s].enabled&&!e[s].prevEl&&!e[s].nextEl&&(e[s].auto=!0),["pagination","scrollbar"].indexOf(s)>=0&&e[s]&&e[s].enabled&&!e[s].el&&(e[s].auto=!0),!(s in e&&"enabled"in i)){ra(t,n);return}typeof e[s]=="object"&&!("enabled"in e[s])&&(e[s].enabled=!0),e[s]||(e[s]={enabled:!1}),ra(t,n)}}const r1={eventsEmitter:ok,update:bk,translate:Sk,transition:_k,slide:Bk,loop:Ok,grabCursor:Hk,events:Jk,breakpoints:r_,checkOverflow:l_,classes:o_},n1={};let dx=class jl{constructor(...t){let r,n;t.length===1&&t[0].constructor&&Object.prototype.toString.call(t[0]).slice(8,-1)==="Object"?n=t[0]:[r,n]=t,n||(n={}),n=ra({},n),r&&!n.el&&(n.el=r);const s=Au();if(n.el&&typeof n.el=="string"&&s.querySelectorAll(n.el).length>1){const d=[];return s.querySelectorAll(n.el).forEach(h=>{const m=ra({},n,{el:h});d.push(new jl(m))}),d}const i=this;i.__swiper__=!0,i.support=I4(),i.device=M4({userAgent:n.userAgent}),i.browser=R4(),i.eventsListeners={},i.eventsAnyListeners=[],i.modules=[...i.__modules__],n.modules&&Array.isArray(n.modules)&&n.modules.forEach(d=>{typeof d=="function"&&i.modules.indexOf(d)<0&&i.modules.push(d)});const a={};i.modules.forEach(d=>{d({params:n,swiper:i,extendParams:c_(n,a),on:i.on.bind(i),once:i.once.bind(i),off:i.off.bind(i),emit:i.emit.bind(i)})});const u=ra({},$2,a);return i.params=ra({},u,n1,n),i.originalParams=ra({},i.params),i.passedParams=ra({},n),i.params&&i.params.on&&Object.keys(i.params.on).forEach(d=>{i.on(d,i.params.on[d])}),i.params&&i.params.onAny&&i.onAny(i.params.onAny),Object.assign(i,{enabled:i.params.enabled,el:r,classNames:[],slides:[],slidesGrid:[],snapGrid:[],slidesSizesGrid:[],isHorizontal(){return i.params.direction==="horizontal"},isVertical(){return i.params.direction==="vertical"},activeIndex:0,realIndex:0,isBeginning:!0,isEnd:!1,translate:0,previousTranslate:0,progress:0,velocity:0,animating:!1,cssOverflowAdjustment(){return Math.trunc(this.translate/2**23)*2**23},allowSlideNext:i.params.allowSlideNext,allowSlidePrev:i.params.allowSlidePrev,touchEventsData:{isTouched:void 0,isMoved:void 0,allowTouchCallbacks:void 0,touchStartTime:void 0,isScrolling:void 0,currentTranslate:void 0,startTranslate:void 0,allowThresholdMove:void 0,focusableElements:i.params.focusableElements,lastClickTime:0,clickTimeout:void 0,velocities:[],allowMomentumBounce:void 0,startMoving:void 0,pointerId:null,touchId:null},allowClick:!0,allowTouchMove:i.params.allowTouchMove,touches:{startX:0,startY:0,currentX:0,currentY:0,diff:0},imagesToLoad:[],imagesLoaded:0}),i.emit("_swiper"),i.params.init&&i.init(),i}getDirectionLabel(t){return this.isHorizontal()?t:{width:"height","margin-top":"margin-left","margin-bottom ":"margin-right","margin-left":"margin-top","margin-right":"margin-bottom","padding-left":"padding-top","padding-right":"padding-bottom",marginRight:"marginBottom"}[t]}getSlideIndex(t){const{slidesEl:r,params:n}=this,s=Fl(r,`.${n.slideClass}, swiper-slide`),i=Y5(s[0]);return Y5(t)-i}getSlideIndexByData(t){return this.getSlideIndex(this.slides.find(r=>r.getAttribute("data-swiper-slide-index")*1===t))}getSlideIndexWhenGrid(t){return this.grid&&this.params.grid&&this.params.grid.rows>1&&(this.params.grid.fill==="column"?t=Math.floor(t/this.params.grid.rows):this.params.grid.fill==="row"&&(t=t%Math.ceil(this.slides.length/this.params.grid.rows))),t}recalcSlides(){const t=this,{slidesEl:r,params:n}=t;t.slides=Fl(r,`.${n.slideClass}, swiper-slide`)}enable(){const t=this;t.enabled||(t.enabled=!0,t.params.grabCursor&&t.setGrabCursor(),t.emit("enable"))}disable(){const t=this;t.enabled&&(t.enabled=!1,t.params.grabCursor&&t.unsetGrabCursor(),t.emit("disable"))}setProgress(t,r){const n=this;t=Math.min(Math.max(t,0),1);const s=n.minTranslate(),a=(n.maxTranslate()-s)*t+s;n.translateTo(a,typeof r>"u"?0:r),n.updateActiveIndex(),n.updateSlidesClasses()}emitContainerClasses(){const t=this;if(!t.params._emitClasses||!t.el)return;const r=t.el.className.split(" ").filter(n=>n.indexOf("swiper")===0||n.indexOf(t.params.containerModifierClass)===0);t.emit("_containerClasses",r.join(" "))}getSlideClasses(t){const r=this;return r.destroyed?"":t.className.split(" ").filter(n=>n.indexOf("swiper-slide")===0||n.indexOf(r.params.slideClass)===0).join(" ")}emitSlidesClasses(){const t=this;if(!t.params._emitClasses||!t.el)return;const r=[];t.slides.forEach(n=>{const s=t.getSlideClasses(n);r.push({slideEl:n,classNames:s}),t.emit("_slideClass",n,s)}),t.emit("_slideClasses",r)}slidesPerViewDynamic(t="current",r=!1){const n=this,{params:s,slides:i,slidesGrid:a,slidesSizesGrid:u,size:d,activeIndex:h}=n;let m=1;if(typeof s.slidesPerView=="number")return s.slidesPerView;if(s.centeredSlides){let b=i[h]?Math.ceil(i[h].swiperSlideSize):0,x;for(let v=h+1;v<i.length;v+=1)i[v]&&!x&&(b+=Math.ceil(i[v].swiperSlideSize),m+=1,b>d&&(x=!0));for(let v=h-1;v>=0;v-=1)i[v]&&!x&&(b+=i[v].swiperSlideSize,m+=1,b>d&&(x=!0))}else if(t==="current")for(let b=h+1;b<i.length;b+=1)(r?a[b]+u[b]-a[h]<d:a[b]-a[h]<d)&&(m+=1);else for(let b=h-1;b>=0;b-=1)a[h]-a[b]<d&&(m+=1);return m}update(){const t=this;if(!t||t.destroyed)return;const{snapGrid:r,params:n}=t;n.breakpoints&&t.setBreakpoint(),[...t.el.querySelectorAll('[loading="lazy"]')].forEach(a=>{a.complete&&Np(t,a)}),t.updateSize(),t.updateSlides(),t.updateProgress(),t.updateSlidesClasses();function s(){const a=t.rtlTranslate?t.translate*-1:t.translate,u=Math.min(Math.max(a,t.maxTranslate()),t.minTranslate());t.setTranslate(u),t.updateActiveIndex(),t.updateSlidesClasses()}let i;if(n.freeMode&&n.freeMode.enabled&&!n.cssMode)s(),n.autoHeight&&t.updateAutoHeight();else{if((n.slidesPerView==="auto"||n.slidesPerView>1)&&t.isEnd&&!n.centeredSlides){const a=t.virtual&&n.virtual.enabled?t.virtual.slides:t.slides;i=t.slideTo(a.length-1,0,!1,!0)}else i=t.slideTo(t.activeIndex,0,!1,!0);i||s()}n.watchOverflow&&r!==t.snapGrid&&t.checkOverflow(),t.emit("update")}changeDirection(t,r=!0){const n=this,s=n.params.direction;return t||(t=s==="horizontal"?"vertical":"horizontal"),t===s||t!=="horizontal"&&t!=="vertical"||(n.el.classList.remove(`${n.params.containerModifierClass}${s}`),n.el.classList.add(`${n.params.containerModifierClass}${t}`),n.emitContainerClasses(),n.params.direction=t,n.slides.forEach(i=>{t==="vertical"?i.style.width="":i.style.height=""}),n.emit("changeDirection"),r&&n.update()),n}changeLanguageDirection(t){const r=this;r.rtl&&t==="rtl"||!r.rtl&&t==="ltr"||(r.rtl=t==="rtl",r.rtlTranslate=r.params.direction==="horizontal"&&r.rtl,r.rtl?(r.el.classList.add(`${r.params.containerModifierClass}rtl`),r.el.dir="rtl"):(r.el.classList.remove(`${r.params.containerModifierClass}rtl`),r.el.dir="ltr"),r.update())}mount(t){const r=this;if(r.mounted)return!0;let n=t||r.params.el;if(typeof n=="string"&&(n=document.querySelector(n)),!n)return!1;n.swiper=r,n.parentNode&&n.parentNode.host&&n.parentNode.host.nodeName===r.params.swiperElementNodeName.toUpperCase()&&(r.isElement=!0);const s=()=>`.${(r.params.wrapperClass||"").trim().split(" ").join(".")}`;let a=n&&n.shadowRoot&&n.shadowRoot.querySelector?n.shadowRoot.querySelector(s()):Fl(n,s())[0];return!a&&r.params.createElements&&(a=O2("div",r.params.wrapperClass),n.append(a),Fl(n,`.${r.params.slideClass}`).forEach(u=>{a.append(u)})),Object.assign(r,{el:n,wrapperEl:a,slidesEl:r.isElement&&!n.parentNode.host.slideSlots?n.parentNode.host:a,hostEl:r.isElement?n.parentNode.host:n,mounted:!0,rtl:n.dir.toLowerCase()==="rtl"||wc(n,"direction")==="rtl",rtlTranslate:r.params.direction==="horizontal"&&(n.dir.toLowerCase()==="rtl"||wc(n,"direction")==="rtl"),wrongRTL:wc(a,"display")==="-webkit-box"}),!0}init(t){const r=this;if(r.initialized||r.mount(t)===!1)return r;r.emit("beforeInit"),r.params.breakpoints&&r.setBreakpoint(),r.addClasses(),r.updateSize(),r.updateSlides(),r.params.watchOverflow&&r.checkOverflow(),r.params.grabCursor&&r.enabled&&r.setGrabCursor(),r.params.loop&&r.virtual&&r.params.virtual.enabled?r.slideTo(r.params.initialSlide+r.virtual.slidesBefore,0,r.params.runCallbacksOnInit,!1,!0):r.slideTo(r.params.initialSlide,0,r.params.runCallbacksOnInit,!1,!0),r.params.loop&&r.loopCreate(void 0,!0),r.attachEvents();const s=[...r.el.querySelectorAll('[loading="lazy"]')];return r.isElement&&s.push(...r.hostEl.querySelectorAll('[loading="lazy"]')),s.forEach(i=>{i.complete?Np(r,i):i.addEventListener("load",a=>{Np(r,a.target)})}),Q2(r),r.initialized=!0,Q2(r),r.emit("init"),r.emit("afterInit"),r}destroy(t=!0,r=!0){const n=this,{params:s,el:i,wrapperEl:a,slides:u}=n;return typeof n.params>"u"||n.destroyed||(n.emit("beforeDestroy"),n.initialized=!1,n.detachEvents(),s.loop&&n.loopDestroy(),r&&(n.removeClasses(),i&&typeof i!="string"&&i.removeAttribute("style"),a&&a.removeAttribute("style"),u&&u.length&&u.forEach(d=>{d.classList.remove(s.slideVisibleClass,s.slideFullyVisibleClass,s.slideActiveClass,s.slideNextClass,s.slidePrevClass),d.removeAttribute("style"),d.removeAttribute("data-swiper-slide-index")})),n.emit("destroy"),Object.keys(n.eventsListeners).forEach(d=>{n.off(d)}),t!==!1&&(n.el&&typeof n.el!="string"&&(n.el.swiper=null),WC(n)),n.destroyed=!0),null}static extendDefaults(t){ra(n1,t)}static get extendedDefaults(){return n1}static get defaults(){return $2}static installModule(t){jl.prototype.__modules__||(jl.prototype.__modules__=[]);const r=jl.prototype.__modules__;typeof t=="function"&&r.indexOf(t)<0&&r.push(t)}static use(t){return Array.isArray(t)?(t.forEach(r=>jl.installModule(r)),jl):(jl.installModule(t),jl)}};Object.keys(r1).forEach(e=>{Object.keys(r1[e]).forEach(t=>{dx.prototype[t]=r1[e][t]})});dx.use([sk,ik]);const B4=["eventsPrefix","injectStyles","injectStylesUrls","modules","init","_direction","oneWayMovement","swiperElementNodeName","touchEventsTarget","initialSlide","_speed","cssMode","updateOnWindowResize","resizeObserver","nested","focusableElements","_enabled","_width","_height","preventInteractionOnTransition","userAgent","url","_edgeSwipeDetection","_edgeSwipeThreshold","_freeMode","_autoHeight","setWrapperSize","virtualTranslate","_effect","breakpoints","breakpointsBase","_spaceBetween","_slidesPerView","maxBackfaceHiddenSlides","_grid","_slidesPerGroup","_slidesPerGroupSkip","_slidesPerGroupAuto","_centeredSlides","_centeredSlidesBounds","_slidesOffsetBefore","_slidesOffsetAfter","normalizeSlideIndex","_centerInsufficientSlides","_snapToSlideEdge","_watchOverflow","roundLengths","touchRatio","touchAngle","simulateTouch","_shortSwipes","_longSwipes","longSwipesRatio","longSwipesMs","_followFinger","allowTouchMove","_threshold","touchMoveStopPropagation","touchStartPreventDefault","touchStartForcePreventDefault","touchReleaseOnEdges","uniqueNavElements","_resistance","_resistanceRatio","_watchSlidesProgress","_grabCursor","preventClicks","preventClicksPropagation","_slideToClickedSlide","_loop","loopAdditionalSlides","loopAddBlankSlides","loopPreventsSliding","_rewind","_allowSlidePrev","_allowSlideNext","_swipeHandler","_noSwiping","noSwipingClass","noSwipingSelector","passiveListeners","containerModifierClass","slideClass","slideActiveClass","slideVisibleClass","slideFullyVisibleClass","slideNextClass","slidePrevClass","slideBlankClass","wrapperClass","lazyPreloaderClass","lazyPreloadPrevNext","runCallbacksOnInit","observer","observeParents","observeSlideChildren","a11y","_autoplay","_controller","coverflowEffect","cubeEffect","fadeEffect","flipEffect","creativeEffect","cardsEffect","hashNavigation","history","keyboard","mousewheel","_navigation","_pagination","parallax","_scrollbar","_thumbs","virtual","zoom","control"];function bu(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"&&!e.__swiper__}function Ad(e,t){const r=["__proto__","constructor","prototype"];Object.keys(t).filter(n=>r.indexOf(n)<0).forEach(n=>{typeof e[n]>"u"?e[n]=t[n]:bu(t[n])&&bu(e[n])&&Object.keys(t[n]).length>0?t[n].__swiper__?e[n]=t[n]:Ad(e[n],t[n]):e[n]=t[n]})}function P4(e={}){return e.navigation&&typeof e.navigation.nextEl>"u"&&typeof e.navigation.prevEl>"u"}function j4(e={}){return e.pagination&&typeof e.pagination.el>"u"}function F4(e={}){return e.scrollbar&&typeof e.scrollbar.el>"u"}function O4(e=""){const t=e.split(" ").map(n=>n.trim()).filter(n=>!!n),r=[];return t.forEach(n=>{r.indexOf(n)<0&&r.push(n)}),r.join(" ")}function u_(e=""){return e?e.includes("swiper-wrapper")?e:`swiper-wrapper ${e}`:"swiper-wrapper"}function d_({swiper:e,slides:t,passedParams:r,changedParams:n,nextEl:s,prevEl:i,scrollbarEl:a,paginationEl:u}){const d=n.filter(F=>F!=="children"&&F!=="direction"&&F!=="wrapperClass"),{params:h,pagination:m,navigation:b,scrollbar:x,virtual:v,thumbs:S}=e;let T,_,L,M,R,Q,N,j;n.includes("thumbs")&&r.thumbs&&r.thumbs.swiper&&!r.thumbs.swiper.destroyed&&h.thumbs&&(!h.thumbs.swiper||h.thumbs.swiper.destroyed)&&(T=!0),n.includes("controller")&&r.controller&&r.controller.control&&h.controller&&!h.controller.control&&(_=!0),n.includes("pagination")&&r.pagination&&(r.pagination.el||u)&&(h.pagination||h.pagination===!1)&&m&&!m.el&&(L=!0),n.includes("scrollbar")&&r.scrollbar&&(r.scrollbar.el||a)&&(h.scrollbar||h.scrollbar===!1)&&x&&!x.el&&(M=!0),n.includes("navigation")&&r.navigation&&(r.navigation.prevEl||i)&&(r.navigation.nextEl||s)&&(h.navigation||h.navigation===!1)&&b&&!b.prevEl&&!b.nextEl&&(R=!0);const A=F=>{e[F]&&(e[F].destroy(),F==="navigation"?(e.isElement&&(e[F].prevEl.remove(),e[F].nextEl.remove()),h[F].prevEl=void 0,h[F].nextEl=void 0,e[F].prevEl=void 0,e[F].nextEl=void 0):(e.isElement&&e[F].el.remove(),h[F].el=void 0,e[F].el=void 0))};n.includes("loop")&&e.isElement&&(h.loop&&!r.loop?Q=!0:!h.loop&&r.loop?N=!0:j=!0),d.forEach(F=>{if(bu(h[F])&&bu(r[F]))Object.assign(h[F],r[F]),(F==="navigation"||F==="pagination"||F==="scrollbar")&&"enabled"in r[F]&&!r[F].enabled&&A(F);else{const z=r[F];(z===!0||z===!1)&&(F==="navigation"||F==="pagination"||F==="scrollbar")?z===!1&&A(F):h[F]=r[F]}}),d.includes("controller")&&!_&&e.controller&&e.controller.control&&h.controller&&h.controller.control&&(e.controller.control=h.controller.control),n.includes("children")&&t&&v&&h.virtual.enabled?(v.slides=t,v.update(!0)):n.includes("virtual")&&v&&h.virtual.enabled&&(t&&(v.slides=t),v.update(!0)),n.includes("children")&&t&&h.loop&&(j=!0),T&&S.init()&&S.update(!0),_&&(e.controller.control=h.controller.control),L&&(e.isElement&&(!u||typeof u=="string")&&(u=document.createElement("div"),u.classList.add("swiper-pagination"),u.part.add("pagination"),e.el.appendChild(u)),u&&(h.pagination.el=u),m.init(),m.render(),m.update()),M&&(e.isElement&&(!a||typeof a=="string")&&(a=document.createElement("div"),a.classList.add("swiper-scrollbar"),a.part.add("scrollbar"),e.el.appendChild(a)),a&&(h.scrollbar.el=a),x.init(),x.updateSize(),x.setTranslate()),R&&(e.isElement&&((!s||typeof s=="string")&&(s=document.createElement("div"),s.classList.add("swiper-button-next"),Z5(s,e.navigation.arrowSvg),s.part.add("button-next"),e.el.appendChild(s)),(!i||typeof i=="string")&&(i=document.createElement("div"),i.classList.add("swiper-button-prev"),Z5(i,e.navigation.arrowSvg),i.part.add("button-prev"),e.el.appendChild(i))),s&&(h.navigation.nextEl=s),i&&(h.navigation.prevEl=i),b.init(),b.update()),n.includes("allowSlideNext")&&(e.allowSlideNext=r.allowSlideNext),n.includes("allowSlidePrev")&&(e.allowSlidePrev=r.allowSlidePrev),n.includes("direction")&&e.changeDirection(r.direction,!1),(Q||j)&&e.loopDestroy(),(N||j)&&e.loopCreate(),e.update()}function f_(e={},t=!0){const r={on:{}},n={},s={};Ad(r,$2),r._emitClasses=!0,r.init=!1;const i={},a=B4.map(d=>d.replace(/_/,"")),u=Object.assign({},e);return Object.keys(u).forEach(d=>{typeof e[d]>"u"||(a.indexOf(d)>=0?bu(e[d])?(r[d]={},s[d]={},Ad(r[d],e[d]),Ad(s[d],e[d])):(r[d]=e[d],s[d]=e[d]):d.search(/on[A-Z]/)===0&&typeof e[d]=="function"?t?n[`${d[2].toLowerCase()}${d.substr(3)}`]=e[d]:r.on[`${d[2].toLowerCase()}${d.substr(3)}`]=e[d]:i[d]=e[d])}),["navigation","pagination","scrollbar"].forEach(d=>{r[d]===!0&&(r[d]={}),r[d]===!1&&delete r[d]}),{params:r,passedParams:s,rest:i,events:n}}function h_({el:e,nextEl:t,prevEl:r,paginationEl:n,scrollbarEl:s,swiper:i},a){P4(a)&&t&&r&&(i.params.navigation.nextEl=t,i.originalParams.navigation.nextEl=t,i.params.navigation.prevEl=r,i.originalParams.navigation.prevEl=r),j4(a)&&n&&(i.params.pagination.el=n,i.originalParams.pagination.el=n),F4(a)&&s&&(i.params.scrollbar.el=s,i.originalParams.scrollbar.el=s),i.init(e)}function p_(e,t,r,n,s){const i=[];if(!t)return i;const a=d=>{i.indexOf(d)<0&&i.push(d)};if(r&&n){const d=n.map(s),h=r.map(s);d.join("")!==h.join("")&&a("children"),n.length!==r.length&&a("children")}return B4.filter(d=>d[0]==="_").map(d=>d.replace(/_/,"")).forEach(d=>{if(d in e&&d in t)if(bu(e[d])&&bu(t[d])){const h=Object.keys(e[d]),m=Object.keys(t[d]);h.length!==m.length?a(d):(h.forEach(b=>{e[d][b]!==t[d][b]&&a(d)}),m.forEach(b=>{e[d][b]!==t[d][b]&&a(d)}))}else e[d]!==t[d]&&a(d)}),i}const m_=e=>{!e||e.destroyed||!e.params.virtual||e.params.virtual&&!e.params.virtual.enabled||(e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.emit("_virtualUpdated"),e.parallax&&e.params.parallax&&e.params.parallax.enabled&&e.parallax.setTranslate())};function sm(){return sm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},sm.apply(this,arguments)}function Q4(e){return e.type&&e.type.displayName&&e.type.displayName.includes("SwiperSlide")}function $4(e){const t=[];return D.Children.toArray(e).forEach(r=>{Q4(r)?t.push(r):r.props&&r.props.children&&$4(r.props.children).forEach(n=>t.push(n))}),t}function g_(e){const t=[],r={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]};return D.Children.toArray(e).forEach(n=>{if(Q4(n))t.push(n);else if(n.props&&n.props.slot&&r[n.props.slot])r[n.props.slot].push(n);else if(n.props&&n.props.children){const s=$4(n.props.children);s.length>0?s.forEach(i=>t.push(i)):r["container-end"].push(n)}else r["container-end"].push(n)}),{slides:t,slots:r}}function b_(e,t,r){if(!r)return null;const n=m=>{let b=m;return m<0?b=t.length+m:b>=t.length&&(b=b-t.length),b},s=e.isHorizontal()?{[e.rtlTranslate?"right":"left"]:`${r.offset}px`}:{top:`${r.offset}px`},{from:i,to:a}=r,u=e.params.loop?-t.length:0,d=e.params.loop?t.length*2:t.length,h=[];for(let m=u;m<d;m+=1)m>=i&&m<=a&&h.push(t[n(m)]);return h.map((m,b)=>D.cloneElement(m,{swiper:e,style:s,key:m.props.virtualIndex||m.key||`slide-${b}`}))}function Tf(e,t){return typeof window>"u"?w.useEffect(e,t):w.useLayoutEffect(e,t)}const ry=w.createContext(null),x_=w.createContext(null),sh=w.forwardRef(({className:e,tag:t="div",wrapperTag:r="div",children:n,onSwiper:s,...i}={},a)=>{let u=!1;const[d,h]=w.useState("swiper"),[m,b]=w.useState(null),[x,v]=w.useState(!1),S=w.useRef(!1),T=w.useRef(null),_=w.useRef(null),L=w.useRef(null),M=w.useRef(null),R=w.useRef(null),Q=w.useRef(null),N=w.useRef(null),j=w.useRef(null),{params:A,passedParams:F,rest:z,events:Y}=f_(i),{slides:U,slots:G}=g_(n),ee=()=>{v(!x)};Object.assign(A.on,{_containerClasses(fe,ae){h(ae)}});const te=()=>{Object.assign(A.on,Y),u=!0;const fe={...A};if(delete fe.wrapperClass,_.current=new dx(fe),_.current.virtual&&_.current.params.virtual.enabled){_.current.virtual.slides=U;const ae={cache:!1,slides:U,renderExternal:b,renderExternalUpdate:!1};Ad(_.current.params.virtual,ae),Ad(_.current.originalParams.virtual,ae)}};T.current||te(),_.current&&_.current.on("_beforeBreakpoint",ee);const pe=()=>{u||!Y||!_.current||Object.keys(Y).forEach(fe=>{_.current.on(fe,Y[fe])})},Se=()=>{!Y||!_.current||Object.keys(Y).forEach(fe=>{_.current.off(fe,Y[fe])})};w.useEffect(()=>()=>{_.current&&_.current.off("_beforeBreakpoint",ee)}),w.useEffect(()=>{!S.current&&_.current&&(_.current.emitSlidesClasses(),S.current=!0)}),Tf(()=>{if(a&&(a.current=T.current),!!T.current)return _.current.destroyed&&te(),h_({el:T.current,nextEl:R.current,prevEl:Q.current,paginationEl:N.current,scrollbarEl:j.current,swiper:_.current},A),s&&!_.current.destroyed&&s(_.current),()=>{_.current&&!_.current.destroyed&&_.current.destroy(!0,!1)}},[]),Tf(()=>{pe();const fe=p_(F,L.current,U,M.current,ae=>ae.key);return L.current=F,M.current=U,fe.length&&_.current&&!_.current.destroyed&&d_({swiper:_.current,slides:U,passedParams:F,changedParams:fe,nextEl:R.current,prevEl:Q.current,scrollbarEl:j.current,paginationEl:N.current}),()=>{Se()}}),Tf(()=>{m_(_.current)},[m]);function ye(){return A.virtual?b_(_.current,U,m):U.map((fe,ae)=>D.cloneElement(fe,{swiper:_.current,swiperSlideIndex:ae}))}return D.createElement(t,sm({ref:T,className:O4(`${d}${e?` ${e}`:""}`)},z),D.createElement(x_.Provider,{value:_.current},G["container-start"],D.createElement(r,{className:u_(A.wrapperClass)},G["wrapper-start"],ye(),G["wrapper-end"]),P4(A)&&D.createElement(D.Fragment,null,D.createElement("div",{ref:Q,className:"swiper-button-prev"}),D.createElement("div",{ref:R,className:"swiper-button-next"})),F4(A)&&D.createElement("div",{ref:j,className:"swiper-scrollbar"}),j4(A)&&D.createElement("div",{ref:N,className:"swiper-pagination"}),G["container-end"]))});sh.displayName="Swiper";const xu=w.forwardRef(({tag:e="div",children:t,className:r="",swiper:n,zoom:s,lazy:i,virtualIndex:a,swiperSlideIndex:u,...d}={},h)=>{const m=w.useRef(null),[b,x]=w.useState("swiper-slide"),[v,S]=w.useState(!1);function T(R,Q,N){Q===m.current&&x(N)}Tf(()=>{if(typeof u<"u"&&(m.current.swiperSlideIndex=u),h&&(h.current=m.current),!(!m.current||!n)){if(n.destroyed){b!=="swiper-slide"&&x("swiper-slide");return}return n.on("_slideClass",T),()=>{n&&n.off("_slideClass",T)}}}),Tf(()=>{n&&m.current&&!n.destroyed&&x(n.getSlideClasses(m.current))},[n]);const _={isActive:b.indexOf("swiper-slide-active")>=0,isVisible:b.indexOf("swiper-slide-visible")>=0,isFullyVisible:b.indexOf("swiper-slide-fully-visible")>=0,isPrev:b.indexOf("swiper-slide-prev")>=0,isNext:b.indexOf("swiper-slide-next")>=0},L=()=>typeof t=="function"?t(_):t,M=()=>{S(!0)};return D.createElement(e,sm({ref:m,className:O4(`${b}${r?` ${r}`:""}`),"data-swiper-slide-index":a,onLoad:M},d),s&&D.createElement(ry.Provider,{value:_},D.createElement("div",{className:"swiper-zoom-container","data-swiper-zoom":typeof s=="number"?s:void 0},L(),i&&!v&&D.createElement("div",{className:"swiper-lazy-preloader",ref:R=>{R&&(R.lazyPreloaderManaged=!0)}}))),!s&&D.createElement(ry.Provider,{value:_},L(),i&&!v&&D.createElement("div",{className:"swiper-lazy-preloader",ref:R=>{R&&(R.lazyPreloaderManaged=!0)}})))});xu.displayName="SwiperSlide";const Hi=[];for(let e=0;e<256;++e)Hi.push((e+256).toString(16).slice(1));function y_(e,t=0){return(Hi[e[t+0]]+Hi[e[t+1]]+Hi[e[t+2]]+Hi[e[t+3]]+"-"+Hi[e[t+4]]+Hi[e[t+5]]+"-"+Hi[e[t+6]]+Hi[e[t+7]]+"-"+Hi[e[t+8]]+Hi[e[t+9]]+"-"+Hi[e[t+10]]+Hi[e[t+11]]+Hi[e[t+12]]+Hi[e[t+13]]+Hi[e[t+14]]+Hi[e[t+15]]).toLowerCase()}let s1;const v_=new Uint8Array(16);function w_(){if(!s1){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");s1=crypto.getRandomValues.bind(crypto)}return s1(v_)}const A_=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ny={randomUUID:A_};function S_(e,t,r){e=e||{};const n=e.random??e.rng?.()??w_();if(n.length<16)throw new Error("Random bytes length must be >= 16");return n[6]=n[6]&15|64,n[8]=n[8]&63|128,y_(n)}function T_(e,t,r){return ny.randomUUID&&!e?ny.randomUUID():S_(e)}const C_={},sy=e=>{let t;const r=new Set,n=(m,b)=>{const x=typeof m=="function"?m(t):m;if(!Object.is(x,t)){const v=t;t=b??(typeof x!="object"||x===null)?x:Object.assign({},t,x),r.forEach(S=>S(t,v))}},s=()=>t,d={setState:n,getState:s,getInitialState:()=>h,subscribe:m=>(r.add(m),()=>r.delete(m)),destroy:()=>{(C_?"production":void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),r.clear()}},h=t=e(n,s,d);return d},k_=e=>e?sy(e):sy;var i1={exports:{}},o1={},a1={exports:{}},l1={};var iy;function __(){if(iy)return l1;iy=1;var e=$m();function t(b,x){return b===x&&(b!==0||1/b===1/x)||b!==b&&x!==x}var r=typeof Object.is=="function"?Object.is:t,n=e.useState,s=e.useEffect,i=e.useLayoutEffect,a=e.useDebugValue;function u(b,x){var v=x(),S=n({inst:{value:v,getSnapshot:x}}),T=S[0].inst,_=S[1];return i(function(){T.value=v,T.getSnapshot=x,d(T)&&_({inst:T})},[b,v,x]),s(function(){return d(T)&&_({inst:T}),b(function(){d(T)&&_({inst:T})})},[b]),a(v),v}function d(b){var x=b.getSnapshot;b=b.value;try{var v=x();return!r(b,v)}catch{return!0}}function h(b,x){return x()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:u;return l1.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,l1}var oy;function L_(){return oy||(oy=1,a1.exports=__()),a1.exports}var ay;function E_(){if(ay)return o1;ay=1;var e=$m(),t=L_();function r(h,m){return h===m&&(h!==0||1/h===1/m)||h!==h&&m!==m}var n=typeof Object.is=="function"?Object.is:r,s=t.useSyncExternalStore,i=e.useRef,a=e.useEffect,u=e.useMemo,d=e.useDebugValue;return o1.useSyncExternalStoreWithSelector=function(h,m,b,x,v){var S=i(null);if(S.current===null){var T={hasValue:!1,value:null};S.current=T}else T=S.current;S=u(function(){function L(j){if(!M){if(M=!0,R=j,j=x(j),v!==void 0&&T.hasValue){var A=T.value;if(v(A,j))return Q=A}return Q=j}if(A=Q,n(R,j))return A;var F=x(j);return v!==void 0&&v(A,F)?(R=j,A):(R=j,Q=F)}var M=!1,R,Q,N=b===void 0?null:b;return[function(){return L(m())},N===null?void 0:function(){return L(N())}]},[m,b,x,v]);var _=s(h,S[0],S[1]);return a(function(){T.hasValue=!0,T.value=_},[_]),d(_),_},o1}var ly;function I_(){return ly||(ly=1,i1.exports=E_()),i1.exports}var M_=I_();const R_=k4(M_),H4={},{useDebugValue:N_}=D,{useSyncExternalStoreWithSelector:D_}=R_;let cy=!1;const B_=e=>e;function P_(e,t=B_,r){(H4?"production":void 0)!=="production"&&r&&!cy&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),cy=!0);const n=D_(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return N_(n),n}const uy=e=>{(H4?"production":void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");const t=typeof e=="function"?k_(e):e,r=(n,s)=>P_(t,n,s);return Object.assign(r,t),r},U4=e=>e?uy(e):uy,im="auth:unauthorized";let bd=null;class Mc extends Error{constructor(t,r,n){super(t),this.status=r,this.code=n,this.name="TerminalApiError"}status;code}async function j_(){const e=await fetch("/api/terminal/update");if(!e.ok)throw new Mc("Failed to load update state",e.status);return e.json()}async function F_(){const e=await sn(),t=await fetch("/api/terminal/update/check",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Mc("Failed to check for updates",t.status);return t.json()}async function O_(){const e=await sn(),t=await fetch("/api/terminal/update/restart",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok){const r=await t.json().catch(()=>({error:"Failed to restart Termdock"}));throw new Mc(r.error||"Failed to restart Termdock",t.status)}return t.json()}async function Q_(){const e=await fetch("/api/terminal/quota");if(!e.ok)throw new Mc("Failed to fetch quota",e.status);return e.json()}async function $_(){const e=await sn(),t=await fetch("/api/terminal/quota/refresh",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Mc("Failed to refresh quota",t.status);return t.json()}const Su=8e3,vl=1e4,Sd=45e3,H_=8e3,U_=8e3,z_=15e3,G_=1e4,Id=5e3;let W_=0;const Dp=[];let c1=!1;function dc(e,t={}){if(typeof window>"u")return;const r=JSON.stringify({level:e==="error"||e==="timeout_or_abort"||e==="response_body_timeout"||e==="response_body_parse_error"?"warn":"info",message:`DIFF_API ${e}`,data:{seq:++W_,ts:Date.now(),...t}});Dp.push(r),V_()}async function V_(){if(!c1){c1=!0;try{for(;Dp.length>0;){const e=Dp[0];try{await fetch("/api/client-log",{method:"POST",headers:{"Content-Type":"application/json"},body:e,keepalive:!0}),Dp.shift()}catch{break}}}finally{c1=!1}}}function q_(e,t,r){const n=new AbortController;let s=setTimeout(()=>{n.abort(new DOMException(r,"TimeoutError"))},t);const i=()=>n.abort(e?.reason);return e&&(e.aborted?i():e.addEventListener("abort",i,{once:!0})),{signal:n.signal,cleanup:()=>{s&&(clearTimeout(s),s=null),e?.removeEventListener("abort",i)}}}async function _s(e,t,r,n){const{signal:s,cleanup:i}=q_(t?.signal??void 0,r,n);try{return await fetch(e,{...t,signal:s})}catch(a){throw a instanceof DOMException&&a.name==="TimeoutError"?new Error(n):a}finally{i()}}async function z4(e,t,r){let n=null;const s=new Promise((i,a)=>{n=setTimeout(()=>a(new Error(r)),t)});try{return await Promise.race([e.text(),s])}finally{n&&clearTimeout(n)}}async function Md(e,t,r){const n=await z4(e,t,r);return JSON.parse(n)}if(typeof window<"u"&&!window.__termdockFetchPatched){window.__termdockFetchPatched=!0;const e=window.fetch.bind(window);window.fetch=async(...t)=>{const r=await e(...t);if(r.status===401){bd=null;try{window.dispatchEvent(new CustomEvent(im))}catch{}}return r}}async function sn(){if(bd)return bd;const e=await _s("/api/csrf-token",void 0,H_,"CSRF token request timed out");if(!e.ok)throw new Error("Failed to get CSRF token");const t=await Md(e,Id,"CSRF token response timed out");if(!t.csrfToken)throw new Error("Invalid CSRF token response");return bd=t.csrfToken,bd}function G4(){bd=null}const Y_=2e4,dy=8e3,K_=1500,$o=new Map,Z_=24,X_=40,J_=40;function eL(e){return e.retryState.retryCount>=2||e.pendingInputs.length>=J_?"congested":e.retryState.retryCount>=1||e.pendingInputs.length>=8?"degraded":"good"}function fy(e){if(e.pendingInputs.length===0||e.ws.readyState!==WebSocket.OPEN)return;const t=e.pendingInputs.splice(0);for(const r of t)try{e.ws.send(JSON.stringify({type:"input",data:r}))}catch{}}function W4(e){if(e.ws.readyState!==WebSocket.OPEN)return;const t=eL(e);if(t==="good"){fy(e);return}if(e.inputFlushTimer)return;const r=t==="congested"?X_:Z_;e.inputFlushTimer=setTimeout(()=>{e.inputFlushTimer=null,fy(e)},r)}const Cf=new Map;function tL(e,t,r,n){const s=Cf.get(e);s&&(Cf.delete(e),t?s.resolve({success:!0,layout:r}):s.reject(new Error(n||"Tmux action failed")))}function rL(e,t){const n=`${window.location.protocol==="https:"?"wss":"ws"}://${window.location.host}/api/terminal/${e}/ws`;return t>0?`${n}?since=${t}`:n}const hy=new Map;async function nL(e){const t=await sn(),r=await fetch("/api/terminal/create",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify({cols:e.cols||80,rows:e.rows||24,mode:e.mode||"shell",tmuxSessionName:e.tmuxSessionName,cwd:e.cwd,termType:e.termType})});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to create terminal"}));throw new Error(n.error||"Failed to create terminal session")}return r.json()}function sL(e,t,r,n={}){const{maxRetries:s=10,initialRetryDelay:i=1e3,maxRetryDelay:a=2e4,connectionTimeout:u=15e3}=n,d={maxRetries:s,initialDelayMs:i,maxDelayMs:a,connectionTimeoutMs:u,retryCount:0,retryTimeout:null,connectionTimeoutId:null,isClosed:!1};let h=null,m=hy.get(e)??0;hy.delete(e);const b=[];let x=!1,v=null;const S=new WeakSet,T=()=>{d.retryTimeout&&(clearTimeout(d.retryTimeout),d.retryTimeout=null),d.connectionTimeoutId&&(clearTimeout(d.connectionTimeoutId),d.connectionTimeoutId=null),v&&(clearTimeout(v),v=null)},_=N=>{N.heartbeatTimer&&(clearInterval(N.heartbeatTimer),N.heartbeatTimer=null),N.pongTimer&&(clearTimeout(N.pongTimer),N.pongTimer=null),N.inputFlushTimer&&(clearTimeout(N.inputFlushTimer),N.inputFlushTimer=null)},L=N=>{_(N),N.heartbeatTimer=setInterval(()=>{if(N.ws.readyState===WebSocket.OPEN){try{N.ws.send(JSON.stringify({type:"ping"}))}catch{}N.pongTimer&&clearTimeout(N.pongTimer),N.pongTimer=setTimeout(()=>{if(Date.now()-N.lastInboundAt>=dy)try{N.ws.close()}catch{}},dy)}},Y_)},M=()=>{if(d.isClosed=!0,T(),h){_(h),$o.delete(e);try{h.ws.close()}catch{}h=null}},R=()=>{if(d.isClosed)return;if(h){S.add(h.ws),_(h);try{h.ws.close()}catch{}}const N=rL(e,m),j=new WebSocket(N);x=!1,d.connectionTimeoutId=setTimeout(()=>{j.readyState!==WebSocket.OPEN&&(x=!0,j.close(),Q(new Error("WebSocket connection timeout"),!1))},u);const A={ws:j,onEvent:t,onError:r,reconnectNow:()=>{if(!d.isClosed&&!v){if(T(),h){S.add(h.ws),_(h);try{h.ws.close()}catch{}}t({type:"reconnecting",attempt:Math.min(d.retryCount+1,s),maxAttempts:s}),d.retryCount=Math.min(d.retryCount+1,s),x=!0,v=setTimeout(()=>{v=null,x=!1,R()},0)}},retryState:d,lastSeq:m,pendingInputs:b,inputFlushTimer:null,heartbeatTimer:null,pongTimer:null,lastInboundAt:Date.now()};j.onopen=()=>{T(),d.retryCount=0,A.lastInboundAt=Date.now(),L(A),W4(A)},j.onmessage=F=>{A.lastInboundAt=Date.now();try{const z=JSON.parse(F.data);if(z.type==="pong"){A.pongTimer&&(clearTimeout(A.pongTimer),A.pongTimer=null);return}if(z.type==="tmux-result"&&z.reqId){tL(z.reqId,z.success!==!1,z.layout,z.error);return}if(z.type==="tmux-layout"&&z.layout){t({type:"tmux-layout",layout:z.layout});return}if(z.type==="tmux-screen-sync"&&Array.isArray(z.chunks)){t({type:"tmux-screen-sync",chunks:z.chunks.filter(U=>typeof U=="string"),cols:typeof z.cols=="number"?z.cols:void 0,rows:typeof z.rows=="number"?z.rows:void 0,generation:typeof z.generation=="number"?z.generation:void 0});return}if(z.type==="active-program"){t({type:"active-program",activeProgram:z.activeProgram,activeProgramRaw:z.activeProgramRaw,activeProgramSource:z.activeProgramSource});return}if(z.type==="cwd"){t({type:"cwd",cwd:z.cwd});return}if(z.type==="agent-status"){t({type:"agent-status",agentStatus:z.agentStatus??null,agentIndicator:z.agentIndicator??null,agentStatusDetail:z.agentStatusDetail??null,agent:z.agent??null,agentMessage:z.agentMessage??null,agentNativeSessionId:z.agentNativeSessionId??null,agentRich:z.agentRich===!0,agentActivity:typeof z.agentActivity=="number"?z.agentActivity:0,agentCwd:z.agentCwd??null,reviewed:typeof z.reviewed=="boolean"?z.reviewed:null});return}if(z.type==="git-status"){t({type:"git-status",gitStatus:z.gitStatus??null});return}if(z.type==="quota-status"&&Array.isArray(z.providers)){window.dispatchEvent(new CustomEvent("termdock:quota-update",{detail:z.providers}));return}if(z.type==="focus-mode"){t({type:"focus-mode",focusTrackingRequested:z.focusTrackingRequested===!0});return}if(z.type==="resize-ack"){t({type:"resize-ack",seq:typeof z.seq=="number"?z.seq:void 0,cols:typeof z.cols=="number"?z.cols:void 0,rows:typeof z.rows=="number"?z.rows:void 0,ok:z.ok!==!1,error:typeof z.error=="string"?z.error:void 0});return}if(z.type==="pty-size"){t({type:"pty-size",cols:typeof z.cols=="number"?z.cols:void 0,rows:typeof z.rows=="number"?z.rows:void 0,source:typeof z.source=="string"?z.source:void 0});return}if(z.type==="shell-title"){t({type:"shell-title",title:typeof z.title=="string"?z.title:""});return}if(z.type==="prompt-state"){t({type:"prompt-state",state:z.state==="running"?"running":"idle",exitCode:typeof z.exitCode=="number"?z.exitCode:void 0});return}const Y=z;if(Y.type==="connected"){typeof Y.replayLastSeq=="number"&&Y.replayLastSeq>0&&(m=Y.replayLastSeq,A.lastSeq=m),t(Y);return}if(Y.type==="exit"){M(),t(Y);return}t(Y),Y.type==="data"&&typeof Y.seq=="number"&&Number.isFinite(Y.seq)&&Y.seq>m&&(m=Y.seq,A.lastSeq=m)}catch(z){r?.(z,!1)}},j.onerror=()=>{S.has(j)||(T(),_(A),x||(x=!0,Q(new Error("WebSocket connection error"),!1)))},j.onclose=F=>{if(!S.has(j)&&(T(),_(A),!d.isClosed&&!x)){if(x=!0,F.code===4001){console.warn("[Terminal] WS 4001: Session not found on server",{code:F.code,reason:F.reason,stack:new Error().stack}),Q(new Error("Session not found on server"),!0);return}if(F.code===4003||F.code===4401){try{window.dispatchEvent(new CustomEvent(im))}catch{}Q(new Error("Authentication required"),!0);return}Q(new Error("WebSocket connection closed"),!1)}},h=A,$o.set(e,h)},Q=(N,j)=>{if(!d.isClosed)if(j)r?.(N,!0),M();else{d.retryCount=Math.min(d.retryCount+1,Math.max(1,s));const A=Math.min(i*Math.pow(2,d.retryCount-1),a);t({type:"reconnecting",attempt:d.retryCount,maxAttempts:s}),d.retryTimeout=setTimeout(()=>{d.isClosed||R()},A)}};return R(),M}async function V4(e,t){const r=$o.get(e);if(r){if(r.ws.readyState===WebSocket.OPEN){r.pendingInputs.push(t),W4(r);return}if(r.ws.readyState===WebSocket.CONNECTING){r.pendingInputs.push(t);return}}const n=await sn(),s=await fetch(`/api/terminal/${e}/input`,{method:"POST",headers:{"Content-Type":"text/plain","X-XSRF-TOKEN":n},body:t});if(!s.ok){const i=await s.json().catch(()=>({error:"Failed to send input"}));throw new Error(i.error||"Failed to send terminal input")}}function iL(e){const t=$o.get(e);if(!t)return!1;if(t.ws.readyState!==WebSocket.OPEN)return t.reconnectNow(),!0;const r=t.lastInboundAt;try{t.ws.send(JSON.stringify({type:"ping"}))}catch{}return setTimeout(()=>{t.lastInboundAt<=r&&t.reconnectNow()},K_),!0}function py(e,t,r){const n=$o.get(e);if(!(!n||n.ws.readyState!==WebSocket.OPEN))try{n.ws.send(JSON.stringify({type:"focus",focused:t,reason:r}))}catch{}}function my(e,t,r){const n=$o.get(e);if(!(!n||n.ws.readyState!==WebSocket.OPEN))try{n.ws.send(JSON.stringify({type:"viewing",viewing:t,reason:r}))}catch{}}function gy(e){const t=$o.get(e);if(!(!t||t.ws.readyState!==WebSocket.OPEN))try{t.ws.send(JSON.stringify({type:"agent-review-ack"}))}catch{}}function by(e,t,r){const n=$o.get(e);if(!(!n||n.ws.readyState!==WebSocket.OPEN))try{n.ws.send(JSON.stringify({type:"flow-control",paused:t,reason:r}))}catch{}}async function oL(e,t,r,n){const s=$o.get(e);if(s&&s.ws.readyState===WebSocket.OPEN)try{s.ws.send(JSON.stringify({type:"resize",cols:t,rows:r,seq:n}));return}catch{}const i=await sn(),a=await fetch(`/api/terminal/${e}/resize`,{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":i},body:JSON.stringify({cols:t,rows:r,seq:n})});if(!a.ok){const d=await a.json().catch(()=>({error:"Failed to resize terminal"}));throw new Error(d.error||"Failed to resize terminal")}const u=await a.json().catch(()=>({success:!0}));if(u?.success===!1||u?.ok===!1)throw new Error(u?.error||"Failed to resize terminal")}async function aL(e,t){const r=$o.get(e);if(r&&r.ws.readyState===WebSocket.OPEN)return t.action==="scroll"?(r.ws.send(JSON.stringify({type:"tmux",...t})),{success:!0}):new Promise((i,a)=>{const u=Math.random().toString(36).substring(7);Cf.set(u,{resolve:i,reject:a}),r.ws.send(JSON.stringify({type:"tmux",reqId:u,...t})),setTimeout(()=>{Cf.has(u)&&(Cf.delete(u),a(new Error("Tmux action timed out")))},3e4)});const n=await sn(),s=await fetch(`/api/terminal/${e}/tmux`,{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":n},body:JSON.stringify(t)});if(!s.ok){const i=await s.json().catch(()=>({error:"Failed to execute tmux action"}));throw new Error(i.error||"Failed to execute tmux action")}return s.json()}async function q4(e){const t=$o.get(e);if(t){t.retryState.isClosed=!0;try{t.ws.close()}catch{}$o.delete(e)}const r=await sn(),n=await fetch(`/api/terminal/${e}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":r}});if(n.status!==404&&!n.ok){const s=await n.json().catch(()=>({error:"Failed to close terminal"}));throw new Error(s.error||"Failed to close terminal")}}async function lL(e,t){const r=$o.get(e);if(r){r.retryState.isClosed=!0;try{r.ws.close()}catch{}$o.delete(e)}const n=await sn(),s=await fetch(`/api/terminal/${e}/restart`,{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":n},body:JSON.stringify({...t.cwd?{cwd:t.cwd}:{},cols:t.cols??80,rows:t.rows??24,mode:t.mode,tmuxSessionName:t.tmuxSessionName})});if(!s.ok){const i=await s.json().catch(()=>({error:"Failed to restart terminal"}));throw new Error(i.error||"Failed to restart terminal session")}return s.json()}async function cL(e){const t=await _s(`/api/terminal/${e}/health`,{method:"GET"},U_,"Terminal health check timed out");if(!t.ok){if(t.status===404)return{healthy:!1,sessionId:e};const r=await Md(t,Id,"Terminal health error response timed out").catch(()=>({error:"Failed to check terminal health"}));throw new Error(r.error||"Failed to check terminal health")}return Md(t,Id,"Terminal health response timed out")}async function uL(e){const t=await sn(),r=await _s("/api/terminal/force-kill",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)},G_,"Terminal force-kill request timed out");if(!r.ok){const n=await Md(r,Id,"Terminal force-kill error response timed out").catch(()=>({error:"Failed to force kill terminal"}));throw new Error(n.error||"Failed to force kill terminal")}}async function H2(){const e=await fetch("/api/terminal/tmux/sessions",{method:"GET"});if(!e.ok){const r=await e.json().catch(()=>({error:"Failed to list tmux sessions"}));throw new Error(r.error||"Failed to list tmux sessions")}const t=await e.json();return Array.isArray(t.sessions)?t.sessions:[]}async function U2(){const e=await fetch("/api/terminal/tmux/status",{method:"GET"});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to get tmux status"}));throw new Error(t.error||"Failed to get tmux status")}return e.json()}async function Y4(e){const t=e.trim();if(!t)throw new Error("tmux session name is required");const r=await sn(),n=await fetch(`/api/terminal/tmux/sessions/${encodeURIComponent(t)}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":r}});if(!n.ok){const i=await n.json().catch(()=>({error:"Failed to kill tmux session"}));throw new Error(i.error||"Failed to kill tmux session")}const s=await n.json();return{cleanedSessions:Array.isArray(s.cleanedSessions)?s.cleanedSessions:[],alreadyGone:!!s.alreadyGone}}const Uh=new Map;function dL(e){return JSON.stringify({preferredFrontendSessionId:e.preferredFrontendSessionId??null,mode:e.mode??null,tmuxSessionName:e.tmuxSessionName??null,cwd:e.cwd??null,termType:e.termType??null,createIfEmpty:e.createIfEmpty===!0,requireExisting:e.requireExisting===!0})}async function fL(){const e=await fetch("/api/terminal/session-inventory",{method:"GET"});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to load session inventory"}));throw new Error(t.error||"Failed to load session inventory")}return e.json()}async function K4(e){const t=dL(e),r=Uh.get(t);if(r)return r;const n=await sn(),s=_s("/api/terminal/session-inventory/open",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":n},body:JSON.stringify(e)},z_,"Terminal session open request timed out").then(async i=>{if(!i.ok){const a=await Md(i,Id,"Terminal session open error response timed out").catch(()=>({error:"Failed to open session"}));throw new Mc(a.error||"Failed to open session",i.status,typeof a.code=="string"?a.code:void 0)}return Md(i,Id,"Terminal session open response timed out")}).finally(()=>{Uh.get(t)===s&&Uh.delete(t)});return Uh.set(t,s),s}async function Bp(e,t){const r=await sn(),n=await fetch(`/api/terminal/session-inventory/sessions/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":r},body:JSON.stringify(t)});if(!n.ok){const s=await n.json().catch(()=>({error:"Failed to update session"}));throw new Error(s.error||"Failed to update session")}return n.json()}async function hL(e){const t=await sn(),r=await fetch("/api/terminal/session-inventory/reorder",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify({sessionIds:e})});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to reorder sessions"}));throw new Error(n.error||"Failed to reorder sessions")}return r.json()}async function pL(e){const t=await sn(),r=await fetch(`/api/terminal/session-inventory/sessions/${encodeURIComponent(e)}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":t}});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to remove session"}));throw new Error(n.error||"Failed to remove session")}}async function mL(){const e=await sn(),t=await fetch("/api/terminal/session-inventory/sessions",{method:"DELETE",headers:{"X-XSRF-TOKEN":e}});if(!t.ok){const r=await t.json().catch(()=>({error:"Failed to clear sessions"}));throw new Error(r.error||"Failed to clear sessions")}}async function xy(){const e=await fetch("/api/terminal/toolbar-presets",{method:"GET"});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to load toolbar presets"}));throw new Error(t.error||"Failed to load toolbar presets")}return e.json()}async function gL(e){const t=await sn(),r=await fetch("/api/terminal/toolbar-presets",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to save toolbar presets"})),s=new Error(n.error||"Failed to save toolbar presets");throw s.current=n.current,s.code=n.code,s}return r.json()}async function fx(){const e=await fetch("/api/terminal/settings",{method:"GET"});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to load settings"}));throw new Error(t.error||"Failed to load settings")}return e.json()}async function Ac(e){const t=await sn(),r=await fetch("/api/terminal/settings",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to update settings"}));throw new Error(n.error||"Failed to update settings")}return r.json()}async function Q0(e=!1){const t=await fetch(`/api/terminal/auto-title/catalog${e?"?refresh=1":""}`);if(!t.ok)throw new Error("Failed to discover title models");const r=await t.json();return Array.isArray(r?.namers)?r.namers:[]}async function bL(){const e=await fetch("/api/terminal/context-draft",{method:"GET"});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to load context draft"}));throw new Error(t.error||"Failed to load context draft")}return e.json()}async function xL(e,t){const r=await sn(),n=await fetch("/api/terminal/context-draft",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":r},body:JSON.stringify({text:e,origin:t})});if(!n.ok){const s=await n.json().catch(()=>({error:"Failed to update context draft"}));throw new Error(s.error||"Failed to update context draft")}return n.json()}async function yL(){const e=await fetch("/api/auth/status");if(!e.ok)throw new Error("Failed to query auth status");return e.json()}async function vL(e){const t=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:e})});if(t.ok)return G4(),{ok:!0};const r=await t.json().catch(()=>null);return t.status===429?{ok:!1,rateLimited:!0,retryAfterMs:typeof r?.retryAfterMs=="number"?r.retryAfterMs:void 0,error:r?.error||"Too many failed attempts. Please wait and try again."}:{ok:!1,error:r?.error||"Login failed"}}async function wL(){const e=await sn();await fetch("/api/auth/logout",{method:"POST",headers:{"X-XSRF-TOKEN":e}}),G4()}async function AL(){const e=await fetch("/api/terminal/agent-launchers");if(!e.ok)throw new Error("Failed to detect agent launchers");const t=await e.json();return Array.isArray(t?.agents)?t.agents:[]}async function SL(e,t){const r=new URLSearchParams({q:e}),n=await fetch(`/api/terminal/directory-suggestions?${r}`,{signal:t});if(!n.ok)throw new Error("Failed to suggest directories");const s=await n.json();return Array.isArray(s?.directories)?s.directories.filter(i=>typeof i=="string"):[]}async function TL(){const e=await fetch("/api/terminal/agent-hooks");if(!e.ok)throw new Error("Failed to get agent hooks");const t=await e.json();return Array.isArray(t?.agents)?t.agents:[]}async function CL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-hooks/${encodeURIComponent(e)}/install`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to install agent hooks");return{summary:n.summary??"Installed",devMode:n.devMode===!0}}async function kL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-hooks/${encodeURIComponent(e)}/uninstall`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to uninstall agent hooks");return n.summary??"Removed"}class hx extends Error{constructor(t,r,n){super(t),this.code=r,this.migration=n,this.name="AgentPluginManifestError"}code;migration}async function _L(){const e=await fetch("/api/terminal/agent-plugins");if(!e.ok)throw new Error("Failed to get agent plugins");return await e.json()}async function LL(e){const t=await sn(),r=await fetch("/api/terminal/agent-plugins",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)}),n=await r.json().catch(()=>({}));if(!r.ok)throw new hx(n.error||"Failed to create agent plugin",n.code,n.migration);return n}async function EL(e){const t=await sn(),r=await fetch("/api/terminal/agent-plugins/install",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify({source:e})}),n=await r.json().catch(()=>({}));if(!r.ok)throw new hx(n.error||"Failed to install agent plugin",n.code,n.migration);return n}async function IL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}/check-update`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to check plugin updates");return n}async function ML(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}/update`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to update plugin");return n}async function RL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}/doctor`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to diagnose plugin");return n}async function NL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":t}});if(!r.ok){const n=await r.json().catch(()=>({}));throw new Error(n.error||"Failed to delete agent plugin")}}async function DL(e){const t=await sn(),r=await fetch(`/api/terminal/${encodeURIComponent(e)}/agent-resume`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to resume agent session");return{command:n.command??""}}async function Wu(e){const t=await sn(),r=await fetch("/api/terminal/program-rules",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to update program rules"}));throw new Error(n.error||"Failed to update program rules")}return r.json()}async function BL(){const e=await sn(),t=await fetch("/api/terminal/program-rules",{method:"DELETE",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Error("Failed to reset program rules");return t.json()}async function PL(){const e=await fetch("/api/terminal/program-detection");if(!e.ok)throw new Error("Failed to get program detection config");return e.json()}async function yy(e){const t=await sn(),r=await fetch("/api/terminal/program-detection",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok)throw new Error("Failed to save program detection config");return r.json()}async function jL(){const e=await sn(),t=await fetch("/api/terminal/program-detection",{method:"DELETE",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Error("Failed to reset program detection config");return t.json()}const FL={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".bmp":"image/bmp",".ico":"image/x-icon",".svg":"image/svg+xml"};function Z4(e){const t=e.lastIndexOf(".");return t<0?null:FL[e.slice(t).toLowerCase()]??null}function px(e){return Z4(e)!==null}const OL={".mp4":"video/mp4",".m4v":"video/x-m4v",".webm":"video/webm",".mov":"video/quicktime",".ogv":"video/ogg",".mpeg":"video/mpeg",".mpg":"video/mpeg"};function X4(e){const t=e.lastIndexOf(".");return t<0?null:OL[e.slice(t).toLowerCase()]??null}function J4(e){return X4(e)!==null}function QL(e){return`/api/terminal/fs/video?path=${encodeURIComponent(e)}&action=view_file`}const $L=[".stl",".glb",".gltf"];function e7(e){const t=e.lastIndexOf(".");if(t<0)return null;const r=e.slice(t).toLowerCase();return $L.includes(r)?r:null}function t7(e){return e7(e)!==null}const HL=[".html",".htm"];function zh(e){const t=e.lastIndexOf(".");if(t<0)return!1;const r=e.slice(t).toLowerCase();return HL.includes(r)}function UL(e){return`/api/terminal/fs/preview/${e.split(/[\\/]+/).filter(Boolean).map(r=>encodeURIComponent(r)).join("/")}`}const zL={".stl":"model/stl",".glb":"model/gltf-binary",".gltf":"model/gltf+json"};async function r7(e,t,r,n="list_directory",s){const i=new URLSearchParams({path:e});r&&i.set("showHidden","true"),i.set("action",n),s&&i.set("requestSlotId",s);const a=await _s(`/api/terminal/fs/list?${i}`,{signal:t},Su,"Directory listing took too long. The folder may be on slow storage or blocked by another process.");if(!a.ok){const u=await a.json().catch(()=>({error:"Failed to list directory"}));throw new Error(u.error||"Failed to list directory")}return a.json()}async function GL(e,t,r,n,s,i="name",a){const u=new URLSearchParams({path:e,query:t,stream:"true"});s&&u.set("showHidden","true"),i==="content"&&u.set("mode","content"),a&&u.set("requestSlotId",a);const d=await fetch(`/api/terminal/fs/search?${u}`,{signal:n});if(!d.ok||!d.body){const v=await d.json().catch(()=>({error:"Failed to search files"}));throw new Error(v.error||"Failed to search files")}const h=d.body.getReader(),m=new TextDecoder;let b="";const x=v=>{if(!v.trim())return;const S=JSON.parse(v);if(S.type==="meta")r({path:S.path,query:S.query,engine:S.engine,mode:S.mode,limited:S.limited});else if(S.type==="batch")r({entries:S.entries??[]});else if(S.type==="content-batch")r({contentEntries:S.contentEntries??[]});else{if(S.type==="error")throw new Error(S.message||"Search failed");S.type==="done"&&r({total:S.total,truncated:S.truncated,limited:S.limited,engine:S.engine,mode:S.mode,done:!0})}};for(;;){const{value:v,done:S}=await h.read();if(S)break;b+=m.decode(v,{stream:!0});let T=b.indexOf(`
3
3
  `);for(;T>=0;)x(b.slice(0,T)),b=b.slice(T+1),T=b.indexOf(`
4
4
  `)}b+=m.decode(),x(b)}async function WL(e,t,r){const n=new URLSearchParams;n.set("roots",e.join("|"));const s=await fetch(`/api/terminal/fs/watch?${n}`,{signal:r});if(!s.ok||!s.body){const h=await s.json().catch(()=>({error:"Failed to watch files"}));throw new Error(h.error||"Failed to watch files")}const i=s.body.getReader(),a=new TextDecoder;let u="";const d=h=>{if(!h.trim())return;const m=JSON.parse(h);m.type==="events"&&m.events?.length&&t(m.events)};for(;;){const{value:h,done:m}=await i.read();if(m)break;u+=a.decode(h,{stream:!0});let b=u.indexOf(`
@@ -170,12 +170,12 @@ ${A.desc}`:""}`,"aria-pressed":S===A.key,onPointerEnter:()=>v(A.key),onPointerLe
170
170
  `)?`
171
171
  `:`
172
172
 
173
- `;return`${e}${n}${r}`}function iK(e,t){const r=e.trim();return r?t?`${r}\r`:/\s$/.test(e)?e:`${r} `:""}const Kb="termdock:right-sidebar:html-view-mode-by-file:v1";function oK(e){return e==="preview"||e==="source"}function fS(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.values(e).every(oK)}function hS(e,t){if(!t)return null;const r=e&&!t.startsWith("/")?`${e}/${t}`:t;return e?`${e}::${r}`:r}function I6(e,t){const r=hS(e,t);return r?_n(Kb,fS)?.[r]??"source":"source"}function aK(e,t,r){const n=hS(e,t);if(!n)return;const s=_n(Kb,fS)??{};Dr(Kb,{...s,[n]:r})}function v2(e){const t=Number.isFinite(e)&&e>0?Math.floor(e):0,r=Math.floor(t/3600),n=Math.floor(t%3600/60),s=t%60,i=String(n).padStart(2,"0"),a=String(s).padStart(2,"0");return r>0?`${r}:${i}:${a}`:`${i}:${a}`}function lK(e,t,r){return!Number.isFinite(r)||r<=0||!t.width?0:Math.min(1,Math.max(0,(e-t.left)/t.width))*r}function cK({url:e,onLoadError:t}){const{t:r}=Hr(),n=w.useRef(null),s=w.useRef(null),i=w.useRef(!1),a=w.useRef(null),u=w.useRef(0),[d,h]=w.useState(0),[m,b]=w.useState(0),[x,v]=w.useState(!1),[S,T]=w.useState(!1),[_,L]=w.useState(null);w.useEffect(()=>()=>{a.current!==null&&cancelAnimationFrame(a.current)},[]);const M=w.useCallback(U=>{const G=n.current;if(!G)return;const ee=Number.isFinite(G.duration)?G.duration:U;G.currentTime=Math.min(Math.max(U,0),ee)},[]),R=w.useCallback(U=>{const G=s.current,ee=n.current;if(!G||!ee)return;const te=G.getBoundingClientRect(),pe=lK(U,te,ee.duration);u.current=pe,L(pe),a.current===null&&(a.current=requestAnimationFrame(()=>{a.current=null,M(u.current)}))},[M]),Q=w.useCallback(()=>{a.current!==null&&(cancelAnimationFrame(a.current),a.current=null),M(u.current)},[M]),N=w.useCallback(U=>{const G=n.current;if(!(!G||!Number.isFinite(G.duration)||G.duration<=0)){i.current=!G.paused,G.pause(),T(!0);try{U.currentTarget.setPointerCapture(U.pointerId)}catch{}R(U.clientX)}},[R]),j=w.useCallback(()=>{Q(),T(!1),L(null);const U=n.current;U&&i.current&&!U.ended&&U.play().catch(()=>{}),i.current=!1},[Q]),A=w.useCallback(()=>{const U=n.current;U&&(U.paused?U.play().catch(()=>{}):U.pause())},[]),F=w.useCallback(U=>{const G=n.current;if(!G||!Number.isFinite(G.duration))return;const ee=U.shiftKey?10:5;let te=null;U.key==="ArrowLeft"?te=G.currentTime-ee:U.key==="ArrowRight"?te=G.currentTime+ee:U.key==="Home"?te=0:U.key==="End"&&(te=G.duration),te!==null&&(U.preventDefault(),M(te))},[M]),z=S&&_!==null?_:m,Y=d>0?Math.min(1,Math.max(0,z/d)):0;return l.jsxs("div",{className:"flex h-full min-h-0 flex-col overflow-hidden rounded-lg bg-background","data-testid":"file-preview-video-player",children:[l.jsxs("div",{className:"relative min-h-0 flex-1",children:[l.jsx("video",{ref:n,"data-testid":"file-preview-video",className:"h-full w-full object-contain",src:e,preload:"metadata",playsInline:!0,onClick:A,onPlay:()=>v(!0),onPause:()=>v(!1),onTimeUpdate:U=>b(U.currentTarget.currentTime),onLoadedMetadata:U=>h(Number.isFinite(U.currentTarget.duration)?U.currentTarget.duration:0),onDurationChange:U=>h(Number.isFinite(U.currentTarget.duration)?U.currentTarget.duration:0),onError:t,children:r("rightSidebar.videoUnsupported")}),S&&_!==null&&l.jsx("div",{className:"pointer-events-none absolute bottom-1 z-10 -translate-x-1/2 rounded-md bg-surface-elevated px-2 py-1 text-[11px] font-medium text-foreground shadow-md",style:{left:`${Y*100}%`},"data-testid":"file-preview-video-scrub-time",children:v2(_)})]}),l.jsx("div",{"data-testid":"file-preview-video-controls",className:`shrink-0 border-t border-border/60 bg-background px-2 py-1.5 ${cA}`,[uA]:"",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{type:"button",onClick:A,"aria-label":r(x?"rightSidebar.videoPause":"rightSidebar.videoPlay"),title:r(x?"rightSidebar.videoPause":"rightSidebar.videoPlay"),className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-foreground transition hover:bg-surface-elevated active:scale-95","data-testid":"file-preview-video-play",children:x?l.jsx(gM,{size:14}):l.jsx(CM,{size:14})}),l.jsxs("div",{ref:s,role:"slider","aria-label":"Seek","aria-valuemin":0,"aria-valuemax":Math.floor(d),"aria-valuenow":Math.floor(z),tabIndex:0,className:"group relative h-5 min-w-0 flex-1 cursor-pointer touch-none py-2","data-testid":"file-preview-video-track",onPointerDown:N,onPointerMove:U=>{S&&R(U.clientX)},onPointerUp:j,onPointerCancel:j,onKeyDown:F,children:[l.jsx("div",{className:"h-1 w-full rounded-full bg-surface-elevated"}),l.jsx("div",{className:"absolute inset-y-0 left-0 my-auto h-1 rounded-full bg-primary",style:{width:`${Y*100}%`}}),l.jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary shadow",style:{left:`${Y*100}%`}})]}),l.jsxs("div",{className:"shrink-0 text-[11px] tabular-nums text-muted-foreground","data-testid":"file-preview-video-time",children:[v2(z)," / ",v2(d)]})]})})]})}const A5="termdock:right-sidebar:file-tree-scroll:v1",S5="termdock:right-sidebar:file-preview-reading-state:v1",Af="termdock:right-sidebar:file-tree-width:v1",pS="termdock:right-sidebar:markdown-view-mode:v1",mS="termdock:right-sidebar:diff-change-list-mode:v1",gS="termdock:right-sidebar:diff-wrap:v1",bS="termdock:diff-viewer:view-type:v1",xS="termdock:right-sidebar:file-search-mode:v1",w2="termdock:right-sidebar:collapsed-git-repo-groups:v1",M6="termdock:right-sidebar:collapsed-diff-directories:v1",A2="termdock:right-sidebar:branch-audit-module-open:v1",yS="termdock:right-sidebar:branch-audit-module:v1",uK=150,vS="termdock:right-sidebar:active-git-repo:v1",R6="termdock:right-sidebar:context-draft-enabled:v1",N6="termdock:right-sidebar:context-draft-collapsed:v1",D6="termdock:right-sidebar:context-draft-auto-collapse:v1",S2="termdock:right-sidebar:context-draft-text:v1",dK=300,fK=20,hK=120,pK=250,mK=250,gK=120,bK=700,T2=600,B6=[2e3,5e3,15e3,3e4],xK=320,yK=500,vK=20,wK=12e3,Zb=300,P6=240,AK=560,SK=600,TK=720,wS="border-r px-2 py-1.5 sm:px-3 sm:py-2",Bm="max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",AS=`${wS} border-b border-border/15 font-semibold last:border-r-0`,SS=`${wS} border-border/10 align-top text-muted-foreground last:border-r-0`,T5="termdock-file-preview-horizontal-scroll",CK=w.lazy(()=>$d(()=>import("./ModelPreview-CgadwE-X.js"),__vite__mapDeps([2,3,1,4]))),TS=`${T5} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`,kK=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function _K(e){return e==="preview"||e==="source"}function LK(e){return e==="list"||e==="tree"||e==="ai"}function j6(){return _n(pS,_K)??"preview"}function EK(){return _n(mS,LK)??"tree"}function Sf(e){return typeof e=="boolean"}function IK(e){return typeof e=="string"}function MK(){return _n(gS,Sf)??!0}function RK(e){return e==="unified"||e==="split"}function NK(){return _n(bS,RK)??"unified"}function DK(e){return e==="name"||e==="content"||e==="regex"}function BK(){return _n(xS,DK)??"name"}function PK(e){return e.repositories??(e.context?.root?[{id:e.context.root,root:e.context.root,relativeRoot:".",name:So(e.context.root)||e.context.root,depth:0,nested:!1,available:e.available,files:e.files,context:e.context,error:e.error}]:[])}function jK(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(t=>t===null||typeof t=="string")}function CS(){return _n(vS,jK)??{}}function F6(e){if(!e)return;const t=CS();return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0}function C2(e,t){e&&Dr(vS,{...CS(),[e]:t})}function FK(e,t){if(!t)return null;const r=new Set((e.repoFilters??[]).map(n=>n.root));return r.has(t)?t:r.size>0?null:(e.repositories??[]).some(n=>n.root===t)?t:null}function Xb(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function O6(e){const t=_n(e,Xb);return t?new Set(t):new Set}function k2(e,t){Dr(e,[...t])}function OK(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.filePath=="string"&&typeof t.hunkHeader=="string"&&typeof t.hunkIndex=="number"&&typeof t.fingerprint=="string"&&typeof t.additions=="number"&&typeof t.deletions=="number"&&typeof t.diff=="string"&&(t.oldPath===void 0||t.oldPath===null||typeof t.oldPath=="string")&&(t.newPath===void 0||t.newPath===null||typeof t.newPath=="string")&&(t.source===void 0||t.source==="committed"||t.source==="uncommitted"||t.source==="unknown")&&(t.commit===void 0||t.commit===null||typeof t.commit=="string")}function QK(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.available=="boolean"&&(t.repoRoot===void 0||typeof t.repoRoot=="string")&&(t.workspaceRoot===void 0||typeof t.workspaceRoot=="string")&&(t.baseRef===void 0||typeof t.baseRef=="string")&&(t.baseBranch===void 0||typeof t.baseBranch=="string")&&(t.currentBranch===void 0||t.currentBranch===null||typeof t.currentBranch=="string")&&(t.headRef===void 0||t.headRef===null||typeof t.headRef=="string")&&(t.diffFingerprint===void 0||typeof t.diffFingerprint=="string")&&(t.stat===void 0||typeof t.stat=="string")&&(t.files===void 0||Xb(t.files))&&(t.hunks===void 0||Array.isArray(t.hunks)&&t.hunks.every(OK))&&(t.commits===void 0||Xb(t.commits))&&(t.commitCount===void 0||typeof t.commitCount=="number")&&(t.diff===void 0||typeof t.diff=="string")&&(t.truncated===void 0||typeof t.truncated=="boolean")&&(t.error===void 0||typeof t.error=="string")}function $K(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.key=="string"&&QK(t.diff)&&typeof t.repoLabel=="string"&&typeof t.createdAt=="number"}function HK(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.values(e).every(t=>{if(!t||typeof t!="object"||Array.isArray(t))return!1;const r=t;return Array.isArray(r.selectedRepoRoots)&&r.selectedRepoRoots.every(n=>typeof n=="string")&&!!r.repoTargetBranches&&typeof r.repoTargetBranches=="object"&&!Array.isArray(r.repoTargetBranches)&&Object.values(r.repoTargetBranches).every(n=>typeof n=="string")&&(r.repoBaseBranches===void 0||!!r.repoBaseBranches&&typeof r.repoBaseBranches=="object"&&!Array.isArray(r.repoBaseBranches)&&Object.values(r.repoBaseBranches).every(n=>typeof n=="string"))&&(r.previewEntries===void 0||Array.isArray(r.previewEntries)&&r.previewEntries.every($K))&&(r.selectedPreviewKey===void 0||r.selectedPreviewKey===null||typeof r.selectedPreviewKey=="string")&&(r.selectedPreviewFileKey===void 0||r.selectedPreviewFileKey===null||typeof r.selectedPreviewFileKey=="string")&&(r.previewDetailOpen===void 0||typeof r.previewDetailOpen=="boolean")&&(r.previewScrollTops===void 0||!!r.previewScrollTops&&typeof r.previewScrollTops=="object"&&!Array.isArray(r.previewScrollTops)&&Object.values(r.previewScrollTops).every(n=>typeof n=="number"))&&(r.previewMobileSlideIndex===void 0||typeof r.previewMobileSlideIndex=="number")&&(r.includeUncommitted===void 0||typeof r.includeUncommitted=="boolean")&&typeof r.updatedAt=="number"})}function Q6(){return _n(yS,HK)??{}}function $6(e){return[e.repoRoot,e.baseRef,e.branchName??"",e.headRef??"",e.diffFingerprint??""].join("\0")}function H6(e){const t=e?.trim()??"",r=t.indexOf("/");return r>=0?t.slice(r+1):t}function kS(e,t){const r=e?.trim(),n=t?.trim();return!r||!n?!1:r===n||H6(r)===H6(n)}function U6(e){const t=e?.branch??null;return[e?.upstream,...e?.remoteBranches??[],...e?.branches??[]].find(n=>n&&!kS(n,t))??""}function Jb(e,t){const r=Math.max(P6,t-320),n=Math.min(AK,r);return Math.min(n,Math.max(P6,e))}function UK(e){return typeof e=="number"&&Number.isFinite(e)}function zK(e){return Jb(_n(Af,UK)??Zb,e)}function _S(e){const t=e.split(/[\\/]/).pop()??e,r=t.lastIndexOf(".");return r>=0?t.slice(r).toLowerCase():""}function Tp(e){return kK.has(_S(e))}function LS(e){const t=e.trim().replace(/\s+/g,"");return/^-{3,}$/.test(t)||/^\*{3,}$/.test(t)||/^_{3,}$/.test(t)}function ex(e){const t=e.trim();return/^#{1,6}\s+/.test(t)||LS(e)||/^>\s?/.test(t)||/^(```|~~~)/.test(t)||/^(?:[-+*]|\d+[.)])\s+/.test(t)}function GK(e){const t=e.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(t)||!/^[a-z][a-z0-9+.-]*:/i.test(t)&&!/[<>]/.test(t)?t:null}const ES=w.createContext(null);function em(e){return e.trim().replace(/\s+/g," ").toLowerCase()}function IS(e){return e.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function MS(e){return e.replace(/\s+#+\s*$/,"").trim()}function tx(e,t){const n=IS(e).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",s=t.headingSlugCounts.get(n)??0;return t.headingSlugCounts.set(n,s+1),s===0?n:`${n}-${s}`}function z6(e){return IS(e)||e.trim()}function Pm(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=nx(t[2]);return r?{id:em(t[1]),definition:{href:r.href,title:r.title}}:null}function WK(e){const t=new Map;for(const r of e){const n=Pm(r);n&&t.set(n.id,n.definition)}return t}function RS(e){return e.trim().toLowerCase()}function NS(e){const t=e.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return t?{id:RS(t[1]),text:t[2]}:null}function VK(e){const t=new Map;let r=null;for(const n of e){const s=NS(n);if(s){r=s.id,t.set(s.id,{id:s.id,text:s.text,index:t.size+1});continue}if(r&&/^\s{4,}\S/.test(n)){const i=t.get(r);i&&(i.text=`${i.text} ${n.trim()}`);continue}n.trim()&&(r=null)}return t}function qK(e){const t=new Set;let r=!1;return e.forEach((n,s)=>{if(NS(n)){t.add(s),r=!0;return}if(r&&/^\s{4,}\S/.test(n)){t.add(s);return}n.trim()&&(r=!1)}),t}function YK(e){const t=[...e];let r=0;const n=e[0]?.trim();if(n==="---"||n==="+++"){for(t[0]="",r=1;r<e.length&&e[r].trim()!==n;)t[r]="",r+=1;r<e.length&&(t[r]="",r+=1)}for(;r<e.length;){const s=e[r].trim();if(s.startsWith("<!--")){if(t[r]="",!s.includes("-->")){for(r+=1;r<e.length&&!e[r].includes("-->");)t[r]="",r+=1;r<e.length&&(t[r]="")}r+=1;continue}r+=1}return t}function KK(e){const t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?r===0?"/":"":t.slice(0,r)}function G6(e){const t=e.split(/[?#]/,1)[0],r=t.startsWith("/"),n=[];for(const i of t.split("/"))if(!(!i||i===".")){if(i===".."){n.length>0&&n.pop();continue}n.push(i)}return`${r?"/":""}${n.join("/")}`||(r?"/":".")}function ZK(e,t,r){const n=e.trim();if(!n||/^(?:javascript|data):/i.test(n))return null;if(/^https?:\/\//i.test(n))return n;if(!px(n.split(/[?#]/,1)[0]))return null;let s;if(n.startsWith("/")){const i=r&&(n===r||n.startsWith(`${r}/`));s=G6(r&&!i?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;s=G6(`${KK(t)}/${n}`)}return`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`}const rx=128,XK=360,_2=480;function C5(e){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(e))}catch{return!1}}function JK(e,t,r,n){if(!t||!r)return null;let s,i;return C5(e)?(i=Math.min(Math.max(r,rx),XK),s=t*i/r):(s=t,i=r),n>0&&s>n&&(i=i*n/s,s=n),i>_2&&(s=s*_2/i,i=_2),{width:Math.max(1,Math.round(s)),height:Math.max(1,Math.round(i))}}function eZ(e){if(!e.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(e.slice(e.indexOf("?"))).get("path")}catch{return null}}function DS(e){const t=eZ(e),r=xt(n=>t?(n.fileChangeVersions.get(t)??0)+n.fileWatchEpoch:0);return t&&r>0?`${e}&v=${r}`:e}function tZ({src:e,alt:t,title:r}){const n=C5(e),s=DS(e),i=w.useRef(null),[a,u]=w.useState(!1),[d,h]=w.useState(0),[m,b]=w.useState({status:"loading"}),[x,v]=w.useState(null);w.useLayoutEffect(()=>{const _=i.current,L=_?.parentElement?.parentElement??_?.parentElement;if(!L)return;const M=()=>h(L.clientWidth);if(M(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(M);return R.observe(L),()=>R.disconnect()},[]),w.useEffect(()=>{if(a)return;const _=i.current;if(!_||typeof IntersectionObserver>"u"){u(!0);return}const L=new IntersectionObserver(M=>{M.some(R=>R.isIntersecting)&&(u(!0),L.disconnect())},{rootMargin:"400px"});return L.observe(_),()=>L.disconnect()},[a]),w.useEffect(()=>{if(!a)return;const _=new AbortController;let L=null;b({status:"loading"});const M=window.setTimeout(()=>{_.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return fetch(s,{signal:_.signal}).then(async R=>{if(!R.ok)throw new Error(`HTTP ${R.status}`);const Q=Number(R.headers.get("X-Image-Width"))||0,N=Number(R.headers.get("X-Image-Height"))||0;return{blob:await R.blob(),width:Q,height:N}}).then(({blob:R,width:Q,height:N})=>{_.signal.aborted||(L=URL.createObjectURL(R),Q>0&&N>0&&v({width:Q,height:N}),b({status:"ready",objectUrl:L}))}).catch(()=>{const R=_.signal.reason;_.signal.aborted&&!(R instanceof DOMException&&R.name==="TimeoutError")||b({status:"fallback"})}).finally(()=>{window.clearTimeout(M)}),()=>{window.clearTimeout(M),_.abort(),L&&URL.revokeObjectURL(L)}},[a,s]);const S=JK(e,x?.width??0,x?.height??0,d),T=S??{width:rx*2,height:rx};return l.jsx("div",{ref:i,className:"block max-w-full",style:S?{width:S.width,height:S.height}:void 0,children:m.status==="ready"?l.jsx("img",{src:m.objectUrl,alt:t,title:r,decoding:"async",className:`${n?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:S?{width:S.width,height:S.height}:void 0,onLoad:_=>{if(x)return;const L=_.currentTarget;L.naturalWidth>0&&L.naturalHeight>0&&v({width:L.naturalWidth,height:L.naturalHeight})}}):m.status==="fallback"?l.jsx("img",{src:s,alt:t,title:r,loading:"lazy",decoding:"async",className:"block max-h-[480px] max-w-full object-contain",style:S?{width:S.width,height:S.height}:void 0,onLoad:_=>{if(x)return;const L=_.currentTarget;L.naturalWidth>0&&L.naturalHeight>0&&v({width:L.naturalWidth,height:L.naturalHeight})}}):l.jsx("div",{"aria-hidden":!0,className:"flex max-w-full animate-pulse items-center justify-center rounded bg-surface-elevated/60",style:{width:T.width,height:T.height},children:l.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:t||"…"})})})}function L2(e,t,r,n,s){const i=ZK(r,s.markdownFilePath,s.rootPath);if(!i)return`![${t}](${r})`;const a=s.images.length;s.images.push({kind:"image",src:i,alt:t,title:n});const u=l.jsx(tZ,{src:i,alt:t,title:n});return s.onImageOpen?l.jsx("button",{type:"button",className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2 text-left transition hover:border-border-strong focus:outline-none focus:ring-2 focus:ring-ring/45",title:n||t||"Open image",onClick:d=>{d.stopPropagation(),s.onImageOpen?.(a)},children:u},e):l.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:u},e)}function E2(e){let t=e,r="";for(;/[.,;:!?)]$/.test(t);)r=`${t.slice(-1)}${r}`,t=t.slice(0,-1);return{linkText:t,suffix:r}}function W6(e){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(e)}function nx(e){const t=e.trim(),r=t.match(/^<([^>]+)>(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);if(r)return{href:r[1],title:r[2]??r[3]??r[4]};const n=t.match(/^(\S+)(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);return n?{href:n[1],title:n[2]??n[3]??n[4]}:null}const BS="",rZ=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function nZ(e){return e.replace(rZ,(t,r)=>`${BS}${r.charCodeAt(0).toString(16).padStart(4,"0")}`)}function V6(e){return e.replace(new RegExp(`${BS}([0-9a-f]{4})`,"g"),(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\([()])/g,"$1")}function sZ(e){const t=e.replace(/[\r\n]+/g," ");return/^ .+ $/.test(t)&&/[^ ]/.test(t.slice(1,-1))?t.slice(1,-1):t}const PS={ALLOWED_TAGS:["a","abbr","b","blockquote","br","code","del","details","div","em","i","kbd","li","mark","ol","p","pre","s","span","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],ALLOWED_ATTR:["href","title","class","id","colspan","rowspan"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!0};let Cp=null;function jS(){return Cp||(Cp=$d(()=>import("./purify.es-CC4Brkr_.js"),[]).then(e=>e.default??e).catch(e=>{throw Cp=null,e})),Cp}function FS({html:e}){const{t}=Hr(),[r,n]=w.useState(null);return w.useEffect(()=>{let s=!1;return n(null),jS().then(i=>{s||n(i.sanitize(e,PS))}).catch(()=>{s||n("")}),()=>{s=!0}},[e]),r===null?l.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:t("rightSidebar.renderingHtml")}):r?l.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:r}}):null}function iZ({html:e}){const[t,r]=w.useState(null);return w.useEffect(()=>{let n=!1;return r(null),jS().then(s=>{n||r(s.sanitize(e,PS))}).catch(()=>{n||r("")}),()=>{n=!0}},[e]),t===null?null:t?l.jsx("span",{dangerouslySetInnerHTML:{__html:t}}):e}function OS(e){const t=e.trim().match(/^<(div|section|article|aside|table|p|ul|ol|li|blockquote|pre|figure|figcaption)\b[^>]*>/i);if(!t)return null;const r=t[1].toLowerCase();return{tag:r,selfContained:new RegExp(`</${r}>`,"i").test(e)}}let kp=null;function oZ(){return kp||(kp=Promise.all([$d(()=>import("./katex-DnlPpQZa.js"),[]),$d(()=>Promise.resolve({}),__vite__mapDeps([5]))]).then(([e])=>e.default??e).catch(e=>{throw kp=null,e})),kp}function rh({tex:e,display:t=!1}){const[r,n]=w.useState(null),[s,i]=w.useState(!1);if(w.useEffect(()=>{let u=!1;return n(null),i(!1),oZ().then(d=>{u||n(d.renderToString(e,{displayMode:t,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{u||i(!0)}),()=>{u=!0}},[t,e]),s)return l.jsx("code",{className:"rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground",children:t?`$$${e}$$`:`$${e}$`});if(!r)return l.jsx("span",{className:"text-muted-foreground/70",children:t?"Rendering formula...":e});const a=t?"my-2 overflow-auto rounded-md bg-surface-2 px-3 py-2 text-center":"inline-block align-middle";return l.jsx("span",{className:a,dangerouslySetInnerHTML:{__html:r}})}function aZ(e,t,r){if(/^<br\s*\/?>$/i.test(e))return l.jsx("br",{},t);const n=e.match(/^<(kbd|mark|sub|sup)>(.*?)<\/\1>$/i);if(!n)return/^<(a|abbr|span|b|strong|em|i|u|s|del|code)\b[\s\S]*<\/\1>$/i.test(e)?l.jsx(iZ,{html:e},t):null;const s=n[1].toLowerCase(),i=ui(n[2],`${t}-${s}`,!0,r);return s==="kbd"?l.jsx("kbd",{className:"rounded border border-border/30 bg-surface-2 px-1.5 py-0.5 font-mono text-[0.85em] text-foreground shadow-sm",children:i},t):s==="mark"?l.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:i},t):s==="sub"?l.jsx("sub",{children:i},t):l.jsx("sup",{children:i},t)}function ui(e,t,r=!0,n){const s=nZ(e),i=/(\\\([^)]*\\\)|\$[^$\n]+\$|<br\s*\/?>|<(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)\b[\s\S]*?<\/(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)>|!?\[[^\]]*\]\((?:<[^>]+>|(?:[^\s()]+|\([^()\s]*\))+)(?:\s+(?:"[^"]*"|'[^']*'|\([^)]*\)))?\)|!?\[[^\]]+\]\[[^\]]*\]|!?\[[^\]]+\]|\[\^[^\]]+\]|(`+)([\s\S]*?)\2|~~[^~]+~~|\*\*[^*]+\*\*|__[^_]+__|\*[^*\s][^*]*\*|_[^_\s][^_]*_|<https?:\/\/[^>\s]+>|<[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+>|https?:\/\/[^\s<]+|www\.[^\s<]+|[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+)/gi,a=[];let u=0,d;for(;(d=i.exec(s))!==null;){d.index>u&&a.push(V6(s.slice(u,d.index)));const h=d[0],m=`${t}-${d.index}`,b=h.startsWith("<")?aZ(h,m,n):null;if(b)a.push(b);else if(h.startsWith("\\(")&&h.endsWith("\\)"))a.push(l.jsx(rh,{tex:h.slice(2,-2)},m));else if(h.startsWith("$")&&h.endsWith("$"))a.push(l.jsx(rh,{tex:h.slice(1,-1)},m));else if(h.startsWith("`")){const x=h.match(/^`+/)?.[0].length??1;a.push(l.jsx("code",{className:`${r?"break-all":"whitespace-nowrap"} rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground`,children:sZ(h.slice(x,-x))},m))}else if(h.startsWith("~~"))a.push(l.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:ui(h.slice(2,-2),`${m}-del`,r,n)},m));else if(h.startsWith("**")||h.startsWith("__"))a.push(l.jsx("strong",{className:"font-semibold text-foreground",children:ui(h.slice(2,-2),`${m}-strong`,r,n)},m));else if(h.startsWith("*")||h.startsWith("_"))a.push(l.jsx("em",{className:"italic",children:ui(h.slice(1,-1),`${m}-em`,r,n)},m));else if(h.startsWith("![")){const x=h.match(/^!\[([^\]]*)\]\((.*)\)$/),v=h.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),S=h.match(/^!\[([^\]]+)\]$/);if(x){const T=nx(x[2]);a.push(T?L2(m,x[1],T.href,T.title,n):h)}else if(v){const T=v[2]||v[1],_=n.referenceDefinitions.get(em(T));a.push(_?L2(m,v[1],_.href,_.title,n):h)}else if(S){const T=n.referenceDefinitions.get(em(S[1]));a.push(T?L2(m,S[1],T.href,T.title,n):h)}else a.push(h)}else if(h.startsWith("[^")){const x=RS(h.slice(2,-1)),v=n.footnoteDefinitions.get(x);a.push(v?l.jsx("sup",{id:`fnref-${v.id}`,title:v.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:l.jsx("a",{href:`#fn-${v.id}`,className:"text-primary no-underline",children:v.index})},m):h)}else if(h.startsWith("<http")){const x=h.slice(1,-1);a.push(l.jsx("a",{href:x,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m))}else if(h.startsWith("<")&&h.endsWith(">")&&W6(h.slice(1,-1))){const x=h.slice(1,-1);a.push(l.jsx("a",{href:`mailto:${x}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m))}else if(W6(E2(h).linkText)){const{linkText:x,suffix:v}=E2(h);a.push(l.jsx("a",{href:`mailto:${x}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m)),v&&a.push(v)}else if(h.startsWith("http")||h.startsWith("www.")){const{linkText:x,suffix:v}=E2(h),S=x.startsWith("www.")?`https://${x}`:x;a.push(l.jsx("a",{href:S,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m)),v&&a.push(v)}else{const x=h.match(/^\[([^\]]+)\]\((.*)\)$/),v=h.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),S=h.match(/^\[([^\]]+)\]$/),T=v?v[2]||v[1]:S?.[1]??null,_=T?n.referenceDefinitions.get(em(T)):null,L=x?nx(x[2]):null,M=L?.href??_?.href??null,R=M?GK(M):null,Q=x?.[1]??v?.[1]??S?.[1]??"";a.push(R?l.jsx("a",{href:R,title:L?.title??_?.title,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:ui(Q,`${m}-link`,r,n)},m):h)}u=i.lastIndex}return u<s.length&&a.push(V6(s.slice(u))),a.length>0?a:[e]}function QS(e){return/(?: {2,}|\\)$/.test(e)}function $S(e){return e.replace(/(?: {2,}|\\)$/,"")}function jm(e){return/^(?: {4}|\t)/.test(e)}function HS(e){return e.startsWith(" ")?e.slice(1):e.replace(/^ {4}/,"")}function US(e,t,r){const n=[];return e.forEach((s,i)=>{const a=QS(s);n.push(...ui($S(s),`${t}-${i}`,!0,r)),i<e.length-1&&n.push(a?l.jsx("br",{},`${t}-${i}-br`):" ")}),n}function sx(e,t,r){const n=[],s=[];return e.forEach((i,a)=>{s.push(QS(i)),n.push(ui($S(i),`${t}-${a}`,!0,r))}),{perLine:n,hardBreaks:s}}function ix(e,t,r,n,s){const i=[];return e.forEach((a,u)=>{const d=r[u]??0,h=!!(s&&d>=s.start&&d<=s.end);i.push(l.jsx("span",{"data-md-ref-start":d,"data-md-ref-end":d,"data-selected":h?"true":void 0,children:a},`${n}-ref-${u}`)),u<e.length-1&&i.push(t[u]?l.jsx("br",{},`${n}-${u}-br`):" ")}),i}function nh(e){const t=e.trim().replace(/^\|/,"").replace(/\|$/,""),r=[];let n="",s=!1,i=0,a=0;for(let u=0;u<t.length;u+=1){const d=t[u];if(s){n+=d,s=!1;continue}if(d==="\\"){s=!0;continue}if(d==="`"){const h=u;for(;u+1<t.length&&t[u+1]==="`";)u+=1;const m=u-h+1;n+="`".repeat(m),i===0?i=m:i===m&&(i=0);continue}if(i===0&&d==="["?a+=1:i===0&&d==="]"&&a>0&&(a-=1),d==="|"&&i===0&&a===0){r.push(n.trim()),n="";continue}n+=d}return s&&(n+="\\"),r.push(n.trim()),r}function zS(e){return nh(e).map(t=>/^:-+:$/.test(t)?"center":/^-+:$/.test(t)?"right":/^:-+$/.test(t)?"left":null)}function Fm(e){return e==="center"?"text-center":e==="right"?"text-right":"text-left"}function Om(e){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(e.trim())}function lZ(e,t){return e>96||e>44&&t>.35}function k5(e){return(e.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function _5(e){const t=e.trim().match(/^([-+*]|\d+[.)])\s+(.+)$/);if(!t)return null;const r=/^\d+[.)]$/.test(t[1]);return{ordered:r,start:r?Number.parseInt(t[1],10):void 0,content:t[2]}}function GS(e,t,r,n,s,i=new Set){const a=[],u=[];let d=t;for(;d<e.length;){const h=e[d];if(s&&(Pm(h)||i.has(d))){d+=1;continue}const m=_5(h),b=k5(h);if(!m){if(b>r&&u.length>0){([...u].reverse().find(T=>T.indent<b)?.item??u[u.length-1].item).paragraphs.push(h.trim());for(const T of u)T.item.lineEnd=d+1;d+=1;continue}break}if(b<r||b===r&&m.ordered!==n)break;const x={content:m.content,ordered:m.ordered,start:m.start,children:[],paragraphs:[],lineStart:d+1,lineEnd:d+1};for(;u.length>0&&u[u.length-1].indent>=b;)u.pop();const v=u[u.length-1]?.item??null;v?v.children.push(x):a.push(x),u.push({indent:b,item:x});for(const S of u)S.item.lineEnd=d+1;d+=1}return{items:a,nextIndex:d}}function L5(e,t,r,n=0){return e.map((s,i)=>{const a=s.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${i}`,taskItem:!!a,refStart:s.lineStart+n,refEnd:s.lineEnd+n,content:l.jsxs(l.Fragment,{children:[a?l.jsx("input",{type:"checkbox",checked:a[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,ui(a?.[2]??s.content,`li-${t}-${i}`,!0,r),s.paragraphs.length>0&&l.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:s.paragraphs.map((u,d)=>l.jsx("p",{children:ui(u,`li-${t}-${i}-p-${d}`,!0,r)},`paragraph-${d}`))})]}),groups:cZ(s.children,`${t}-${i}`,r,n)}})}function cZ(e,t,r,n=0){const s=[];for(const i of e){const a=s[s.length-1];a&&a.ordered===i.ordered?a.items.push(i):s.push({ordered:i.ordered,items:[i]})}return s.map((i,a)=>({ordered:i.ordered,start:i.ordered?i.items[0]?.start:void 0,items:L5(i.items,`${t}-g${a}`,r,n)}))}function E5(e,t){return e.map(r=>{const n=!!(t&&r.refStart<=t.end&&r.refEnd>=t.start);return l.jsxs("li",{className:r.taskItem?"list-none":void 0,"data-md-ref-start":r.refStart,"data-md-ref-end":r.refEnd,"data-selected":n?"true":void 0,children:[r.content,r.groups.length>0&&uZ(r.groups,t)]},r.key)})}function uZ(e,t){return e.map((r,n)=>{const s=r.ordered?"ol":"ul";return l.jsx(s,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:E5(r.items,t)},`nested-${n}`)})}function dZ(e){const t=Array.from(e.footnoteDefinitions.values()).sort((r,n)=>r.index-n.index);return t.length===0?null:l.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[l.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:e.footnotesLabel}),l.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:t.map(r=>l.jsxs("li",{id:`fn-${r.id}`,children:[ui(r.text,`footnote-${r.id}`,!0,e)," ",l.jsx("a",{href:`#fnref-${r.id}`,className:"text-primary no-underline","aria-label":e.backToFootnoteLabel(r.index),children:"↩"})]},r.id))})]})}function fZ(e,t,r,n){const s=[];let i=0;const a=u=>n?.[u]??u+1;for(;i<e.length;){const u=e[i],d=u.trim();if(!d){i+=1;continue}if(/^<details>\s*$/i.test(d)){const L=i;let M="Details";const R=[];for(i+=1;i<e.length&&!/^<\/details>\s*$/i.test(e[i].trim());){const Q=e[i].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);Q?M=Q[1].trim()||M:R.push(e[i].trimStart()),i+=1}i<e.length&&(i+=1),s.push({kind:"static",node:l.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[l.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:ui(M,`${t}-details-${L}-summary`,!0,r)}),R.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(R,`${t}-details-${L}`,r)})]},`${t}-details-${L}`)});continue}const h=OS(u);if(h){const L=[u],M=i;for(i+=1;i<e.length&&!h.selfContained&&!new RegExp(`</${h.tag}>`,"i").test(e[i]);)L.push(e[i]),i+=1;i<e.length&&!h.selfContained&&(L.push(e[i]),i+=1),s.push({kind:"static",node:l.jsx(FS,{html:L.join(`
173
+ `;return`${e}${n}${r}`}function iK(e,t){const r=e.trim();return r?t?`${r}\r`:/\s$/.test(e)?e:`${r} `:""}const Kb="termdock:right-sidebar:html-view-mode-by-file:v1";function oK(e){return e==="preview"||e==="source"}function fS(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.values(e).every(oK)}function hS(e,t){if(!t)return null;const r=e&&!t.startsWith("/")?`${e}/${t}`:t;return e?`${e}::${r}`:r}function I6(e,t){const r=hS(e,t);return r?_n(Kb,fS)?.[r]??"source":"source"}function aK(e,t,r){const n=hS(e,t);if(!n)return;const s=_n(Kb,fS)??{};Dr(Kb,{...s,[n]:r})}function v2(e){const t=Number.isFinite(e)&&e>0?Math.floor(e):0,r=Math.floor(t/3600),n=Math.floor(t%3600/60),s=t%60,i=String(n).padStart(2,"0"),a=String(s).padStart(2,"0");return r>0?`${r}:${i}:${a}`:`${i}:${a}`}function lK(e,t,r){return!Number.isFinite(r)||r<=0||!t.width?0:Math.min(1,Math.max(0,(e-t.left)/t.width))*r}function cK({url:e,onLoadError:t}){const{t:r}=Hr(),n=w.useRef(null),s=w.useRef(null),i=w.useRef(!1),a=w.useRef(null),u=w.useRef(0),[d,h]=w.useState(0),[m,b]=w.useState(0),[x,v]=w.useState(!1),[S,T]=w.useState(!1),[_,L]=w.useState(null);w.useEffect(()=>()=>{a.current!==null&&cancelAnimationFrame(a.current)},[]);const M=w.useCallback(U=>{const G=n.current;if(!G)return;const ee=Number.isFinite(G.duration)?G.duration:U;G.currentTime=Math.min(Math.max(U,0),ee)},[]),R=w.useCallback(U=>{const G=s.current,ee=n.current;if(!G||!ee)return;const te=G.getBoundingClientRect(),pe=lK(U,te,ee.duration);u.current=pe,L(pe),a.current===null&&(a.current=requestAnimationFrame(()=>{a.current=null,M(u.current)}))},[M]),Q=w.useCallback(()=>{a.current!==null&&(cancelAnimationFrame(a.current),a.current=null),M(u.current)},[M]),N=w.useCallback(U=>{const G=n.current;if(!(!G||!Number.isFinite(G.duration)||G.duration<=0)){i.current=!G.paused,G.pause(),T(!0);try{U.currentTarget.setPointerCapture(U.pointerId)}catch{}R(U.clientX)}},[R]),j=w.useCallback(()=>{Q(),T(!1),L(null);const U=n.current;U&&i.current&&!U.ended&&U.play().catch(()=>{}),i.current=!1},[Q]),A=w.useCallback(()=>{const U=n.current;U&&(U.paused?U.play().catch(()=>{}):U.pause())},[]),F=w.useCallback(U=>{const G=n.current;if(!G||!Number.isFinite(G.duration))return;const ee=U.shiftKey?10:5;let te=null;U.key==="ArrowLeft"?te=G.currentTime-ee:U.key==="ArrowRight"?te=G.currentTime+ee:U.key==="Home"?te=0:U.key==="End"&&(te=G.duration),te!==null&&(U.preventDefault(),M(te))},[M]),z=S&&_!==null?_:m,Y=d>0?Math.min(1,Math.max(0,z/d)):0;return l.jsxs("div",{className:"flex h-full min-h-0 flex-col overflow-hidden rounded-lg bg-background","data-testid":"file-preview-video-player",children:[l.jsxs("div",{className:"relative min-h-0 flex-1",children:[l.jsx("video",{ref:n,"data-testid":"file-preview-video",className:"h-full w-full object-contain",src:e,preload:"metadata",playsInline:!0,onClick:A,onPlay:()=>v(!0),onPause:()=>v(!1),onTimeUpdate:U=>b(U.currentTarget.currentTime),onLoadedMetadata:U=>h(Number.isFinite(U.currentTarget.duration)?U.currentTarget.duration:0),onDurationChange:U=>h(Number.isFinite(U.currentTarget.duration)?U.currentTarget.duration:0),onError:t,children:r("rightSidebar.videoUnsupported")}),S&&_!==null&&l.jsx("div",{className:"pointer-events-none absolute bottom-1 z-10 -translate-x-1/2 rounded-md bg-surface-elevated px-2 py-1 text-[11px] font-medium text-foreground shadow-md",style:{left:`${Y*100}%`},"data-testid":"file-preview-video-scrub-time",children:v2(_)})]}),l.jsx("div",{"data-testid":"file-preview-video-controls",className:`shrink-0 border-t border-border/60 bg-background px-2 py-1.5 ${cA}`,[uA]:"",children:l.jsxs("div",{className:"flex items-center gap-2",children:[l.jsx("button",{type:"button",onClick:A,"aria-label":r(x?"rightSidebar.videoPause":"rightSidebar.videoPlay"),title:r(x?"rightSidebar.videoPause":"rightSidebar.videoPlay"),className:"inline-flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-foreground transition hover:bg-surface-elevated active:scale-95","data-testid":"file-preview-video-play",children:x?l.jsx(gM,{size:14}):l.jsx(CM,{size:14})}),l.jsxs("div",{ref:s,role:"slider","aria-label":"Seek","aria-valuemin":0,"aria-valuemax":Math.floor(d),"aria-valuenow":Math.floor(z),tabIndex:0,className:"group relative h-5 min-w-0 flex-1 cursor-pointer touch-none py-2","data-testid":"file-preview-video-track",onPointerDown:N,onPointerMove:U=>{S&&R(U.clientX)},onPointerUp:j,onPointerCancel:j,onKeyDown:F,children:[l.jsx("div",{className:"h-1 w-full rounded-full bg-surface-elevated"}),l.jsx("div",{className:"absolute inset-y-0 left-0 my-auto h-1 rounded-full bg-primary",style:{width:`${Y*100}%`}}),l.jsx("div",{className:"absolute top-1/2 h-3 w-3 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary shadow",style:{left:`${Y*100}%`}})]}),l.jsxs("div",{className:"shrink-0 text-[11px] tabular-nums text-muted-foreground","data-testid":"file-preview-video-time",children:[v2(z)," / ",v2(d)]})]})})]})}const A5="termdock:right-sidebar:file-tree-scroll:v1",S5="termdock:right-sidebar:file-preview-reading-state:v1",Af="termdock:right-sidebar:file-tree-width:v1",pS="termdock:right-sidebar:markdown-view-mode:v1",mS="termdock:right-sidebar:diff-change-list-mode:v1",gS="termdock:right-sidebar:diff-wrap:v1",bS="termdock:diff-viewer:view-type:v1",xS="termdock:right-sidebar:file-search-mode:v1",w2="termdock:right-sidebar:collapsed-git-repo-groups:v1",M6="termdock:right-sidebar:collapsed-diff-directories:v1",A2="termdock:right-sidebar:branch-audit-module-open:v1",yS="termdock:right-sidebar:branch-audit-module:v1",uK=150,vS="termdock:right-sidebar:active-git-repo:v1",R6="termdock:right-sidebar:context-draft-enabled:v1",N6="termdock:right-sidebar:context-draft-collapsed:v1",D6="termdock:right-sidebar:context-draft-auto-collapse:v1",S2="termdock:right-sidebar:context-draft-text:v1",dK=300,fK=20,hK=120,pK=250,mK=250,gK=120,bK=700,T2=600,B6=[2e3,5e3,15e3,3e4],xK=320,yK=500,vK=20,wK=12e3,Zb=300,P6=240,AK=560,SK=600,TK=720,wS="border-r px-2 py-1.5 sm:px-3 sm:py-2",Bm="max-w-[18rem] whitespace-normal break-words sm:max-w-[27rem]",AS=`${wS} border-b border-border/15 font-semibold last:border-r-0`,SS=`${wS} border-border/10 align-top text-muted-foreground last:border-r-0`,T5="termdock-file-preview-horizontal-scroll",CK=w.lazy(()=>$d(()=>import("./ModelPreview-C-q0ZKQc.js"),__vite__mapDeps([2,3,1,4]))),TS=`${T5} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`,kK=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function _K(e){return e==="preview"||e==="source"}function LK(e){return e==="list"||e==="tree"||e==="ai"}function j6(){return _n(pS,_K)??"preview"}function EK(){return _n(mS,LK)??"tree"}function Sf(e){return typeof e=="boolean"}function IK(e){return typeof e=="string"}function MK(){return _n(gS,Sf)??!0}function RK(e){return e==="unified"||e==="split"}function NK(){return _n(bS,RK)??"unified"}function DK(e){return e==="name"||e==="content"||e==="regex"}function BK(){return _n(xS,DK)??"name"}function PK(e){return e.repositories??(e.context?.root?[{id:e.context.root,root:e.context.root,relativeRoot:".",name:So(e.context.root)||e.context.root,depth:0,nested:!1,available:e.available,files:e.files,context:e.context,error:e.error}]:[])}function jK(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(t=>t===null||typeof t=="string")}function CS(){return _n(vS,jK)??{}}function F6(e){if(!e)return;const t=CS();return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0}function C2(e,t){e&&Dr(vS,{...CS(),[e]:t})}function FK(e,t){if(!t)return null;const r=new Set((e.repoFilters??[]).map(n=>n.root));return r.has(t)?t:r.size>0?null:(e.repositories??[]).some(n=>n.root===t)?t:null}function Xb(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function O6(e){const t=_n(e,Xb);return t?new Set(t):new Set}function k2(e,t){Dr(e,[...t])}function OK(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.filePath=="string"&&typeof t.hunkHeader=="string"&&typeof t.hunkIndex=="number"&&typeof t.fingerprint=="string"&&typeof t.additions=="number"&&typeof t.deletions=="number"&&typeof t.diff=="string"&&(t.oldPath===void 0||t.oldPath===null||typeof t.oldPath=="string")&&(t.newPath===void 0||t.newPath===null||typeof t.newPath=="string")&&(t.source===void 0||t.source==="committed"||t.source==="uncommitted"||t.source==="unknown")&&(t.commit===void 0||t.commit===null||typeof t.commit=="string")}function QK(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.available=="boolean"&&(t.repoRoot===void 0||typeof t.repoRoot=="string")&&(t.workspaceRoot===void 0||typeof t.workspaceRoot=="string")&&(t.baseRef===void 0||typeof t.baseRef=="string")&&(t.baseBranch===void 0||typeof t.baseBranch=="string")&&(t.currentBranch===void 0||t.currentBranch===null||typeof t.currentBranch=="string")&&(t.headRef===void 0||t.headRef===null||typeof t.headRef=="string")&&(t.diffFingerprint===void 0||typeof t.diffFingerprint=="string")&&(t.stat===void 0||typeof t.stat=="string")&&(t.files===void 0||Xb(t.files))&&(t.hunks===void 0||Array.isArray(t.hunks)&&t.hunks.every(OK))&&(t.commits===void 0||Xb(t.commits))&&(t.commitCount===void 0||typeof t.commitCount=="number")&&(t.diff===void 0||typeof t.diff=="string")&&(t.truncated===void 0||typeof t.truncated=="boolean")&&(t.error===void 0||typeof t.error=="string")}function $K(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.key=="string"&&QK(t.diff)&&typeof t.repoLabel=="string"&&typeof t.createdAt=="number"}function HK(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.values(e).every(t=>{if(!t||typeof t!="object"||Array.isArray(t))return!1;const r=t;return Array.isArray(r.selectedRepoRoots)&&r.selectedRepoRoots.every(n=>typeof n=="string")&&!!r.repoTargetBranches&&typeof r.repoTargetBranches=="object"&&!Array.isArray(r.repoTargetBranches)&&Object.values(r.repoTargetBranches).every(n=>typeof n=="string")&&(r.repoBaseBranches===void 0||!!r.repoBaseBranches&&typeof r.repoBaseBranches=="object"&&!Array.isArray(r.repoBaseBranches)&&Object.values(r.repoBaseBranches).every(n=>typeof n=="string"))&&(r.previewEntries===void 0||Array.isArray(r.previewEntries)&&r.previewEntries.every($K))&&(r.selectedPreviewKey===void 0||r.selectedPreviewKey===null||typeof r.selectedPreviewKey=="string")&&(r.selectedPreviewFileKey===void 0||r.selectedPreviewFileKey===null||typeof r.selectedPreviewFileKey=="string")&&(r.previewDetailOpen===void 0||typeof r.previewDetailOpen=="boolean")&&(r.previewScrollTops===void 0||!!r.previewScrollTops&&typeof r.previewScrollTops=="object"&&!Array.isArray(r.previewScrollTops)&&Object.values(r.previewScrollTops).every(n=>typeof n=="number"))&&(r.previewMobileSlideIndex===void 0||typeof r.previewMobileSlideIndex=="number")&&(r.includeUncommitted===void 0||typeof r.includeUncommitted=="boolean")&&typeof r.updatedAt=="number"})}function Q6(){return _n(yS,HK)??{}}function $6(e){return[e.repoRoot,e.baseRef,e.branchName??"",e.headRef??"",e.diffFingerprint??""].join("\0")}function H6(e){const t=e?.trim()??"",r=t.indexOf("/");return r>=0?t.slice(r+1):t}function kS(e,t){const r=e?.trim(),n=t?.trim();return!r||!n?!1:r===n||H6(r)===H6(n)}function U6(e){const t=e?.branch??null;return[e?.upstream,...e?.remoteBranches??[],...e?.branches??[]].find(n=>n&&!kS(n,t))??""}function Jb(e,t){const r=Math.max(P6,t-320),n=Math.min(AK,r);return Math.min(n,Math.max(P6,e))}function UK(e){return typeof e=="number"&&Number.isFinite(e)}function zK(e){return Jb(_n(Af,UK)??Zb,e)}function _S(e){const t=e.split(/[\\/]/).pop()??e,r=t.lastIndexOf(".");return r>=0?t.slice(r).toLowerCase():""}function Tp(e){return kK.has(_S(e))}function LS(e){const t=e.trim().replace(/\s+/g,"");return/^-{3,}$/.test(t)||/^\*{3,}$/.test(t)||/^_{3,}$/.test(t)}function ex(e){const t=e.trim();return/^#{1,6}\s+/.test(t)||LS(e)||/^>\s?/.test(t)||/^(```|~~~)/.test(t)||/^(?:[-+*]|\d+[.)])\s+/.test(t)}function GK(e){const t=e.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(t)||!/^[a-z][a-z0-9+.-]*:/i.test(t)&&!/[<>]/.test(t)?t:null}const ES=w.createContext(null);function em(e){return e.trim().replace(/\s+/g," ").toLowerCase()}function IS(e){return e.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function MS(e){return e.replace(/\s+#+\s*$/,"").trim()}function tx(e,t){const n=IS(e).toLowerCase().replace(/[^\p{L}\p{N}\s-]/gu,"").trim().replace(/\s+/g,"-")||"section",s=t.headingSlugCounts.get(n)??0;return t.headingSlugCounts.set(n,s+1),s===0?n:`${n}-${s}`}function z6(e){return IS(e)||e.trim()}function Pm(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=nx(t[2]);return r?{id:em(t[1]),definition:{href:r.href,title:r.title}}:null}function WK(e){const t=new Map;for(const r of e){const n=Pm(r);n&&t.set(n.id,n.definition)}return t}function RS(e){return e.trim().toLowerCase()}function NS(e){const t=e.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return t?{id:RS(t[1]),text:t[2]}:null}function VK(e){const t=new Map;let r=null;for(const n of e){const s=NS(n);if(s){r=s.id,t.set(s.id,{id:s.id,text:s.text,index:t.size+1});continue}if(r&&/^\s{4,}\S/.test(n)){const i=t.get(r);i&&(i.text=`${i.text} ${n.trim()}`);continue}n.trim()&&(r=null)}return t}function qK(e){const t=new Set;let r=!1;return e.forEach((n,s)=>{if(NS(n)){t.add(s),r=!0;return}if(r&&/^\s{4,}\S/.test(n)){t.add(s);return}n.trim()&&(r=!1)}),t}function YK(e){const t=[...e];let r=0;const n=e[0]?.trim();if(n==="---"||n==="+++"){for(t[0]="",r=1;r<e.length&&e[r].trim()!==n;)t[r]="",r+=1;r<e.length&&(t[r]="",r+=1)}for(;r<e.length;){const s=e[r].trim();if(s.startsWith("<!--")){if(t[r]="",!s.includes("-->")){for(r+=1;r<e.length&&!e[r].includes("-->");)t[r]="",r+=1;r<e.length&&(t[r]="")}r+=1;continue}r+=1}return t}function KK(e){const t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?r===0?"/":"":t.slice(0,r)}function G6(e){const t=e.split(/[?#]/,1)[0],r=t.startsWith("/"),n=[];for(const i of t.split("/"))if(!(!i||i===".")){if(i===".."){n.length>0&&n.pop();continue}n.push(i)}return`${r?"/":""}${n.join("/")}`||(r?"/":".")}function ZK(e,t,r){const n=e.trim();if(!n||/^(?:javascript|data):/i.test(n))return null;if(/^https?:\/\//i.test(n))return n;if(!px(n.split(/[?#]/,1)[0]))return null;let s;if(n.startsWith("/")){const i=r&&(n===r||n.startsWith(`${r}/`));s=G6(r&&!i?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;s=G6(`${KK(t)}/${n}`)}return`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`}const rx=128,XK=360,_2=480;function C5(e){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(e))}catch{return!1}}function JK(e,t,r,n){if(!t||!r)return null;let s,i;return C5(e)?(i=Math.min(Math.max(r,rx),XK),s=t*i/r):(s=t,i=r),n>0&&s>n&&(i=i*n/s,s=n),i>_2&&(s=s*_2/i,i=_2),{width:Math.max(1,Math.round(s)),height:Math.max(1,Math.round(i))}}function eZ(e){if(!e.startsWith("/api/terminal/fs/blob?"))return null;try{return new URLSearchParams(e.slice(e.indexOf("?"))).get("path")}catch{return null}}function DS(e){const t=eZ(e),r=xt(n=>t?(n.fileChangeVersions.get(t)??0)+n.fileWatchEpoch:0);return t&&r>0?`${e}&v=${r}`:e}function tZ({src:e,alt:t,title:r}){const n=C5(e),s=DS(e),i=w.useRef(null),[a,u]=w.useState(!1),[d,h]=w.useState(0),[m,b]=w.useState({status:"loading"}),[x,v]=w.useState(null);w.useLayoutEffect(()=>{const _=i.current,L=_?.parentElement?.parentElement??_?.parentElement;if(!L)return;const M=()=>h(L.clientWidth);if(M(),typeof ResizeObserver>"u")return;const R=new ResizeObserver(M);return R.observe(L),()=>R.disconnect()},[]),w.useEffect(()=>{if(a)return;const _=i.current;if(!_||typeof IntersectionObserver>"u"){u(!0);return}const L=new IntersectionObserver(M=>{M.some(R=>R.isIntersecting)&&(u(!0),L.disconnect())},{rootMargin:"400px"});return L.observe(_),()=>L.disconnect()},[a]),w.useEffect(()=>{if(!a)return;const _=new AbortController;let L=null;b({status:"loading"});const M=window.setTimeout(()=>{_.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return fetch(s,{signal:_.signal}).then(async R=>{if(!R.ok)throw new Error(`HTTP ${R.status}`);const Q=Number(R.headers.get("X-Image-Width"))||0,N=Number(R.headers.get("X-Image-Height"))||0;return{blob:await R.blob(),width:Q,height:N}}).then(({blob:R,width:Q,height:N})=>{_.signal.aborted||(L=URL.createObjectURL(R),Q>0&&N>0&&v({width:Q,height:N}),b({status:"ready",objectUrl:L}))}).catch(()=>{const R=_.signal.reason;_.signal.aborted&&!(R instanceof DOMException&&R.name==="TimeoutError")||b({status:"fallback"})}).finally(()=>{window.clearTimeout(M)}),()=>{window.clearTimeout(M),_.abort(),L&&URL.revokeObjectURL(L)}},[a,s]);const S=JK(e,x?.width??0,x?.height??0,d),T=S??{width:rx*2,height:rx};return l.jsx("div",{ref:i,className:"block max-w-full",style:S?{width:S.width,height:S.height}:void 0,children:m.status==="ready"?l.jsx("img",{src:m.objectUrl,alt:t,title:r,decoding:"async",className:`${n?"":"termdock-fade-in "}block max-h-[480px] max-w-full object-contain`,style:S?{width:S.width,height:S.height}:void 0,onLoad:_=>{if(x)return;const L=_.currentTarget;L.naturalWidth>0&&L.naturalHeight>0&&v({width:L.naturalWidth,height:L.naturalHeight})}}):m.status==="fallback"?l.jsx("img",{src:s,alt:t,title:r,loading:"lazy",decoding:"async",className:"block max-h-[480px] max-w-full object-contain",style:S?{width:S.width,height:S.height}:void 0,onLoad:_=>{if(x)return;const L=_.currentTarget;L.naturalWidth>0&&L.naturalHeight>0&&v({width:L.naturalWidth,height:L.naturalHeight})}}):l.jsx("div",{"aria-hidden":!0,className:"flex max-w-full animate-pulse items-center justify-center rounded bg-surface-elevated/60",style:{width:T.width,height:T.height},children:l.jsx("span",{className:"text-[10px] text-muted-foreground/60",children:t||"…"})})})}function L2(e,t,r,n,s){const i=ZK(r,s.markdownFilePath,s.rootPath);if(!i)return`![${t}](${r})`;const a=s.images.length;s.images.push({kind:"image",src:i,alt:t,title:n});const u=l.jsx(tZ,{src:i,alt:t,title:n});return s.onImageOpen?l.jsx("button",{type:"button",className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2 text-left transition hover:border-border-strong focus:outline-none focus:ring-2 focus:ring-ring/45",title:n||t||"Open image",onClick:d=>{d.stopPropagation(),s.onImageOpen?.(a)},children:u},e):l.jsx("span",{className:"my-2 block max-w-full overflow-hidden rounded-md border border-border/20 bg-surface-2",children:u},e)}function E2(e){let t=e,r="";for(;/[.,;:!?)]$/.test(t);)r=`${t.slice(-1)}${r}`,t=t.slice(0,-1);return{linkText:t,suffix:r}}function W6(e){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(e)}function nx(e){const t=e.trim(),r=t.match(/^<([^>]+)>(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);if(r)return{href:r[1],title:r[2]??r[3]??r[4]};const n=t.match(/^(\S+)(?:\s+(?:"([^"]*)"|'([^']*)'|\(([^)]*)\)))?$/);return n?{href:n[1],title:n[2]??n[3]??n[4]}:null}const BS="",rZ=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function nZ(e){return e.replace(rZ,(t,r)=>`${BS}${r.charCodeAt(0).toString(16).padStart(4,"0")}`)}function V6(e){return e.replace(new RegExp(`${BS}([0-9a-f]{4})`,"g"),(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\([()])/g,"$1")}function sZ(e){const t=e.replace(/[\r\n]+/g," ");return/^ .+ $/.test(t)&&/[^ ]/.test(t.slice(1,-1))?t.slice(1,-1):t}const PS={ALLOWED_TAGS:["a","abbr","b","blockquote","br","code","del","details","div","em","i","kbd","li","mark","ol","p","pre","s","span","strong","sub","summary","sup","table","tbody","td","th","thead","tr","u","ul"],ALLOWED_ATTR:["href","title","class","id","colspan","rowspan"],ALLOW_DATA_ATTR:!1,ALLOW_ARIA_ATTR:!0};let Cp=null;function jS(){return Cp||(Cp=$d(()=>import("./purify.es-CC4Brkr_.js"),[]).then(e=>e.default??e).catch(e=>{throw Cp=null,e})),Cp}function FS({html:e}){const{t}=Hr(),[r,n]=w.useState(null);return w.useEffect(()=>{let s=!1;return n(null),jS().then(i=>{s||n(i.sanitize(e,PS))}).catch(()=>{s||n("")}),()=>{s=!0}},[e]),r===null?l.jsx("div",{className:"py-2 text-xs text-muted-foreground",children:t("rightSidebar.renderingHtml")}):r?l.jsx("div",{className:"text-muted-foreground",dangerouslySetInnerHTML:{__html:r}}):null}function iZ({html:e}){const[t,r]=w.useState(null);return w.useEffect(()=>{let n=!1;return r(null),jS().then(s=>{n||r(s.sanitize(e,PS))}).catch(()=>{n||r("")}),()=>{n=!0}},[e]),t===null?null:t?l.jsx("span",{dangerouslySetInnerHTML:{__html:t}}):e}function OS(e){const t=e.trim().match(/^<(div|section|article|aside|table|p|ul|ol|li|blockquote|pre|figure|figcaption)\b[^>]*>/i);if(!t)return null;const r=t[1].toLowerCase();return{tag:r,selfContained:new RegExp(`</${r}>`,"i").test(e)}}let kp=null;function oZ(){return kp||(kp=Promise.all([$d(()=>import("./katex-DnlPpQZa.js"),[]),$d(()=>Promise.resolve({}),__vite__mapDeps([5]))]).then(([e])=>e.default??e).catch(e=>{throw kp=null,e})),kp}function rh({tex:e,display:t=!1}){const[r,n]=w.useState(null),[s,i]=w.useState(!1);if(w.useEffect(()=>{let u=!1;return n(null),i(!1),oZ().then(d=>{u||n(d.renderToString(e,{displayMode:t,throwOnError:!1,trust:!1,strict:"ignore"}))}).catch(()=>{u||i(!0)}),()=>{u=!0}},[t,e]),s)return l.jsx("code",{className:"rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground",children:t?`$$${e}$$`:`$${e}$`});if(!r)return l.jsx("span",{className:"text-muted-foreground/70",children:t?"Rendering formula...":e});const a=t?"my-2 overflow-auto rounded-md bg-surface-2 px-3 py-2 text-center":"inline-block align-middle";return l.jsx("span",{className:a,dangerouslySetInnerHTML:{__html:r}})}function aZ(e,t,r){if(/^<br\s*\/?>$/i.test(e))return l.jsx("br",{},t);const n=e.match(/^<(kbd|mark|sub|sup)>(.*?)<\/\1>$/i);if(!n)return/^<(a|abbr|span|b|strong|em|i|u|s|del|code)\b[\s\S]*<\/\1>$/i.test(e)?l.jsx(iZ,{html:e},t):null;const s=n[1].toLowerCase(),i=ui(n[2],`${t}-${s}`,!0,r);return s==="kbd"?l.jsx("kbd",{className:"rounded border border-border/30 bg-surface-2 px-1.5 py-0.5 font-mono text-[0.85em] text-foreground shadow-sm",children:i},t):s==="mark"?l.jsx("mark",{className:"rounded bg-warning/25 px-0.5 text-foreground",children:i},t):s==="sub"?l.jsx("sub",{children:i},t):l.jsx("sup",{children:i},t)}function ui(e,t,r=!0,n){const s=nZ(e),i=/(\\\([^)]*\\\)|\$[^$\n]+\$|<br\s*\/?>|<(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)\b[\s\S]*?<\/(?:a|abbr|span|b|strong|em|i|u|s|del|code|kbd|mark|sub|sup)>|!?\[[^\]]*\]\((?:<[^>]+>|(?:[^\s()]+|\([^()\s]*\))+)(?:\s+(?:"[^"]*"|'[^']*'|\([^)]*\)))?\)|!?\[[^\]]+\]\[[^\]]*\]|!?\[[^\]]+\]|\[\^[^\]]+\]|(`+)([\s\S]*?)\2|~~[^~]+~~|\*\*[^*]+\*\*|__[^_]+__|\*[^*\s][^*]*\*|_[^_\s][^_]*_|<https?:\/\/[^>\s]+>|<[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+>|https?:\/\/[^\s<]+|www\.[^\s<]+|[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+)/gi,a=[];let u=0,d;for(;(d=i.exec(s))!==null;){d.index>u&&a.push(V6(s.slice(u,d.index)));const h=d[0],m=`${t}-${d.index}`,b=h.startsWith("<")?aZ(h,m,n):null;if(b)a.push(b);else if(h.startsWith("\\(")&&h.endsWith("\\)"))a.push(l.jsx(rh,{tex:h.slice(2,-2)},m));else if(h.startsWith("$")&&h.endsWith("$"))a.push(l.jsx(rh,{tex:h.slice(1,-1)},m));else if(h.startsWith("`")){const x=h.match(/^`+/)?.[0].length??1;a.push(l.jsx("code",{className:`${r?"break-all":"whitespace-nowrap"} rounded bg-surface-2 px-1 py-0.5 font-mono text-[0.92em] text-foreground`,children:sZ(h.slice(x,-x))},m))}else if(h.startsWith("~~"))a.push(l.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:ui(h.slice(2,-2),`${m}-del`,r,n)},m));else if(h.startsWith("**")||h.startsWith("__"))a.push(l.jsx("strong",{className:"font-semibold text-foreground",children:ui(h.slice(2,-2),`${m}-strong`,r,n)},m));else if(h.startsWith("*")||h.startsWith("_"))a.push(l.jsx("em",{className:"italic",children:ui(h.slice(1,-1),`${m}-em`,r,n)},m));else if(h.startsWith("![")){const x=h.match(/^!\[([^\]]*)\]\((.*)\)$/),v=h.match(/^!\[([^\]]+)\]\[([^\]]*)\]$/),S=h.match(/^!\[([^\]]+)\]$/);if(x){const T=nx(x[2]);a.push(T?L2(m,x[1],T.href,T.title,n):h)}else if(v){const T=v[2]||v[1],_=n.referenceDefinitions.get(em(T));a.push(_?L2(m,v[1],_.href,_.title,n):h)}else if(S){const T=n.referenceDefinitions.get(em(S[1]));a.push(T?L2(m,S[1],T.href,T.title,n):h)}else a.push(h)}else if(h.startsWith("[^")){const x=RS(h.slice(2,-1)),v=n.footnoteDefinitions.get(x);a.push(v?l.jsx("sup",{id:`fnref-${v.id}`,title:v.text,className:"ml-0.5 rounded bg-surface-2 px-1 text-[0.72em] font-semibold text-primary",children:l.jsx("a",{href:`#fn-${v.id}`,className:"text-primary no-underline",children:v.index})},m):h)}else if(h.startsWith("<http")){const x=h.slice(1,-1);a.push(l.jsx("a",{href:x,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m))}else if(h.startsWith("<")&&h.endsWith(">")&&W6(h.slice(1,-1))){const x=h.slice(1,-1);a.push(l.jsx("a",{href:`mailto:${x}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m))}else if(W6(E2(h).linkText)){const{linkText:x,suffix:v}=E2(h);a.push(l.jsx("a",{href:`mailto:${x}`,className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m)),v&&a.push(v)}else if(h.startsWith("http")||h.startsWith("www.")){const{linkText:x,suffix:v}=E2(h),S=x.startsWith("www.")?`https://${x}`:x;a.push(l.jsx("a",{href:S,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:x},m)),v&&a.push(v)}else{const x=h.match(/^\[([^\]]+)\]\((.*)\)$/),v=h.match(/^\[([^\]]+)\]\[([^\]]*)\]$/),S=h.match(/^\[([^\]]+)\]$/),T=v?v[2]||v[1]:S?.[1]??null,_=T?n.referenceDefinitions.get(em(T)):null,L=x?nx(x[2]):null,M=L?.href??_?.href??null,R=M?GK(M):null,Q=x?.[1]??v?.[1]??S?.[1]??"";a.push(R?l.jsx("a",{href:R,title:L?.title??_?.title,target:"_blank",rel:"noreferrer",className:`${r?"break-all":"whitespace-nowrap"} text-primary underline decoration-primary/40 underline-offset-2 hover:decoration-primary`,children:ui(Q,`${m}-link`,r,n)},m):h)}u=i.lastIndex}return u<s.length&&a.push(V6(s.slice(u))),a.length>0?a:[e]}function QS(e){return/(?: {2,}|\\)$/.test(e)}function $S(e){return e.replace(/(?: {2,}|\\)$/,"")}function jm(e){return/^(?: {4}|\t)/.test(e)}function HS(e){return e.startsWith(" ")?e.slice(1):e.replace(/^ {4}/,"")}function US(e,t,r){const n=[];return e.forEach((s,i)=>{const a=QS(s);n.push(...ui($S(s),`${t}-${i}`,!0,r)),i<e.length-1&&n.push(a?l.jsx("br",{},`${t}-${i}-br`):" ")}),n}function sx(e,t,r){const n=[],s=[];return e.forEach((i,a)=>{s.push(QS(i)),n.push(ui($S(i),`${t}-${a}`,!0,r))}),{perLine:n,hardBreaks:s}}function ix(e,t,r,n,s){const i=[];return e.forEach((a,u)=>{const d=r[u]??0,h=!!(s&&d>=s.start&&d<=s.end);i.push(l.jsx("span",{"data-md-ref-start":d,"data-md-ref-end":d,"data-selected":h?"true":void 0,children:a},`${n}-ref-${u}`)),u<e.length-1&&i.push(t[u]?l.jsx("br",{},`${n}-${u}-br`):" ")}),i}function nh(e){const t=e.trim().replace(/^\|/,"").replace(/\|$/,""),r=[];let n="",s=!1,i=0,a=0;for(let u=0;u<t.length;u+=1){const d=t[u];if(s){n+=d,s=!1;continue}if(d==="\\"){s=!0;continue}if(d==="`"){const h=u;for(;u+1<t.length&&t[u+1]==="`";)u+=1;const m=u-h+1;n+="`".repeat(m),i===0?i=m:i===m&&(i=0);continue}if(i===0&&d==="["?a+=1:i===0&&d==="]"&&a>0&&(a-=1),d==="|"&&i===0&&a===0){r.push(n.trim()),n="";continue}n+=d}return s&&(n+="\\"),r.push(n.trim()),r}function zS(e){return nh(e).map(t=>/^:-+:$/.test(t)?"center":/^-+:$/.test(t)?"right":/^:-+$/.test(t)?"left":null)}function Fm(e){return e==="center"?"text-center":e==="right"?"text-right":"text-left"}function Om(e){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(e.trim())}function lZ(e,t){return e>96||e>44&&t>.35}function k5(e){return(e.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function _5(e){const t=e.trim().match(/^([-+*]|\d+[.)])\s+(.+)$/);if(!t)return null;const r=/^\d+[.)]$/.test(t[1]);return{ordered:r,start:r?Number.parseInt(t[1],10):void 0,content:t[2]}}function GS(e,t,r,n,s,i=new Set){const a=[],u=[];let d=t;for(;d<e.length;){const h=e[d];if(s&&(Pm(h)||i.has(d))){d+=1;continue}const m=_5(h),b=k5(h);if(!m){if(b>r&&u.length>0){([...u].reverse().find(T=>T.indent<b)?.item??u[u.length-1].item).paragraphs.push(h.trim());for(const T of u)T.item.lineEnd=d+1;d+=1;continue}break}if(b<r||b===r&&m.ordered!==n)break;const x={content:m.content,ordered:m.ordered,start:m.start,children:[],paragraphs:[],lineStart:d+1,lineEnd:d+1};for(;u.length>0&&u[u.length-1].indent>=b;)u.pop();const v=u[u.length-1]?.item??null;v?v.children.push(x):a.push(x),u.push({indent:b,item:x});for(const S of u)S.item.lineEnd=d+1;d+=1}return{items:a,nextIndex:d}}function L5(e,t,r,n=0){return e.map((s,i)=>{const a=s.content.match(/^\[([ xX])\]\s+(.+)$/);return{key:`item-${i}`,taskItem:!!a,refStart:s.lineStart+n,refEnd:s.lineEnd+n,content:l.jsxs(l.Fragment,{children:[a?l.jsx("input",{type:"checkbox",checked:a[1].toLowerCase()==="x",readOnly:!0,className:"mr-2 align-[-2px] accent-primary"}):null,ui(a?.[2]??s.content,`li-${t}-${i}`,!0,r),s.paragraphs.length>0&&l.jsx("div",{className:"mt-1 space-y-1 text-muted-foreground",children:s.paragraphs.map((u,d)=>l.jsx("p",{children:ui(u,`li-${t}-${i}-p-${d}`,!0,r)},`paragraph-${d}`))})]}),groups:cZ(s.children,`${t}-${i}`,r,n)}})}function cZ(e,t,r,n=0){const s=[];for(const i of e){const a=s[s.length-1];a&&a.ordered===i.ordered?a.items.push(i):s.push({ordered:i.ordered,items:[i]})}return s.map((i,a)=>({ordered:i.ordered,start:i.ordered?i.items[0]?.start:void 0,items:L5(i.items,`${t}-g${a}`,r,n)}))}function E5(e,t){return e.map(r=>{const n=!!(t&&r.refStart<=t.end&&r.refEnd>=t.start);return l.jsxs("li",{className:r.taskItem?"list-none":void 0,"data-md-ref-start":r.refStart,"data-md-ref-end":r.refEnd,"data-selected":n?"true":void 0,children:[r.content,r.groups.length>0&&uZ(r.groups,t)]},r.key)})}function uZ(e,t){return e.map((r,n)=>{const s=r.ordered?"ol":"ul";return l.jsx(s,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} mt-1 space-y-0.5 pl-4 marker:text-muted-foreground/60`,children:E5(r.items,t)},`nested-${n}`)})}function dZ(e){const t=Array.from(e.footnoteDefinitions.values()).sort((r,n)=>r.index-n.index);return t.length===0?null:l.jsxs("section",{className:"mt-3 border-t border-border/20 pt-2 text-[12px] leading-5 text-muted-foreground",children:[l.jsx("div",{className:"mb-1 text-[10px] font-semibold uppercase tracking-wide text-muted-foreground/80",children:e.footnotesLabel}),l.jsx("ol",{className:"list-decimal space-y-1 pl-5",children:t.map(r=>l.jsxs("li",{id:`fn-${r.id}`,children:[ui(r.text,`footnote-${r.id}`,!0,e)," ",l.jsx("a",{href:`#fnref-${r.id}`,className:"text-primary no-underline","aria-label":e.backToFootnoteLabel(r.index),children:"↩"})]},r.id))})]})}function fZ(e,t,r,n){const s=[];let i=0;const a=u=>n?.[u]??u+1;for(;i<e.length;){const u=e[i],d=u.trim();if(!d){i+=1;continue}if(/^<details>\s*$/i.test(d)){const L=i;let M="Details";const R=[];for(i+=1;i<e.length&&!/^<\/details>\s*$/i.test(e[i].trim());){const Q=e[i].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);Q?M=Q[1].trim()||M:R.push(e[i].trimStart()),i+=1}i<e.length&&(i+=1),s.push({kind:"static",node:l.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[l.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:ui(M,`${t}-details-${L}-summary`,!0,r)}),R.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(R,`${t}-details-${L}`,r)})]},`${t}-details-${L}`)});continue}const h=OS(u);if(h){const L=[u],M=i;for(i+=1;i<e.length&&!h.selfContained&&!new RegExp(`</${h.tag}>`,"i").test(e[i]);)L.push(e[i]),i+=1;i<e.length&&!h.selfContained&&(L.push(e[i]),i+=1),s.push({kind:"static",node:l.jsx(FS,{html:L.join(`
174
174
  `)},`${t}-html-${M}`)});continue}const m=d.match(/^(```|~~~)\s*(.*)$/);if(m){const L=[],M=m[1],R=m[2]?.trim(),Q=i;for(i+=1;i<e.length&&!e[i].trim().startsWith(M);)L.push(e[i]),i+=1;i<e.length&&(i+=1),R.toLowerCase()==="mermaid"?s.push({kind:"static",node:l.jsx(VS,{code:L.join(`
175
175
  `),blockKey:`${t}-code-${Q}`},`${t}-code-${Q}`)}):["math","latex","tex"].includes(R.toLowerCase())?s.push({kind:"static",node:l.jsx(rh,{tex:L.join(`
176
176
  `),display:!0},`${t}-code-${Q}`)}):s.push({kind:"code",key:`${t}-code-${Q}`,code:L.join(`
177
177
  `),lang:R,blockKey:`${t}-code-${Q}`,codeStartLine:a(Q)+1});continue}if(jm(u)){const L=[],M=i;for(;i<e.length&&(jm(e[i])||!e[i].trim());)L.push(e[i].trim()?HS(e[i]):""),i+=1;s.push({kind:"code",key:`${t}-indented-code-${M}`,code:L.join(`
178
- `).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${M}`,codeStartLine:a(M)});continue}const b=d.match(/^(#{1,6})\s+(.+)$/);if(b){const M=`h${Math.min(6,b[1].length+1)}`,R=MS(b[2]),Q=tx(R,r);s.push({kind:"static",node:l.jsx(M,{id:Q,className:"scroll-mt-16 font-semibold text-foreground",children:ui(R,`${t}-heading-${i}`,!0,r)},`${t}-heading-${i}`)}),i+=1;continue}if(i+1<e.length&&u.includes("|")&&Om(e[i+1])){const L=nh(u),M=zS(e[i+1]),R=[],Q=i;for(i+=2;i<e.length&&e[i].includes("|")&&e[i].trim();)R.push(nh(e[i])),i+=1;s.push({kind:"static",node:l.jsx("div",{className:TS,"data-markdown-table-scroll":!0,children:l.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[l.jsx("thead",{className:"bg-surface-2 text-foreground",children:l.jsx("tr",{children:L.map((N,j)=>l.jsx("th",{className:`${AS} ${Fm(M[j]??null)}`,children:l.jsx("div",{className:Bm,children:ui(N,`${t}-th-${Q}-${j}`,!0,r)})},`h-${j}`))})}),l.jsx("tbody",{children:R.map((N,j)=>l.jsx("tr",{className:"border-t border-border/10",children:L.map((A,F)=>l.jsx("td",{className:`${SS} ${Fm(M[F]??null)}`,children:l.jsx("div",{className:Bm,children:ui(N[F]??"",`${t}-td-${Q}-${j}-${F}`,!0,r)})},`c-${F}`))},`r-${j}`))})]})},`${t}-table-${Q}`)});continue}const x=_5(u);if(x){const L=x.ordered,M=k5(u),R=x.start,Q=i,N=GS(e,i,M,L,!1);i=N.nextIndex,s.push({kind:"list",keyPrefix:`${t}-list-${Q}`,ordered:L,start:L?R:void 0,renders:L5(N.items,`${t}-list-${Q}`,r,a(0)-1)});continue}const v=[u.trimStart()],S=[a(i)],T=i;for(i+=1;i<e.length&&e[i].trim()&&!ex(e[i])&&!(i+1<e.length&&e[i].includes("|")&&Om(e[i+1]));)v.push(e[i].trimStart()),S.push(a(i)),i+=1;const _=sx(v,`${t}-p-${T}`,r);s.push({kind:"paragraph",keyPrefix:`${t}-p-${T}`,perLine:_.perLine,hardBreaks:_.hardBreaks,lineNums:S})}return s}function hZ(e,t){return e.map(r=>{switch(r.kind){case"static":return r.node;case"paragraph":return l.jsx("p",{children:ix(r.perLine,r.hardBreaks,r.lineNums,r.keyPrefix,t)},r.keyPrefix);case"list":{const n=r.ordered?"ol":"ul";return l.jsx(n,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:E5(r.renders,t)},r.keyPrefix)}case"code":return l.jsx(Qm,{code:r.code,lang:r.lang,blockKey:r.blockKey,codeStartLine:r.codeStartLine,lineRange:t},r.key)}})}let _p=null,q6=!1;const Lp=16,WS=192;function pZ(){return _p||(_p=$d(()=>import("./mermaid.core-BPmN3s0O.js").then(e=>e.aJ),__vite__mapDeps([6,1,7])).then(e=>e.default??e).catch(e=>{throw _p=null,e})),_p}function mZ(e){q6||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),q6=!0)}function gZ(e){const t=e.match(/\sviewBox=(["'])([^"']+)\1/i);if(!t)return e;const[,,r]=t,n=r.trim().split(/[\s,]+/).map(Number),[,,s,i]=n;if(!Number.isFinite(s)||!Number.isFinite(i)||s<=0||i<=0)return e;const a=Math.max(WS,Math.ceil(s)),u=Math.ceil(a/s*i);return e.replace(/<svg\b([^>]*)>/i,(d,h)=>`<svg${h.replace(/\s(?:width|height)=(["']).*?\1/gi,"").replace(/\sstyle=(["']).*?\1/gi,"")} width="${a}" height="${u}">`)}function bZ(e){const t=e?.querySelector("svg");if(!t)return;let r;try{r=t.getBBox()}catch{return}if(!Number.isFinite(r.width)||!Number.isFinite(r.height)||r.width<=0||r.height<=0)return;const n=r.x-Lp,s=r.y-Lp,i=r.width+Lp*2,a=r.height+Lp*2,u=Math.max(WS,Math.ceil(i)),d=Math.ceil(u/i*a);t.setAttribute("viewBox",`${n} ${s} ${i} ${a}`),t.setAttribute("width",String(u)),t.setAttribute("height",String(d)),t.removeAttribute("style")}function xZ(e){const t=e.trim().split(/\s+/,1)[0]?.toLowerCase();if(!t)return null;const r=t.replace(/^language-/,"");return eh(`code.${r}`)??r}function VS({code:e,blockKey:t}){const{t:r}=Hr(),[n,s]=w.useState(null),[i,a]=w.useState(!1),u=w.useRef(null),d=w.useContext(ES);w.useEffect(()=>{let m=!1;return s(null),a(!1),pZ().then(async b=>{mZ(b);const x=`termdock-md-mermaid-${t.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:v}=await b.render(x,e);m||s(gZ(v))}).catch(()=>{m||a(!0)}),()=>{m=!0}},[t,e]),w.useLayoutEffect(()=>{n&&bZ(u.current)},[n]);const h=w.useCallback(()=>{const m=u.current?.querySelector("svg")?.outerHTML??n;m&&d?.(m)},[d,n]);return i?l.jsx(Qm,{code:e,lang:"mermaid",blockKey:`${t}-fallback`}):l.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[l.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:"mermaid"}),l.jsx("div",{className:"bg-surface p-3",children:n?l.jsx("button",{type:"button",className:"block max-w-full rounded text-left focus:outline-none focus:ring-2 focus:ring-ring/45",title:r("rightSidebar.openMermaidDiagram"),onClick:m=>{m.stopPropagation(),h()},children:l.jsx("span",{ref:u,role:"img","aria-label":r("rightSidebar.mermaidDiagram"),className:"block max-h-[70vh] max-w-full overflow-auto rounded bg-white p-2 text-slate-900 [&_svg]:block [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:n}})}):l.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:r("rightSidebar.renderingDiagram")})})]})}function Qm({code:e,lang:t,blockKey:r,codeStartLine:n,lineRange:s}){const i=xZ(t),[a,u]=w.useState(null);w.useEffect(()=>{if(!i||!VA(e)){u(null);return}let h=!1;return qA().then(m=>{if(h||!m.registered(i)){h||u(null);return}try{u(YA(m,e,i))}catch{h||u(null)}}).catch(()=>{h||u(null)}),()=>{h=!0}},[r,e,i]);const d=a??(e||" ").split(`
178
+ `).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${M}`,codeStartLine:a(M)});continue}const b=d.match(/^(#{1,6})\s+(.+)$/);if(b){const M=`h${Math.min(6,b[1].length+1)}`,R=MS(b[2]),Q=tx(R,r);s.push({kind:"static",node:l.jsx(M,{id:Q,className:"scroll-mt-16 font-semibold text-foreground",children:ui(R,`${t}-heading-${i}`,!0,r)},`${t}-heading-${i}`)}),i+=1;continue}if(i+1<e.length&&u.includes("|")&&Om(e[i+1])){const L=nh(u),M=zS(e[i+1]),R=[],Q=i;for(i+=2;i<e.length&&e[i].includes("|")&&e[i].trim();)R.push(nh(e[i])),i+=1;s.push({kind:"static",node:l.jsx("div",{className:TS,"data-markdown-table-scroll":!0,children:l.jsxs("table",{className:"w-max min-w-full max-w-none table-auto border-collapse text-left text-[11px] sm:text-xs",children:[l.jsx("thead",{className:"bg-surface-2 text-foreground",children:l.jsx("tr",{children:L.map((N,j)=>l.jsx("th",{className:`${AS} ${Fm(M[j]??null)}`,children:l.jsx("div",{className:Bm,children:ui(N,`${t}-th-${Q}-${j}`,!0,r)})},`h-${j}`))})}),l.jsx("tbody",{children:R.map((N,j)=>l.jsx("tr",{className:"border-t border-border/10",children:L.map((A,F)=>l.jsx("td",{className:`${SS} ${Fm(M[F]??null)}`,children:l.jsx("div",{className:Bm,children:ui(N[F]??"",`${t}-td-${Q}-${j}-${F}`,!0,r)})},`c-${F}`))},`r-${j}`))})]})},`${t}-table-${Q}`)});continue}const x=_5(u);if(x){const L=x.ordered,M=k5(u),R=x.start,Q=i,N=GS(e,i,M,L,!1);i=N.nextIndex,s.push({kind:"list",keyPrefix:`${t}-list-${Q}`,ordered:L,start:L?R:void 0,renders:L5(N.items,`${t}-list-${Q}`,r,a(0)-1)});continue}const v=[u.trimStart()],S=[a(i)],T=i;for(i+=1;i<e.length&&e[i].trim()&&!ex(e[i])&&!(i+1<e.length&&e[i].includes("|")&&Om(e[i+1]));)v.push(e[i].trimStart()),S.push(a(i)),i+=1;const _=sx(v,`${t}-p-${T}`,r);s.push({kind:"paragraph",keyPrefix:`${t}-p-${T}`,perLine:_.perLine,hardBreaks:_.hardBreaks,lineNums:S})}return s}function hZ(e,t){return e.map(r=>{switch(r.kind){case"static":return r.node;case"paragraph":return l.jsx("p",{children:ix(r.perLine,r.hardBreaks,r.lineNums,r.keyPrefix,t)},r.keyPrefix);case"list":{const n=r.ordered?"ol":"ul";return l.jsx(n,{start:r.start,className:`${r.ordered?"list-decimal":"list-disc"} space-y-0.5 pl-4 marker:text-muted-foreground/70`,children:E5(r.renders,t)},r.keyPrefix)}case"code":return l.jsx(Qm,{code:r.code,lang:r.lang,blockKey:r.blockKey,codeStartLine:r.codeStartLine,lineRange:t},r.key)}})}let _p=null,q6=!1;const Lp=16,WS=192;function pZ(){return _p||(_p=$d(()=>import("./mermaid.core-C1E_d21e.js").then(e=>e.aJ),__vite__mapDeps([6,1,7])).then(e=>e.default??e).catch(e=>{throw _p=null,e})),_p}function mZ(e){q6||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),q6=!0)}function gZ(e){const t=e.match(/\sviewBox=(["'])([^"']+)\1/i);if(!t)return e;const[,,r]=t,n=r.trim().split(/[\s,]+/).map(Number),[,,s,i]=n;if(!Number.isFinite(s)||!Number.isFinite(i)||s<=0||i<=0)return e;const a=Math.max(WS,Math.ceil(s)),u=Math.ceil(a/s*i);return e.replace(/<svg\b([^>]*)>/i,(d,h)=>`<svg${h.replace(/\s(?:width|height)=(["']).*?\1/gi,"").replace(/\sstyle=(["']).*?\1/gi,"")} width="${a}" height="${u}">`)}function bZ(e){const t=e?.querySelector("svg");if(!t)return;let r;try{r=t.getBBox()}catch{return}if(!Number.isFinite(r.width)||!Number.isFinite(r.height)||r.width<=0||r.height<=0)return;const n=r.x-Lp,s=r.y-Lp,i=r.width+Lp*2,a=r.height+Lp*2,u=Math.max(WS,Math.ceil(i)),d=Math.ceil(u/i*a);t.setAttribute("viewBox",`${n} ${s} ${i} ${a}`),t.setAttribute("width",String(u)),t.setAttribute("height",String(d)),t.removeAttribute("style")}function xZ(e){const t=e.trim().split(/\s+/,1)[0]?.toLowerCase();if(!t)return null;const r=t.replace(/^language-/,"");return eh(`code.${r}`)??r}function VS({code:e,blockKey:t}){const{t:r}=Hr(),[n,s]=w.useState(null),[i,a]=w.useState(!1),u=w.useRef(null),d=w.useContext(ES);w.useEffect(()=>{let m=!1;return s(null),a(!1),pZ().then(async b=>{mZ(b);const x=`termdock-md-mermaid-${t.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:v}=await b.render(x,e);m||s(gZ(v))}).catch(()=>{m||a(!0)}),()=>{m=!0}},[t,e]),w.useLayoutEffect(()=>{n&&bZ(u.current)},[n]);const h=w.useCallback(()=>{const m=u.current?.querySelector("svg")?.outerHTML??n;m&&d?.(m)},[d,n]);return i?l.jsx(Qm,{code:e,lang:"mermaid",blockKey:`${t}-fallback`}):l.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[l.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:"mermaid"}),l.jsx("div",{className:"bg-surface p-3",children:n?l.jsx("button",{type:"button",className:"block max-w-full rounded text-left focus:outline-none focus:ring-2 focus:ring-ring/45",title:r("rightSidebar.openMermaidDiagram"),onClick:m=>{m.stopPropagation(),h()},children:l.jsx("span",{ref:u,role:"img","aria-label":r("rightSidebar.mermaidDiagram"),className:"block max-h-[70vh] max-w-full overflow-auto rounded bg-white p-2 text-slate-900 [&_svg]:block [&_svg]:h-auto [&_svg]:max-w-full",dangerouslySetInnerHTML:{__html:n}})}):l.jsx("div",{className:"py-6 text-center text-xs text-muted-foreground",children:r("rightSidebar.renderingDiagram")})})]})}function Qm({code:e,lang:t,blockKey:r,codeStartLine:n,lineRange:s}){const i=xZ(t),[a,u]=w.useState(null);w.useEffect(()=>{if(!i||!VA(e)){u(null);return}let h=!1;return qA().then(m=>{if(h||!m.registered(i)){h||u(null);return}try{u(YA(m,e,i))}catch{h||u(null)}}).catch(()=>{h||u(null)}),()=>{h=!0}},[r,e,i]);const d=a??(e||" ").split(`
179
179
  `).map(h=>[h||" "]);return l.jsxs("div",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface shadow-sm",children:[t&&l.jsx("div",{className:"border-b border-border/15 bg-surface-2 px-3 py-1.5 text-[10px] uppercase tracking-wide text-muted-foreground",children:t}),l.jsx("pre",{className:`${T5} termdock-code overflow-auto p-3 text-[11px] leading-relaxed text-foreground`,children:l.jsx("code",{children:d.map((h,m)=>{const b=n!=null?n+m:null,x=!!(s&&b!=null&&b>=s.start&&b<=s.end);return l.jsxs("span",{"data-md-ref-start":b??void 0,"data-md-ref-end":b??void 0,"data-selected":x?"true":void 0,children:[h,m<d.length-1?`
180
180
  `:null]},`${r}-line-${m}`)})})})]})}function yZ(e,t,r,n,s){e=YK(e);const i=WK(e),a=qK(e),u=[],d={markdownFilePath:t,rootPath:r,referenceDefinitions:i,footnoteDefinitions:VK(e),headingSlugCounts:new Map,images:u,onImageOpen:n,footnotesLabel:s?.footnotes??"Footnotes",backToFootnoteLabel:s?.backToFootnote??(x=>`Back to footnote ${x}`)},h=[];let m=0;for(;m<e.length;){const x=e[m],v=x.trim();if(Pm(x)||a.has(m)){m+=1;continue}if(!v){m+=1;continue}if(/^<details>\s*$/i.test(v)){const j=m;let A="Details";const F=[];for(m+=1;m<e.length&&!/^<\/details>\s*$/i.test(e[m].trim());){const z=e[m].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);z?A=z[1].trim()||A:F.push(e[m].trimStart()),m+=1}m<e.length&&(m+=1),h.push({key:`details-${j}`,startLine:j+1,endLine:m,content:l.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[l.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:ui(A,`details-${j}-summary`,!0,d)}),F.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(F,`details-${j}`,d)})]})});continue}const S=OS(x);if(S){const j=[x],A=m;for(m+=1;m<e.length&&!S.selfContained&&!new RegExp(`</${S.tag}>`,"i").test(e[m]);)j.push(e[m]),m+=1;m<e.length&&!S.selfContained&&(j.push(e[m]),m+=1),h.push({key:`html-${A}`,startLine:A+1,endLine:m,content:l.jsx(FS,{html:j.join(`
181
181
  `)})});continue}const T=v.match(/^(```|~~~)\s*(.*)$/);if(T){const j=[],A=T[1],F=T[2]?.trim(),z=m;for(m+=1;m<e.length&&!e[m].trim().startsWith(A);)j.push(e[m]),m+=1;m<e.length&&(m+=1),h.push({key:`code-${z}`,startLine:z+1,endLine:m,fineGrained:F.toLowerCase()!=="mermaid"&&!["math","latex","tex"].includes(F.toLowerCase()),content:F.toLowerCase()==="mermaid"?l.jsx(VS,{code:j.join(`
@@ -448,4 +448,4 @@ ${Et}
448
448
  + }
449
449
  return context;
450
450
  }`}};function y4(){if(typeof window>"u")return"kotlin";const t=new URLSearchParams(window.location.search).get("fixture");return t&&t in ax?t:"kotlin"}function v4(){return typeof window>"u"?"unified":new URLSearchParams(window.location.search).get("view")==="split"?"split":"unified"}function w4(){if(typeof window>"u")return"words";const e=new URLSearchParams(window.location.search).get("inline");return e==="none"||e==="chars"||e==="words"?e:"words"}function A4(){return typeof window>"u"?!0:new URLSearchParams(window.location.search).get("wrap")!=="off"}function LX(){const[e,t]=w.useState(()=>y4()),[r,n]=w.useState(()=>v4()),[s,i]=w.useState(()=>w4()),[a,u]=w.useState(()=>A4()),d=ax[e],h=w.useMemo(()=>Object.entries(ax),[]);return w.useEffect(()=>{if(typeof window>"u")return;let m=window.location.search;const b=()=>{window.location.search!==m&&(m=window.location.search,t(y4()),n(v4()),i(w4()),u(A4()))};window.addEventListener("popstate",b),window.addEventListener("pageshow",b),window.addEventListener("focus",b);const x=window.setInterval(b,250);return()=>{window.removeEventListener("popstate",b),window.removeEventListener("pageshow",b),window.removeEventListener("focus",b),window.clearInterval(x)}},[]),l.jsx("div",{className:"min-h-screen bg-background-subtle text-foreground","data-diff-lab":!0,"data-diff-lab-fixture":e,"data-diff-lab-view":r,"data-diff-lab-inline":s,"data-diff-lab-wrap":a?"on":"off",children:l.jsxs("div",{className:"mx-auto flex min-h-screen max-w-[1180px] flex-col px-4 py-4",children:[l.jsxs("header",{className:"mb-3 flex flex-wrap items-center justify-between gap-3 border-b border-border/20 pb-3",children:[l.jsxs("div",{children:[l.jsx("div",{className:"text-sm font-semibold",children:"Diff Lab"}),l.jsx("div",{className:"mt-0.5 text-[11px] text-muted-foreground",children:"Fixed fixtures for iterating diff rendering without app auth, PWA state, or live Git data."})]}),l.jsxs("div",{className:"flex flex-wrap items-center gap-2",children:[l.jsx("select",{value:e,onChange:m=>t(m.target.value),"aria-label":"Fixture",className:"h-8 rounded-md border border-border/30 bg-surface px-2 text-xs text-foreground outline-none",children:h.map(([m,b])=>l.jsx("option",{value:m,children:b.label},m))}),l.jsxs("div",{className:"inline-flex h-8 overflow-hidden rounded-full bg-surface-2 p-0.5",children:[l.jsx("button",{type:"button",onClick:()=>n("unified"),className:`rounded-full px-3 text-xs font-semibold ${r==="unified"?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:"Unified"}),l.jsx("button",{type:"button",onClick:()=>n("split"),className:`rounded-full px-3 text-xs font-semibold ${r==="split"?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:"Split"})]}),l.jsx("div",{className:"inline-flex h-8 overflow-hidden rounded-full bg-surface-2 p-0.5",children:["none","words","chars"].map(m=>l.jsx("button",{type:"button",onClick:()=>i(m),className:`rounded-full px-3 text-xs font-semibold ${s===m?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:m},m))}),l.jsxs("button",{type:"button",onClick:()=>u(m=>!m),className:`h-8 rounded-full px-3 text-xs font-semibold ${a?"bg-primary/15 text-primary":"bg-surface-2 text-muted-foreground"}`,children:["Wrap ",a?"on":"off"]})]})]}),l.jsx("main",{className:"min-h-0 flex-1 overflow-auto rounded-lg border border-border/20 bg-surface",children:l.jsx(lS,{filePath:d.path,repoRoot:"/tmp/termdock-diff-lab",changedFile:{path:d.path,absolutePath:`/tmp/termdock-diff-lab/${d.path}`,repoRoot:"/tmp/termdock-diff-lab",status:"modified",staged:!1,unstaged:!0,untracked:!1,tracked:!0,canStage:!1,canUnstage:!1,canStash:!1,canRestoreWorktree:!1},diffOverride:d.diff,oldSourceOverride:d.oldSource,active:!0,wrap:a,showScrollHint:!a,viewType:r,inlineMode:s})})]})})}const oT=40,lx="/tmp/termdock-diff-review-lab";function S4(e,t){const r=[`diff --git a/${e} b/${e}`,`--- a/${e}`,`+++ b/${e}`,`@@ -1,${t} +1,${t} @@`];for(let n=0;n<t;n+=1)n%5===0&&r.push(`-const removed_${n} = ${n};`),n%3===0&&r.push(`+const added_${n} = ${n} * 2;`),r.push(` context line ${n} in ${e}`);return r.join(`
451
- `)}function EX(e,t){return Array.from({length:oT},(r,n)=>{const s=6+n*7%60,i=`src/module${String(n).padStart(2,"0")}/File${n}.ts`,a=`${lx}/${i}`,u=S4(i,s),d=S4(i,1);return{key:a,path:i,absolutePath:a,status:"modified",repoRoot:lx,displayName:`File${n}.ts`,displayDir:`src/module${String(n).padStart(2,"0")} · ${s} lines`,diffOverride:!t||e.has(n)?u:d,auditRecords:[]}})}function IX(){const e=w.useMemo(()=>{if(typeof window>"u")return 0;const L=new URLSearchParams(window.location.search).get("delay"),M=L===null?0:Number.parseInt(L,10);return Number.isInteger(M)&&M>0?M:0},[]),t=e>0,[r,n]=w.useState(()=>new Set);w.useEffect(()=>{if(!t)return;const L=Array.from({length:oT},(M,R)=>window.setTimeout(()=>{n(Q=>{const N=new Set(Q);return N.add(R),N})},e+R*20));return()=>L.forEach(M=>window.clearTimeout(M))},[t,e]);const s=w.useMemo(()=>EX(r,t),[r,t]),i=w.useMemo(()=>[{key:"mock-repo",root:lx,label:"diff-review-lab",files:s.map(L=>({key:L.key,path:L.path,absolutePath:L.absolutePath,displayName:L.displayName,displayDir:L.displayDir,status:L.status}))}],[s]),a=w.useMemo(()=>{if(typeof window>"u")return null;const L=new URLSearchParams(window.location.search).get("select");if(L===null)return null;const M=Number.parseInt(L,10);return Number.isInteger(M)&&M>=0&&M<s.length?M:null},[s.length]),[u,d]=w.useState(()=>a!==null?s[a].key:null),[h,m]=w.useState(()=>({key:a!==null?s[a].key:null,nonce:a!==null?1:0})),[b,x]=w.useState("list"),[v,S]=w.useState(new Set),[T,_]=w.useState(a!==null?1:0);return l.jsxs("div",{className:"flex h-screen flex-col bg-background text-foreground","data-diff-review-lab":!0,children:[l.jsxs("div",{className:"shrink-0 border-b border-border/20 px-3 py-2 text-xs text-muted-foreground",children:["DiffReview Lab · ",s.length," mock files · selected: ",l.jsx("span",{"data-lab-selected":!0,children:u??"none"})," · slide ",T]}),l.jsx("div",{className:"min-h-0 flex-1",children:l.jsx(Pf,{mobile:!0,backLabel:"Back",files:s,groups:i,selectedKey:u,scrollToKey:h.key,scrollToKeyNonce:h.nonce,mode:b,onModeChange:L=>{L!=="ai"&&x(L)},collapsedDirectoryKeys:v,onToggleDirectory:L=>S(M=>{const R=new Set(M);return R.has(L)?R.delete(L):R.add(L),R}),onSelectFile:L=>{d(L.key),m(M=>({key:L.key,nonce:M.nonce+1}))},onMobileSlideChange:_,renderLeading:()=>null,renderStreamBadge:L=>l.jsx("span",{className:"text-[10px] text-muted-foreground",children:L}),wrap:!0,showScrollHint:!1,activePane:!0})})]})}const MX=6e4,F2="termdock:build-id:v1";let T4=!1;function C4(){T4||(T4=!0,window.setTimeout(()=>{window.location.reload()},80))}function cx(e){e.waiting?.postMessage({type:"SKIP_WAITING"})}async function RX(){if(typeof caches>"u")return;const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}function NX(e){e.addEventListener("updatefound",()=>{const t=e.installing;t&&t.addEventListener("statechange",()=>{t.state==="installed"&&navigator.serviceWorker.controller&&cx(e)})})}function DX(){if(typeof window>"u"||!("serviceWorker"in navigator))return;const e="1787381807209",t=window.localStorage.getItem(F2);if(t&&t!==e){RX().finally(()=>{window.localStorage.setItem(F2,e),C4()});return}t!==e&&window.localStorage.setItem(F2,e);let r=null;navigator.serviceWorker.addEventListener("controllerchange",C4),window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js",{scope:"/"}).then(n=>{NX(n),cx(n);const s=()=>{document.visibilityState==="visible"&&n.update().then(()=>cx(n)).catch(()=>{})};s(),r=window.setInterval(s,MX),document.addEventListener("visibilitychange",s)}).catch(()=>{})}),window.addEventListener("beforeunload",()=>{r!==null&&window.clearInterval(r)})}lj();DX();try{const e=JSON.parse(window.localStorage.getItem("termdock-color-theme")||"null");(e==="dark"||e==="light")&&(document.documentElement.dataset.theme=e,Y9(e))}catch{}function BX(){const{t:e}=Hr(),[t,r]=w.useState(null),[n,s]=w.useState(null),i=w.useCallback(async()=>{try{const a=await yL();r(a),s(null)}catch(a){s(a instanceof Error?a.message:"Failed to query auth status")}},[]);return w.useEffect(()=>{i()},[i]),w.useEffect(()=>{const a=()=>{r(u=>u&&{...u,authenticated:!1})};return window.addEventListener(im,a),()=>window.removeEventListener(im,a)},[]),t===null?l.jsx("div",{className:"flex w-screen items-center justify-center bg-background text-muted-foreground",style:{height:"var(--app-vh, 100vh)"},children:n?`${e("common.error")}: ${n}`:e("common.loading")}):t.enabled&&!t.authenticated?l.jsx(kX,{onLoginSuccess:i}):l.jsx(TX,{})}UC.createRoot(document.getElementById("root")).render(l.jsx(D.StrictMode,{children:l.jsx($E,{children:l.jsx(o8,{children:(()=>{const e=new URLSearchParams(window.location.search);return e.get("dag-playground")==="1"?l.jsx(_X,{}):e.get("diff-review-lab")==="1"?l.jsx(IX,{}):e.get("diff-lab")==="1"?l.jsx(LX,{}):l.jsx(BX,{})})()})})}));export{oM as M,Va as R,OM as S,$d as _,qt as c,l as j,Hr as u,T_ as v};
451
+ `)}function EX(e,t){return Array.from({length:oT},(r,n)=>{const s=6+n*7%60,i=`src/module${String(n).padStart(2,"0")}/File${n}.ts`,a=`${lx}/${i}`,u=S4(i,s),d=S4(i,1);return{key:a,path:i,absolutePath:a,status:"modified",repoRoot:lx,displayName:`File${n}.ts`,displayDir:`src/module${String(n).padStart(2,"0")} · ${s} lines`,diffOverride:!t||e.has(n)?u:d,auditRecords:[]}})}function IX(){const e=w.useMemo(()=>{if(typeof window>"u")return 0;const L=new URLSearchParams(window.location.search).get("delay"),M=L===null?0:Number.parseInt(L,10);return Number.isInteger(M)&&M>0?M:0},[]),t=e>0,[r,n]=w.useState(()=>new Set);w.useEffect(()=>{if(!t)return;const L=Array.from({length:oT},(M,R)=>window.setTimeout(()=>{n(Q=>{const N=new Set(Q);return N.add(R),N})},e+R*20));return()=>L.forEach(M=>window.clearTimeout(M))},[t,e]);const s=w.useMemo(()=>EX(r,t),[r,t]),i=w.useMemo(()=>[{key:"mock-repo",root:lx,label:"diff-review-lab",files:s.map(L=>({key:L.key,path:L.path,absolutePath:L.absolutePath,displayName:L.displayName,displayDir:L.displayDir,status:L.status}))}],[s]),a=w.useMemo(()=>{if(typeof window>"u")return null;const L=new URLSearchParams(window.location.search).get("select");if(L===null)return null;const M=Number.parseInt(L,10);return Number.isInteger(M)&&M>=0&&M<s.length?M:null},[s.length]),[u,d]=w.useState(()=>a!==null?s[a].key:null),[h,m]=w.useState(()=>({key:a!==null?s[a].key:null,nonce:a!==null?1:0})),[b,x]=w.useState("list"),[v,S]=w.useState(new Set),[T,_]=w.useState(a!==null?1:0);return l.jsxs("div",{className:"flex h-screen flex-col bg-background text-foreground","data-diff-review-lab":!0,children:[l.jsxs("div",{className:"shrink-0 border-b border-border/20 px-3 py-2 text-xs text-muted-foreground",children:["DiffReview Lab · ",s.length," mock files · selected: ",l.jsx("span",{"data-lab-selected":!0,children:u??"none"})," · slide ",T]}),l.jsx("div",{className:"min-h-0 flex-1",children:l.jsx(Pf,{mobile:!0,backLabel:"Back",files:s,groups:i,selectedKey:u,scrollToKey:h.key,scrollToKeyNonce:h.nonce,mode:b,onModeChange:L=>{L!=="ai"&&x(L)},collapsedDirectoryKeys:v,onToggleDirectory:L=>S(M=>{const R=new Set(M);return R.has(L)?R.delete(L):R.add(L),R}),onSelectFile:L=>{d(L.key),m(M=>({key:L.key,nonce:M.nonce+1}))},onMobileSlideChange:_,renderLeading:()=>null,renderStreamBadge:L=>l.jsx("span",{className:"text-[10px] text-muted-foreground",children:L}),wrap:!0,showScrollHint:!1,activePane:!0})})]})}const MX=6e4,F2="termdock:build-id:v1";let T4=!1;function C4(){T4||(T4=!0,window.setTimeout(()=>{window.location.reload()},80))}function cx(e){e.waiting?.postMessage({type:"SKIP_WAITING"})}async function RX(){if(typeof caches>"u")return;const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}function NX(e){e.addEventListener("updatefound",()=>{const t=e.installing;t&&t.addEventListener("statechange",()=>{t.state==="installed"&&navigator.serviceWorker.controller&&cx(e)})})}function DX(){if(typeof window>"u"||!("serviceWorker"in navigator))return;const e="1787382923664",t=window.localStorage.getItem(F2);if(t&&t!==e){RX().finally(()=>{window.localStorage.setItem(F2,e),C4()});return}t!==e&&window.localStorage.setItem(F2,e);let r=null;navigator.serviceWorker.addEventListener("controllerchange",C4),window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js",{scope:"/"}).then(n=>{NX(n),cx(n);const s=()=>{document.visibilityState==="visible"&&n.update().then(()=>cx(n)).catch(()=>{})};s(),r=window.setInterval(s,MX),document.addEventListener("visibilitychange",s)}).catch(()=>{})}),window.addEventListener("beforeunload",()=>{r!==null&&window.clearInterval(r)})}lj();DX();try{const e=JSON.parse(window.localStorage.getItem("termdock-color-theme")||"null");(e==="dark"||e==="light")&&(document.documentElement.dataset.theme=e,Y9(e))}catch{}function BX(){const{t:e}=Hr(),[t,r]=w.useState(null),[n,s]=w.useState(null),i=w.useCallback(async()=>{try{const a=await yL();r(a),s(null)}catch(a){s(a instanceof Error?a.message:"Failed to query auth status")}},[]);return w.useEffect(()=>{i()},[i]),w.useEffect(()=>{const a=()=>{r(u=>u&&{...u,authenticated:!1})};return window.addEventListener(im,a),()=>window.removeEventListener(im,a)},[]),t===null?l.jsx("div",{className:"flex w-screen items-center justify-center bg-background text-muted-foreground",style:{height:"var(--app-vh, 100vh)"},children:n?`${e("common.error")}: ${n}`:e("common.loading")}):t.enabled&&!t.authenticated?l.jsx(kX,{onLoginSuccess:i}):l.jsx(TX,{})}UC.createRoot(document.getElementById("root")).render(l.jsx(D.StrictMode,{children:l.jsx($E,{children:l.jsx(o8,{children:(()=>{const e=new URLSearchParams(window.location.search);return e.get("dag-playground")==="1"?l.jsx(_X,{}):e.get("diff-review-lab")==="1"?l.jsx(IX,{}):e.get("diff-lab")==="1"?l.jsx(LX,{}):l.jsx(BX,{})})()})})}));export{oM as M,Va as R,OM as S,$d as _,qt as c,l as j,Hr as u,T_ as v};