termdock 1.4.85 → 1.4.86
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.desktop-dist/main.js +17 -0
- package/dist/client/assets/{ModelPreview-x-gVmx5l.js → ModelPreview-BUQkeGc_.js} +1 -1
- package/dist/client/assets/{abnfDiagram-VRR7QNED-D2qvv0Zw.js → abnfDiagram-VRR7QNED-vm3k1lNF.js} +1 -1
- package/dist/client/assets/{arc-CYSXrbN1.js → arc-Dl_8Encb.js} +1 -1
- package/dist/client/assets/{architectureDiagram-ZJ3FMSHR-PFuCyJaE.js → architectureDiagram-ZJ3FMSHR-BV9osO_c.js} +1 -1
- package/dist/client/assets/{blockDiagram-677ZJIJ3-FWFpUut5.js → blockDiagram-677ZJIJ3-CBJP2oap.js} +1 -1
- package/dist/client/assets/{c4Diagram-LMCZKHZV-NQ-UVS9s.js → c4Diagram-LMCZKHZV-DNAxpHyU.js} +1 -1
- package/dist/client/assets/channel-DE5H971o.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-DIIOY-9m.js → chunk-2Q5K7J3B-BZvPeiby.js} +1 -1
- package/dist/client/assets/{chunk-32BRIVSS-7tdRpjN1.js → chunk-32BRIVSS-B17__27a.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-BjQDyl53.js → chunk-5VM5RSS4-s_o5aTTi.js} +1 -1
- package/dist/client/assets/{chunk-EX3LRPZG-BHccD1Jc.js → chunk-EX3LRPZG-DuDDQoCu.js} +1 -1
- package/dist/client/assets/{chunk-JWPE2WC7-DLgwlCsc.js → chunk-JWPE2WC7-D9j3Fu_K.js} +1 -1
- package/dist/client/assets/{chunk-MOJQB5TN-_XkEwWw0.js → chunk-MOJQB5TN-DztCxDGj.js} +1 -1
- package/dist/client/assets/{chunk-RYQCIY6F-CpQ3vnIP.js → chunk-RYQCIY6F-DuFuy126.js} +1 -1
- package/dist/client/assets/{chunk-V7JOEXUC-ClkCLtru.js → chunk-V7JOEXUC-Bv9bXHT1.js} +1 -1
- package/dist/client/assets/{chunk-VR4S4FIN-BSk0GciI.js → chunk-VR4S4FIN-IPUweWuB.js} +1 -1
- package/dist/client/assets/{chunk-XXDRQBXY-C-Zi8HRF.js → chunk-XXDRQBXY-Bj65qYUK.js} +1 -1
- package/dist/client/assets/classDiagram-OUVF2IWQ-B45BaKl1.js +1 -0
- package/dist/client/assets/classDiagram-v2-EOCWNBFH-B45BaKl1.js +1 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-B2O1x4r8.js → cose-bilkent-JH36ORCC-BYGHJ9CA.js} +1 -1
- package/dist/client/assets/{cynefin-VYW2F7L2-P25yxYmN.js → cynefin-VYW2F7L2-DQH5Jyzc.js} +1 -1
- package/dist/client/assets/{cynefinDiagram-TSTJHNR4-B-7hsCTj.js → cynefinDiagram-TSTJHNR4-DSXUmO45.js} +1 -1
- package/dist/client/assets/{dagre-VKFMJZFB-BetmSnTQ.js → dagre-VKFMJZFB-De79pwxq.js} +1 -1
- package/dist/client/assets/{diagram-FQU43EPY-CYJJlW6P.js → diagram-FQU43EPY-CXOz7U0h.js} +1 -1
- package/dist/client/assets/{diagram-G47NLZAW-Dxq5D-nY.js → diagram-G47NLZAW-vlkx-khL.js} +1 -1
- package/dist/client/assets/{diagram-NH7WQ7WH-9ysyFvIk.js → diagram-NH7WQ7WH-RbPtiPxz.js} +1 -1
- package/dist/client/assets/{diagram-OA4YK3LP-Du_4iYAY.js → diagram-OA4YK3LP-BnR-bfIN.js} +1 -1
- package/dist/client/assets/{diagram-WEI45ONY-AQD5hSLB.js → diagram-WEI45ONY-DysS3azG.js} +1 -1
- package/dist/client/assets/{ebnfDiagram-CCIWWBDH-ld-EFSyX.js → ebnfDiagram-CCIWWBDH-Du9MeT0-.js} +1 -1
- package/dist/client/assets/{erDiagram-Q63AITRT-44lU6jNI.js → erDiagram-Q63AITRT-CSieCGri.js} +1 -1
- package/dist/client/assets/{flowDiagram-23GEKE2U-DvnsoOJf.js → flowDiagram-23GEKE2U-C3LVTor1.js} +1 -1
- package/dist/client/assets/{ganttDiagram-NO4QXBWP-BfKGcRpU.js → ganttDiagram-NO4QXBWP-Bvy43Syk.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-IHSO6WYX-BPOpkLj_.js → gitGraphDiagram-IHSO6WYX-C8vj1X-A.js} +1 -1
- package/dist/client/assets/{index-Dhsl0IBe.js → index-C0cw8a1G.js} +4 -4
- package/dist/client/assets/{infoDiagram-FWYZ7A6U-C5zIDqM3.js → infoDiagram-FWYZ7A6U-CnMT-TPz.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-FXEZZL3T-DR60fdmG.js → ishikawaDiagram-FXEZZL3T-BevXUT0-.js} +1 -1
- package/dist/client/assets/{journeyDiagram-5HDEW3XC-U7JuaLLm.js → journeyDiagram-5HDEW3XC-0HZqalKe.js} +1 -1
- package/dist/client/assets/{kanban-definition-HUTT4EX6-BcOmPd6g.js → kanban-definition-HUTT4EX6-BogcrEb4.js} +1 -1
- package/dist/client/assets/{linear-D8_UAAll.js → linear-VnTuS9FG.js} +1 -1
- package/dist/client/assets/{mermaid.core-N0fp_txY.js → mermaid.core-CGMy6JK2.js} +4 -4
- package/dist/client/assets/{mindmap-definition-LN4V7U3C-DiPaXO25.js → mindmap-definition-LN4V7U3C-Dk2nHo2U.js} +1 -1
- package/dist/client/assets/{pegDiagram-2B236MQR-Duj6PAcI.js → pegDiagram-2B236MQR-BLmrHnYP.js} +1 -1
- package/dist/client/assets/{pieDiagram-ENE6RG2P-Cz2FdMES.js → pieDiagram-ENE6RG2P-DtqlJuFZ.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-ABIIQ3AL-CsGZVu5Q.js → quadrantDiagram-ABIIQ3AL-CVDf8oTT.js} +1 -1
- package/dist/client/assets/{railroadDiagram-RFXS5EU6-CN7lFRi7.js → railroadDiagram-RFXS5EU6-BOSS_T-1.js} +1 -1
- package/dist/client/assets/{requirementDiagram-TGXJPOKE-J6m5g1xu.js → requirementDiagram-TGXJPOKE-DR4NHh0J.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-HTMAVEWB-Ca8xdDWn.js → sankeyDiagram-HTMAVEWB-DwurCfQ5.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-DBY2YBRQ-B5BQV7Ys.js → sequenceDiagram-DBY2YBRQ-BNq81eo1.js} +1 -1
- package/dist/client/assets/{sizeCapture-X5ZJPWSS-CnhPROOr.js → sizeCapture-X5ZJPWSS-Diwq6q5e.js} +1 -1
- package/dist/client/assets/{stateDiagram-2N3HPSRC-CKEpHxzQ.js → stateDiagram-2N3HPSRC-DMJPokr8.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-6OUMAXLB-Kd1QQQgr.js +1 -0
- package/dist/client/assets/{swimlanes-5IMT3BWC-Bzc51xfk.js → swimlanes-5IMT3BWC-MK_EqUoT.js} +2 -2
- package/dist/client/assets/swimlanesDiagram-G3AALYLV-B5siOVAX.js +8 -0
- package/dist/client/assets/{timeline-definition-FHXFAJF6-dYHskWFP.js → timeline-definition-FHXFAJF6-B4QvQ2rC.js} +1 -1
- package/dist/client/assets/{vennDiagram-L72KCM5P-ym89NGNH.js → vennDiagram-L72KCM5P-DXl7MJUt.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-EHGQE667-BJyUdVl4.js → wardleyDiagram-EHGQE667-D2u6m38M.js} +1 -1
- package/dist/client/assets/{xychartDiagram-FW5EYKEG-EFvvBQby.js → xychartDiagram-FW5EYKEG-25O6C8LG.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/client/sw.js +1 -1
- package/package.json +1 -1
- package/runtime-manifest.json +1 -1
- package/dist/client/assets/channel-BWfzE-EL.js +0 -1
- package/dist/client/assets/classDiagram-OUVF2IWQ-DmZLKfjT.js +0 -1
- package/dist/client/assets/classDiagram-v2-EOCWNBFH-DmZLKfjT.js +0 -1
- package/dist/client/assets/stateDiagram-v2-6OUMAXLB-eNWMjZsm.js +0 -1
- package/dist/client/assets/swimlanesDiagram-G3AALYLV-C8O0qbI9.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-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/index-Ca-rq7yX.js","assets/react-XDCjal2T.js","assets/ModelPreview-BUQkeGc_.js","assets/dnd-BCFAPC0L.js","assets/terminal-C7X98Amf.js","assets/katex-55ZPZeOF.css","assets/mermaid.core-CGMy6JK2.js","assets/purify.es-CC4Brkr_.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{r as Qm,a as BC,g as T4}from"./react-XDCjal2T.js";import{b as w,R as B,r as ec,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 qg={exports:{}},H0={};var U5;function OC(){if(U5)return H0;U5=1;var e=Qm(),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,g={},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)&&(g[m]=d[m]);if(u&&u.defaultProps)for(m in d=u.defaultProps,d)g[m]===void 0&&(g[m]=d[m]);return{$$typeof:t,type:u,key:x,ref:v,props:g,_owner:s.current}}return H0.Fragment=r,H0.jsx=a,H0.jsxs=a,H0}var z5;function QC(){return z5||(z5=1,qg.exports=OC()),qg.exports}var l=QC(),Uh={},G5;function $C(){if(G5)return Uh;G5=1;var e=BC();return Uh.createRoot=e.createRoot,Uh.hydrateRoot=e.hydrateRoot,Uh}var HC=$C();const UC=T4(HC);function W5(e){return e!==null&&typeof e=="object"&&"constructor"in e&&e.constructor===Object}function ux(e={},t={}){const r=["__proto__","constructor","prototype"];Object.keys(t).filter(n=>r.indexOf(n)<0).forEach(n=>{typeof e[n]>"u"?e[n]=t[n]:W5(t[n])&&W5(e[n])&&Object.keys(t[n]).length>0&&ux(e[n],t[n])})}const C4={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 Iu(){const e=typeof document<"u"?document:{};return ux(e,C4),e}const zC={document:C4,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 Mo(){const e=typeof window<"u"?window:{};return ux(e,zC),e}function GC(e=""){return e.trim().split(" ").filter(t=>!!t.trim())}function WC(e){const t=e;Object.keys(t).forEach(r=>{try{t[r]=null}catch{}try{delete t[r]}catch{}})}function k4(e,t=0){return setTimeout(e,t)}function rm(){return Date.now()}function VC(e){const t=Mo();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=Mo();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 zh(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"}function KC(e){return typeof window<"u"&&typeof window.HTMLElement<"u"?e instanceof HTMLElement:e&&(e.nodeType===1||e.nodeType===11)}function oa(...e){const t=Object(e[0]);for(let r=1;r<e.length;r+=1){const n=e[r];if(n!=null&&!KC(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&&(zh(t[u])&&zh(n[u])?n[u].__swiper__?t[u]=n[u]:oa(t[u],n[u]):!zh(t[u])&&zh(n[u])?(t[u]={},n[u].__swiper__?t[u]=n[u]:oa(t[u],n[u])):t[u]=n[u])}}}return t}function Xu(e,t,r){e.style.setProperty(t,r)}function _4({swiper:e,targetPosition:t,side:r}){const n=Mo(),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=(g,x)=>d==="next"&&g>=x||d==="prev"&&g<=x,m=()=>{a=new Date().getTime(),i===null&&(i=a);const g=Math.max(Math.min((a-i)/u,1),0),x=.5-Math.cos(g*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 zl(e,t=""){const r=Mo(),n=[...e.children];return r.HTMLSlotElement&&e instanceof HTMLSlotElement&&n.push(...e.assignedElements()),t?n.filter(s=>s.matches(t)):n}function YC(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=Mo();let n=t.contains(e);return!n&&r.HTMLSlotElement&&t instanceof HTMLSlotElement&&(n=[...t.assignedElements()].includes(e),n||(n=YC(e,t))),n}function nm(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 _c(e,t){return Mo().getComputedStyle(e,null).getPropertyValue(t)}function V5(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 q5(e,t,r){const n=Mo();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 K5(e,t=""){typeof trustedTypes<"u"?e.innerHTML=trustedTypes.createPolicy("html",{createHTML:r=>r}).createHTML(t):e.innerHTML=t}let Kg;function tk(){const e=Mo(),t=Iu();return{smoothScroll:t.documentElement&&t.documentElement.style&&"scrollBehavior"in t.documentElement.style,touch:!!("ontouchstart"in e||e.DocumentTouch&&t instanceof e.DocumentTouch)}}function L4(){return Kg||(Kg=tk()),Kg}let Yg;function rk({userAgent:e}={}){const t=L4(),r=Mo(),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_]+))?/),g=!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||g||m)&&(i.os="ios",i.ios=!0),i}function E4(e={}){return Yg||(Yg=rk(e)),Yg}let Zg;function nk(){const e=Mo(),t=E4();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 I4(){return Zg||(Zg=nk()),Zg}function sk({swiper:e,on:t,emit:r}){const n=Mo();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:g,height:x}=e;let v=g,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!==g||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=Mo(),a=(h,m={})=>{const g=i.MutationObserver||i.WebkitMutationObserver,x=new g(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(_c(n,"padding-left")||0,10)-parseInt(_c(n,"padding-right")||0,10),r=r-parseInt(_c(n,"padding-top")||0,10)-parseInt(_c(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(K,U){return parseFloat(K.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=zl(s,`.${e.params.slideClass}, swiper-slide`),m=u?e.virtual.slides.length:h.length;let g=[];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 M=r.spaceBetween,Q=-S,D=0,j=0;if(typeof R>"u")return;typeof M=="string"&&M.indexOf("%")>=0?M=parseFloat(M.replace("%",""))/100*R:typeof M=="string"&&(M=parseFloat(M)),e.virtualSize=-M-S-T,h.forEach(K=>{i?K.style.marginLeft="":K.style.marginRight="",K.style.marginBottom="",K.style.marginTop=""}),r.centeredSlides&&r.cssMode&&(Xu(n,"--swiper-centered-offset-before",""),Xu(n,"--swiper-centered-offset-after","")),r.cssMode&&(Xu(n,"--swiper-slides-offset-before",`${S}px`),Xu(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 O;const z=r.slidesPerView==="auto"&&r.breakpoints&&Object.keys(r.breakpoints).filter(K=>typeof r.breakpoints[K].slidesPerView<"u").length>0;for(let K=0;K<m;K+=1){O=0;const U=h[K];if(!(U&&(A&&e.grid.updateSlide(K,U,h),_c(U,"display")==="none"))){if(u&&r.slidesPerView==="auto")r.virtual.slidesPerViewAutoSlideSize&&(O=r.virtual.slidesPerViewAutoSlideSize),O&&U&&(r.roundLengths&&(O=Math.floor(O)),U.style[e.getDirectionLabel("width")]=`${O}px`);else if(r.slidesPerView==="auto"){z&&(U.style[e.getDirectionLabel("width")]="");const W=getComputedStyle(U),ne=U.style.transform,ie=U.style.webkitTransform;if(ne&&(U.style.transform="none"),ie&&(U.style.webkitTransform="none"),r.roundLengths)O=e.isHorizontal()?q5(U,"width"):q5(U,"height");else{const ge=t(W,"width"),ke=t(W,"padding-left"),ve=t(W,"padding-right"),fe=t(W,"margin-left"),ae=t(W,"margin-right"),Te=W.getPropertyValue("box-sizing");if(Te&&Te==="border-box")O=ge+fe+ae;else{const{clientWidth:Ze,offsetWidth:Pe}=U;O=ge+ke+ve+fe+ae+(Pe-Ze)}}ne&&(U.style.transform=ne),ie&&(U.style.webkitTransform=ie),r.roundLengths&&(O=Math.floor(O))}else O=(R-(r.slidesPerView-1)*M)/r.slidesPerView,r.roundLengths&&(O=Math.floor(O)),U&&(U.style[e.getDirectionLabel("width")]=`${O}px`);U&&(U.swiperSlideSize=O),v.push(O),r.centeredSlides?(Q=Q+O/2+D/2+M,D===0&&K!==0&&(Q=Q-R/2-M),K===0&&(Q=Q-R/2-M),Math.abs(Q)<1/1e3&&(Q=0),r.roundLengths&&(Q=Math.floor(Q)),j%r.slidesPerGroup===0&&g.push(Q),x.push(Q)):(r.roundLengths&&(Q=Math.floor(Q)),(j-Math.min(e.params.slidesPerGroupSkip,j))%e.params.slidesPerGroup===0&&g.push(Q),x.push(Q),Q=Q+O+M),e.virtualSize+=O+M,D=O,j+=1}}if(e.virtualSize=Math.max(e.virtualSize,R)+T,i&&a&&(r.effect==="slide"||r.effect==="coverflow")&&(n.style.width=`${e.virtualSize+M}px`),r.setWrapperSize&&(n.style[e.getDirectionLabel("width")]=`${e.virtualSize+M}px`),A&&e.grid.updateWrapperSize(O,g),!r.centeredSlides){const K=r.slidesPerView!=="auto"&&r.slidesPerView%1!==0,U=r.snapToSlideEdge&&!r.loop&&(r.slidesPerView==="auto"||K);let W=g.length;if(U){let ie;if(r.slidesPerView==="auto"){ie=1;let ge=0;for(let ke=v.length-1;ke>=0&&(ge+=v[ke]+(ke<v.length-1?M:0),ge<=R);ke-=1)ie=v.length-ke}else ie=Math.floor(r.slidesPerView);W=Math.max(m-ie,0)}const ne=[];for(let ie=0;ie<g.length;ie+=1){let ge=g[ie];r.roundLengths&&(ge=Math.floor(ge)),U?ie<=W&&ne.push(ge):g[ie]<=e.virtualSize-R&&ne.push(ge)}g=ne,Math.floor(e.virtualSize-R)-Math.floor(g[g.length-1])>1&&(U||g.push(e.virtualSize-R))}if(u&&r.loop){const K=v[0]+M;if(r.slidesPerGroup>1){const U=Math.ceil((e.virtual.slidesBefore+e.virtual.slidesAfter)/r.slidesPerGroup),W=K*r.slidesPerGroup;for(let ne=0;ne<U;ne+=1)g.push(g[g.length-1]+W)}for(let U=0;U<e.virtual.slidesBefore+e.virtual.slidesAfter;U+=1)r.slidesPerGroup===1&&g.push(g[g.length-1]+K),x.push(x[x.length-1]+K),e.virtualSize+=K}if(g.length===0&&(g=[0]),M!==0){const K=e.isHorizontal()&&i?"marginLeft":e.getDirectionLabel("marginRight");h.filter((U,W)=>!r.cssMode||r.loop?!0:W!==h.length-1).forEach(U=>{U.style[K]=`${M}px`})}if(r.centeredSlides&&r.centeredSlidesBounds){let K=0;v.forEach(W=>{K+=W+(M||0)}),K-=M;const U=K>R?K-R:0;g=g.map(W=>W<=0?-S:W>U?U+T:W)}if(r.centerInsufficientSlides){let K=0;if(v.forEach(U=>{K+=U+(M||0)}),K-=M,K<R){const U=(R-K)/2;g.forEach((W,ne)=>{g[ne]=W-U}),x.forEach((W,ne)=>{x[ne]=W+U})}}if(Object.assign(e,{slides:h,snapGrid:g,slidesGrid:x,slidesSizesGrid:v}),r.centeredSlides&&r.cssMode&&!r.centeredSlidesBounds){Xu(n,"--swiper-centered-offset-before",`${-g[0]}px`),Xu(n,"--swiper-centered-offset-after",`${e.size/2-v[v.length-1]/2}px`);const K=-e.snapGrid[0],U=-e.slidesGrid[0];e.snapGrid=e.snapGrid.map(W=>W+K),e.slidesGrid=e.slidesGrid.map(W=>W+U)}if(m!==d&&e.emit("slidesLengthChange"),g.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 K=`${r.containerModifierClass}backface-hidden`,U=e.el.classList.contains(K);m<=r.maxBackfaceHiddenSlides?U||e.el.classList.add(K):U&&e.el.classList.remove(K)}}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 Y5=(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 g=(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)),Y5(h,_,r.slideVisibleClass),Y5(h,T,r.slideFullyVisibleClass),h.progress=s?-g:g,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,g=Math.abs(e-t.maxTranslate())<1;i=m||s<=0,a=g||s>=1,m&&(s=0),g&&(s=1)}if(r.loop){const m=t.getSlideIndexByData(0),g=t.getSlideIndexByData(t.slides.length-1),x=t.slidesGrid[m],v=t.slidesGrid[g],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 Xg=(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=g=>zl(n,`.${r.slideClass}${g}, swiper-slide${g}`)[0];let d,h,m;if(i)if(r.loop){let g=s-e.virtual.slidesBefore;g<0&&(g=e.virtual.slides.length+g),g>=e.virtual.slides.length&&(g-=e.virtual.slides.length),d=u(`[data-swiper-slide-index="${g}"]`)}else d=u(`[data-swiper-slide-index="${s}"]`);else a?(d=t.find(g=>g.column===s),m=t.find(g=>g.column===s+1),h=t.find(g=>g.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(g=>{Xg(g,g===d,r.slideActiveClass),Xg(g,g===m,r.slideNextClass),Xg(g,g===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()}},Jg=(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)&&Jg(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)&&Jg(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)&&Jg(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 g=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(g){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 g=r.maxTranslate()-r.minTranslate();g===0?m=0:m=(e-r.minTranslate())/g,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 g=i.isHorizontal();if(t===0)u[g?"scrollLeft":"scrollTop"]=-m;else{if(!i.support.smoothScroll)return _4({swiper:i,targetPosition:-m,side:g?"left":"top"}),!0;u.scrollTo({[g?"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 R4({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(),R4({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),R4({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:g,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 O=-Math.floor(L*100),z=Math.floor(h[A]*100),K=Math.floor(h[A+1]*100);typeof h[A+1]<"u"?O>=z&&O<K-(K-z)/2?a=A:O>=z&&O<K&&(a=A+1):O>=z&&(a=A)}if(i.initialized&&a!==g&&(!i.allowSlideNext&&(x?L>i.translate&&L>i.minTranslate():L<i.translate&&L<i.minTranslate())||!i.allowSlidePrev&&L>i.translate&&L>i.maxTranslate()&&(g||0)!==a))return!1;a!==(m||0)&&r&&i.emit("beforeSlideChangeStart"),i.updateProgress(L);let R;a>g?R="next":a<g?R="prev":R="reset";const M=i.virtual&&i.params.virtual.enabled;if(!(M&&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(),O=x?L:-L;if(t===0)M&&(i.wrapperEl.style.scrollSnapType="none",i._immediateVirtual=!0),M&&!i._cssModeVirtualInitialSet&&i.params.initialSlide>0?(i._cssModeVirtualInitialSet=!0,requestAnimationFrame(()=>{v[A?"scrollLeft":"scrollTop"]=O})):v[A?"scrollLeft":"scrollTop"]=O,M&&requestAnimationFrame(()=>{i.wrapperEl.style.scrollSnapType="",i._immediateVirtual=!1});else{if(!i.support.smoothScroll)return _4({swiper:i,targetPosition:O,side:A?"left":"top"}),!0;v.scrollTo({[A?"left":"top"]:O,behavior:"smooth"})}return!0}const j=I4().isSafari;return M&&!s&&j&&i.isElement&&i.virtual.update(!1,!1,a),i.setTransition(t),i.setTranslate(L),i.updateActiveIndex(a),i.updateSlidesClasses(),i.emit("beforeTransitionStart",t,n),i.transitionStart(r,R),t===0?i.transitionEnd(r,R):i.animating||(i.animating=!0,i.onSlideToWrapperTransitionEnd||(i.onSlideToWrapperTransitionEnd=function(O){!i||i.destroyed||O.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:g}=s.params,x=h||!!m||!!g;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 g=u?n.translate:-n.translate;function x(R){return R<0?-Math.floor(Math.abs(R)):Math.floor(R)}const v=x(g),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((M,Q)=>{v>=M&&(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(zl(r,`${a}[data-swiper-slide-index="${i}"]`)[0]),k4(()=>{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=()=>{zl(s,`.${n.slideClass}, swiper-slide`).forEach((S,T)=>{S.setAttribute("data-swiper-slide-index",T)})},a=()=>{const v=zl(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,g=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;g(v),r.recalcSlides(),r.updateSlides()}else nm("Swiper Loop Warning: The number of slides is not even to slidesPerGroup, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else if(m){if(n.loopAddBlankSlides){const v=n.grid.rows-r.slides.length%n.grid.rows;g(v),r.recalcSlides(),r.updateSlides()}else nm("Swiper Loop Warning: The number of slides is not even to grid.rows, loop mode may not function properly. You need to add more slides (or make duplicates, or empty slides)");i()}else i();const x=n.centeredSlides||!!n.slidesOffsetBefore||!!n.slidesOffsetAfter;r.loopFix({slideRealIndex:e,direction:x?void 0:"next",initial:t})}function jk({slideRealIndex:e,slideTo:t=!0,direction:r,setTranslate:n,activeSlideIndex:s,initial:i,byController:a,byMousewheel:u}={}){const d=this;if(!d.params.loop)return;d.emit("beforeLoopFix");const{slides:h,allowSlidePrev:m,allowSlideNext:g,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=g,d.emit("loopFix");return}let M=v.slidesPerView;M==="auto"?M=d.slidesPerViewDynamic():(M=Math.ceil(parseFloat(v.slidesPerView,10)),R&&M%2===0&&(M=M+1));const Q=v.slidesPerGroupAuto?M:v.slidesPerGroup;let D=R?Math.max(Q,Math.ceil(M/2)):Q;D%Q!==0&&(D+=Q-D%Q),D+=v.loopAdditionalSlides,d.loopedSlides=D;const j=d.grid&&v.grid&&v.grid.rows>1;h.length<M+D||d.params.effect==="cards"&&h.length<M+D*2?nm("Swiper Loop Warning: The number of slides is not enough for loop mode, it will be disabled or not function properly. You need to add more slides (or make duplicates) or lower the values of slidesPerView and slidesPerGroup parameters"):j&&v.grid.fill==="row"&&nm("Swiper Loop Warning: Loop mode is not compatible with grid.fill = `row`");const A=[],O=[],z=j?Math.ceil(h.length/v.grid.rows):h.length,K=i&&z-L<M&&!R;let U=K?L:d.activeIndex;typeof s>"u"?s=d.getSlideIndex(h.find(fe=>fe.classList.contains(v.slideActiveClass))):U=s;const W=r==="next"||!r,ne=r==="prev"||!r;let ie=0,ge=0;const ve=(j?h[s].column:s)+(R&&typeof n>"u"?-M/2+.5:0);if(ve<D){ie=Math.max(D-ve,Q);for(let fe=0;fe<D-ve;fe+=1){const ae=fe-Math.floor(fe/z)*z;if(j){const Te=z-ae-1;for(let Ze=h.length-1;Ze>=0;Ze-=1)h[Ze].column===Te&&A.push(Ze)}else A.push(z-ae-1)}}else if(ve+M>z-D){ge=Math.max(ve-(z-D*2),Q),K&&(ge=Math.max(ge,M-z+L+1));for(let fe=0;fe<ge;fe+=1){const ae=fe-Math.floor(fe/z)*z;j?h.forEach((Te,Ze)=>{Te.column===ae&&O.push(Ze)}):O.push(ae)}}if(d.__preventObserver__=!0,requestAnimationFrame(()=>{d.__preventObserver__=!1}),d.params.effect==="cards"&&h.length<M+D*2&&(O.includes(s)&&O.splice(O.indexOf(s),1),A.includes(s)&&A.splice(A.indexOf(s),1)),ne&&A.forEach(fe=>{h[fe].swiperLoopMoveDOM=!0,x.prepend(h[fe]),h[fe].swiperLoopMoveDOM=!1}),W&&O.forEach(fe=>{h[fe].swiperLoopMoveDOM=!0,x.append(h[fe]),h[fe].swiperLoopMoveDOM=!1}),d.recalcSlides(),v.slidesPerView==="auto"?d.updateSlides():j&&(A.length>0&&ne||O.length>0&&W)&&d.slides.forEach((fe,ae)=>{d.grid.updateSlide(ae,fe,d.slides)}),v.watchSlidesProgress&&d.updateSlidesOffset(),t){if(A.length>0&&ne){if(typeof e>"u"){const fe=d.slidesGrid[U],Te=d.slidesGrid[U+ie]-fe;u?d.setTranslate(d.translate-Te):(d.slideTo(U+Math.ceil(ie),0,!1,!0),n&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-Te,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-Te))}else if(n){const fe=j?A.length/v.grid.rows:A.length;d.slideTo(d.activeIndex+fe,0,!1,!0),d.touchEventsData.currentTranslate=d.translate}}else if(O.length>0&&W)if(typeof e>"u"){const fe=d.slidesGrid[U],Te=d.slidesGrid[U-ge]-fe;u?d.setTranslate(d.translate-Te):(d.slideTo(U-ge,0,!1,!0),n&&(d.touchEventsData.startTranslate=d.touchEventsData.startTranslate-Te,d.touchEventsData.currentTranslate=d.touchEventsData.currentTranslate-Te))}else{const fe=j?O.length/v.grid.rows:O.length;d.slideTo(d.activeIndex-fe,0,!1,!0)}}if(d.allowSlidePrev=m,d.allowSlideNext=g,d.controller&&d.controller.control&&!a){const fe={slideRealIndex:e,direction:r,setTranslate:n,activeSlideIndex:s,byController:!0};Array.isArray(d.controller.control)?d.controller.control.forEach(ae=>{!ae.destroyed&&ae.params.loop&&ae.loopFix({...fe,slideTo:ae.params.slidesPerView===v.slidesPerView?t:!1})}):d.controller.control instanceof d.constructor&&d.controller.control.params.loop&&d.controller.control.loopFix({...fe,slideTo:d.controller.control.params.slidesPerView===v.slidesPerView?t:!1})}d.emit("loopFix")}function Fk(){const e=this,{params:t,slidesEl:r}=e;if(!t.loop||!r||e.virtual&&e.params.virtual.enabled)return;e.recalcSlides();const n=[];e.slides.forEach(s=>{const i=typeof s.swiperSlideIndex>"u"?s.getAttribute("data-swiper-slide-index")*1:s.swiperSlideIndex;n[i]=s}),e.slides.forEach(s=>{s.removeAttribute("data-swiper-slide-index")}),n.forEach(s=>{r.append(s)}),e.recalcSlides(),e.slideTo(e.realIndex,0)}var Ok={loopCreate:Pk,loopFix:jk,loopDestroy:Fk};function Qk(e){const t=this;if(!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode)return;const r=t.params.touchEventsTarget==="container"?t.el:t.wrapperEl;t.isElement&&(t.__preventObserver__=!0),r.style.cursor="move",r.style.cursor=e?"grabbing":"grab",t.isElement&&requestAnimationFrame(()=>{t.__preventObserver__=!1})}function $k(){const e=this;e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e.isElement&&(e.__preventObserver__=!0),e[e.params.touchEventsTarget==="container"?"el":"wrapperEl"].style.cursor="",e.isElement&&requestAnimationFrame(()=>{e.__preventObserver__=!1}))}var Hk={setGrabCursor:Qk,unsetGrabCursor:$k};function Uk(e,t=this){function r(n){if(!n||n===Iu()||n===Mo())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 Z5(e,t,r){const n=Mo(),{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=Iu();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"){Z5(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 g=i.noSwipingSelector?i.noSwipingSelector:`.${i.noSwipingClass}`,x=!!(n.target&&n.target.shadowRoot);if(i.noSwiping&&(x?Uk(g,d):d.closest(g))){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(!Z5(t,n,v))return;Object.assign(s,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),a.startX=v,a.startY=S,s.touchStartTime=rm(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,i.threshold>0&&(s.allowThresholdMove=!1);let T=!0;d.matches(s.focusableElements)&&(T=!1,d.nodeName==="SELECT"&&(s.isTouched=!1)),r.activeElement&&r.activeElement.matches(s.focusableElements)&&r.activeElement!==d&&(n.pointerType==="mouse"||n.pointerType!=="mouse"&&!d.matches(s.focusableElements))&&r.activeElement.blur();const _=T&&t.allowTouchMove&&i.touchStartPreventDefault;(i.touchStartForcePreventDefault||_)&&!d.isContentEditable&&n.preventDefault(),i.freeMode&&i.freeMode.enabled&&t.freeMode&&t.animating&&!i.cssMode&&t.freeMode.onTouchStart(),t.emit("touchStart",n)}function Gk(e){const t=Iu(),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(D=>D.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,g=h.pageY;if(d.preventedByNestedSwiper){i.startX=m,i.startY=g;return}if(!r.allowTouchMove){d.target.matches(n.focusableElements)||(r.allowClick=!1),n.isTouched&&(Object.assign(i,{startX:m,startY:g,currentX:m,currentY:g}),n.touchStartTime=rm());return}if(s.touchReleaseOnEdges&&!s.loop)if(r.isVertical()){if(g<i.startY&&r.translate<=r.maxTranslate()||g>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=g;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 D;r.isHorizontal()&&i.currentY===i.startY||r.isVertical()&&i.currentX===i.startX?n.isScrolling=!1:x*x+v*v>=25&&(D=Math.atan2(Math.abs(v),Math.abs(x))*180/Math.PI,n.isScrolling=r.isHorizontal()?D>s.touchAngle:90-D>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 D=new window.CustomEvent("transitionend",{bubbles:!0,cancelable:!0,detail:{bySwiperTouchMove:!0}});r.wrapperEl.dispatchEvent(D)}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:g,currentX:m,currentY:g,startTranslate:n.currentTranslate}),n.loopSwapReset=!0,n.startTranslate=n.currentTranslate;return}r.emit("sliderMove",d),n.isMoved=!0,n.currentTranslate=S+n.startTranslate;let M=!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()&&(M=!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()&&(M=!1,s.resistance&&(n.currentTranslate=r.maxTranslate()+1-(r.maxTranslate()-n.startTranslate-S)**Q))),M&&(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(D=>D.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 g=rm(),x=g-r.touchStartTime;if(t.allowClick){const D=n.path||n.composedPath&&n.composedPath();t.updateClickedSlide(D&&D[0]||n.target,D),t.emit("tap click",n),x<300&&g-r.lastClickTime<300&&t.emit("doubleTap doubleClick",n)}if(r.lastClickTime=rm(),k4(()=>{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 D=0;D<h.length;D+=D<a.slidesPerGroupSkip?1:a.slidesPerGroup){const j=D<a.slidesPerGroupSkip-1?1:a.slidesPerGroup;typeof h[D+j]<"u"?(S||v>=h[D]&&v<h[D+j])&&(T=D,_=h[D+j]-h[D]):(S||v>=h[D])&&(T=D,_=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 M=(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"&&(M>=a.longSwipesRatio?t.slideTo(a.rewind&&t.isEnd?L:T+Q):t.slideTo(T)),t.swipeDirection==="prev"&&(M>1-a.longSwipesRatio?t.slideTo(T+Q):R!==null&&M<0&&Math.abs(M)>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 X5(){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 Kk(e){const t=this;t.destroyed||(Np(t,e.target),!(t.params.cssMode||t.params.slidesPerView!=="auto"&&!t.params.autoHeight)&&t.update())}function Yk(){const e=this;e.destroyed||e.documentTouchHandlerProceeded||(e.documentTouchHandlerProceeded=!0,e.params.touchReleaseOnEdges&&(e.el.style.touchAction="auto"))}const M4=(e,t)=>{const r=Iu(),{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",X5,!0):e[h]("observerUpdate",X5,!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=Yk.bind(e),t.cssMode&&(e.onScroll=qk.bind(e)),e.onClick=Vk.bind(e),e.onLoad=Kk.bind(e),M4(e,"on")}function Xk(){M4(this,"off")}var Jk={attachEvents:Zk,detachEvents:Xk};const J5=(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=Iu(),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 g=(h in i?i[h]:void 0)||e.originalParams,x=J5(e,n),v=J5(e,g),S=e.params.grabCursor,T=g.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`),(g.grid.fill&&g.grid.fill==="column"||!g.grid.fill&&n.grid.fill==="column")&&s.classList.add(`${n.containerModifierClass}grid-column`),e.emitContainerClasses()),S&&!T?e.unsetGrabCursor():!S&&T&&e.setGrabCursor(),["navigation","pagination","scrollbar"].forEach(j=>{if(typeof g[j]>"u")return;const A=n[j]&&n[j].enabled,O=g[j]&&g[j].enabled;A&&!O&&e[j].disable(),!A&&O&&e[j].enable()});const L=g.direction&&g.direction!==n.direction,R=n.loop&&(g.slidesPerView!==n.slidesPerView||L),M=n.loop;L&&r&&e.changeDirection(),oa(e.params,g);const Q=e.params.enabled,D=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",g),r&&(R?(e.loopDestroy(),e.loopCreate(t),e.updateSlides()):!M&&D?(e.loopCreate(t),e.updateSlides()):M&&!D&&e.loopDestroy()),e.emit("breakpoint",g)}function t_(e,t="window",r){if(!e||t==="container"&&!r)return;let n=!1;const s=Mo(),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){oa(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)){oa(t,n);return}typeof e[s]=="object"&&!("enabled"in e[s])&&(e[s].enabled=!0),e[s]||(e[s]={enabled:!1}),oa(t,n)}}const e1={eventsEmitter:ok,update:bk,translate:Sk,transition:_k,slide:Bk,loop:Ok,grabCursor:Hk,events:Jk,breakpoints:r_,checkOverflow:l_,classes:o_},t1={};let dx=class Ul{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=oa({},n),r&&!n.el&&(n.el=r);const s=Iu();if(n.el&&typeof n.el=="string"&&s.querySelectorAll(n.el).length>1){const d=[];return s.querySelectorAll(n.el).forEach(h=>{const m=oa({},n,{el:h});d.push(new Ul(m))}),d}const i=this;i.__swiper__=!0,i.support=L4(),i.device=E4({userAgent:n.userAgent}),i.browser=I4(),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=oa({},Q2,a);return i.params=oa({},u,t1,n),i.originalParams=oa({},i.params),i.passedParams=oa({},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=zl(r,`.${n.slideClass}, swiper-slide`),i=V5(s[0]);return V5(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=zl(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 g=i[h]?Math.ceil(i[h].swiperSlideSize):0,x;for(let v=h+1;v<i.length;v+=1)i[v]&&!x&&(g+=Math.ceil(i[v].swiperSlideSize),m+=1,g>d&&(x=!0));for(let v=h-1;v>=0;v-=1)i[v]&&!x&&(g+=i[v].swiperSlideSize,m+=1,g>d&&(x=!0))}else if(t==="current")for(let g=h+1;g<i.length;g+=1)(r?a[g]+u[g]-a[h]<d:a[g]-a[h]<d)&&(m+=1);else for(let g=h-1;g>=0;g-=1)a[h]-a[g]<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()):zl(n,s())[0];return!a&&r.params.createElements&&(a=F2("div",r.params.wrapperClass),n.append(a),zl(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"||_c(n,"direction")==="rtl",rtlTranslate:r.params.direction==="horizontal"&&(n.dir.toLowerCase()==="rtl"||_c(n,"direction")==="rtl"),wrongRTL:_c(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){oa(t1,t)}static get extendedDefaults(){return t1}static get defaults(){return Q2}static installModule(t){Ul.prototype.__modules__||(Ul.prototype.__modules__=[]);const r=Ul.prototype.__modules__;typeof t=="function"&&r.indexOf(t)<0&&r.push(t)}static use(t){return Array.isArray(t)?(t.forEach(r=>Ul.installModule(r)),Ul):(Ul.installModule(t),Ul)}};Object.keys(e1).forEach(e=>{Object.keys(e1[e]).forEach(t=>{dx.prototype[t]=e1[e][t]})});dx.use([sk,ik]);const N4=["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 Cu(e){return typeof e=="object"&&e!==null&&e.constructor&&Object.prototype.toString.call(e).slice(8,-1)==="Object"&&!e.__swiper__}function Ed(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]:Cu(t[n])&&Cu(e[n])&&Object.keys(t[n]).length>0?t[n].__swiper__?e[n]=t[n]:Ed(e[n],t[n]):e[n]=t[n]})}function D4(e={}){return e.navigation&&typeof e.navigation.nextEl>"u"&&typeof e.navigation.prevEl>"u"}function B4(e={}){return e.pagination&&typeof e.pagination.el>"u"}function P4(e={}){return e.scrollbar&&typeof e.scrollbar.el>"u"}function j4(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(O=>O!=="children"&&O!=="direction"&&O!=="wrapperClass"),{params:h,pagination:m,navigation:g,scrollbar:x,virtual:v,thumbs:S}=e;let T,_,L,R,M,Q,D,j;n.includes("thumbs")&&r.thumbs&&r.thumbs.swiper&&!r.thumbs.swiper.destroyed&&h.thumbs&&(!h.thumbs.swiper||h.thumbs.swiper.destroyed)&&(T=!0),n.includes("controller")&&r.controller&&r.controller.control&&h.controller&&!h.controller.control&&(_=!0),n.includes("pagination")&&r.pagination&&(r.pagination.el||u)&&(h.pagination||h.pagination===!1)&&m&&!m.el&&(L=!0),n.includes("scrollbar")&&r.scrollbar&&(r.scrollbar.el||a)&&(h.scrollbar||h.scrollbar===!1)&&x&&!x.el&&(R=!0),n.includes("navigation")&&r.navigation&&(r.navigation.prevEl||i)&&(r.navigation.nextEl||s)&&(h.navigation||h.navigation===!1)&&g&&!g.prevEl&&!g.nextEl&&(M=!0);const A=O=>{e[O]&&(e[O].destroy(),O==="navigation"?(e.isElement&&(e[O].prevEl.remove(),e[O].nextEl.remove()),h[O].prevEl=void 0,h[O].nextEl=void 0,e[O].prevEl=void 0,e[O].nextEl=void 0):(e.isElement&&e[O].el.remove(),h[O].el=void 0,e[O].el=void 0))};n.includes("loop")&&e.isElement&&(h.loop&&!r.loop?Q=!0:!h.loop&&r.loop?D=!0:j=!0),d.forEach(O=>{if(Cu(h[O])&&Cu(r[O]))Object.assign(h[O],r[O]),(O==="navigation"||O==="pagination"||O==="scrollbar")&&"enabled"in r[O]&&!r[O].enabled&&A(O);else{const z=r[O];(z===!0||z===!1)&&(O==="navigation"||O==="pagination"||O==="scrollbar")?z===!1&&A(O):h[O]=r[O]}}),d.includes("controller")&&!_&&e.controller&&e.controller.control&&h.controller&&h.controller.control&&(e.controller.control=h.controller.control),n.includes("children")&&t&&v&&h.virtual.enabled?(v.slides=t,v.update(!0)):n.includes("virtual")&&v&&h.virtual.enabled&&(t&&(v.slides=t),v.update(!0)),n.includes("children")&&t&&h.loop&&(j=!0),T&&S.init()&&S.update(!0),_&&(e.controller.control=h.controller.control),L&&(e.isElement&&(!u||typeof u=="string")&&(u=document.createElement("div"),u.classList.add("swiper-pagination"),u.part.add("pagination"),e.el.appendChild(u)),u&&(h.pagination.el=u),m.init(),m.render(),m.update()),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()),M&&(e.isElement&&((!s||typeof s=="string")&&(s=document.createElement("div"),s.classList.add("swiper-button-next"),K5(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"),K5(i,e.navigation.arrowSvg),i.part.add("button-prev"),e.el.appendChild(i))),s&&(h.navigation.nextEl=s),i&&(h.navigation.prevEl=i),g.init(),g.update()),n.includes("allowSlideNext")&&(e.allowSlideNext=r.allowSlideNext),n.includes("allowSlidePrev")&&(e.allowSlidePrev=r.allowSlidePrev),n.includes("direction")&&e.changeDirection(r.direction,!1),(Q||j)&&e.loopDestroy(),(D||j)&&e.loopCreate(),e.update()}function f_(e={},t=!0){const r={on:{}},n={},s={};Ed(r,Q2),r._emitClasses=!0,r.init=!1;const i={},a=N4.map(d=>d.replace(/_/,"")),u=Object.assign({},e);return Object.keys(u).forEach(d=>{typeof e[d]>"u"||(a.indexOf(d)>=0?Cu(e[d])?(r[d]={},s[d]={},Ed(r[d],e[d]),Ed(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){D4(a)&&t&&r&&(i.params.navigation.nextEl=t,i.originalParams.navigation.nextEl=t,i.params.navigation.prevEl=r,i.originalParams.navigation.prevEl=r),B4(a)&&n&&(i.params.pagination.el=n,i.originalParams.pagination.el=n),P4(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 N4.filter(d=>d[0]==="_").map(d=>d.replace(/_/,"")).forEach(d=>{if(d in e&&d in t)if(Cu(e[d])&&Cu(t[d])){const h=Object.keys(e[d]),m=Object.keys(t[d]);h.length!==m.length?a(d):(h.forEach(g=>{e[d][g]!==t[d][g]&&a(d)}),m.forEach(g=>{e[d][g]!==t[d][g]&&a(d)}))}else e[d]!==t[d]&&a(d)}),i}const m_=e=>{!e||e.destroyed||!e.params.virtual||e.params.virtual&&!e.params.virtual.enabled||(e.updateSlides(),e.updateProgress(),e.updateSlidesClasses(),e.emit("_virtualUpdated"),e.parallax&&e.params.parallax&&e.params.parallax.enabled&&e.parallax.setTranslate())};function sm(){return sm=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},sm.apply(this,arguments)}function F4(e){return e.type&&e.type.displayName&&e.type.displayName.includes("SwiperSlide")}function O4(e){const t=[];return B.Children.toArray(e).forEach(r=>{F4(r)?t.push(r):r.props&&r.props.children&&O4(r.props.children).forEach(n=>t.push(n))}),t}function g_(e){const t=[],r={"container-start":[],"container-end":[],"wrapper-start":[],"wrapper-end":[]};return B.Children.toArray(e).forEach(n=>{if(F4(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=O4(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 g=m;return m<0?g=t.length+m:g>=t.length&&(g=g-t.length),g},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,g)=>B.cloneElement(m,{swiper:e,style:s,key:m.props.virtualIndex||m.key||`slide-${g}`}))}function _f(e,t){return typeof window>"u"?w.useEffect(e,t):w.useLayoutEffect(e,t)}const ey=w.createContext(null),x_=w.createContext(null),lh=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,g]=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),M=w.useRef(null),Q=w.useRef(null),D=w.useRef(null),j=w.useRef(null),{params:A,passedParams:O,rest:z,events:K}=f_(i),{slides:U,slots:W}=g_(n),ne=()=>{v(!x)};Object.assign(A.on,{_containerClasses(fe,ae){h(ae)}});const ie=()=>{Object.assign(A.on,K),u=!0;const fe={...A};if(delete fe.wrapperClass,_.current=new dx(fe),_.current.virtual&&_.current.params.virtual.enabled){_.current.virtual.slides=U;const ae={cache:!1,slides:U,renderExternal:g,renderExternalUpdate:!1};Ed(_.current.params.virtual,ae),Ed(_.current.originalParams.virtual,ae)}};T.current||ie(),_.current&&_.current.on("_beforeBreakpoint",ne);const ge=()=>{u||!K||!_.current||Object.keys(K).forEach(fe=>{_.current.on(fe,K[fe])})},ke=()=>{!K||!_.current||Object.keys(K).forEach(fe=>{_.current.off(fe,K[fe])})};w.useEffect(()=>()=>{_.current&&_.current.off("_beforeBreakpoint",ne)}),w.useEffect(()=>{!S.current&&_.current&&(_.current.emitSlidesClasses(),S.current=!0)}),_f(()=>{if(a&&(a.current=T.current),!!T.current)return _.current.destroyed&&ie(),h_({el:T.current,nextEl:M.current,prevEl:Q.current,paginationEl:D.current,scrollbarEl:j.current,swiper:_.current},A),s&&!_.current.destroyed&&s(_.current),()=>{_.current&&!_.current.destroyed&&_.current.destroy(!0,!1)}},[]),_f(()=>{ge();const fe=p_(O,L.current,U,R.current,ae=>ae.key);return L.current=O,R.current=U,fe.length&&_.current&&!_.current.destroyed&&d_({swiper:_.current,slides:U,passedParams:O,changedParams:fe,nextEl:M.current,prevEl:Q.current,scrollbarEl:j.current,paginationEl:D.current}),()=>{ke()}}),_f(()=>{m_(_.current)},[m]);function ve(){return A.virtual?b_(_.current,U,m):U.map((fe,ae)=>B.cloneElement(fe,{swiper:_.current,swiperSlideIndex:ae}))}return B.createElement(t,sm({ref:T,className:j4(`${d}${e?` ${e}`:""}`)},z),B.createElement(x_.Provider,{value:_.current},W["container-start"],B.createElement(r,{className:u_(A.wrapperClass)},W["wrapper-start"],ve(),W["wrapper-end"]),D4(A)&&B.createElement(B.Fragment,null,B.createElement("div",{ref:Q,className:"swiper-button-prev"}),B.createElement("div",{ref:M,className:"swiper-button-next"})),P4(A)&&B.createElement("div",{ref:j,className:"swiper-scrollbar"}),B4(A)&&B.createElement("div",{ref:D,className:"swiper-pagination"}),W["container-end"]))});lh.displayName="Swiper";const ku=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),[g,x]=w.useState("swiper-slide"),[v,S]=w.useState(!1);function T(M,Q,D){Q===m.current&&x(D)}_f(()=>{if(typeof u<"u"&&(m.current.swiperSlideIndex=u),h&&(h.current=m.current),!(!m.current||!n)){if(n.destroyed){g!=="swiper-slide"&&x("swiper-slide");return}return n.on("_slideClass",T),()=>{n&&n.off("_slideClass",T)}}}),_f(()=>{n&&m.current&&!n.destroyed&&x(n.getSlideClasses(m.current))},[n]);const _={isActive:g.indexOf("swiper-slide-active")>=0,isVisible:g.indexOf("swiper-slide-visible")>=0,isFullyVisible:g.indexOf("swiper-slide-fully-visible")>=0,isPrev:g.indexOf("swiper-slide-prev")>=0,isNext:g.indexOf("swiper-slide-next")>=0},L=()=>typeof t=="function"?t(_):t,R=()=>{S(!0)};return B.createElement(e,sm({ref:m,className:j4(`${g}${r?` ${r}`:""}`),"data-swiper-slide-index":a,onLoad:R},d),s&&B.createElement(ey.Provider,{value:_},B.createElement("div",{className:"swiper-zoom-container","data-swiper-zoom":typeof s=="number"?s:void 0},L(),i&&!v&&B.createElement("div",{className:"swiper-lazy-preloader",ref:M=>{M&&(M.lazyPreloaderManaged=!0)}}))),!s&&B.createElement(ey.Provider,{value:_},L(),i&&!v&&B.createElement("div",{className:"swiper-lazy-preloader",ref:M=>{M&&(M.lazyPreloaderManaged=!0)}})))});ku.displayName="SwiperSlide";const Hi=[];for(let e=0;e<256;++e)Hi.push((e+256).toString(16).slice(1));function y_(e,t=0){return(Hi[e[t+0]]+Hi[e[t+1]]+Hi[e[t+2]]+Hi[e[t+3]]+"-"+Hi[e[t+4]]+Hi[e[t+5]]+"-"+Hi[e[t+6]]+Hi[e[t+7]]+"-"+Hi[e[t+8]]+Hi[e[t+9]]+"-"+Hi[e[t+10]]+Hi[e[t+11]]+Hi[e[t+12]]+Hi[e[t+13]]+Hi[e[t+14]]+Hi[e[t+15]]).toLowerCase()}let r1;const v_=new Uint8Array(16);function w_(){if(!r1){if(typeof crypto>"u"||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r1=crypto.getRandomValues.bind(crypto)}return r1(v_)}const A_=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),ty={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 ty.randomUUID&&!e?ty.randomUUID():S_(e)}const C_={},ry=e=>{let t;const r=new Set,n=(m,g)=>{const x=typeof m=="function"?m(t):m;if(!Object.is(x,t)){const v=t;t=g??(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?ry(e):ry;var n1={exports:{}},s1={},i1={exports:{}},o1={};var ny;function __(){if(ny)return o1;ny=1;var e=Qm();function t(g,x){return g===x&&(g!==0||1/g===1/x)||g!==g&&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(g,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})},[g,v,x]),s(function(){return d(T)&&_({inst:T}),g(function(){d(T)&&_({inst:T})})},[g]),a(v),v}function d(g){var x=g.getSnapshot;g=g.value;try{var v=x();return!r(g,v)}catch{return!0}}function h(g,x){return x()}var m=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?h:u;return o1.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:m,o1}var sy;function L_(){return sy||(sy=1,i1.exports=__()),i1.exports}var iy;function E_(){if(iy)return s1;iy=1;var e=Qm(),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 s1.useSyncExternalStoreWithSelector=function(h,m,g,x,v){var S=i(null);if(S.current===null){var T={hasValue:!1,value:null};S.current=T}else T=S.current;S=u(function(){function L(j){if(!R){if(R=!0,M=j,j=x(j),v!==void 0&&T.hasValue){var A=T.value;if(v(A,j))return Q=A}return Q=j}if(A=Q,n(M,j))return A;var O=x(j);return v!==void 0&&v(A,O)?(M=j,A):(M=j,Q=O)}var R=!1,M,Q,D=g===void 0?null:g;return[function(){return L(m())},D===null?void 0:function(){return L(D())}]},[m,g,x,v]);var _=s(h,S[0],S[1]);return a(function(){T.hasValue=!0,T.value=_},[_]),d(_),_},s1}var oy;function I_(){return oy||(oy=1,n1.exports=E_()),n1.exports}var R_=I_();const M_=T4(R_),Q4={},{useDebugValue:N_}=B,{useSyncExternalStoreWithSelector:D_}=M_;let ay=!1;const B_=e=>e;function P_(e,t=B_,r){(Q4?"production":void 0)!=="production"&&r&&!ay&&(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"),ay=!0);const n=D_(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,r);return N_(n),n}const ly=e=>{(Q4?"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},$4=e=>e?ly(e):ly,im="auth:unauthorized";let Td=null;class Bc 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 Bc("Failed to load update state",e.status);return e.json()}async function F_(){const e=await sn(),t=await fetch("/api/terminal/update/check",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Bc("Failed to check for updates",t.status);return t.json()}async function O_(){const e=await sn(),t=await fetch("/api/terminal/update/restart",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok){const r=await t.json().catch(()=>({error:"Failed to restart Termdock"}));throw new Bc(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 Bc("Failed to fetch quota",e.status);return e.json()}async function $_(){const e=await sn(),t=await fetch("/api/terminal/quota/refresh",{method:"POST",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Bc("Failed to refresh quota",t.status);return t.json()}const Ru=8e3,El=1e4,Id=45e3,H_=8e3,U_=8e3,z_=15e3,G_=1e4,Pd=5e3;let W_=0;const Dp=[];let a1=!1;function bc(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(!a1){a1=!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{a1=!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 Ms(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 H4(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 jd(e,t,r){const n=await H4(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){Td=null;try{window.dispatchEvent(new CustomEvent(im))}catch{}}return r}}async function sn(){if(Td)return Td;const e=await Ms("/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 jd(e,Pd,"CSRF token response timed out");if(!t.csrfToken)throw new Error("Invalid CSRF token response");return Td=t.csrfToken,Td}function U4(){Td=null}const K_=2e4,cy=8e3,Y_=1500,qo=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 uy(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 z4(e){if(e.ws.readyState!==WebSocket.OPEN)return;const t=eL(e);if(t==="good"){uy(e);return}if(e.inputFlushTimer)return;const r=t==="congested"?X_:Z_;e.inputFlushTimer=setTimeout(()=>{e.inputFlushTimer=null,uy(e)},r)}const Lf=new Map;function tL(e,t,r,n){const s=Lf.get(e);s&&(Lf.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 dy=new Map;async function nL(e){const t=await sn(),r=await fetch("/api/terminal/create",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify({cols:e.cols||80,rows:e.rows||24,mode:e.mode||"shell",tmuxSessionName:e.tmuxSessionName,cwd:e.cwd,termType:e.termType})});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to create terminal"}));throw new Error(n.error||"Failed to create terminal session")}return r.json()}function sL(e,t,r,n={}){const{maxRetries:s=10,initialRetryDelay:i=1e3,maxRetryDelay:a=2e4,connectionTimeout:u=15e3}=n,d={maxRetries:s,initialDelayMs:i,maxDelayMs:a,connectionTimeoutMs:u,retryCount:0,retryTimeout:null,connectionTimeoutId:null,isClosed:!1};let h=null,m=dy.get(e)??0;dy.delete(e);const g=[];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)},_=D=>{D.heartbeatTimer&&(clearInterval(D.heartbeatTimer),D.heartbeatTimer=null),D.pongTimer&&(clearTimeout(D.pongTimer),D.pongTimer=null),D.inputFlushTimer&&(clearTimeout(D.inputFlushTimer),D.inputFlushTimer=null)},L=D=>{_(D),D.heartbeatTimer=setInterval(()=>{if(D.ws.readyState===WebSocket.OPEN){try{D.ws.send(JSON.stringify({type:"ping"}))}catch{}D.pongTimer&&clearTimeout(D.pongTimer),D.pongTimer=setTimeout(()=>{if(Date.now()-D.lastInboundAt>=cy)try{D.ws.close()}catch{}},cy)}},K_)},R=()=>{if(d.isClosed=!0,T(),h){_(h),qo.delete(e);try{h.ws.close()}catch{}h=null}},M=()=>{if(d.isClosed)return;if(h){S.add(h.ws),_(h);try{h.ws.close()}catch{}}const D=rL(e,m),j=new WebSocket(D);x=!1,d.connectionTimeoutId=setTimeout(()=>{j.readyState!==WebSocket.OPEN&&(x=!0,j.close(),Q(new Error("WebSocket connection timeout"),!1))},u);const A={ws:j,onEvent:t,onError:r,reconnectNow:()=>{if(!d.isClosed&&!v){if(T(),h){S.add(h.ws),_(h);try{h.ws.close()}catch{}}t({type:"reconnecting",attempt:Math.min(d.retryCount+1,s),maxAttempts:s}),d.retryCount=Math.min(d.retryCount+1,s),x=!0,v=setTimeout(()=>{v=null,x=!1,M()},0)}},retryState:d,lastSeq:m,pendingInputs:g,inputFlushTimer:null,heartbeatTimer:null,pongTimer:null,lastInboundAt:Date.now()};j.onopen=()=>{T(),d.retryCount=0,A.lastInboundAt=Date.now(),L(A),z4(A)},j.onmessage=O=>{A.lastInboundAt=Date.now();try{const z=JSON.parse(O.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 K=z;if(K.type==="connected"){typeof K.replayLastSeq=="number"&&K.replayLastSeq>0&&(m=K.replayLastSeq,A.lastSeq=m),t(K);return}if(K.type==="exit"){R(),t(K);return}t(K),K.type==="data"&&typeof K.seq=="number"&&Number.isFinite(K.seq)&&K.seq>m&&(m=K.seq,A.lastSeq=m)}catch(z){r?.(z,!1)}},j.onerror=()=>{S.has(j)||(T(),_(A),x||(x=!0,Q(new Error("WebSocket connection error"),!1)))},j.onclose=O=>{if(!S.has(j)&&(T(),_(A),!d.isClosed&&!x)){if(x=!0,O.code===4001){console.warn("[Terminal] WS 4001: Session not found on server",{code:O.code,reason:O.reason,stack:new Error().stack}),Q(new Error("Session not found on server"),!0);return}if(O.code===4003||O.code===4401){try{window.dispatchEvent(new CustomEvent(im))}catch{}Q(new Error("Authentication required"),!0);return}Q(new Error("WebSocket connection closed"),!1)}},h=A,qo.set(e,h)},Q=(D,j)=>{if(!d.isClosed)if(j)r?.(D,!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||M()},A)}};return M(),R}async function G4(e,t){const r=qo.get(e);if(r){if(r.ws.readyState===WebSocket.OPEN){r.pendingInputs.push(t),z4(r);return}if(r.ws.readyState===WebSocket.CONNECTING){r.pendingInputs.push(t);return}}const n=await sn(),s=await fetch(`/api/terminal/${e}/input`,{method:"POST",headers:{"Content-Type":"text/plain","X-XSRF-TOKEN":n},body:t});if(!s.ok){const i=await s.json().catch(()=>({error:"Failed to send input"}));throw new Error(i.error||"Failed to send terminal input")}}function iL(e){const t=qo.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()},Y_),!0}function fy(e,t,r){const n=qo.get(e);if(!(!n||n.ws.readyState!==WebSocket.OPEN))try{n.ws.send(JSON.stringify({type:"focus",focused:t,reason:r}))}catch{}}function hy(e,t,r){const n=qo.get(e);if(!(!n||n.ws.readyState!==WebSocket.OPEN))try{n.ws.send(JSON.stringify({type:"viewing",viewing:t,reason:r}))}catch{}}function py(e){const t=qo.get(e);if(!(!t||t.ws.readyState!==WebSocket.OPEN))try{t.ws.send(JSON.stringify({type:"agent-review-ack"}))}catch{}}function my(e,t,r){const n=qo.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=qo.get(e);if(s&&s.ws.readyState===WebSocket.OPEN)try{s.ws.send(JSON.stringify({type:"resize",cols:t,rows:r,seq:n}));return}catch{}const i=await sn(),a=await fetch(`/api/terminal/${e}/resize`,{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":i},body:JSON.stringify({cols:t,rows:r,seq:n})});if(!a.ok){const d=await a.json().catch(()=>({error:"Failed to resize terminal"}));throw new Error(d.error||"Failed to resize terminal")}const u=await a.json().catch(()=>({success:!0}));if(u?.success===!1||u?.ok===!1)throw new Error(u?.error||"Failed to resize terminal")}async function aL(e,t){const r=qo.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);Lf.set(u,{resolve:i,reject:a}),r.ws.send(JSON.stringify({type:"tmux",reqId:u,...t})),setTimeout(()=>{Lf.has(u)&&(Lf.delete(u),a(new Error("Tmux action timed out")))},3e4)});const n=await sn(),s=await fetch(`/api/terminal/${e}/tmux`,{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":n},body:JSON.stringify(t)});if(!s.ok){const i=await s.json().catch(()=>({error:"Failed to execute tmux action"}));throw new Error(i.error||"Failed to execute tmux action")}return s.json()}async function W4(e){const t=qo.get(e);if(t){t.retryState.isClosed=!0;try{t.ws.close()}catch{}qo.delete(e)}const r=await sn(),n=await fetch(`/api/terminal/${e}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":r}});if(n.status!==404&&!n.ok){const s=await n.json().catch(()=>({error:"Failed to close terminal"}));throw new Error(s.error||"Failed to close terminal")}}async function lL(e,t){const r=qo.get(e);if(r){r.retryState.isClosed=!0;try{r.ws.close()}catch{}qo.delete(e)}const n=await sn(),s=await fetch(`/api/terminal/${e}/restart`,{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":n},body:JSON.stringify({...t.cwd?{cwd:t.cwd}:{},cols:t.cols??80,rows:t.rows??24,mode:t.mode,tmuxSessionName:t.tmuxSessionName})});if(!s.ok){const i=await s.json().catch(()=>({error:"Failed to restart terminal"}));throw new Error(i.error||"Failed to restart terminal session")}return s.json()}async function cL(e){const t=await Ms(`/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 jd(t,Pd,"Terminal health error response timed out").catch(()=>({error:"Failed to check terminal health"}));throw new Error(r.error||"Failed to check terminal health")}return jd(t,Pd,"Terminal health response timed out")}async function uL(e){const t=await sn(),r=await Ms("/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 jd(r,Pd,"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 V4(e){const t=e.trim();if(!t)throw new Error("tmux session name is required");const r=await sn(),n=await fetch(`/api/terminal/tmux/sessions/${encodeURIComponent(t)}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":r}});if(!n.ok){const i=await n.json().catch(()=>({error:"Failed to kill tmux session"}));throw new Error(i.error||"Failed to kill tmux session")}const s=await n.json();return{cleanedSessions:Array.isArray(s.cleanedSessions)?s.cleanedSessions:[],alreadyGone:!!s.alreadyGone}}const Gh=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 q4(e){const t=dL(e),r=Gh.get(t);if(r)return r;const n=await sn(),s=Ms("/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 jd(i,Pd,"Terminal session open error response timed out").catch(()=>({error:"Failed to open session"}));throw new Bc(a.error||"Failed to open session",i.status,typeof a.code=="string"?a.code:void 0)}return jd(i,Pd,"Terminal session open response timed out")}).finally(()=>{Gh.get(t)===s&&Gh.delete(t)});return Gh.set(t,s),s}async function Bp(e,t){const r=await sn(),n=await fetch(`/api/terminal/session-inventory/sessions/${encodeURIComponent(e)}`,{method:"PATCH",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":r},body:JSON.stringify(t)});if(!n.ok){const s=await n.json().catch(()=>({error:"Failed to update session"}));throw new Error(s.error||"Failed to update session")}return n.json()}async function hL(e){const t=await sn(),r=await fetch("/api/terminal/session-inventory/reorder",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify({sessionIds:e})});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to reorder sessions"}));throw new Error(n.error||"Failed to reorder sessions")}return r.json()}async function pL(e){const t=await sn(),r=await fetch(`/api/terminal/session-inventory/sessions/${encodeURIComponent(e)}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":t}});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to remove session"}));throw new Error(n.error||"Failed to remove session")}}async function mL(){const e=await sn(),t=await fetch("/api/terminal/session-inventory/sessions",{method:"DELETE",headers:{"X-XSRF-TOKEN":e}});if(!t.ok){const r=await t.json().catch(()=>({error:"Failed to clear sessions"}));throw new Error(r.error||"Failed to clear sessions")}}async function gy(){const e=await fetch("/api/terminal/toolbar-presets",{method:"GET"});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to load toolbar presets"}));throw new Error(t.error||"Failed to load toolbar presets")}return e.json()}async function gL(e){const t=await sn(),r=await fetch("/api/terminal/toolbar-presets",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to save toolbar presets"})),s=new Error(n.error||"Failed to save toolbar presets");throw s.current=n.current,s.code=n.code,s}return r.json()}async function $m(){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 Xa(e){const t=await sn(),r=await fetch("/api/terminal/settings",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to update settings"}));throw new Error(n.error||"Failed to update settings")}return r.json()}async function U0(e=!1){const t=await fetch(`/api/terminal/auto-title/catalog${e?"?refresh=1":""}`);if(!t.ok)throw new Error("Failed to discover title models");const r=await t.json();return Array.isArray(r?.namers)?r.namers:[]}async function bL(){const e=await fetch("/api/terminal/context-draft",{method:"GET"});if(!e.ok){const t=await e.json().catch(()=>({error:"Failed to load context draft"}));throw new Error(t.error||"Failed to load context draft")}return e.json()}async function xL(e,t){const r=await sn(),n=await fetch("/api/terminal/context-draft",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":r},body:JSON.stringify({text:e,origin:t})});if(!n.ok){const s=await n.json().catch(()=>({error:"Failed to update context draft"}));throw new Error(s.error||"Failed to update context draft")}return n.json()}async function yL(){const e=await fetch("/api/auth/status");if(!e.ok)throw new Error("Failed to query auth status");return e.json()}async function vL(e){const t=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:e})});if(t.ok)return U4(),{ok:!0};const r=await t.json().catch(()=>null);return t.status===429?{ok:!1,rateLimited:!0,retryAfterMs:typeof r?.retryAfterMs=="number"?r.retryAfterMs:void 0,error:r?.error||"Too many failed attempts. Please wait and try again."}:{ok:!1,error:r?.error||"Login failed"}}async function wL(){const e=await sn();await fetch("/api/auth/logout",{method:"POST",headers:{"X-XSRF-TOKEN":e}}),U4()}async function AL(){const e=await fetch("/api/terminal/agent-launchers");if(!e.ok)throw new Error("Failed to detect agent launchers");const t=await e.json();return Array.isArray(t?.agents)?t.agents:[]}async function SL(e,t){const r=new URLSearchParams({q:e}),n=await fetch(`/api/terminal/directory-suggestions?${r}`,{signal:t});if(!n.ok)throw new Error("Failed to suggest directories");const s=await n.json();return Array.isArray(s?.directories)?s.directories.filter(i=>typeof i=="string"):[]}async function TL(){const e=await fetch("/api/terminal/agent-hooks");if(!e.ok)throw new Error("Failed to get agent hooks");const t=await e.json();return Array.isArray(t?.agents)?t.agents:[]}async function CL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-hooks/${encodeURIComponent(e)}/install`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to install agent hooks");return{summary:n.summary??"Installed",devMode:n.devMode===!0}}async function kL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-hooks/${encodeURIComponent(e)}/uninstall`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to uninstall agent hooks");return n.summary??"Removed"}class 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 sn(),r=await fetch("/api/terminal/agent-plugins",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)}),n=await r.json().catch(()=>({}));if(!r.ok)throw new fx(n.error||"Failed to create agent plugin",n.code,n.migration);return n}async function EL(e){const t=await sn(),r=await fetch("/api/terminal/agent-plugins/install",{method:"POST",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify({source:e})}),n=await r.json().catch(()=>({}));if(!r.ok)throw new fx(n.error||"Failed to install agent plugin",n.code,n.migration);return n}async function IL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}/check-update`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to check plugin updates");return n}async function RL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}/update`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to update plugin");return n}async function ML(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}/doctor`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to diagnose plugin");return n}async function NL(e){const t=await sn(),r=await fetch(`/api/terminal/agent-plugins/${encodeURIComponent(e)}`,{method:"DELETE",headers:{"X-XSRF-TOKEN":t}});if(!r.ok){const n=await r.json().catch(()=>({}));throw new Error(n.error||"Failed to delete agent plugin")}}async function DL(e){const t=await sn(),r=await fetch(`/api/terminal/${encodeURIComponent(e)}/agent-resume`,{method:"POST",headers:{"X-XSRF-TOKEN":t}}),n=await r.json().catch(()=>({}));if(!r.ok)throw new Error(n.error||"Failed to resume agent session");return{command:n.command??""}}async function Ju(e){const t=await sn(),r=await fetch("/api/terminal/program-rules",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok){const n=await r.json().catch(()=>({error:"Failed to update program rules"}));throw new Error(n.error||"Failed to update program rules")}return r.json()}async function BL(){const e=await sn(),t=await fetch("/api/terminal/program-rules",{method:"DELETE",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Error("Failed to reset program rules");return t.json()}async function PL(){const e=await fetch("/api/terminal/program-detection");if(!e.ok)throw new Error("Failed to get program detection config");return e.json()}async function by(e){const t=await sn(),r=await fetch("/api/terminal/program-detection",{method:"PUT",headers:{"Content-Type":"application/json","X-XSRF-TOKEN":t},body:JSON.stringify(e)});if(!r.ok)throw new Error("Failed to save program detection config");return r.json()}async function jL(){const e=await sn(),t=await fetch("/api/terminal/program-detection",{method:"DELETE",headers:{"X-XSRF-TOKEN":e}});if(!t.ok)throw new Error("Failed to reset program detection config");return t.json()}const FL={".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".gif":"image/gif",".webp":"image/webp",".avif":"image/avif",".bmp":"image/bmp",".ico":"image/x-icon",".svg":"image/svg+xml"};function 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 Y4(e){const t=e.lastIndexOf(".");return t<0?null:OL[e.slice(t).toLowerCase()]??null}function Z4(e){return Y4(e)!==null}function QL(e){return`/api/terminal/fs/video?path=${encodeURIComponent(e)}&action=view_file`}const $L=[".stl",".glb",".gltf"];function X4(e){const t=e.lastIndexOf(".");if(t<0)return null;const r=e.slice(t).toLowerCase();return $L.includes(r)?r:null}function J4(e){return X4(e)!==null}const HL=[".html",".htm"];function Wh(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 e7(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 Ms(`/api/terminal/fs/list?${i}`,{signal:t},Ru,"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 g="";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;g+=m.decode(v,{stream:!0});let T=g.indexOf(`
|
|
3
3
|
`);for(;T>=0;)x(g.slice(0,T)),g=g.slice(T+1),T=g.indexOf(`
|
|
4
4
|
`)}g+=m.decode(),x(g)}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 g=u.indexOf(`
|
|
@@ -169,12 +169,12 @@ ${A.desc}`:""}`,"aria-pressed":S===A.key,onPointerEnter:()=>v(A.key),onPointerLe
|
|
|
169
169
|
`)?`
|
|
170
170
|
`:`
|
|
171
171
|
|
|
172
|
-
`;return`${e}${n}${r}`}function mY(e,t){const r=e.trim();return r?t?`${r}\r`:/\s$/.test(e)?e:`${r} `:""}const Kb="termdock:right-sidebar:html-view-mode-by-file:v1";function gY(e){return e==="preview"||e==="source"}function fS(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.values(e).every(gY)}function hS(e,t){if(!t)return null;const r=e&&!t.startsWith("/")?`${e}/${t}`:t;return e?`${e}::${r}`:r}function L6(e,t){const r=hS(e,t);return r?Cn(Kb,fS)?.[r]??"source":"source"}function bY(e,t,r){const n=hS(e,t);if(!n)return;const s=Cn(Kb,fS)??{};jr(Kb,{...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 xY(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 yY({url:e,onLoadError:t}){const{t:r}=$r(),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,g]=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)},[]),M=w.useCallback(U=>{const W=s.current,ne=n.current;if(!W||!ne)return;const ie=W.getBoundingClientRect(),ge=xY(U,ie,ne.duration);u.current=ge,L(ge),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]),D=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{}M(U.clientX)}},[M]),j=w.useCallback(()=>{Q(),T(!1),L(null);const U=n.current;U&&i.current&&!U.ended&&U.play().catch(()=>{}),i.current=!1},[Q]),A=w.useCallback(()=>{const U=n.current;U&&(U.paused?U.play().catch(()=>{}):U.pause())},[]),O=w.useCallback(U=>{const W=n.current;if(!W||!Number.isFinite(W.duration))return;const ne=U.shiftKey?10:5;let ie=null;U.key==="ArrowLeft"?ie=W.currentTime-ne:U.key==="ArrowRight"?ie=W.currentTime+ne:U.key==="Home"?ie=0:U.key==="End"&&(ie=W.duration),ie!==null&&(U.preventDefault(),R(ie))},[R]),z=S&&_!==null?_:m,K=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=>g(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:`${K*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(vR,{size:14}):l.jsx(ER,{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:D,onPointerMove:U=>{S&&M(U.clientX)},onPointerUp:j,onPointerCancel:j,onKeyDown:O,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:`${K*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:`${K*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 v5="termdock:right-sidebar:file-tree-scroll:v1",w5="termdock:right-sidebar:file-preview-reading-state:v1",Cf="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",E6="termdock:right-sidebar:collapsed-diff-directories:v1",w2="termdock:right-sidebar:branch-audit-module-open:v1",yS="termdock:right-sidebar:branch-audit-module:v1",vY=150,vS="termdock:right-sidebar:active-git-repo:v1",I6="termdock:right-sidebar:context-draft-enabled:v1",R6="termdock:right-sidebar:context-draft-collapsed:v1",M6="termdock:right-sidebar:context-draft-auto-collapse:v1",A2="termdock:right-sidebar:context-draft-text:v1",wY=300,AY=20,SY=120,TY=250,CY=250,kY=120,_Y=700,S2=600,N6=[2e3,5e3,15e3,3e4],LY=320,EY=500,IY=20,RY=12e3,Yb=300,D6=240,MY=560,NY=600,DY=720,wS="border-r px-2 py-1.5 sm:px-3 sm:py-2",Dm="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`,A5="termdock-file-preview-horizontal-scroll",BY=w.lazy(()=>Vd(()=>import("./ModelPreview-x-gVmx5l.js"),__vite__mapDeps([2,3,1,4]))),TS=`${A5} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`,PY=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function jY(e){return e==="preview"||e==="source"}function FY(e){return e==="list"||e==="tree"||e==="ai"}function B6(){return Cn(pS,jY)??"preview"}function OY(){return Cn(mS,FY)??"tree"}function kf(e){return typeof e=="boolean"}function QY(e){return typeof e=="string"}function $Y(){return Cn(gS,kf)??!0}function HY(e){return e==="unified"||e==="split"}function UY(){return Cn(bS,HY)??"unified"}function zY(e){return e==="name"||e==="content"||e==="regex"}function GY(){return Cn(xS,zY)??"name"}function WY(e){return e.repositories??(e.context?.root?[{id:e.context.root,root:e.context.root,relativeRoot:".",name:Io(e.context.root)||e.context.root,depth:0,nested:!1,available:e.available,files:e.files,context:e.context,error:e.error}]:[])}function VY(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(t=>t===null||typeof t=="string")}function CS(){return Cn(vS,VY)??{}}function P6(e){if(!e)return;const t=CS();return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0}function T2(e,t){e&&jr(vS,{...CS(),[e]:t})}function qY(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 j6(e){const t=Cn(e,Zb);return t?new Set(t):new Set}function C2(e,t){jr(e,[...t])}function KY(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 YY(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(KY))&&(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 ZY(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.key=="string"&&YY(t.diff)&&typeof t.repoLabel=="string"&&typeof t.createdAt=="number"}function XY(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(ZY))&&(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 F6(){return Cn(yS,XY)??{}}function O6(e){return[e.repoRoot,e.baseRef,e.branchName??"",e.headRef??"",e.diffFingerprint??""].join("\0")}function Q6(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||Q6(r)===Q6(n)}function $6(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(D6,t-320),n=Math.min(MY,r);return Math.min(n,Math.max(D6,e))}function JY(e){return typeof e=="number"&&Number.isFinite(e)}function eZ(e){return Xb(Cn(Cf,JY)??Yb,e)}function _S(e){const t=e.split(/[\\/]/).pop()??e,r=t.lastIndexOf(".");return r>=0?t.slice(r).toLowerCase():""}function Tp(e){return PY.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 tZ(e){const t=e.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(t)||!/^[a-z][a-z0-9+.-]*:/i.test(t)&&!/[<>]/.test(t)?t:null}const ES=w.createContext(null);function em(e){return e.trim().replace(/\s+/g," ").toLowerCase()}function IS(e){return e.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function 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 H6(e){return IS(e)||e.trim()}function Bm(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=rx(t[2]);return r?{id:em(t[1]),definition:{href:r.href,title:r.title}}:null}function rZ(e){const t=new Map;for(const r of e){const n=Bm(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 nZ(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 sZ(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 iZ(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 oZ(e){const t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?r===0?"/":"":t.slice(0,r)}function U6(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 aZ(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=U6(r&&!i?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;s=U6(`${oZ(t)}/${n}`)}return`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`}const tx=128,lZ=360,k2=480;function S5(e){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(e))}catch{return!1}}function cZ(e,t,r,n){if(!t||!r)return null;let s,i;return S5(e)?(i=Math.min(Math.max(r,tx),lZ),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 uZ(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=uZ(e),r=vt(n=>t?(n.fileChangeVersions.get(t)??0)+n.fileWatchEpoch:0);return t&&r>0?`${e}&v=${r}`:e}function dZ({src:e,alt:t,title:r}){const n=S5(e),s=DS(e),i=w.useRef(null),[a,u]=w.useState(!1),[d,h]=w.useState(0),[m,g]=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 M=new ResizeObserver(R);return M.observe(L),()=>M.disconnect()},[]),w.useEffect(()=>{if(a)return;const _=i.current;if(!_||typeof IntersectionObserver>"u"){u(!0);return}const L=new IntersectionObserver(R=>{R.some(M=>M.isIntersecting)&&(u(!0),L.disconnect())},{rootMargin:"400px"});return L.observe(_),()=>L.disconnect()},[a]),w.useEffect(()=>{if(!a)return;const _=new AbortController;let L=null;g({status:"loading"});const R=window.setTimeout(()=>{_.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return fetch(s,{signal:_.signal}).then(async M=>{if(!M.ok)throw new Error(`HTTP ${M.status}`);const Q=Number(M.headers.get("X-Image-Width"))||0,D=Number(M.headers.get("X-Image-Height"))||0;return{blob:await M.blob(),width:Q,height:D}}).then(({blob:M,width:Q,height:D})=>{_.signal.aborted||(L=URL.createObjectURL(M),Q>0&&D>0&&v({width:Q,height:D}),g({status:"ready",objectUrl:L}))}).catch(()=>{const M=_.signal.reason;_.signal.aborted&&!(M instanceof DOMException&&M.name==="TimeoutError")||g({status:"fallback"})}).finally(()=>{window.clearTimeout(R)}),()=>{window.clearTimeout(R),_.abort(),L&&URL.revokeObjectURL(L)}},[a,s]);const S=cZ(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=aZ(r,s.markdownFilePath,s.rootPath);if(!i)return``;const a=s.images.length;s.images.push({kind:"image",src:i,alt:t,title:n});const u=l.jsx(dZ,{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 z6(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="",fZ=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function hZ(e){return e.replace(fZ,(t,r)=>`${BS}${r.charCodeAt(0).toString(16).padStart(4,"0")}`)}function G6(e){return e.replace(new RegExp(`${BS}([0-9a-f]{4})`,"g"),(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\([()])/g,"$1")}function pZ(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=Vd(()=>import("./purify.es-CC4Brkr_.js"),[]).then(e=>e.default??e).catch(e=>{throw Cp=null,e})),Cp}function FS({html:e}){const{t}=$r(),[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 mZ({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 gZ(){return kp||(kp=Promise.all([Vd(()=>import("./katex-DnlPpQZa.js"),[]),Vd(()=>Promise.resolve({}),__vite__mapDeps([5]))]).then(([e])=>e.default??e).catch(e=>{throw kp=null,e})),kp}function oh({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),gZ().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 bZ(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(mZ,{html:e},t):null;const s=n[1].toLowerCase(),i=fi(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 fi(e,t,r=!0,n){const s=hZ(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(G6(s.slice(u,d.index)));const h=d[0],m=`${t}-${d.index}`,g=h.startsWith("<")?bZ(h,m,n):null;if(g)a.push(g);else if(h.startsWith("\\(")&&h.endsWith("\\)"))a.push(l.jsx(oh,{tex:h.slice(2,-2)},m));else if(h.startsWith("$")&&h.endsWith("$"))a.push(l.jsx(oh,{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:pZ(h.slice(x,-x))},m))}else if(h.startsWith("~~"))a.push(l.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:fi(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:fi(h.slice(2,-2),`${m}-strong`,r,n)},m));else if(h.startsWith("*")||h.startsWith("_"))a.push(l.jsx("em",{className:"italic",children:fi(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(em(T));a.push(_?_2(m,v[1],_.href,_.title,n):h)}else if(S){const T=n.referenceDefinitions.get(em(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(">")&&z6(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(z6(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(em(T)):null,L=x?rx(x[2]):null,R=L?.href??_?.href??null,M=R?tZ(R):null,Q=x?.[1]??v?.[1]??S?.[1]??"";a.push(M?l.jsx("a",{href:M,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:fi(Q,`${m}-link`,r,n)},m):h)}u=i.lastIndex}return u<s.length&&a.push(G6(s.slice(u))),a.length>0?a:[e]}function QS(e){return/(?: {2,}|\\)$/.test(e)}function $S(e){return e.replace(/(?: {2,}|\\)$/,"")}function Pm(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(...fi($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(fi($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 ah(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 ah(e).map(t=>/^:-+:$/.test(t)?"center":/^-+:$/.test(t)?"right":/^:-+$/.test(t)?"left":null)}function jm(e){return e==="center"?"text-center":e==="right"?"text-right":"text-left"}function Fm(e){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(e.trim())}function xZ(e,t){return e>96||e>44&&t>.35}function T5(e){return(e.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function C5(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&&(Bm(h)||i.has(d))){d+=1;continue}const m=C5(h),g=T5(h);if(!m){if(g>r&&u.length>0){([...u].reverse().find(T=>T.indent<g)?.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(g<r||g===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>=g;)u.pop();const v=u[u.length-1]?.item??null;v?v.children.push(x):a.push(x),u.push({indent:g,item:x});for(const S of u)S.item.lineEnd=d+1;d+=1}return{items:a,nextIndex:d}}function k5(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,fi(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:fi(u,`li-${t}-${i}-p-${d}`,!0,r)},`paragraph-${d}`))})]}),groups:yZ(s.children,`${t}-${i}`,r,n)}})}function yZ(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:k5(i.items,`${t}-g${a}`,r,n)}))}function _5(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&&vZ(r.groups,t)]},r.key)})}function vZ(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:_5(r.items,t)},`nested-${n}`)})}function wZ(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:[fi(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 AZ(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 M=[];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:M.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:fi(R,`${t}-details-${L}-summary`,!0,r)}),M.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(M,`${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(`
|
|
172
|
+
`;return`${e}${n}${r}`}function mY(e,t){const r=e.trim();return r?t?`${r}\r`:/\s$/.test(e)?e:`${r} `:""}const Kb="termdock:right-sidebar:html-view-mode-by-file:v1";function gY(e){return e==="preview"||e==="source"}function fS(e){return!e||typeof e!="object"||Array.isArray(e)?!1:Object.values(e).every(gY)}function hS(e,t){if(!t)return null;const r=e&&!t.startsWith("/")?`${e}/${t}`:t;return e?`${e}::${r}`:r}function L6(e,t){const r=hS(e,t);return r?Cn(Kb,fS)?.[r]??"source":"source"}function bY(e,t,r){const n=hS(e,t);if(!n)return;const s=Cn(Kb,fS)??{};jr(Kb,{...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 xY(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 yY({url:e,onLoadError:t}){const{t:r}=$r(),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,g]=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)},[]),M=w.useCallback(U=>{const W=s.current,ne=n.current;if(!W||!ne)return;const ie=W.getBoundingClientRect(),ge=xY(U,ie,ne.duration);u.current=ge,L(ge),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]),D=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{}M(U.clientX)}},[M]),j=w.useCallback(()=>{Q(),T(!1),L(null);const U=n.current;U&&i.current&&!U.ended&&U.play().catch(()=>{}),i.current=!1},[Q]),A=w.useCallback(()=>{const U=n.current;U&&(U.paused?U.play().catch(()=>{}):U.pause())},[]),O=w.useCallback(U=>{const W=n.current;if(!W||!Number.isFinite(W.duration))return;const ne=U.shiftKey?10:5;let ie=null;U.key==="ArrowLeft"?ie=W.currentTime-ne:U.key==="ArrowRight"?ie=W.currentTime+ne:U.key==="Home"?ie=0:U.key==="End"&&(ie=W.duration),ie!==null&&(U.preventDefault(),R(ie))},[R]),z=S&&_!==null?_:m,K=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=>g(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:`${K*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(vR,{size:14}):l.jsx(ER,{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:D,onPointerMove:U=>{S&&M(U.clientX)},onPointerUp:j,onPointerCancel:j,onKeyDown:O,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:`${K*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:`${K*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 v5="termdock:right-sidebar:file-tree-scroll:v1",w5="termdock:right-sidebar:file-preview-reading-state:v1",Cf="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",E6="termdock:right-sidebar:collapsed-diff-directories:v1",w2="termdock:right-sidebar:branch-audit-module-open:v1",yS="termdock:right-sidebar:branch-audit-module:v1",vY=150,vS="termdock:right-sidebar:active-git-repo:v1",I6="termdock:right-sidebar:context-draft-enabled:v1",R6="termdock:right-sidebar:context-draft-collapsed:v1",M6="termdock:right-sidebar:context-draft-auto-collapse:v1",A2="termdock:right-sidebar:context-draft-text:v1",wY=300,AY=20,SY=120,TY=250,CY=250,kY=120,_Y=700,S2=600,N6=[2e3,5e3,15e3,3e4],LY=320,EY=500,IY=20,RY=12e3,Yb=300,D6=240,MY=560,NY=600,DY=720,wS="border-r px-2 py-1.5 sm:px-3 sm:py-2",Dm="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`,A5="termdock-file-preview-horizontal-scroll",BY=w.lazy(()=>Vd(()=>import("./ModelPreview-BUQkeGc_.js"),__vite__mapDeps([2,3,1,4]))),TS=`${A5} termdock-md-table-scroll max-w-full overflow-x-auto overflow-y-hidden rounded-lg border border-border/20 bg-surface`,PY=new Set([".md",".markdown",".mdown",".mkdn",".mkd"]);function jY(e){return e==="preview"||e==="source"}function FY(e){return e==="list"||e==="tree"||e==="ai"}function B6(){return Cn(pS,jY)??"preview"}function OY(){return Cn(mS,FY)??"tree"}function kf(e){return typeof e=="boolean"}function QY(e){return typeof e=="string"}function $Y(){return Cn(gS,kf)??!0}function HY(e){return e==="unified"||e==="split"}function UY(){return Cn(bS,HY)??"unified"}function zY(e){return e==="name"||e==="content"||e==="regex"}function GY(){return Cn(xS,zY)??"name"}function WY(e){return e.repositories??(e.context?.root?[{id:e.context.root,root:e.context.root,relativeRoot:".",name:Io(e.context.root)||e.context.root,depth:0,nested:!1,available:e.available,files:e.files,context:e.context,error:e.error}]:[])}function VY(e){return!!e&&typeof e=="object"&&!Array.isArray(e)&&Object.values(e).every(t=>t===null||typeof t=="string")}function CS(){return Cn(vS,VY)??{}}function P6(e){if(!e)return;const t=CS();return Object.prototype.hasOwnProperty.call(t,e)?t[e]:void 0}function T2(e,t){e&&jr(vS,{...CS(),[e]:t})}function qY(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 j6(e){const t=Cn(e,Zb);return t?new Set(t):new Set}function C2(e,t){jr(e,[...t])}function KY(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 YY(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(KY))&&(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 ZY(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;const t=e;return typeof t.key=="string"&&YY(t.diff)&&typeof t.repoLabel=="string"&&typeof t.createdAt=="number"}function XY(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(ZY))&&(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 F6(){return Cn(yS,XY)??{}}function O6(e){return[e.repoRoot,e.baseRef,e.branchName??"",e.headRef??"",e.diffFingerprint??""].join("\0")}function Q6(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||Q6(r)===Q6(n)}function $6(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(D6,t-320),n=Math.min(MY,r);return Math.min(n,Math.max(D6,e))}function JY(e){return typeof e=="number"&&Number.isFinite(e)}function eZ(e){return Xb(Cn(Cf,JY)??Yb,e)}function _S(e){const t=e.split(/[\\/]/).pop()??e,r=t.lastIndexOf(".");return r>=0?t.slice(r).toLowerCase():""}function Tp(e){return PY.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 tZ(e){const t=e.trim();return/^(https?:|mailto:|#|\/|\.\/|\.\.\/)/i.test(t)||!/^[a-z][a-z0-9+.-]*:/i.test(t)&&!/[<>]/.test(t)?t:null}const ES=w.createContext(null);function em(e){return e.trim().replace(/\s+/g," ").toLowerCase()}function IS(e){return e.replace(/!\[([^\]]*)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\([^)]+\)/g,"$1").replace(/\[([^\]]+)\]\[[^\]]*\]/g,"$1").replace(/[`*_~]/g,"").replace(/<[^>]+>/g,"").trim()}function 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 H6(e){return IS(e)||e.trim()}function Bm(e){const t=e.match(/^\s{0,3}\[([^\]]+)\]:\s+(.+?)\s*$/);if(!t)return null;const r=rx(t[2]);return r?{id:em(t[1]),definition:{href:r.href,title:r.title}}:null}function rZ(e){const t=new Map;for(const r of e){const n=Bm(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 nZ(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 sZ(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 iZ(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 oZ(e){const t=e.replace(/\/+$/,""),r=t.lastIndexOf("/");return r<=0?r===0?"/":"":t.slice(0,r)}function U6(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 aZ(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=U6(r&&!i?`${r}/${n.slice(1)}`:n)}else{if(!t)return null;s=U6(`${oZ(t)}/${n}`)}return`/api/terminal/fs/blob?path=${encodeURIComponent(s)}`}const tx=128,lZ=360,k2=480;function S5(e){try{return/\.svg(?=$|[?#&])/i.test(decodeURIComponent(e))}catch{return!1}}function cZ(e,t,r,n){if(!t||!r)return null;let s,i;return S5(e)?(i=Math.min(Math.max(r,tx),lZ),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 uZ(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=uZ(e),r=vt(n=>t?(n.fileChangeVersions.get(t)??0)+n.fileWatchEpoch:0);return t&&r>0?`${e}&v=${r}`:e}function dZ({src:e,alt:t,title:r}){const n=S5(e),s=DS(e),i=w.useRef(null),[a,u]=w.useState(!1),[d,h]=w.useState(0),[m,g]=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 M=new ResizeObserver(R);return M.observe(L),()=>M.disconnect()},[]),w.useEffect(()=>{if(a)return;const _=i.current;if(!_||typeof IntersectionObserver>"u"){u(!0);return}const L=new IntersectionObserver(R=>{R.some(M=>M.isIntersecting)&&(u(!0),L.disconnect())},{rootMargin:"400px"});return L.observe(_),()=>L.disconnect()},[a]),w.useEffect(()=>{if(!a)return;const _=new AbortController;let L=null;g({status:"loading"});const R=window.setTimeout(()=>{_.abort(new DOMException("Image fetch timed out","TimeoutError"))},15e3);return fetch(s,{signal:_.signal}).then(async M=>{if(!M.ok)throw new Error(`HTTP ${M.status}`);const Q=Number(M.headers.get("X-Image-Width"))||0,D=Number(M.headers.get("X-Image-Height"))||0;return{blob:await M.blob(),width:Q,height:D}}).then(({blob:M,width:Q,height:D})=>{_.signal.aborted||(L=URL.createObjectURL(M),Q>0&&D>0&&v({width:Q,height:D}),g({status:"ready",objectUrl:L}))}).catch(()=>{const M=_.signal.reason;_.signal.aborted&&!(M instanceof DOMException&&M.name==="TimeoutError")||g({status:"fallback"})}).finally(()=>{window.clearTimeout(R)}),()=>{window.clearTimeout(R),_.abort(),L&&URL.revokeObjectURL(L)}},[a,s]);const S=cZ(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=aZ(r,s.markdownFilePath,s.rootPath);if(!i)return``;const a=s.images.length;s.images.push({kind:"image",src:i,alt:t,title:n});const u=l.jsx(dZ,{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 z6(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="",fZ=/\\([\\`*{}\[\]#+\-.!_|~>$])/g;function hZ(e){return e.replace(fZ,(t,r)=>`${BS}${r.charCodeAt(0).toString(16).padStart(4,"0")}`)}function G6(e){return e.replace(new RegExp(`${BS}([0-9a-f]{4})`,"g"),(t,r)=>String.fromCharCode(Number.parseInt(r,16))).replace(/\\([()])/g,"$1")}function pZ(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=Vd(()=>import("./purify.es-CC4Brkr_.js"),[]).then(e=>e.default??e).catch(e=>{throw Cp=null,e})),Cp}function FS({html:e}){const{t}=$r(),[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 mZ({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 gZ(){return kp||(kp=Promise.all([Vd(()=>import("./katex-DnlPpQZa.js"),[]),Vd(()=>Promise.resolve({}),__vite__mapDeps([5]))]).then(([e])=>e.default??e).catch(e=>{throw kp=null,e})),kp}function oh({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),gZ().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 bZ(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(mZ,{html:e},t):null;const s=n[1].toLowerCase(),i=fi(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 fi(e,t,r=!0,n){const s=hZ(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(G6(s.slice(u,d.index)));const h=d[0],m=`${t}-${d.index}`,g=h.startsWith("<")?bZ(h,m,n):null;if(g)a.push(g);else if(h.startsWith("\\(")&&h.endsWith("\\)"))a.push(l.jsx(oh,{tex:h.slice(2,-2)},m));else if(h.startsWith("$")&&h.endsWith("$"))a.push(l.jsx(oh,{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:pZ(h.slice(x,-x))},m))}else if(h.startsWith("~~"))a.push(l.jsx("del",{className:"text-muted-foreground decoration-border-strong",children:fi(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:fi(h.slice(2,-2),`${m}-strong`,r,n)},m));else if(h.startsWith("*")||h.startsWith("_"))a.push(l.jsx("em",{className:"italic",children:fi(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(em(T));a.push(_?_2(m,v[1],_.href,_.title,n):h)}else if(S){const T=n.referenceDefinitions.get(em(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(">")&&z6(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(z6(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(em(T)):null,L=x?rx(x[2]):null,R=L?.href??_?.href??null,M=R?tZ(R):null,Q=x?.[1]??v?.[1]??S?.[1]??"";a.push(M?l.jsx("a",{href:M,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:fi(Q,`${m}-link`,r,n)},m):h)}u=i.lastIndex}return u<s.length&&a.push(G6(s.slice(u))),a.length>0?a:[e]}function QS(e){return/(?: {2,}|\\)$/.test(e)}function $S(e){return e.replace(/(?: {2,}|\\)$/,"")}function Pm(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(...fi($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(fi($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 ah(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 ah(e).map(t=>/^:-+:$/.test(t)?"center":/^-+:$/.test(t)?"right":/^:-+$/.test(t)?"left":null)}function jm(e){return e==="center"?"text-center":e==="right"?"text-right":"text-left"}function Fm(e){return/^\|?\s*:?-{3,}:?\s*(?:\|\s*:?-{3,}:?\s*)*\|?$/.test(e.trim())}function xZ(e,t){return e>96||e>44&&t>.35}function T5(e){return(e.match(/^\s*/)?.[0]??"").replace(/\t/g," ").length}function C5(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&&(Bm(h)||i.has(d))){d+=1;continue}const m=C5(h),g=T5(h);if(!m){if(g>r&&u.length>0){([...u].reverse().find(T=>T.indent<g)?.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(g<r||g===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>=g;)u.pop();const v=u[u.length-1]?.item??null;v?v.children.push(x):a.push(x),u.push({indent:g,item:x});for(const S of u)S.item.lineEnd=d+1;d+=1}return{items:a,nextIndex:d}}function k5(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,fi(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:fi(u,`li-${t}-${i}-p-${d}`,!0,r)},`paragraph-${d}`))})]}),groups:yZ(s.children,`${t}-${i}`,r,n)}})}function yZ(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:k5(i.items,`${t}-g${a}`,r,n)}))}function _5(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&&vZ(r.groups,t)]},r.key)})}function vZ(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:_5(r.items,t)},`nested-${n}`)})}function wZ(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:[fi(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 AZ(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 M=[];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:M.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:fi(R,`${t}-details-${L}-summary`,!0,r)}),M.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(M,`${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
173
|
`)},`${t}-html-${R}`)});continue}const m=d.match(/^(```|~~~)\s*(.*)$/);if(m){const L=[],R=m[1],M=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),M.toLowerCase()==="mermaid"?s.push({kind:"static",node:l.jsx(VS,{code:L.join(`
|
|
174
174
|
`),blockKey:`${t}-code-${Q}`},`${t}-code-${Q}`)}):["math","latex","tex"].includes(M.toLowerCase())?s.push({kind:"static",node:l.jsx(oh,{tex:L.join(`
|
|
175
175
|
`),display:!0},`${t}-code-${Q}`)}):s.push({kind:"code",key:`${t}-code-${Q}`,code:L.join(`
|
|
176
176
|
`),lang:M,blockKey:`${t}-code-${Q}`,codeStartLine:a(Q)+1});continue}if(Pm(u)){const L=[],R=i;for(;i<e.length&&(Pm(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(`
|
|
177
|
-
`).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${R}`,codeStartLine:a(R)});continue}const g=d.match(/^(#{1,6})\s+(.+)$/);if(g){const R=`h${Math.min(6,g[1].length+1)}`,M=RS(g[2]),Q=ex(M,r);s.push({kind:"static",node:l.jsx(R,{id:Q,className:"scroll-mt-16 font-semibold text-foreground",children:fi(M,`${t}-heading-${i}`,!0,r)},`${t}-heading-${i}`)}),i+=1;continue}if(i+1<e.length&&u.includes("|")&&Fm(e[i+1])){const L=ah(u),R=zS(e[i+1]),M=[],Q=i;for(i+=2;i<e.length&&e[i].includes("|")&&e[i].trim();)M.push(ah(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((D,j)=>l.jsx("th",{className:`${AS} ${jm(R[j]??null)}`,children:l.jsx("div",{className:Dm,children:fi(D,`${t}-th-${Q}-${j}`,!0,r)})},`h-${j}`))})}),l.jsx("tbody",{children:M.map((D,j)=>l.jsx("tr",{className:"border-t border-border/10",children:L.map((A,O)=>l.jsx("td",{className:`${SS} ${jm(R[O]??null)}`,children:l.jsx("div",{className:Dm,children:fi(D[O]??"",`${t}-td-${Q}-${j}-${O}`,!0,r)})},`c-${O}`))},`r-${j}`))})]})},`${t}-table-${Q}`)});continue}const x=C5(u);if(x){const L=x.ordered,R=T5(u),M=x.start,Q=i,D=GS(e,i,R,L,!1);i=D.nextIndex,s.push({kind:"list",keyPrefix:`${t}-list-${Q}`,ordered:L,start:L?M:void 0,renders:k5(D.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("|")&&Fm(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 SZ(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:_5(r.renders,t)},r.keyPrefix)}case"code":return l.jsx(Om,{code:r.code,lang:r.lang,blockKey:r.blockKey,codeStartLine:r.codeStartLine,lineRange:t},r.key)}})}let _p=null,W6=!1;const Lp=16,WS=192;function TZ(){return _p||(_p=Vd(()=>import("./mermaid.core-
|
|
177
|
+
`).replace(/\n+$/,""),lang:"",blockKey:`${t}-indented-code-${R}`,codeStartLine:a(R)});continue}const g=d.match(/^(#{1,6})\s+(.+)$/);if(g){const R=`h${Math.min(6,g[1].length+1)}`,M=RS(g[2]),Q=ex(M,r);s.push({kind:"static",node:l.jsx(R,{id:Q,className:"scroll-mt-16 font-semibold text-foreground",children:fi(M,`${t}-heading-${i}`,!0,r)},`${t}-heading-${i}`)}),i+=1;continue}if(i+1<e.length&&u.includes("|")&&Fm(e[i+1])){const L=ah(u),R=zS(e[i+1]),M=[],Q=i;for(i+=2;i<e.length&&e[i].includes("|")&&e[i].trim();)M.push(ah(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((D,j)=>l.jsx("th",{className:`${AS} ${jm(R[j]??null)}`,children:l.jsx("div",{className:Dm,children:fi(D,`${t}-th-${Q}-${j}`,!0,r)})},`h-${j}`))})}),l.jsx("tbody",{children:M.map((D,j)=>l.jsx("tr",{className:"border-t border-border/10",children:L.map((A,O)=>l.jsx("td",{className:`${SS} ${jm(R[O]??null)}`,children:l.jsx("div",{className:Dm,children:fi(D[O]??"",`${t}-td-${Q}-${j}-${O}`,!0,r)})},`c-${O}`))},`r-${j}`))})]})},`${t}-table-${Q}`)});continue}const x=C5(u);if(x){const L=x.ordered,R=T5(u),M=x.start,Q=i,D=GS(e,i,R,L,!1);i=D.nextIndex,s.push({kind:"list",keyPrefix:`${t}-list-${Q}`,ordered:L,start:L?M:void 0,renders:k5(D.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("|")&&Fm(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 SZ(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:_5(r.renders,t)},r.keyPrefix)}case"code":return l.jsx(Om,{code:r.code,lang:r.lang,blockKey:r.blockKey,codeStartLine:r.codeStartLine,lineRange:t},r.key)}})}let _p=null,W6=!1;const Lp=16,WS=192;function TZ(){return _p||(_p=Vd(()=>import("./mermaid.core-CGMy6JK2.js").then(e=>e.aJ),__vite__mapDeps([6,1,7])).then(e=>e.default??e).catch(e=>{throw _p=null,e})),_p}function CZ(e){W6||(e.initialize({startOnLoad:!1,securityLevel:"strict",theme:"neutral"}),W6=!0)}function kZ(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 _Z(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 LZ(e){const t=e.trim().split(/\s+/,1)[0]?.toLowerCase();if(!t)return null;const r=t.replace(/^language-/,"");return sh(`code.${r}`)??r}function VS({code:e,blockKey:t}){const{t:r}=$r(),[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),TZ().then(async g=>{CZ(g);const x=`termdock-md-mermaid-${t.replace(/[^a-zA-Z0-9_-]/g,"-")}`,{svg:v}=await g.render(x,e);m||s(kZ(v))}).catch(()=>{m||a(!0)}),()=>{m=!0}},[t,e]),w.useLayoutEffect(()=>{n&&_Z(u.current)},[n]);const h=w.useCallback(()=>{const m=u.current?.querySelector("svg")?.outerHTML??n;m&&d?.(m)},[d,n]);return i?l.jsx(Om,{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 Om({code:e,lang:t,blockKey:r,codeStartLine:n,lineRange:s}){const i=LZ(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(KA(m,e,i))}catch{h||u(null)}}).catch(()=>{h||u(null)}),()=>{h=!0}},[r,e,i]);const d=a??(e||" ").split(`
|
|
178
178
|
`).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:`${A5} termdock-code overflow-auto p-3 text-[11px] leading-relaxed text-foreground`,children:l.jsx("code",{children:d.map((h,m)=>{const g=n!=null?n+m:null,x=!!(s&&g!=null&&g>=s.start&&g<=s.end);return l.jsxs("span",{"data-md-ref-start":g??void 0,"data-md-ref-end":g??void 0,"data-selected":x?"true":void 0,children:[h,m<d.length-1?`
|
|
179
179
|
`:null]},`${r}-line-${m}`)})})})]})}function EZ(e,t,r,n,s){e=iZ(e);const i=rZ(e),a=sZ(e),u=[],d={markdownFilePath:t,rootPath:r,referenceDefinitions:i,footnoteDefinitions:nZ(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(Bm(x)||a.has(m)){m+=1;continue}if(!v){m+=1;continue}if(/^<details>\s*$/i.test(v)){const j=m;let A="Details";const O=[];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:O.push(e[m].trimStart()),m+=1}m<e.length&&(m+=1),h.push({key:`details-${j}`,startLine:j+1,endLine:m,content:l.jsxs("details",{className:"overflow-hidden rounded-lg border border-border/20 bg-surface px-3 py-2 text-muted-foreground",children:[l.jsx("summary",{className:"cursor-pointer text-sm font-semibold text-foreground",children:fi(A,`details-${j}-summary`,!0,d)}),O.length>0&&l.jsx("div",{className:"mt-2 text-sm leading-6",children:US(O,`details-${j}`,d)})]})});continue}const S=OS(x);if(S){const j=[x],A=m;for(m+=1;m<e.length&&!S.selfContained&&!new RegExp(`</${S.tag}>`,"i").test(e[m]);)j.push(e[m]),m+=1;m<e.length&&!S.selfContained&&(j.push(e[m]),m+=1),h.push({key:`html-${A}`,startLine:A+1,endLine:m,content:l.jsx(FS,{html:j.join(`
|
|
180
180
|
`)})});continue}const T=v.match(/^(```|~~~)\s*(.*)$/);if(T){const j=[],A=T[1],O=T[2]?.trim(),z=m;for(m+=1;m<e.length&&!e[m].trim().startsWith(A);)j.push(e[m]),m+=1;m<e.length&&(m+=1),h.push({key:`code-${z}`,startLine:z+1,endLine:m,fineGrained:O.toLowerCase()!=="mermaid"&&!["math","latex","tex"].includes(O.toLowerCase()),content:O.toLowerCase()==="mermaid"?l.jsx(VS,{code:j.join(`
|
|
@@ -447,4 +447,4 @@ ${Lt}
|
|
|
447
447
|
+ }
|
|
448
448
|
return context;
|
|
449
449
|
}`}};function b4(){if(typeof window>"u")return"kotlin";const t=new URLSearchParams(window.location.search).get("fixture");return t&&t in ax?t:"kotlin"}function x4(){return typeof window>"u"?"unified":new URLSearchParams(window.location.search).get("view")==="split"?"split":"unified"}function y4(){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 v4(){return typeof window>"u"?!0:new URLSearchParams(window.location.search).get("wrap")!=="off"}function QX(){const[e,t]=w.useState(()=>b4()),[r,n]=w.useState(()=>x4()),[s,i]=w.useState(()=>y4()),[a,u]=w.useState(()=>v4()),d=ax[e],h=w.useMemo(()=>Object.entries(ax),[]);return w.useEffect(()=>{if(typeof window>"u")return;let m=window.location.search;const g=()=>{window.location.search!==m&&(m=window.location.search,t(b4()),n(x4()),i(y4()),u(v4()))};window.addEventListener("popstate",g),window.addEventListener("pageshow",g),window.addEventListener("focus",g);const x=window.setInterval(g,250);return()=>{window.removeEventListener("popstate",g),window.removeEventListener("pageshow",g),window.removeEventListener("focus",g),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,g])=>l.jsx("option",{value:m,children:g.label},m))}),l.jsxs("div",{className:"inline-flex h-8 overflow-hidden rounded-full bg-surface-2 p-0.5",children:[l.jsx("button",{type:"button",onClick:()=>n("unified"),className:`rounded-full px-3 text-xs font-semibold ${r==="unified"?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:"Unified"}),l.jsx("button",{type:"button",onClick:()=>n("split"),className:`rounded-full px-3 text-xs font-semibold ${r==="split"?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:"Split"})]}),l.jsx("div",{className:"inline-flex h-8 overflow-hidden rounded-full bg-surface-2 p-0.5",children:["none","words","chars"].map(m=>l.jsx("button",{type:"button",onClick:()=>i(m),className:`rounded-full px-3 text-xs font-semibold ${s===m?"bg-surface-elevated text-foreground":"text-muted-foreground"}`,children:m},m))}),l.jsxs("button",{type:"button",onClick:()=>u(m=>!m),className:`h-8 rounded-full px-3 text-xs font-semibold ${a?"bg-primary/15 text-primary":"bg-surface-2 text-muted-foreground"}`,children:["Wrap ",a?"on":"off"]})]})]}),l.jsx("main",{className:"min-h-0 flex-1 overflow-auto rounded-lg border border-border/20 bg-surface",children:l.jsx(lS,{filePath:d.path,repoRoot:"/tmp/termdock-diff-lab",changedFile:{path:d.path,absolutePath:`/tmp/termdock-diff-lab/${d.path}`,repoRoot:"/tmp/termdock-diff-lab",status:"modified",staged:!1,unstaged:!0,untracked:!1,tracked:!0,canStage:!1,canUnstage:!1,canStash:!1,canRestoreWorktree:!1},diffOverride:d.diff,oldSourceOverride:d.oldSource,active:!0,wrap:a,showScrollHint:!a,viewType:r,inlineMode:s})})]})})}const oT=40,lx="/tmp/termdock-diff-review-lab";function w4(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(`
|
|
450
|
-
`)}function $X(e,t){return Array.from({length:oT},(r,n)=>{const s=6+n*7%60,i=`src/module${String(n).padStart(2,"0")}/File${n}.ts`,a=`${lx}/${i}`,u=w4(i,s),d=w4(i,1);return{key:a,path:i,absolutePath:a,status:"modified",repoRoot:lx,displayName:`File${n}.ts`,displayDir:`src/module${String(n).padStart(2,"0")} · ${s} lines`,diffOverride:!t||e.has(n)?u:d,auditRecords:[]}})}function HX(){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,M)=>window.setTimeout(()=>{n(Q=>{const D=new Set(Q);return D.add(M),D})},e+M*20));return()=>L.forEach(R=>window.clearTimeout(R))},[t,e]);const s=w.useMemo(()=>$X(r,t),[r,t]),i=w.useMemo(()=>[{key:"mock-repo",root:lx,label:"diff-review-lab",files:s.map(L=>({key:L.key,path:L.path,absolutePath:L.absolutePath,displayName:L.displayName,displayDir:L.displayDir,status:L.status}))}],[s]),a=w.useMemo(()=>{if(typeof window>"u")return null;const L=new URLSearchParams(window.location.search).get("select");if(L===null)return null;const 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})),[g,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(Of,{mobile:!0,backLabel:"Back",files:s,groups:i,selectedKey:u,scrollToKey:h.key,scrollToKeyNonce:h.nonce,mode:g,onModeChange:L=>{L!=="ai"&&x(L)},collapsedDirectoryKeys:v,onToggleDirectory:L=>S(R=>{const M=new Set(R);return M.has(L)?M.delete(L):M.add(L),M}),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 UX=6e4,j2="termdock:build-id:v1";let A4=!1;function S4(){A4||(A4=!0,window.setTimeout(()=>{window.location.reload()},80))}function cx(e){e.waiting?.postMessage({type:"SKIP_WAITING"})}async function zX(){if(typeof caches>"u")return;const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}function GX(e){e.addEventListener("updatefound",()=>{const t=e.installing;t&&t.addEventListener("statechange",()=>{t.state==="installed"&&navigator.serviceWorker.controller&&cx(e)})})}function WX(){if(typeof window>"u"||!("serviceWorker"in navigator))return;const e="
|
|
450
|
+
`)}function $X(e,t){return Array.from({length:oT},(r,n)=>{const s=6+n*7%60,i=`src/module${String(n).padStart(2,"0")}/File${n}.ts`,a=`${lx}/${i}`,u=w4(i,s),d=w4(i,1);return{key:a,path:i,absolutePath:a,status:"modified",repoRoot:lx,displayName:`File${n}.ts`,displayDir:`src/module${String(n).padStart(2,"0")} · ${s} lines`,diffOverride:!t||e.has(n)?u:d,auditRecords:[]}})}function HX(){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,M)=>window.setTimeout(()=>{n(Q=>{const D=new Set(Q);return D.add(M),D})},e+M*20));return()=>L.forEach(R=>window.clearTimeout(R))},[t,e]);const s=w.useMemo(()=>$X(r,t),[r,t]),i=w.useMemo(()=>[{key:"mock-repo",root:lx,label:"diff-review-lab",files:s.map(L=>({key:L.key,path:L.path,absolutePath:L.absolutePath,displayName:L.displayName,displayDir:L.displayDir,status:L.status}))}],[s]),a=w.useMemo(()=>{if(typeof window>"u")return null;const L=new URLSearchParams(window.location.search).get("select");if(L===null)return null;const 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})),[g,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(Of,{mobile:!0,backLabel:"Back",files:s,groups:i,selectedKey:u,scrollToKey:h.key,scrollToKeyNonce:h.nonce,mode:g,onModeChange:L=>{L!=="ai"&&x(L)},collapsedDirectoryKeys:v,onToggleDirectory:L=>S(R=>{const M=new Set(R);return M.has(L)?M.delete(L):M.add(L),M}),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 UX=6e4,j2="termdock:build-id:v1";let A4=!1;function S4(){A4||(A4=!0,window.setTimeout(()=>{window.location.reload()},80))}function cx(e){e.waiting?.postMessage({type:"SKIP_WAITING"})}async function zX(){if(typeof caches>"u")return;const e=await caches.keys();await Promise.all(e.map(t=>caches.delete(t)))}function GX(e){e.addEventListener("updatefound",()=>{const t=e.installing;t&&t.addEventListener("statechange",()=>{t.state==="installed"&&navigator.serviceWorker.controller&&cx(e)})})}function WX(){if(typeof window>"u"||!("serviceWorker"in navigator))return;const e="1787403098933",t=window.localStorage.getItem(j2);if(t&&t!==e){zX().finally(()=>{window.localStorage.setItem(j2,e),S4()});return}t!==e&&window.localStorage.setItem(j2,e);let r=null;navigator.serviceWorker.addEventListener("controllerchange",S4),window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js",{scope:"/"}).then(n=>{GX(n),cx(n);const s=()=>{document.visibilityState==="visible"&&n.update().then(()=>cx(n)).catch(()=>{})};s(),r=window.setInterval(s,UX),document.addEventListener("visibilitychange",s)}).catch(()=>{})}),window.addEventListener("beforeunload",()=>{r!==null&&window.clearInterval(r)})}mj();WX();try{const e=JSON.parse(window.localStorage.getItem("termdock-color-theme")||"null");(e==="dark"||e==="light")&&(document.documentElement.dataset.theme=e,K9(e))}catch{}function VX(){const{t:e}=$r(),[t,r]=w.useState(null),[n,s]=w.useState(null),i=w.useCallback(async()=>{try{const a=await yL();r(a),s(null)}catch(a){s(a instanceof Error?a.message:"Failed to query auth status")}},[]);return w.useEffect(()=>{i()},[i]),w.useEffect(()=>{const a=()=>{r(u=>u&&{...u,authenticated:!1})};return window.addEventListener(im,a),()=>window.removeEventListener(im,a)},[]),t===null?l.jsx("div",{className:"flex w-screen items-center justify-center bg-background text-muted-foreground",style:{height:"var(--app-vh, 100vh)"},children:n?`${e("common.error")}: ${n}`:e("common.loading")}):t.enabled&&!t.authenticated?l.jsx(FX,{onLoginSuccess:i}):l.jsx(PX,{})}UC.createRoot(document.getElementById("root")).render(l.jsx(B.StrictMode,{children:l.jsx(GE,{children:l.jsx(o8,{children:(()=>{const e=new URLSearchParams(window.location.search);return e.get("dag-playground")==="1"?l.jsx(OX,{}):e.get("diff-review-lab")==="1"?l.jsx(HX,{}):e.get("diff-lab")==="1"?l.jsx(QX,{}):l.jsx(VX,{})})()})})}));export{uR as M,ca as R,UR as S,Vd as _,Ut as c,l as j,$r as u,T_ as v};
|