termdock 1.4.77 → 1.4.78

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-MUquuQ7M.js → ModelPreview-CVr0JHTh.js} +1 -1
  2. package/dist/client/assets/{abnfDiagram-VRR7QNED-bSAQDoRq.js → abnfDiagram-VRR7QNED-CJCvF_tv.js} +1 -1
  3. package/dist/client/assets/{arc-CRXZasqt.js → arc-DhLy1AWu.js} +1 -1
  4. package/dist/client/assets/{architectureDiagram-ZJ3FMSHR-B5lW2XVL.js → architectureDiagram-ZJ3FMSHR-DwIuhD5u.js} +1 -1
  5. package/dist/client/assets/{blockDiagram-677ZJIJ3-BnvUlbML.js → blockDiagram-677ZJIJ3-BKee-74S.js} +1 -1
  6. package/dist/client/assets/{c4Diagram-LMCZKHZV-Dh43i8Od.js → c4Diagram-LMCZKHZV-VCPFXiqN.js} +1 -1
  7. package/dist/client/assets/channel-FjIN_jlJ.js +1 -0
  8. package/dist/client/assets/{chunk-2Q5K7J3B-Br9F2z9G.js → chunk-2Q5K7J3B-eo46pd5r.js} +1 -1
  9. package/dist/client/assets/{chunk-32BRIVSS-CR_BEEo8.js → chunk-32BRIVSS-Dv2QKAn4.js} +1 -1
  10. package/dist/client/assets/{chunk-5VM5RSS4-RSFWgHJK.js → chunk-5VM5RSS4-BGJSqjwo.js} +1 -1
  11. package/dist/client/assets/{chunk-EX3LRPZG-BojU9tp1.js → chunk-EX3LRPZG-CiUA_T32.js} +1 -1
  12. package/dist/client/assets/{chunk-JWPE2WC7-Da5LKO28.js → chunk-JWPE2WC7-CGe0he7-.js} +1 -1
  13. package/dist/client/assets/{chunk-MOJQB5TN-CnH9HN8z.js → chunk-MOJQB5TN-CK6dXscX.js} +1 -1
  14. package/dist/client/assets/{chunk-RYQCIY6F-OAjuTT8n.js → chunk-RYQCIY6F-B3bl7XFR.js} +1 -1
  15. package/dist/client/assets/{chunk-V7JOEXUC-BeH2Mdv7.js → chunk-V7JOEXUC-DQvdtjg2.js} +1 -1
  16. package/dist/client/assets/{chunk-VR4S4FIN-BK51NinF.js → chunk-VR4S4FIN-VUcIqb5M.js} +1 -1
  17. package/dist/client/assets/{chunk-XXDRQBXY-Df-77sm7.js → chunk-XXDRQBXY-CE6FWdKe.js} +1 -1
  18. package/dist/client/assets/classDiagram-OUVF2IWQ-DKXIkcHl.js +1 -0
  19. package/dist/client/assets/classDiagram-v2-EOCWNBFH-DKXIkcHl.js +1 -0
  20. package/dist/client/assets/{cose-bilkent-JH36ORCC-C-FtawL2.js → cose-bilkent-JH36ORCC-CPhym0Ri.js} +1 -1
  21. package/dist/client/assets/{cynefin-VYW2F7L2-O7CaDQi8.js → cynefin-VYW2F7L2-CXSIlcPP.js} +1 -1
  22. package/dist/client/assets/{cynefinDiagram-TSTJHNR4-B0fJizeX.js → cynefinDiagram-TSTJHNR4-D2xk8LM-.js} +1 -1
  23. package/dist/client/assets/{dagre-VKFMJZFB-BsIwc1IF.js → dagre-VKFMJZFB-CMo6Mggd.js} +1 -1
  24. package/dist/client/assets/{diagram-FQU43EPY-GDwMRBsa.js → diagram-FQU43EPY-BfbFcsjo.js} +1 -1
  25. package/dist/client/assets/{diagram-G47NLZAW-Chv4syax.js → diagram-G47NLZAW-Dk9mL2hQ.js} +1 -1
  26. package/dist/client/assets/{diagram-NH7WQ7WH-Dh1F6AVi.js → diagram-NH7WQ7WH-DOLEb5Ac.js} +1 -1
  27. package/dist/client/assets/{diagram-OA4YK3LP-CU3z6ul5.js → diagram-OA4YK3LP-J_4LsvHg.js} +1 -1
  28. package/dist/client/assets/{diagram-WEI45ONY-CYug818o.js → diagram-WEI45ONY-N3ebBpb0.js} +1 -1
  29. package/dist/client/assets/{ebnfDiagram-CCIWWBDH-zzKMHZmD.js → ebnfDiagram-CCIWWBDH-VDjAn8cx.js} +1 -1
  30. package/dist/client/assets/{erDiagram-Q63AITRT-4yv9ci2k.js → erDiagram-Q63AITRT-BcrfG3TF.js} +1 -1
  31. package/dist/client/assets/{flowDiagram-23GEKE2U-CJj8uFtp.js → flowDiagram-23GEKE2U-CQqbcLeu.js} +1 -1
  32. package/dist/client/assets/{ganttDiagram-NO4QXBWP-WhZonF-5.js → ganttDiagram-NO4QXBWP-Cnnz4bB_.js} +1 -1
  33. package/dist/client/assets/{gitGraphDiagram-IHSO6WYX-DCmdLenS.js → gitGraphDiagram-IHSO6WYX-Blgdm_ki.js} +1 -1
  34. package/dist/client/assets/{index-ILJW_1zc.js → index-D4tXl2Co.js} +4 -4
  35. package/dist/client/assets/{infoDiagram-FWYZ7A6U-0HrqatQe.js → infoDiagram-FWYZ7A6U-hysO0D-E.js} +1 -1
  36. package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-DCPrrLNa.js → ishikawaDiagram-FXEZZL3T-C_NUPPr0.js} +1 -1
  37. package/dist/client/assets/{journeyDiagram-5HDEW3XC-CY0RHb4b.js → journeyDiagram-5HDEW3XC-yZj3wW06.js} +1 -1
  38. package/dist/client/assets/{kanban-definition-HUTT4EX6-DcH2OBHS.js → kanban-definition-HUTT4EX6-CBlwf1Ky.js} +1 -1
  39. package/dist/client/assets/{linear-BidTRUFO.js → linear-BZVXlFdB.js} +1 -1
  40. package/dist/client/assets/{mermaid.core-BomIvgGf.js → mermaid.core-BKuLTbNu.js} +4 -4
  41. package/dist/client/assets/{mindmap-definition-LN4V7U3C-BVbGSAMP.js → mindmap-definition-LN4V7U3C-DixwlenO.js} +1 -1
  42. package/dist/client/assets/{pegDiagram-2B236MQR-BPDcfuXr.js → pegDiagram-2B236MQR-Db3Hp9fh.js} +1 -1
  43. package/dist/client/assets/{pieDiagram-ENE6RG2P-BEl37TgF.js → pieDiagram-ENE6RG2P-BuVWBVPa.js} +1 -1
  44. package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-B4Jexgtq.js → quadrantDiagram-ABIIQ3AL-CfSQVr3n.js} +1 -1
  45. package/dist/client/assets/{railroadDiagram-RFXS5EU6-DCf5cVwA.js → railroadDiagram-RFXS5EU6-D8QWCWVy.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-TGXJPOKE-Dutz-kps.js → requirementDiagram-TGXJPOKE-CByTpPgl.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-HTMAVEWB-C5B7Px5r.js → sankeyDiagram-HTMAVEWB-D7fUtQDh.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-DBY2YBRQ-BAjlNtX7.js → sequenceDiagram-DBY2YBRQ-BO5a4Rrb.js} +1 -1
  49. package/dist/client/assets/{sizeCapture-X5ZJPWSS-DxHVj2nI.js → sizeCapture-X5ZJPWSS-DgNEaNOr.js} +1 -1
  50. package/dist/client/assets/{stateDiagram-2N3HPSRC-h0J5lN0m.js → stateDiagram-2N3HPSRC-Bsy-zyu9.js} +1 -1
  51. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-6mI4g0Tj.js +1 -0
  52. package/dist/client/assets/{swimlanes-5IMT3BWC-BVPnl0Ka.js → swimlanes-5IMT3BWC-xhuS2C7k.js} +2 -2
  53. package/dist/client/assets/swimlanesDiagram-G3AALYLV-CW5x2QwW.js +8 -0
  54. package/dist/client/assets/{timeline-definition-FHXFAJF6-Cn5XtHKy.js → timeline-definition-FHXFAJF6-bjl5FR4r.js} +1 -1
  55. package/dist/client/assets/{vennDiagram-L72KCM5P-CwBsi2Gg.js → vennDiagram-L72KCM5P-CQXSMeKI.js} +1 -1
  56. package/dist/client/assets/{wardleyDiagram-EHGQE667-CZMtiWJm.js → wardleyDiagram-EHGQE667-W95Sefo4.js} +1 -1
  57. package/dist/client/assets/{xychartDiagram-FW5EYKEG-uGw9wOMW.js → xychartDiagram-FW5EYKEG-XSpBKm1h.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 +7 -2
  61. package/dist/server/routes/terminal.js +18 -4
  62. package/package.json +1 -1
  63. package/runtime-manifest.json +2 -2
  64. package/dist/client/assets/channel-Bm8opuca.js +0 -1
  65. package/dist/client/assets/classDiagram-OUVF2IWQ-eErPtGt5.js +0 -1
  66. package/dist/client/assets/classDiagram-v2-EOCWNBFH-eErPtGt5.js +0 -1
  67. package/dist/client/assets/stateDiagram-v2-6OUMAXLB-CtfvvrUK.js +0 -1
  68. package/dist/client/assets/swimlanesDiagram-G3AALYLV-CLhM0GwF.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-MUquuQ7M.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/katex-55ZPZeOF.css","assets/mermaid.core-BomIvgGf.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-CVr0JHTh.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/katex-55ZPZeOF.css","assets/mermaid.core-BKuLTbNu.js","assets/purify.es-CC4Brkr_.js"])))=>i.map(i=>d[i]);
2
2
  import{r as $m,a as BC,g as C4}from"./react-XDCjal2T.js";import{b as w,R as D,r as Kl,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 Yg={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,Yg.exports=OC()),Yg.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=C4(HC);function q5(e){return e!==null&&typeof e=="object"&&"constructor"in e&&e.constructor===Object}function cx(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&&cx(e[n],t[n])})}const k4={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 Su(){const e=typeof document<"u"?document:{};return cx(e,k4),e}const zC={document:k4,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 cx(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 _4(e,t=0){return setTimeout(e,t)}function nm(){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 Xo(...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]:Xo(t[u],n[u]):!Hh(t[u])&&Hh(n[u])?(t[u]={},n[u].__swiper__?t[u]=n[u]:Xo(t[u],n[u])):t[u]=n[u])}}}return t}function Wu(e,t,r){e.style.setProperty(t,r)}function L4({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 Ql(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 sm(e){try{console.warn(e);return}catch{}}function F2(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 Ac(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 Kg;function tk(){const e=Co(),t=Su();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}function E4(){return Kg||(Kg=tk()),Kg}let Zg;function rk({userAgent:e}={}){const t=E4(),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 I4(e={}){return Zg||(Zg=rk(e)),Zg}let Xg;function nk(){const e=Co(),t=I4();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 Xg||(Xg=nk()),Xg}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(Ac(n,"padding-left")||0,10)-parseInt(Ac(n,"padding-right")||0,10),r=r-parseInt(Ac(n,"padding-top")||0,10)-parseInt(Ac(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=Ql(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,R=e.size-S-T;let N=r.spaceBetween,Q=-S,M=0,P=0;if(typeof R>"u")return;typeof N=="string"&&N.indexOf("%")>=0?N=parseFloat(N.replace("%",""))/100*R:typeof N=="string"&&(N=parseFloat(N)),e.virtualSize=-N-S-T,h.forEach(Y=>{i?Y.style.marginLeft="":Y.style.marginRight="",Y.style.marginBottom="",Y.style.marginTop=""}),r.centeredSlides&&r.cssMode&&(Wu(n,"--swiper-centered-offset-before",""),Wu(n,"--swiper-centered-offset-after","")),r.cssMode&&(Wu(n,"--swiper-slides-offset-before",`${S}px`),Wu(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),Ac(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 W=getComputedStyle(U),ne=U.style.transform,se=U.style.webkitTransform;if(ne&&(U.style.transform="none"),se&&(U.style.webkitTransform="none"),r.roundLengths)F=e.isHorizontal()?K5(U,"width"):K5(U,"height");else{const pe=t(W,"width"),ke=t(W,"padding-left"),ve=t(W,"padding-right"),de=t(W,"margin-left"),ie=t(W,"margin-right"),Ce=W.getPropertyValue("box-sizing");if(Ce&&Ce==="border-box")F=pe+de+ie;else{const{clientWidth:Ze,offsetWidth:Pe}=U;F=pe+ke+ve+de+ie+(Pe-Ze)}}ne&&(U.style.transform=ne),se&&(U.style.webkitTransform=se),r.roundLengths&&(F=Math.floor(F))}else F=(R-(r.slidesPerView-1)*N)/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+M/2+N,M===0&&Y!==0&&(Q=Q-R/2-N),Y===0&&(Q=Q-R/2-N),Math.abs(Q)<1/1e3&&(Q=0),r.roundLengths&&(Q=Math.floor(Q)),P%r.slidesPerGroup===0&&b.push(Q),x.push(Q)):(r.roundLengths&&(Q=Math.floor(Q)),(P-Math.min(e.params.slidesPerGroupSkip,P))%e.params.slidesPerGroup===0&&b.push(Q),x.push(Q),Q=Q+F+N),e.virtualSize+=F+N,M=F,P+=1}}if(e.virtualSize=Math.max(e.virtualSize,R)+T,i&&a&&(r.effect==="slide"||r.effect==="coverflow")&&(n.style.width=`${e.virtualSize+N}px`),r.setWrapperSize&&(n.style[e.getDirectionLabel("width")]=`${e.virtualSize+N}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 W=b.length;if(U){let se;if(r.slidesPerView==="auto"){se=1;let pe=0;for(let ke=v.length-1;ke>=0&&(pe+=v[ke]+(ke<v.length-1?N:0),pe<=R);ke-=1)se=v.length-ke}else se=Math.floor(r.slidesPerView);W=Math.max(m-se,0)}const ne=[];for(let se=0;se<b.length;se+=1){let pe=b[se];r.roundLengths&&(pe=Math.floor(pe)),U?se<=W&&ne.push(pe):b[se]<=e.virtualSize-R&&ne.push(pe)}b=ne,Math.floor(e.virtualSize-R)-Math.floor(b[b.length-1])>1&&(U||b.push(e.virtualSize-R))}if(u&&r.loop){const Y=v[0]+N;if(r.slidesPerGroup>1){const U=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/r.slidesPerGroup),W=Y*r.slidesPerGroup;for(let ne=0;ne<U;ne+=1)b.push(b[b.length-1]+W)}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]),N!==0){const Y=e.isHorizontal()&&i?"marginLeft":e.getDirectionLabel("marginRight");h.filter((U,W)=>!r.cssMode||r.loop?!0:W!==h.length-1).forEach(U=>{U.style[Y]=`${N}px`})}if(r.centeredSlides&&r.centeredSlidesBounds){let Y=0;v.forEach(W=>{Y+=W+(N||0)}),Y-=N;const U=Y>R?Y-R:0;b=b.map(W=>W<=0?-S:W>U?U+T:W)}if(r.centerInsufficientSlides){let Y=0;if(v.forEach(U=>{Y+=U+(N||0)}),Y-=N,Y<R){const U=(R-Y)/2;b.forEach((W,ne)=>{b[ne]=W-U}),x.forEach((W,ne)=>{x[ne]=W+U})}}if(Object.assign(e,{slides:h,snapGrid:b,slidesGrid:x,slidesSizesGrid:v}),r.centeredSlides&&r.cssMode&&!r.centeredSlidesBounds){Wu(n,"--swiper-centered-offset-before",`${-b[0]}px`),Wu(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(W=>W+Y),e.slidesGrid=e.slidesGrid.map(W=>W+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 Jg=(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=>Ql(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=>{Jg(b,b===d,r.slideActiveClass),Jg(b,b===m,r.slideNextClass),Jg(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()}},e1=(e,t)=>{if(!e.slides[t])return;const r=e.slides[t].querySelector('[loading="lazy"]');r&&r.removeAttribute("loading")},O2=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)&&e1(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)&&e1(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)&&e1(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&&O2(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 L4({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 M4({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(),M4({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),M4({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 R;a>b?R="next":a<b?R="prev":R="reset";const N=i.virtual&&i.params.virtual.enabled;if(!(N&&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),R!=="reset"&&(i.transitionStart(r,R),i.transitionEnd(r,R)),!1;if(u.cssMode){const A=i.isHorizontal(),F=x?L:-L;if(t===0)N&&(i.wrapperEl.style.scrollSnapType="none",i._immediateVirtual=!0),N&&!i._cssModeVirtualInitialSet&&i.params.initialSlide>0?(i._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{v[A?"scrollLeft":"scrollTop"]=F})):v[A?"scrollLeft":"scrollTop"]=F,N&&requestAnimationFrame(()=>{i.wrapperEl.style.scrollSnapType="",i._immediateVirtual=!1});else{if(!i.support.smoothScroll)return L4({swiper:i,targetPosition:F,side:A?"left":"top"}),!0;v.scrollTo({[A?"left":"top"]:F,behavior:"smooth"})}return!0}const P=R4().isSafari;return N&&!s&&P&&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,R),t===0?i.transitionEnd(r,R):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,R))}),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 Rk(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(R){return R<0?-Math.floor(Math.abs(R)):Math.floor(R)}const v=x(b),S=i.map(R=>x(R)),T=s.freeMode&&s.freeMode.enabled;let _=i[S.indexOf(v)-1];if(typeof _>"u"&&(s.cssMode||T)){let R;i.forEach((N,Q)=>{v>=N&&(R=Q)}),typeof R<"u"&&(_=T?i[R]:i[R>0?R-1:R])}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 R=n.params.virtual&&n.params.virtual.enabled&&n.virtual?n.virtual.slides.length-1:n.slides.length-1;return n.slideTo(R,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 Mk(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(Ql(r,`${a}[data-swiper-slide-index="${i}"]`)[0]),_4(()=>{e.slideTo(s)})):e.slideTo(s)}else e.slideTo(s)}var Bk={slideTo:Lk,slideToLoop:Ek,slideNext:Ik,slidePrev:Rk,slideReset:Mk,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=()=>{Ql(s,`.${n.slideClass}, swiper-slide`).forEach((S,T)=>{S.setAttribute("data-swiper-slide-index",T)})},a=()=>{const v=Ql(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?F2("swiper-slide",[n.slideBlankClass]):F2("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 sm("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 sm("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,R=S||!!T||!!_;if(d.allowSlidePrev=!0,d.allowSlideNext=!0,d.virtual&&v.virtual.enabled){t&&(!R&&d.snapIndex===0?d.slideTo(d.virtual.slides.length,0,!1,!0):R&&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 N=v.slidesPerView;N==="auto"?N=d.slidesPerViewDynamic():(N=Math.ceil(parseFloat(v.slidesPerView,10)),R&&N%2===0&&(N=N+1));const Q=v.slidesPerGroupAuto?N:v.slidesPerGroup;let M=R?Math.max(Q,Math.ceil(N/2)):Q;M%Q!==0&&(M+=Q-M%Q),M+=v.loopAdditionalSlides,d.loopedSlides=M;const P=d.grid&&v.grid&&v.grid.rows>1;h.length<N+M||d.params.effect==="cards"&&h.length<N+M*2?sm("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"):P&&v.grid.fill==="row"&&sm("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const A=[],F=[],z=P?Math.ceil(h.length/v.grid.rows):h.length,Y=i&&z-L<N&&!R;let U=Y?L:d.activeIndex;typeof s>"u"?s=d.getSlideIndex(h.find(de=>de.classList.contains(v.slideActiveClass))):U=s;const W=r==="next"||!r,ne=r==="prev"||!r;let se=0,pe=0;const ve=(P?h[s].column:s)+(R&&typeof n>"u"?-N/2+.5:0);if(ve<M){se=Math.max(M-ve,Q);for(let de=0;de<M-ve;de+=1){const ie=de-Math.floor(de/z)*z;if(P){const Ce=z-ie-1;for(let Ze=h.length-1;Ze>=0;Ze-=1)h[Ze].column===Ce&&A.push(Ze)}else A.push(z-ie-1)}}else if(ve+N>z-M){pe=Math.max(ve-(z-M*2),Q),Y&&(pe=Math.max(pe,N-z+L+1));for(let de=0;de<pe;de+=1){const ie=de-Math.floor(de/z)*z;P?h.forEach((Ce,Ze)=>{Ce.column===ie&&F.push(Ze)}):F.push(ie)}}if(d.__preventObserver__=!0,requestAnimationFrame(()=>{d.__preventObserver__=!1}),d.params.effect==="cards"&&h.length<N+M*2&&(F.includes(s)&&F.splice(F.indexOf(s),1),A.includes(s)&&A.splice(A.indexOf(s),1)),ne&&A.forEach(de=>{h[de].swiperLoopMoveDOM=!0,x.prepend(h[de]),h[de].swiperLoopMoveDOM=!1}),W&&F.forEach(de=>{h[de].swiperLoopMoveDOM=!0,x.append(h[de]),h[de].swiperLoopMoveDOM=!1}),d.recalcSlides(),v.slidesPerView==="auto"?d.updateSlides():P&&(A.length>0&&ne||F.length>0&&W)&&d.slides.forEach((de,ie)=>{d.grid.updateSlide(ie,de,d.slides)}),v.watchSlidesProgress&&d.updateSlidesOffset(),t){if(A.length>0&&ne){if(typeof e>"u"){const de=d.slidesGrid[U],Ce=d.slidesGrid[U+se]-de;u?d.setTranslate(d.translate-Ce):(d.slideTo(U+Math.ceil(se),0,!1,!0),n&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-Ce,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-Ce))}else if(n){const de=P?A.length/v.grid.rows:A.length;d.slideTo(d.activeIndex+de,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(F.length>0&&W)if(typeof e>"u"){const de=d.slidesGrid[U],Ce=d.slidesGrid[U-pe]-de;u?d.setTranslate(d.translate-Ce):(d.slideTo(U-pe,0,!1,!0),n&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-Ce,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-Ce))}else{const de=P?F.length/v.grid.rows:F.length;d.slideTo(d.activeIndex-de,0,!1,!0)}}if(d.allowSlidePrev=m,d.allowSlideNext=b,d.controller&&d.controller.control&&!a){const de={slideRealIndex:e,direction:r,setTranslate:n,activeSlideIndex:s,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach(ie=>{!ie.destroyed&&ie.params.loop&&ie.loopFix({...de,slideTo:ie.params.slidesPerView===v.slidesPerView?t:!1})}):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...de,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===Su()||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=Su();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=nm(),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=Su(),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(M=>M.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=nm());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 M;r.isHorizontal()&&i.currentY===i.startY||r.isVertical()&&i.currentX===i.startX?n.isScrolling=!1:x*x+v*v>=25&&(M=Math.atan2(Math.abs(v),Math.abs(x))*180/Math.PI,n.isScrolling=r.isHorizontal()?M>s.touchAngle:90-M>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,R=r.touchesDirection==="next"&&r.allowSlideNext||r.touchesDirection==="prev"&&r.allowSlidePrev;if(!n.isMoved){if(L&&R&&r.loopFix({direction:r.swipeDirection}),n.startTranslate=r.getTranslate(),r.setTransition(0),r.animating){const M=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});r.wrapperEl.dispatchEvent(M)}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&&R&&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 N=!0,Q=s.resistanceRatio;if(s.touchReleaseOnEdges&&(Q=0),S>0?(L&&R&&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()&&(N=!1,s.resistance&&(n.currentTranslate=r.minTranslate()-1+(-r.minTranslate()+n.startTranslate+S)**Q))):S<0&&(L&&R&&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()&&(N=!1,s.resistance&&(n.currentTranslate=r.maxTranslate()+1-(r.maxTranslate()-n.startTranslate-S)**Q))),N&&(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(M=>M.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=nm(),x=b-r.touchStartTime;if(t.allowClick){const M=n.path||n.composedPath&&n.composedPath();t.updateClickedSlide(M&&M[0]||n.target,M),t.emit("tap click",n),x<300&&b-r.lastClickTime<300&&t.emit("doubleTap doubleClick",n)}if(r.lastClickTime=nm(),_4(()=>{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 M=0;M<h.length;M+=M<a.slidesPerGroupSkip?1:a.slidesPerGroup){const P=M<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;typeof h[M+P]<"u"?(S||v>=h[M]&&v<h[M+P])&&(T=M,_=h[M+P]-h[M]):(S||v>=h[M])&&(T=M,_=h[h.length-1]-h[h.length-2])}let L=null,R=null;a.rewind&&(t.isBeginning?R=a.virtual&&a.virtual.enabled&&t.virtual?t.virtual.slides.length-1:t.slides.length-1:t.isEnd&&(L=0));const N=(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"&&(N>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?L:T+Q):t.slideTo(T)),t.swipeDirection==="prev"&&(N>1-a.longSwipesRatio?t.slideTo(T+Q):R!==null&&N<0&&Math.abs(N)>a.longSwipesRatio?t.slideTo(R):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(R!==null?R: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 N4=(e,t)=>{const r=Su(),{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),N4(e,"on")}function Xk(){N4(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=Su(),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(P=>{if(typeof b[P]>"u")return;const A=n[P]&&n[P].enabled,F=b[P]&&b[P].enabled;A&&!F&&e[P].disable(),!A&&F&&e[P].enable()});const L=b.direction&&b.direction!==n.direction,R=n.loop&&(b.slidesPerView!==n.slidesPerView||L),N=n.loop;L&&r&&e.changeDirection(),Xo(e.params,b);const Q=e.params.enabled,M=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&&(R?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!N&&M?(e.loopCreate(t),e.updateSlides()):N&&!M&&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_},Q2={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){Xo(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)){Xo(t,n);return}typeof e[s]=="object"&&!("enabled"in e[s])&&(e[s].enabled=!0),e[s]||(e[s]={enabled:!1}),Xo(t,n)}}const t1={eventsEmitter:ok,update:bk,translate:Sk,transition:_k,slide:Bk,loop:Ok,grabCursor:Hk,events:Jk,breakpoints:r_,checkOverflow:l_,classes:o_},r1={};let ux=class Fl{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=Xo({},n),r&&!n.el&&(n.el=r);const s=Su();if(n.el&&typeof n.el=="string"&&s.querySelectorAll(n.el).length>1){const d=[];return s.querySelectorAll(n.el).forEach(h=>{const m=Xo({},n,{el:h});d.push(new Fl(m))}),d}const i=this;i.__swiper__=!0,i.support=E4(),i.device=I4({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=Xo({},Q2,a);return i.params=Xo({},u,r1,n),i.originalParams=Xo({},i.params),i.passedParams=Xo({},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=Ql(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=Ql(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()):Ql(n,s())[0];return!a&&r.params.createElements&&(a=F2("div",r.params.wrapperClass),n.append(a),Ql(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"||Ac(n,"direction")==="rtl",rtlTranslate:r.params.direction==="horizontal"&&(n.dir.toLowerCase()==="rtl"||Ac(n,"direction")==="rtl"),wrongRTL:Ac(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)})}),O2(r),r.initialized=!0,O2(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){Xo(r1,t)}static get extendedDefaults(){return r1}static get defaults(){return Q2}static installModule(t){Fl.prototype.__modules__||(Fl.prototype.__modules__=[]);const r=Fl.prototype.__modules__;typeof t=="function"&&r.indexOf(t)<0&&r.push(t)}static use(t){return Array.isArray(t)?(t.forEach(r=>Fl.installModule(r)),Fl):(Fl.installModule(t),Fl)}};Object.keys(t1).forEach(e=>{Object.keys(t1[e]).forEach(t=>{ux.prototype[t]=t1[e][t]})});ux.use([sk,ik]);const D4=["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 xu(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"&&!e.__swiper__}function Sd(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]:xu(t[n])&&xu(e[n])&&Object.keys(t[n]).length>0?t[n].__swiper__?e[n]=t[n]:Sd(e[n],t[n]):e[n]=t[n]})}function B4(e={}){return e.navigation&&typeof e.navigation.nextEl>"u"&&typeof e.navigation.prevEl>"u"}function P4(e={}){return e.pagination&&typeof e.pagination.el>"u"}function j4(e={}){return e.scrollbar&&typeof e.scrollbar.el>"u"}function F4(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,R,N,Q,M,P;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&&(R=!0),n.includes("navigation")&&r.navigation&&(r.navigation.prevEl||i)&&(r.navigation.nextEl||s)&&(h.navigation||h.navigation===!1)&&b&&!b.prevEl&&!b.nextEl&&(N=!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?M=!0:P=!0),d.forEach(F=>{if(xu(h[F])&&xu(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&&(P=!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()),R&&(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()),N&&(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||P)&&e.loopDestroy(),(M||P)&&e.loopCreate(),e.update()}function f_(e={},t=!0){const r={on:{}},n={},s={};Sd(r,Q2),r._emitClasses=!0,r.init=!1;const i={},a=D4.map(d=>d.replace(/_/,"")),u=Object.assign({},e);return Object.keys(u).forEach(d=>{typeof e[d]>"u"||(a.indexOf(d)>=0?xu(e[d])?(r[d]={},s[d]={},Sd(r[d],e[d]),Sd(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){B4(a)&&t&&r&&(i.params.navigation.nextEl=t,i.originalParams.navigation.nextEl=t,i.params.navigation.prevEl=r,i.originalParams.navigation.prevEl=r),P4(a)&&n&&(i.params.pagination.el=n,i.originalParams.pagination.el=n),j4(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 D4.filter(d=>d[0]==="_").map(d=>d.replace(/_/,"")).forEach(d=>{if(d in e&&d in t)if(xu(e[d])&&xu(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 im(){return im=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},im.apply(this,arguments)}function O4(e){return e.type&&e.type.displayName&&e.type.displayName.includes("SwiperSlide")}function Q4(e){const t=[];return D.Children.toArray(e).forEach(r=>{O4(r)?t.push(r):r.props&&r.props.children&&Q4(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(O4(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=Q4(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),R=w.useRef(null),N=w.useRef(null),Q=w.useRef(null),M=w.useRef(null),P=w.useRef(null),{params:A,passedParams:F,rest:z,events:Y}=f_(i),{slides:U,slots:W}=g_(n),ne=()=>{v(!x)};Object.assign(A.on,{_containerClasses(de,ie){h(ie)}});const se=()=>{Object.assign(A.on,Y),u=!0;const de={...A};if(delete de.wrapperClass,_.current=new ux(de),_.current.virtual&&_.current.params.virtual.enabled){_.current.virtual.slides=U;const ie={cache:!1,slides:U,renderExternal:b,renderExternalUpdate:!1};Sd(_.current.params.virtual,ie),Sd(_.current.originalParams.virtual,ie)}};T.current||se(),_.current&&_.current.on("_beforeBreakpoint",ne);const pe=()=>{u||!Y||!_.current||Object.keys(Y).forEach(de=>{_.current.on(de,Y[de])})},ke=()=>{!Y||!_.current||Object.keys(Y).forEach(de=>{_.current.off(de,Y[de])})};w.useEffect(()=>()=>{_.current&&_.current.off("_beforeBreakpoint",ne)}),w.useEffect(()=>{!S.current&&_.current&&(_.current.emitSlidesClasses(),S.current=!0)}),Tf(()=>{if(a&&(a.current=T.current),!!T.current)return _.current.destroyed&&se(),h_({el:T.current,nextEl:N.current,prevEl:Q.current,paginationEl:M.current,scrollbarEl:P.current,swiper:_.current},A),s&&!_.current.destroyed&&s(_.current),()=>{_.current&&!_.current.destroyed&&_.current.destroy(!0,!1)}},[]),Tf(()=>{pe();const de=p_(F,L.current,U,R.current,ie=>ie.key);return L.current=F,R.current=U,de.length&&_.current&&!_.current.destroyed&&d_({swiper:_.current,slides:U,passedParams:F,changedParams:de,nextEl:N.current,prevEl:Q.current,scrollbarEl:P.current,paginationEl:M.current}),()=>{ke()}}),Tf(()=>{m_(_.current)},[m]);function ve(){return A.virtual?b_(_.current,U,m):U.map((de,ie)=>D.cloneElement(de,{swiper:_.current,swiperSlideIndex:ie}))}return D.createElement(t,im({ref:T,className:F4(`${d}${e?` ${e}`:""}`)},z),D.createElement(x_.Provider,{value:_.current},W["container-start"],D.createElement(r,{className:u_(A.wrapperClass)},W["wrapper-start"],ve(),W["wrapper-end"]),B4(A)&&D.createElement(D.Fragment,null,D.createElement("div",{ref:Q,className:"swiper-button-prev"}),D.createElement("div",{ref:N,className:"swiper-button-next"})),j4(A)&&D.createElement("div",{ref:P,className:"swiper-scrollbar"}),P4(A)&&D.createElement("div",{ref:M,className:"swiper-pagination"}),W["container-end"]))});sh.displayName="Swiper";const yu=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(N,Q,M){Q===m.current&&x(M)}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,R=()=>{S(!0)};return D.createElement(e,im({ref:m,className:F4(`${b}${r?` ${r}`:""}`),"data-swiper-slide-index":a,onLoad:R},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:N=>{N&&(N.lazyPreloaderManaged=!0)}}))),!s&&D.createElement(ry.Provider,{value:_},L(),i&&!v&&D.createElement("div",{className:"swiper-lazy-preloader",ref:N=>{N&&(N.lazyPreloaderManaged=!0)}})))});yu.displayName="SwiperSlide";const Qi=[];for(let e=0;e<256;++e)Qi.push((e+256).toString(16).slice(1));function y_(e,t=0){return(Qi[e[t+0]]+Qi[e[t+1]]+Qi[e[t+2]]+Qi[e[t+3]]+"-"+Qi[e[t+4]]+Qi[e[t+5]]+"-"+Qi[e[t+6]]+Qi[e[t+7]]+"-"+Qi[e[t+8]]+Qi[e[t+9]]+"-"+Qi[e[t+10]]+Qi[e[t+11]]+Qi[e[t+12]]+Qi[e[t+13]]+Qi[e[t+14]]+Qi[e[t+15]]).toLowerCase()}let n1;const v_=new Uint8Array(16);function w_(){if(!n1){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");n1=crypto.getRandomValues.bind(crypto)}return n1(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 s1={exports:{}},i1={},o1={exports:{}},a1={};var iy;function __(){if(iy)return a1;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 a1.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,a1}var oy;function L_(){return oy||(oy=1,o1.exports=__()),o1.exports}var ay;function E_(){if(ay)return i1;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 i1.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(P){if(!R){if(R=!0,N=P,P=x(P),v!==void 0&&T.hasValue){var A=T.value;if(v(A,P))return Q=A}return Q=P}if(A=Q,n(N,P))return A;var F=x(P);return v!==void 0&&v(A,F)?(N=P,A):(N=P,Q=F)}var R=!1,N,Q,M=b===void 0?null:b;return[function(){return L(m())},M===null?void 0:function(){return L(M())}]},[m,b,x,v]);var _=s(h,S[0],S[1]);return a(function(){T.hasValue=!0,T.value=_},[_]),d(_),_},i1}var ly;function I_(){return ly||(ly=1,s1.exports=E_()),s1.exports}var R_=I_();const M_=C4(R_),$4={},{useDebugValue:N_}=D,{useSyncExternalStoreWithSelector:D_}=M_;let cy=!1;const B_=e=>e;function P_(e,t=B_,r){($4?"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=>{($4?"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},H4=e=>e?uy(e):uy,om="auth:unauthorized";let xd=null;class Ic 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 Ic("Failed to load update state",e.status);return e.json()}async function F_(){const e=await an(),t=await fetch("/api/terminal/update/check",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Ic("Failed to check for updates",t.status);return t.json()}async function O_(){const e=await an(),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 Ic(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 Ic("Failed to fetch quota",e.status);return e.json()}async function $_(){const e=await an(),t=await fetch("/api/terminal/quota/refresh",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Ic("Failed to refresh quota",t.status);return t.json()}const Tu=8e3,Tl=1e4,Td=45e3,H_=8e3,U_=8e3,z_=15e3,G_=1e4,Rd=5e3;let W_=0;const Dp=[];let l1=!1;function fc(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(!l1){l1=!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{l1=!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 Ds(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 U4(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 U4(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){xd=null;try{window.dispatchEvent(new CustomEvent(om))}catch{}}return r}}async function an(){if(xd)return xd;const e=await Ds("/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,Rd,"CSRF token response timed out");if(!t.csrfToken)throw new Error("Invalid CSRF token response");return xd=t.csrfToken,xd}function z4(){xd=null}const Y_=2e4,dy=8e3,K_=1500,Oo=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 G4(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 an(),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)},_=M=>{M.heartbeatTimer&&(clearInterval(M.heartbeatTimer),M.heartbeatTimer=null),M.pongTimer&&(clearTimeout(M.pongTimer),M.pongTimer=null),M.inputFlushTimer&&(clearTimeout(M.inputFlushTimer),M.inputFlushTimer=null)},L=M=>{_(M),M.heartbeatTimer=setInterval(()=>{if(M.ws.readyState===WebSocket.OPEN){try{M.ws.send(JSON.stringify({type:"ping"}))}catch{}M.pongTimer&&clearTimeout(M.pongTimer),M.pongTimer=setTimeout(()=>{if(Date.now()-M.lastInboundAt>=dy)try{M.ws.close()}catch{}},dy)}},Y_)},R=()=>{if(d.isClosed=!0,T(),h){_(h),Oo.delete(e);try{h.ws.close()}catch{}h=null}},N=()=>{if(d.isClosed)return;if(h){S.add(h.ws),_(h);try{h.ws.close()}catch{}}const M=rL(e,m),P=new WebSocket(M);x=!1,d.connectionTimeoutId=setTimeout(()=>{P.readyState!==WebSocket.OPEN&&(x=!0,P.close(),Q(new Error("WebSocket connection timeout"),!1))},u);const A={ws:P,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,N()},0)}},retryState:d,lastSeq:m,pendingInputs:b,inputFlushTimer:null,heartbeatTimer:null,pongTimer:null,lastInboundAt:Date.now()};P.onopen=()=>{T(),d.retryCount=0,A.lastInboundAt=Date.now(),L(A),G4(A)},P.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"){R(),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)}},P.onerror=()=>{S.has(P)||(T(),_(A),x||(x=!0,Q(new Error("WebSocket connection error"),!1)))},P.onclose=F=>{if(!S.has(P)&&(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(om))}catch{}Q(new Error("Authentication required"),!0);return}Q(new Error("WebSocket connection closed"),!1)}},h=A,Oo.set(e,h)},Q=(M,P)=>{if(!d.isClosed)if(P)r?.(M,!0),R();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||N()},A)}};return N(),R}async function W4(e,t){const r=Oo.get(e);if(r){if(r.ws.readyState===WebSocket.OPEN){r.pendingInputs.push(t),G4(r);return}if(r.ws.readyState===WebSocket.CONNECTING){r.pendingInputs.push(t);return}}const n=await an(),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=Oo.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=Oo.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=Oo.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=Oo.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=Oo.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=Oo.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 an(),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=Oo.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 an(),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 V4(e){const t=Oo.get(e);if(t){t.retryState.isClosed=!0;try{t.ws.close()}catch{}Oo.delete(e)}const r=await an(),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=Oo.get(e);if(r){r.retryState.isClosed=!0;try{r.ws.close()}catch{}Oo.delete(e)}const n=await an(),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 Ds(`/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,Rd,"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,Rd,"Terminal health response timed out")}async function uL(e){const t=await an(),r=await Ds("/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,Rd,"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 $2(){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 H2(){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 q4(e){const t=e.trim();if(!t)throw new Error("tmux session name is required");const r=await an(),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 Y4(e){const t=dL(e),r=Uh.get(t);if(r)return r;const n=await an(),s=Ds("/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,Rd,"Terminal session open error response timed out").catch(()=>({error:"Failed to open session"}));throw new Ic(a.error||"Failed to open session",i.status,typeof a.code=="string"?a.code:void 0)}return Md(i,Rd,"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 an(),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 an(),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 an(),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 an(),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 an(),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 dx(){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 Ol(e){const t=await an(),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 an(),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 z4(),{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 an();await fetch("/api/auth/logout",{method:"POST",headers:{"X-XSRF-TOKEN":e}}),z4()}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 an(),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 an(),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 fx 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 an(),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 fx(n.error||"Failed to create agent plugin",n.code,n.migration);return n}async function EL(e){const t=await an(),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 fx(n.error||"Failed to install agent plugin",n.code,n.migration);return n}async function IL(e){const t=await an(),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 RL(e){const t=await an(),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 ML(e){const t=await an(),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 an(),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 an(),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 Vu(e){const t=await an(),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 an(),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 an(),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 an(),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 K4(e){const t=e.lastIndexOf(".");return t<0?null:FL[e.slice(t).toLowerCase()]??null}function hx(e){return K4(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 Z4(e){const t=e.lastIndexOf(".");return t<0?null:OL[e.slice(t).toLowerCase()]??null}function X4(e){return Z4(e)!==null}function QL(e){return`/api/terminal/fs/video?path=${encodeURIComponent(e)}&action=view_file`}const $L=[".stl",".glb",".gltf"];function J4(e){const t=e.lastIndexOf(".");if(t<0)return null;const r=e.slice(t).toLowerCase();return $L.includes(r)?r:null}function e7(e){return J4(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 t7(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 Ds(`/api/terminal/fs/list?${i}`,{signal:t},Tu,"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 Yb="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 E6(e,t){const r=hS(e,t);return r?Tn(Yb,fS)?.[r]??"source":"source"}function aK(e,t,r){const n=hS(e,t);if(!n)return;const s=Tn(Yb,fS)??{};Br(Yb,{...s,[n]:r})}function y2(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 R=w.useCallback(U=>{const W=n.current;if(!W)return;const ne=Number.isFinite(W.duration)?W.duration:U;W.currentTime=Math.min(Math.max(U,0),ne)},[]),N=w.useCallback(U=>{const W=s.current,ne=n.current;if(!W||!ne)return;const se=W.getBoundingClientRect(),pe=lK(U,se,ne.duration);u.current=pe,L(pe),a.current===null&&(a.current=requestAnimationFrame(()=>{a.current=null,R(u.current)}))},[R]),Q=w.useCallback(()=>{a.current!==null&&(cancelAnimationFrame(a.current),a.current=null),R(u.current)},[R]),M=w.useCallback(U=>{const W=n.current;if(!(!W||!Number.isFinite(W.duration)||W.duration<=0)){i.current=!W.paused,W.pause(),T(!0);try{U.currentTarget.setPointerCapture(U.pointerId)}catch{}N(U.clientX)}},[N]),P=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 W=n.current;if(!W||!Number.isFinite(W.duration))return;const ne=U.shiftKey?10:5;let se=null;U.key==="ArrowLeft"?se=W.currentTime-ne:U.key==="ArrowRight"?se=W.currentTime+ne:U.key==="Home"?se=0:U.key==="End"&&(se=W.duration),se!==null&&(U.preventDefault(),R(se))},[R]),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:y2(_)})]}),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(gR,{size:14}):l.jsx(CR,{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:M,onPointerMove:U=>{S&&N(U.clientX)},onPointerUp:P,onPointerCancel:P,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:[y2(z)," / ",y2(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",v2="termdock:right-sidebar:collapsed-git-repo-groups:v1",I6="termdock:right-sidebar:collapsed-diff-directories:v1",w2="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",M6="termdock:right-sidebar:context-draft-collapsed:v1",N6="termdock:right-sidebar:context-draft-auto-collapse:v1",A2="termdock:right-sidebar:context-draft-text:v1",dK=300,fK=20,hK=120,pK=250,mK=250,gK=120,bK=700,S2=600,D6=[2e3,5e3,15e3,3e4],xK=320,yK=500,vK=20,wK=12e3,Kb=300,B6=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(()=>Hd(()=>import("./ModelPreview-MUquuQ7M.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 P6(){return Tn(pS,_K)??"preview"}function EK(){return Tn(mS,LK)??"tree"}function Sf(e){return typeof e=="boolean"}function IK(e){return typeof e=="string"}function RK(){return Tn(gS,Sf)??!0}function MK(e){return e==="unified"||e==="split"}function NK(){return Tn(bS,MK)??"unified"}function DK(e){return e==="name"||e==="content"||e==="regex"}function BK(){return Tn(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 Tn(vS,jK)??{}}function j6(e){if(!e)return;const t=CS();return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0}function T2(e,t){e&&Br(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 Zb(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function F6(e){const t=Tn(e,Zb);return t?new Set(t):new Set}function C2(e,t){Br(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||Zb(t.files))&&(t.hunks===void 0||Array.isArray(t.hunks)&&t.hunks.every(OK))&&(t.commits===void 0||Zb(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 O6(){return Tn(yS,HK)??{}}function Q6(e){return[e.repoRoot,e.baseRef,e.branchName??"",e.headRef??"",e.diffFingerprint??""].join("\0")}function $6(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||$6(r)===$6(n)}function H6(e){const t=e?.branch??null;return[e?.upstream,...e?.remoteBranches??[],...e?.branches??[]].find(n=>n&&!kS(n,t))??""}function Xb(e,t){const r=Math.max(B6,t-320),n=Math.min(AK,r);return Math.min(n,Math.max(B6,e))}function UK(e){return typeof e=="number"&&Number.isFinite(e)}function zK(e){return Xb(Tn(Af,UK)??Kb,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 Jb(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 tm(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 RS(e){return e.replace(/\s+#+\s*$/,"").trim()}function ex(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 U6(e){return IS(e)||e.trim()}function Pm(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=rx(t[2]);return r?{id:tm(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 MS(e){return e.trim().toLowerCase()}function NS(e){const t=e.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return t?{id:MS(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 z6(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(!hx(n.split(/[?#]/,1)[0]))return null;let s;if(n.startsWith("/")){const i=r&&(n===r||n.startsWith(`${r}/`));s=z6(r&&!i?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;s=z6(`${KK(t)}/${n}`)}return`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`}const tx=128,XK=360,k2=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,tx),XK),s=t*i/r):(s=t,i=r),n>0&&s>n&&(i=i*n/s,s=n),i>k2&&(s=s*k2/i,i=k2),{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=yt(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 R=()=>h(L.clientWidth);if(R(),typeof ResizeObserver>"u")return;const N=new ResizeObserver(R);return N.observe(L),()=>N.disconnect()},[]),w.useEffect(()=>{if(a)return;const _=i.current;if(!_||typeof IntersectionObserver>"u"){u(!0);return}const L=new IntersectionObserver(R=>{R.some(N=>N.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 R=window.setTimeout(()=>{_.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return fetch(s,{signal:_.signal}).then(async N=>{if(!N.ok)throw new Error(`HTTP ${N.status}`);const Q=Number(N.headers.get("X-Image-Width"))||0,M=Number(N.headers.get("X-Image-Height"))||0;return{blob:await N.blob(),width:Q,height:M}}).then(({blob:N,width:Q,height:M})=>{_.signal.aborted||(L=URL.createObjectURL(N),Q>0&&M>0&&v({width:Q,height:M}),b({status:"ready",objectUrl:L}))}).catch(()=>{const N=_.signal.reason;_.signal.aborted&&!(N instanceof DOMException&&N.name==="TimeoutError")||b({status:"fallback"})}).finally(()=>{window.clearTimeout(R)}),()=>{window.clearTimeout(R),_.abort(),L&&URL.revokeObjectURL(L)}},[a,s]);const S=JK(e,x?.width??0,x?.height??0,d),T=S??{width:tx*2,height:tx};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 _2(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 L2(e){let t=e,r="";for(;/[.,;:!?)]$/.test(t);)r=`${t.slice(-1)}${r}`,t=t.slice(0,-1);return{linkText:t,suffix:r}}function G6(e){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(e)}function rx(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 W6(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=Hd(()=>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([Hd(()=>import("./katex-DnlPpQZa.js"),[]),Hd(()=>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=di(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 di(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(W6(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:di(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:di(h.slice(2,-2),`${m}-strong`,r,n)},m));else if(h.startsWith("*")||h.startsWith("_"))a.push(l.jsx("em",{className:"italic",children:di(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=rx(x[2]);a.push(T?_2(m,x[1],T.href,T.title,n):h)}else if(v){const T=v[2]||v[1],_=n.referenceDefinitions.get(tm(T));a.push(_?_2(m,v[1],_.href,_.title,n):h)}else if(S){const T=n.referenceDefinitions.get(tm(S[1]));a.push(T?_2(m,S[1],T.href,T.title,n):h)}else a.push(h)}else if(h.startsWith("[^")){const x=MS(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(">")&&G6(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(G6(L2(h).linkText)){const{linkText:x,suffix:v}=L2(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}=L2(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(tm(T)):null,L=x?rx(x[2]):null,R=L?.href??_?.href??null,N=R?GK(R):null,Q=x?.[1]??v?.[1]??S?.[1]??"";a.push(N?l.jsx("a",{href:N,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:di(Q,`${m}-link`,r,n)},m):h)}u=i.lastIndex}return u<s.length&&a.push(W6(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(...di($S(s),`${t}-${i}`,!0,r)),i<e.length-1&&n.push(a?l.jsx("br",{},`${t}-${i}-br`):" ")}),n}function nx(e,t,r){const n=[],s=[];return e.forEach((i,a)=>{s.push(QS(i)),n.push(di($S(i),`${t}-${a}`,!0,r))}),{perLine:n,hardBreaks:s}}function sx(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,di(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:di(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:[di(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 R="Details";const N=[];for(i+=1;i<e.length&&!/^<\/details>\s*$/i.test(e[i].trim());){const Q=e[i].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);Q?R=Q[1].trim()||R:N.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:di(R,`${t}-details-${L}-summary`,!0,r)}),N.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(N,`${t}-details-${L}`,r)})]},`${t}-details-${L}`)});continue}const h=OS(u);if(h){const L=[u],R=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 Yb="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 E6(e,t){const r=hS(e,t);return r?Tn(Yb,fS)?.[r]??"source":"source"}function aK(e,t,r){const n=hS(e,t);if(!n)return;const s=Tn(Yb,fS)??{};Br(Yb,{...s,[n]:r})}function y2(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 R=w.useCallback(U=>{const W=n.current;if(!W)return;const ne=Number.isFinite(W.duration)?W.duration:U;W.currentTime=Math.min(Math.max(U,0),ne)},[]),N=w.useCallback(U=>{const W=s.current,ne=n.current;if(!W||!ne)return;const se=W.getBoundingClientRect(),pe=lK(U,se,ne.duration);u.current=pe,L(pe),a.current===null&&(a.current=requestAnimationFrame(()=>{a.current=null,R(u.current)}))},[R]),Q=w.useCallback(()=>{a.current!==null&&(cancelAnimationFrame(a.current),a.current=null),R(u.current)},[R]),M=w.useCallback(U=>{const W=n.current;if(!(!W||!Number.isFinite(W.duration)||W.duration<=0)){i.current=!W.paused,W.pause(),T(!0);try{U.currentTarget.setPointerCapture(U.pointerId)}catch{}N(U.clientX)}},[N]),P=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 W=n.current;if(!W||!Number.isFinite(W.duration))return;const ne=U.shiftKey?10:5;let se=null;U.key==="ArrowLeft"?se=W.currentTime-ne:U.key==="ArrowRight"?se=W.currentTime+ne:U.key==="Home"?se=0:U.key==="End"&&(se=W.duration),se!==null&&(U.preventDefault(),R(se))},[R]),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:y2(_)})]}),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(gR,{size:14}):l.jsx(CR,{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:M,onPointerMove:U=>{S&&N(U.clientX)},onPointerUp:P,onPointerCancel:P,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:[y2(z)," / ",y2(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",v2="termdock:right-sidebar:collapsed-git-repo-groups:v1",I6="termdock:right-sidebar:collapsed-diff-directories:v1",w2="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",M6="termdock:right-sidebar:context-draft-collapsed:v1",N6="termdock:right-sidebar:context-draft-auto-collapse:v1",A2="termdock:right-sidebar:context-draft-text:v1",dK=300,fK=20,hK=120,pK=250,mK=250,gK=120,bK=700,S2=600,D6=[2e3,5e3,15e3,3e4],xK=320,yK=500,vK=20,wK=12e3,Kb=300,B6=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(()=>Hd(()=>import("./ModelPreview-CVr0JHTh.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 P6(){return Tn(pS,_K)??"preview"}function EK(){return Tn(mS,LK)??"tree"}function Sf(e){return typeof e=="boolean"}function IK(e){return typeof e=="string"}function RK(){return Tn(gS,Sf)??!0}function MK(e){return e==="unified"||e==="split"}function NK(){return Tn(bS,MK)??"unified"}function DK(e){return e==="name"||e==="content"||e==="regex"}function BK(){return Tn(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 Tn(vS,jK)??{}}function j6(e){if(!e)return;const t=CS();return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0}function T2(e,t){e&&Br(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 Zb(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")}function F6(e){const t=Tn(e,Zb);return t?new Set(t):new Set}function C2(e,t){Br(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||Zb(t.files))&&(t.hunks===void 0||Array.isArray(t.hunks)&&t.hunks.every(OK))&&(t.commits===void 0||Zb(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 O6(){return Tn(yS,HK)??{}}function Q6(e){return[e.repoRoot,e.baseRef,e.branchName??"",e.headRef??"",e.diffFingerprint??""].join("\0")}function $6(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||$6(r)===$6(n)}function H6(e){const t=e?.branch??null;return[e?.upstream,...e?.remoteBranches??[],...e?.branches??[]].find(n=>n&&!kS(n,t))??""}function Xb(e,t){const r=Math.max(B6,t-320),n=Math.min(AK,r);return Math.min(n,Math.max(B6,e))}function UK(e){return typeof e=="number"&&Number.isFinite(e)}function zK(e){return Xb(Tn(Af,UK)??Kb,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 Jb(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 tm(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 RS(e){return e.replace(/\s+#+\s*$/,"").trim()}function ex(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 U6(e){return IS(e)||e.trim()}function Pm(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=rx(t[2]);return r?{id:tm(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 MS(e){return e.trim().toLowerCase()}function NS(e){const t=e.match(/^\s{0,3}\[\^([^\]]+)\]:\s+(.+)\s*$/);return t?{id:MS(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 z6(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(!hx(n.split(/[?#]/,1)[0]))return null;let s;if(n.startsWith("/")){const i=r&&(n===r||n.startsWith(`${r}/`));s=z6(r&&!i?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;s=z6(`${KK(t)}/${n}`)}return`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`}const tx=128,XK=360,k2=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,tx),XK),s=t*i/r):(s=t,i=r),n>0&&s>n&&(i=i*n/s,s=n),i>k2&&(s=s*k2/i,i=k2),{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=yt(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 R=()=>h(L.clientWidth);if(R(),typeof ResizeObserver>"u")return;const N=new ResizeObserver(R);return N.observe(L),()=>N.disconnect()},[]),w.useEffect(()=>{if(a)return;const _=i.current;if(!_||typeof IntersectionObserver>"u"){u(!0);return}const L=new IntersectionObserver(R=>{R.some(N=>N.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 R=window.setTimeout(()=>{_.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return fetch(s,{signal:_.signal}).then(async N=>{if(!N.ok)throw new Error(`HTTP ${N.status}`);const Q=Number(N.headers.get("X-Image-Width"))||0,M=Number(N.headers.get("X-Image-Height"))||0;return{blob:await N.blob(),width:Q,height:M}}).then(({blob:N,width:Q,height:M})=>{_.signal.aborted||(L=URL.createObjectURL(N),Q>0&&M>0&&v({width:Q,height:M}),b({status:"ready",objectUrl:L}))}).catch(()=>{const N=_.signal.reason;_.signal.aborted&&!(N instanceof DOMException&&N.name==="TimeoutError")||b({status:"fallback"})}).finally(()=>{window.clearTimeout(R)}),()=>{window.clearTimeout(R),_.abort(),L&&URL.revokeObjectURL(L)}},[a,s]);const S=JK(e,x?.width??0,x?.height??0,d),T=S??{width:tx*2,height:tx};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 _2(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 L2(e){let t=e,r="";for(;/[.,;:!?)]$/.test(t);)r=`${t.slice(-1)}${r}`,t=t.slice(0,-1);return{linkText:t,suffix:r}}function G6(e){return/^[^\s@<>]+@[^\s@<>]+\.[^\s@<>]+$/.test(e)}function rx(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 W6(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=Hd(()=>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([Hd(()=>import("./katex-DnlPpQZa.js"),[]),Hd(()=>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=di(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 di(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(W6(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:di(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:di(h.slice(2,-2),`${m}-strong`,r,n)},m));else if(h.startsWith("*")||h.startsWith("_"))a.push(l.jsx("em",{className:"italic",children:di(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=rx(x[2]);a.push(T?_2(m,x[1],T.href,T.title,n):h)}else if(v){const T=v[2]||v[1],_=n.referenceDefinitions.get(tm(T));a.push(_?_2(m,v[1],_.href,_.title,n):h)}else if(S){const T=n.referenceDefinitions.get(tm(S[1]));a.push(T?_2(m,S[1],T.href,T.title,n):h)}else a.push(h)}else if(h.startsWith("[^")){const x=MS(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(">")&&G6(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(G6(L2(h).linkText)){const{linkText:x,suffix:v}=L2(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}=L2(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(tm(T)):null,L=x?rx(x[2]):null,R=L?.href??_?.href??null,N=R?GK(R):null,Q=x?.[1]??v?.[1]??S?.[1]??"";a.push(N?l.jsx("a",{href:N,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:di(Q,`${m}-link`,r,n)},m):h)}u=i.lastIndex}return u<s.length&&a.push(W6(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(...di($S(s),`${t}-${i}`,!0,r)),i<e.length-1&&n.push(a?l.jsx("br",{},`${t}-${i}-br`):" ")}),n}function nx(e,t,r){const n=[],s=[];return e.forEach((i,a)=>{s.push(QS(i)),n.push(di($S(i),`${t}-${a}`,!0,r))}),{perLine:n,hardBreaks:s}}function sx(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,di(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:di(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:[di(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 R="Details";const N=[];for(i+=1;i<e.length&&!/^<\/details>\s*$/i.test(e[i].trim());){const Q=e[i].trim().match(/^<summary>(.*?)<\/summary>\s*$/i);Q?R=Q[1].trim()||R:N.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:di(R,`${t}-details-${L}-summary`,!0,r)}),N.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(N,`${t}-details-${L}`,r)})]},`${t}-details-${L}`)});continue}const h=OS(u);if(h){const L=[u],R=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-${R}`)});continue}const m=d.match(/^(```|~~~)\s*(.*)$/);if(m){const L=[],R=m[1],N=m[2]?.trim(),Q=i;for(i+=1;i<e.length&&!e[i].trim().startsWith(R);)L.push(e[i]),i+=1;i<e.length&&(i+=1),N.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(N.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:N,blockKey:`${t}-code-${Q}`,codeStartLine:a(Q)+1});continue}if(jm(u)){const L=[],R=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-${R}`,code:L.join(`
178
- `).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${R}`,codeStartLine:a(R)});continue}const b=d.match(/^(#{1,6})\s+(.+)$/);if(b){const R=`h${Math.min(6,b[1].length+1)}`,N=RS(b[2]),Q=ex(N,r);s.push({kind:"static",node:l.jsx(R,{id:Q,className:"scroll-mt-16 font-semibold text-foreground",children:di(N,`${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),R=zS(e[i+1]),N=[],Q=i;for(i+=2;i<e.length&&e[i].includes("|")&&e[i].trim();)N.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((M,P)=>l.jsx("th",{className:`${AS} ${Fm(R[P]??null)}`,children:l.jsx("div",{className:Bm,children:di(M,`${t}-th-${Q}-${P}`,!0,r)})},`h-${P}`))})}),l.jsx("tbody",{children:N.map((M,P)=>l.jsx("tr",{className:"border-t border-border/10",children:L.map((A,F)=>l.jsx("td",{className:`${SS} ${Fm(R[F]??null)}`,children:l.jsx("div",{className:Bm,children:di(M[F]??"",`${t}-td-${Q}-${P}-${F}`,!0,r)})},`c-${F}`))},`r-${P}`))})]})},`${t}-table-${Q}`)});continue}const x=_5(u);if(x){const L=x.ordered,R=k5(u),N=x.start,Q=i,M=GS(e,i,R,L,!1);i=M.nextIndex,s.push({kind:"list",keyPrefix:`${t}-list-${Q}`,ordered:L,start:L?N:void 0,renders:L5(M.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()&&!Jb(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 _=nx(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:sx(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,V6=!1;const Lp=16,WS=192;function pZ(){return _p||(_p=Hd(()=>import("./mermaid.core-BomIvgGf.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){V6||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),V6=!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-${R}`,codeStartLine:a(R)});continue}const b=d.match(/^(#{1,6})\s+(.+)$/);if(b){const R=`h${Math.min(6,b[1].length+1)}`,N=RS(b[2]),Q=ex(N,r);s.push({kind:"static",node:l.jsx(R,{id:Q,className:"scroll-mt-16 font-semibold text-foreground",children:di(N,`${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),R=zS(e[i+1]),N=[],Q=i;for(i+=2;i<e.length&&e[i].includes("|")&&e[i].trim();)N.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((M,P)=>l.jsx("th",{className:`${AS} ${Fm(R[P]??null)}`,children:l.jsx("div",{className:Bm,children:di(M,`${t}-th-${Q}-${P}`,!0,r)})},`h-${P}`))})}),l.jsx("tbody",{children:N.map((M,P)=>l.jsx("tr",{className:"border-t border-border/10",children:L.map((A,F)=>l.jsx("td",{className:`${SS} ${Fm(R[F]??null)}`,children:l.jsx("div",{className:Bm,children:di(M[F]??"",`${t}-td-${Q}-${P}-${F}`,!0,r)})},`c-${F}`))},`r-${P}`))})]})},`${t}-table-${Q}`)});continue}const x=_5(u);if(x){const L=x.ordered,R=k5(u),N=x.start,Q=i,M=GS(e,i,R,L,!1);i=M.nextIndex,s.push({kind:"list",keyPrefix:`${t}-list-${Q}`,ordered:L,start:L?N:void 0,renders:L5(M.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()&&!Jb(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 _=nx(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:sx(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,V6=!1;const Lp=16,WS=192;function pZ(){return _p||(_p=Hd(()=>import("./mermaid.core-BKuLTbNu.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){V6||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),V6=!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 P=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-${P}`,startLine:P+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:di(A,`details-${P}-summary`,!0,d)}),F.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(F,`details-${P}`,d)})]})});continue}const S=OS(x);if(S){const P=[x],A=m;for(m+=1;m<e.length&&!S.selfContained&&!new RegExp(`</${S.tag}>`,"i").test(e[m]);)P.push(e[m]),m+=1;m<e.length&&!S.selfContained&&(P.push(e[m]),m+=1),h.push({key:`html-${A}`,startLine:A+1,endLine:m,content:l.jsx(FS,{html:P.join(`
181
181
  `)})});continue}const T=v.match(/^(```|~~~)\s*(.*)$/);if(T){const P=[],A=T[1],F=T[2]?.trim(),z=m;for(m+=1;m<e.length&&!e[m].trim().startsWith(A);)P.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:P.join(`
@@ -448,4 +448,4 @@ ${Pt}
448
448
  + }
449
449
  return context;
450
450
  }`}};function x4(){if(typeof window>"u")return"kotlin";const t=new URLSearchParams(window.location.search).get("fixture");return t&&t in ox?t:"kotlin"}function y4(){return typeof window>"u"?"unified":new URLSearchParams(window.location.search).get("view")==="split"?"split":"unified"}function v4(){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 w4(){return typeof window>"u"?!0:new URLSearchParams(window.location.search).get("wrap")!=="off"}function EX(){const[e,t]=w.useState(()=>x4()),[r,n]=w.useState(()=>y4()),[s,i]=w.useState(()=>v4()),[a,u]=w.useState(()=>w4()),d=ox[e],h=w.useMemo(()=>Object.entries(ox),[]);return w.useEffect(()=>{if(typeof window>"u")return;let m=window.location.search;const b=()=>{window.location.search!==m&&(m=window.location.search,t(x4()),n(y4()),i(v4()),u(w4()))};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,ax="/tmp/termdock-diff-review-lab";function A4(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 IX(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=`${ax}/${i}`,u=A4(i,s),d=A4(i,1);return{key:a,path:i,absolutePath:a,status:"modified",repoRoot:ax,displayName:`File${n}.ts`,displayDir:`src/module${String(n).padStart(2,"0")} · ${s} lines`,diffOverride:!t||e.has(n)?u:d,auditRecords:[]}})}function RX(){const e=w.useMemo(()=>{if(typeof window>"u")return 0;const L=new URLSearchParams(window.location.search).get("delay"),R=L===null?0:Number.parseInt(L,10);return Number.isInteger(R)&&R>0?R:0},[]),t=e>0,[r,n]=w.useState(()=>new Set);w.useEffect(()=>{if(!t)return;const L=Array.from({length:oT},(R,N)=>window.setTimeout(()=>{n(Q=>{const M=new Set(Q);return M.add(N),M})},e+N*20));return()=>L.forEach(R=>window.clearTimeout(R))},[t,e]);const s=w.useMemo(()=>IX(r,t),[r,t]),i=w.useMemo(()=>[{key:"mock-repo",root:ax,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 R=Number.parseInt(L,10);return Number.isInteger(R)&&R>=0&&R<s.length?R: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(R=>{const N=new Set(R);return N.has(L)?N.delete(L):N.add(L),N}),onSelectFile:L=>{d(L.key),m(R=>({key:L.key,nonce:R.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,j2="termdock:build-id:v1";let S4=!1;function T4(){S4||(S4=!0,window.setTimeout(()=>{window.location.reload()},80))}function lx(e){e.waiting?.postMessage({type:"SKIP_WAITING"})}async function NX(){if(typeof caches>"u")return;const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}function DX(e){e.addEventListener("updatefound",()=>{const t=e.installing;t&&t.addEventListener("statechange",()=>{t.state==="installed"&&navigator.serviceWorker.controller&&lx(e)})})}function BX(){if(typeof window>"u"||!("serviceWorker"in navigator))return;const e="1787384982948",t=window.localStorage.getItem(j2);if(t&&t!==e){NX().finally(()=>{window.localStorage.setItem(j2,e),T4()});return}t!==e&&window.localStorage.setItem(j2,e);let r=null;navigator.serviceWorker.addEventListener("controllerchange",T4),window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js",{scope:"/"}).then(n=>{DX(n),lx(n);const s=()=>{document.visibilityState==="visible"&&n.update().then(()=>lx(n)).catch(()=>{})};s(),r=window.setInterval(s,MX),document.addEventListener("visibilitychange",s)}).catch(()=>{})}),window.addEventListener("beforeunload",()=>{r!==null&&window.clearInterval(r)})}lj();BX();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 PX(){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(om,a),()=>window.removeEventListener(om,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(_X,{onLoginSuccess:i}):l.jsx(CX,{})}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(LX,{}):e.get("diff-review-lab")==="1"?l.jsx(RX,{}):e.get("diff-lab")==="1"?l.jsx(EX,{}):l.jsx(PX,{})})()})})}));export{oR as M,Ea as R,OR as S,Hd as _,Ut as c,l as j,Hr as u,T_ as v};
451
+ `)}function IX(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=`${ax}/${i}`,u=A4(i,s),d=A4(i,1);return{key:a,path:i,absolutePath:a,status:"modified",repoRoot:ax,displayName:`File${n}.ts`,displayDir:`src/module${String(n).padStart(2,"0")} · ${s} lines`,diffOverride:!t||e.has(n)?u:d,auditRecords:[]}})}function RX(){const e=w.useMemo(()=>{if(typeof window>"u")return 0;const L=new URLSearchParams(window.location.search).get("delay"),R=L===null?0:Number.parseInt(L,10);return Number.isInteger(R)&&R>0?R:0},[]),t=e>0,[r,n]=w.useState(()=>new Set);w.useEffect(()=>{if(!t)return;const L=Array.from({length:oT},(R,N)=>window.setTimeout(()=>{n(Q=>{const M=new Set(Q);return M.add(N),M})},e+N*20));return()=>L.forEach(R=>window.clearTimeout(R))},[t,e]);const s=w.useMemo(()=>IX(r,t),[r,t]),i=w.useMemo(()=>[{key:"mock-repo",root:ax,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 R=Number.parseInt(L,10);return Number.isInteger(R)&&R>=0&&R<s.length?R: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(R=>{const N=new Set(R);return N.has(L)?N.delete(L):N.add(L),N}),onSelectFile:L=>{d(L.key),m(R=>({key:L.key,nonce:R.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,j2="termdock:build-id:v1";let S4=!1;function T4(){S4||(S4=!0,window.setTimeout(()=>{window.location.reload()},80))}function lx(e){e.waiting?.postMessage({type:"SKIP_WAITING"})}async function NX(){if(typeof caches>"u")return;const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}function DX(e){e.addEventListener("updatefound",()=>{const t=e.installing;t&&t.addEventListener("statechange",()=>{t.state==="installed"&&navigator.serviceWorker.controller&&lx(e)})})}function BX(){if(typeof window>"u"||!("serviceWorker"in navigator))return;const e="1787387422025",t=window.localStorage.getItem(j2);if(t&&t!==e){NX().finally(()=>{window.localStorage.setItem(j2,e),T4()});return}t!==e&&window.localStorage.setItem(j2,e);let r=null;navigator.serviceWorker.addEventListener("controllerchange",T4),window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js",{scope:"/"}).then(n=>{DX(n),lx(n);const s=()=>{document.visibilityState==="visible"&&n.update().then(()=>lx(n)).catch(()=>{})};s(),r=window.setInterval(s,MX),document.addEventListener("visibilitychange",s)}).catch(()=>{})}),window.addEventListener("beforeunload",()=>{r!==null&&window.clearInterval(r)})}lj();BX();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 PX(){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(om,a),()=>window.removeEventListener(om,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(_X,{onLoginSuccess:i}):l.jsx(CX,{})}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(LX,{}):e.get("diff-review-lab")==="1"?l.jsx(RX,{}):e.get("diff-lab")==="1"?l.jsx(EX,{}):l.jsx(PX,{})})()})})}));export{oR as M,Ea as R,OR as S,Hd as _,Ut as c,l as j,Hr as u,T_ as v};