| 589 | `);for(let w=0;w<O.length;w++)Y.push(O[w]),$.push(w>0)}return{wrapped:Y.join(` |
| 590 | `),softWrap:$}}function OZ_(q,K,_){let z=q.childNodes[0]?.yogaNode;if(z){let Y=z.getComputedLeft(),$=z.getComputedTop();if(K=` |
| 591 | `.repeat($)+tE1(K,Y),_&&$>0)_.unshift(...Array($).fill(!1))}return K}function EZ8(q,K,{offsetX:_=0,offsetY:z=0,prevScreen:Y,skipSelfBlit:$=!1,inheritedBackgroundColor:A}){let{yogaNode:O}=q;if(O){if(O.getDisplay()===jL.None){if(q.dirty){let G=zM.get(q);if(G)K.clear({x:Math.floor(G.x),y:Math.floor(G.y),width:Math.floor(G.width),height:Math.floor(G.height)}),AL1(q),mT6=!0}return}let w=_+O.getComputedLeft(),j=O.getComputedTop(),H=z+j,J=O.getComputedWidth(),M=O.getComputedHeight();if(H<0&&q.style.position==="absolute")H=0;let X=zM.get(q);if(!q.dirty&&!$&&q.pendingScrollDelta===void 0&&X&&X.x===w&&X.y===H&&X.width===J&&X.height===M&&Y){let G=Math.floor(w),Z=Math.floor(H),T=Math.floor(J),v=Math.floor(M);if(K.blit(Y,G,Z,T,v),q.style.position==="absolute")xl6.push(X);p84(q,K,Y,G,Z,T,v);return}let P=X!==void 0&&(X.x!==w||X.y!==H||X.width!==J||X.height!==M);if(P)mT6=!0;if(X&&(q.dirty||P))K.clear({x:Math.floor(X.x),y:Math.floor(X.y),width:Math.floor(X.width),height:Math.floor(X.height)},q.style.position==="absolute");let W=ql6.get(q),D=W!==void 0;if(D){mT6=!0;for(let G of W)K.clear({x:Math.floor(G.x),y:Math.floor(G.y),width:Math.floor(G.width),height:Math.floor(G.height)});ql6.delete(q)}if(M===0&&jZ_(q,O)){zM.set(q,{x:w,y:H,width:J,height:M,top:j}),q.dirty=!1;return}if(q.nodeName==="ink-raw-ansi"){let G=q.attributes.rawText;if(G)K.write(w,H,G)}else if(q.nodeName==="ink-text"){let G=V08(q,A?{backgroundColor:A}:void 0),Z=G.map((T)=>T.text).join("");if(Z.length>0){let T=Math.min(Z84(O),K.width-w),v=q.style.textWrap??"wrap",V=kZ8(Z)>T,E,S;if(V&&G.length===1){let R=G[0],x=h84(Z,T,v);S=x.softWrap,E=x.wrapped.split(` |
| 592 | `).map((I)=>{let B=wT6(I,R.styles);if(R.hyperlink)B=yZ8(B,R.hyperlink);return B}).join(` |
| 593 | `)}else if(V){let R=h84(Z,T,v);S=R.softWrap;let x=$Z_(G);E=AZ_(R.wrapped,G,x,Z,v==="wrap-trim")}else E=G.map((R)=>{let x=wT6(R.text,R.styles);if(R.hyperlink)x=yZ8(x,R.hyperlink);return x}).join("");E=OZ_(q,E,S),K.write(w,H,E,S)}}else if(q.nodeName==="ink-box"){let G=q.style.backgroundColor??A;if(q.style.noSelect){let I=Math.floor(w),B=q.style.noSelect==="from-left-edge";K.noSelect({x:B?0:I,y:Math.floor(H),width:B?I+Math.floor(J):Math.floor(J),height:Math.floor(M)})}let Z=q.style.overflowX??q.style.overflow,T=q.style.overflowY??q.style.overflow,v=Z==="hidden"||Z==="scroll",V=T==="hidden"||T==="scroll",E=T==="scroll",S=v||V,R,x;if(S){let I=v?w+O.getComputedBorder(F_.Left):void 0,B=v?w+O.getComputedWidth()-O.getComputedBorder(F_.Right):void 0;R=V?H+O.getComputedBorder(F_.Top):void 0,x=V?H+O.getComputedHeight()-O.getComputedBorder(F_.Bottom):void 0,K.clip({x1:I,x2:B,y1:R,y2:x})}if(E){let I=O.getComputedPadding(F_.Top),B=Math.max(0,(x??H+M)-(R??H)-I-O.getComputedPadding(F_.Bottom)),p=q.childNodes.find((n)=>n.yogaNode),C=p?.yogaNode,g=C?.getComputedHeight()??0,F=q.scrollHeight??g,U=q.scrollViewportHeight??B;q.scrollHeight=g,q.scrollViewportHeight=B,q.scrollViewportTop=(R??H)+I;let c=Math.max(0,g-B);if(q.scrollAnchor){let n=q.scrollAnchor.el.yogaNode?.getComputedTop();if(n!=null)q.scrollTop=n+q.scrollAnchor.offset,q.pendingScrollDelta=void 0;q.scrollAnchor=void 0}let K6=q.scrollTop??0,t=q.stickyScroll??Boolean(q.attributes.stickyScroll),q6=Math.max(0,F-U),e=g>=F;if((t||e&&K6>=q6)&&(q.pendingScrollDelta??0)>=0){if(q.scrollTop=c,q.pendingScrollDelta=void 0,q.stickyScroll===!1&&K6>=q6)q.stickyScroll=!0}let $6=(q.scrollTop??0)-K6;if($6>0){let n=q.scrollViewportTop??0;zL1={delta:$6,viewportTop:n,viewportBottom:n+B-1}}let M6=q.scrollTop??0,j6=q.pendingScrollDelta,G6=q.scrollClampMin,w6=q.scrollClampMax,o=G6!==void 0&&w6!==void 0;if(j6!==void 0&&j6!==0){let l=o&&(j6<0&&M6<G6||j6>0&&M6>w6)?Math.min(4,B>>3):B;M6+=s0_()?zZ_(q,j6,l):YZ_(q,j6,l)}else if(j6===0)q.pendingScrollDelta=void 0;let s=Math.max(0,Math.min(M6,c)),a=o?Math.max(G6,Math.min(s,w6)):s;if(q.scrollTop=s,s!==M6)q.pendingScrollDelta=void 0;if(q.pendingScrollDelta!==void 0)$L1=q;if(s=a,p&&C){let n=w+C.getComputedLeft(),l=H+C.getComputedTop()-s,A6=zM.get(p),J6=null;if(A6&&A6.y!==l){let V6=A6.y-l,y6=Math.floor(H+C.getComputedTop()),T6=y6+B-1;if(X?.y===H&&X.height===M&&B>0&&Math.abs(V6)<B)J6={top:y6,bottom:T6,delta:V6},NZ8=J6;else mT6=!0}let X6=C.getComputedHeight(),f6=A6?.height??X6,N6=X6-f6,Z6=!J6||N6===0||J6.delta>0&&N6===J6.delta;if(!Z6)NZ8=null;if(J6&&Y&&Z6){let{top:V6,bottom:y6,delta:T6}=J6,n6=Math.floor(J);K.blit(Y,Math.floor(w),V6,n6,y6-V6+1),K.shift(V6,y6,T6);let o6=T6>0?y6-T6+1:V6,I6=T6>0?y6:V6-T6-1;K.clear({x:Math.floor(w),y:o6,width:n6,height:I6-o6+1}),K.clip({x1:void 0,x2:void 0,y1:o6,y2:I6+1});let C6=p.dirty?new Set(p.childNodes.filter((S6)=>S6.dirty)):null;if(KL1(p,K,n,l,D,void 0,o6-l,I6+1-l,G,!0),K.unclip(),C6){let S6=o6-l,E6=I6+1-l,R6=" ".repeat(n6),h6=0;for(let x6 of p.childNodes){let b6=x6,Q6=C6.has(x6);if(!Q6&&h6===0){if(zM.has(b6))continue}let Y6=b6.yogaNode;if(!Y6)continue;let _6=Y6.getComputedTop(),F6=Y6.getComputedHeight(),W6=_6+F6;if(Q6){let K8=zM.get(b6);h6+=F6-(K8?K8.height:0)}if(W6<=s||_6>=s+B)continue;if(_6>=S6&&W6<=E6)continue;let v6=Math.floor(l+_6);if(!Q6){let K8=zM.get(b6);if(K8&&Math.floor(K8.y)-T6===v6)continue}let m6=Math.min(Math.floor(l+W6),Math.floor((R??H)+I+B));if(v6<m6){let K8=Array(m6-v6).fill(R6).join(` |
| 594 | `);K.write(Math.floor(w),v6,K8),K.clip({x1:void 0,x2:void 0,y1:v6,y2:m6}),EZ8(b6,K,{offsetX:n,offsetY:l,prevScreen:void 0,inheritedBackgroundColor:G}),K.unclip()}}}let l6=_L1.length?" ".repeat(n6):"";for(let S6 of _L1){if(S6.y>=y6+1||S6.y+S6.height<=V6)continue;let E6=Math.max(V6,Math.floor(S6.y)-T6),R6=Math.min(y6+1,Math.floor(S6.y+S6.height)-T6);if(E6>=o6&&R6<=I6+1)continue;if(E6>=R6)continue;let h6=Array(R6-E6).fill(l6).join(` |
| 595 | `);K.write(Math.floor(w),E6,h6),K.clip({x1:void 0,x2:void 0,y1:E6,y2:R6}),KL1(p,K,n,l,D,void 0,E6-l,R6-l,G,!0),K.unclip()}}else{let V6=A6&&A6.y!==l;if(V6&&R!==void 0&&x!==void 0)K.clear({x:Math.floor(w),y:Math.floor(R),width:Math.floor(J),height:Math.floor(x-R)});KL1(p,K,n,l,D,V6||P?void 0:Y,s,s+B,G)}zM.set(p,{x:n,y:l,width:C.getComputedWidth(),height:C.getComputedHeight()}),p.dirty=!1}}else{let I=q.style.backgroundColor;if(I||q.style.opaque){let B=O.getComputedBorder(F_.Left),p=O.getComputedBorder(F_.Right),C=O.getComputedBorder(F_.Top),g=O.getComputedBorder(F_.Bottom),F=Math.floor(J)-B-p,U=Math.floor(M)-C-g;if(F>0&&U>0){let c=" ".repeat(F),K6=I?wT6(c,{backgroundColor:I}):c,t=Array(U).fill(K6).join(` |
| 596 | `);K.write(w+B,H+C,t)}}S84(q,K,w,H,D,I||q.style.opaque?void 0:Y,G)}if(S)K.unclip();y84(w,H,q,K)}else if(q.nodeName==="ink-root")S84(q,K,w,H,D,Y,A);let f={x:w,y:H,width:J,height:M,top:j};if(zM.set(q,f),q.style.position==="absolute")xl6.push(f);q.dirty=!1}}function S84(q,K,_,z,Y,$,A){let O=!1,w=!1;for(let j of q.childNodes){let H=j,J=H.dirty,M=H.style.position==="absolute";if(EZ8(H,K,{offsetX:_,offsetY:z,prevScreen:Y||O?void 0:$,skipSelfBlit:w&&M&&!H.style.opaque&&H.style.backgroundColor===void 0,inheritedBackgroundColor:A}),J&&!O)if(!wZ_(H)||M)O=!0;else w=!0}}function wZ_(q){let K=q.style.overflowX??q.style.overflow,_=q.style.overflowY??q.style.overflow;return(K==="hidden"||K==="scroll")&&(_==="hidden"||_==="scroll")}function jZ_(q,K){let _=q.parentNode;if(!_)return!1;let z=K.getComputedTop(),Y=_.childNodes,$=Y.indexOf(q);for(let A=$+1;A<Y.length;A++){let O=Y[A].yogaNode;if(!O)continue;return O.getComputedTop()===z}for(let A=$-1;A>=0;A--){let O=Y[A].yogaNode;if(!O)continue;return O.getComputedTop()===z}return!1}function p84(q,K,_,z,Y,$,A){let O=z+$,w=Y+A;for(let j of q.childNodes){if(j.nodeName==="#text")continue;let H=j;if(H.style.position==="absolute"){let J=zM.get(H);if(J){xl6.push(J);let M=Math.floor(J.x),X=Math.floor(J.y),P=Math.floor(J.width),W=Math.floor(J.height);if(M<z||X<Y||M+P>O||X+W>w)K.blit(_,M,X,P,W)}}p84(H,K,_,z,Y,$,A)}}function KL1(q,K,_,z,Y,$,A,O,w,j=!1){let H=!1,J=0;for(let M of q.childNodes){let X=M,P=X.yogaNode;if(P){let D=zM.get(X),f,G;if(D?.top!==void 0&&!X.dirty&&J===0)f=D.top,G=D.height;else{if(f=P.getComputedTop(),G=P.getComputedHeight(),X.dirty)J+=G-(D?D.height:0);if(D)D.top=f}if(f+G<=A||f>=O){if(!j)AL1(X);continue}}let W=X.dirty;if(EZ8(X,K,{offsetX:_,offsetY:z,prevScreen:Y||H?void 0:$,inheritedBackgroundColor:w}),W)H=!0}}function AL1(q){zM.delete(q);for(let K of q.childNodes)if(K.nodeName!=="#text")AL1(K)}var mT6=!1,NZ8=null,_L1,xl6,$L1=null,zL1=null,t0_=4,e0_=5,qZ_=12,KZ_=2,_Z_=3,qL1=30,L84="\x1B]",R84="\x07",Il6;var LZ8=y(()=>{s$6();G84();KA6();fT6();E84();ky1();Bi();sE1();x08();_L1=[],xl6=[];Il6=EZ8});function B84(q,K){let _=K.toLowerCase();if(!_)return[];let z=_.length,Y=q.width,$=q.height,A=q.noSelect,O=[],w=performance.now();for(let j=0;j<$;j++){let H=j*Y,J="",M=[],X=[];for(let W=0;W<Y;W++){let D=H+W,f=Si(q,D);if(f.width===2||f.width===3||A[D]===1)continue;let G=f.char.toLowerCase(),Z=M.length;for(let T=0;T<G.length;T++)X.push(Z);J+=G,M.push(W)}let P=J.indexOf(_);while(P>=0){let W=X[P],D=X[P+z-1],f=M[W],G=M[D]+1;O.push({row:j,col:f,len:G-f}),P=J.indexOf(_,P+z)}}return HZ_.scan+=performance.now()-w,O}function g84(q,K,_,z,Y){if(Y<0||Y>=_.length)return!1;let $=_[Y],A=$.row+z;if(A<0||A>=q.height)return!1;let O=(j)=>K.withCurrentMatch(j),w=A*q.width;for(let j=$.col;j<$.col+$.len;j++){if(j<0||j>=q.width)continue;let H=Si(q,w+j);NT6(q,j,A,O(H.styleId))}return!0}var HZ_;var F84=y(()=>{ef8();_8();TT6();Ol6();VZ8();jl6();LZ8();Ci();HZ_={reconcile:0,yoga:0,paint:0,scan:0,calls:0}});function OL1(q,K){let _;return(z)=>{let{frontFrame:Y,backFrame:$,isTTY:A,terminalWidth:O,terminalRows:w}=z,j=Y.screen,H=$.screen,J=H.charPool,M=H.hyperlinkPool,X=q.yogaNode?.getComputedHeight(),P=q.yogaNode?.getComputedWidth(),W=X===void 0||!Number.isFinite(X)||X<0,D=P===void 0||!Number.isFinite(P)||P<0;if(!q.yogaNode||W||D){if(q.yogaNode&&(W||D))N(`Invalid yoga dimensions: width=${P}, height=${X}, childNodes=${q.childNodes.length}, terminalWidth=${O}, terminalRows=${w}`);return{screen:hi(O,0,K,J,M),viewport:{width:O,height:w},cursor:{x:0,y:0,visible:!0}}}let f=Math.floor(q.yogaNode.getComputedWidth()),G=Math.floor(q.yogaNode.getComputedHeight()),Z=z.altScreen?w:G;if(z.altScreen&&G>w)N(`alt-screen: yoga height ${G} > terminalRows ${w} — `+"something is rendering outside <AlternateScreen>. Overflow clipped.",{level:"warn"});let T=H??hi(f,Z,K,J,M);if(_)_.reset(f,Z,T);else _=new ZA6({width:f,height:Z,stylePool:K,screen:T});YL1(),b84(),I84();let v=Hsq();Il6(q,_,{prevScreen:v||z.prevFrameContaminated?void 0:j});let V=_.get(),E=u84();if(E)oW(E);return{scrollHint:z.altScreen?x84():null,scrollDrainPending:E!==null,screen:V,viewport:{width:O,height:z.altScreen?w+1:w},cursor:{x:0,y:z.altScreen?Math.max(0,Math.min(T.height,w)-1):T.height,visible:!A||T.height===0}}}}var U84=y(()=>{_8();TT6();fT6();VZ8();LZ8();Ci()});function Q84(q,K,_){if(!K)return!1;let z=K.toLowerCase(),Y=z.length,$=q.width,A=q.noSelect,O=q.height,w=!1;for(let j=0;j<O;j++){let H=j*$,J="",M=[],X=[];for(let W=0;W<$;W++){let D=H+W,f=Si(q,D);if(f.width===2||f.width===3||A[D]===1)continue;let G=f.char.toLowerCase(),Z=M.length;for(let T=0;T<G.length;T++)X.push(Z);J+=G,M.push(W)}let P=J.indexOf(z);while(P>=0){w=!0;let W=X[P],D=X[P+Y-1];for(let f=W;f<=D;f++){let G=M[f],Z=Si(q,H+G);NT6(q,G,j,_.withInverse(Z.styleId))}P=J.indexOf(z,P+Y)}}return w}var d84=y(()=>{Ci()});function ZF(){let q=aS.useContext(U16);if(!q)throw Error("useTerminalNotification must be used within TerminalWriteProvider");let K=aS.useCallback(({message:A,title:O})=>{let w=O?`${O}: |
| 597 | ${A}`:A;q(aW(EP(h2.ITERM2,` |
| 598 | |
| 599 | ${w}`)))},[q]),_=aS.useCallback(({message:A,title:O,id:w})=>{q(aW(EP(h2.KITTY,`i=${w}:d=0:p=title`,O))),q(aW(EP(h2.KITTY,`i=${w}:p=body`,A))),q(aW(EP(h2.KITTY,`i=${w}:d=1:a=focus`,"")))},[q]),z=aS.useCallback(({message:A,title:O})=>{q(aW(EP(h2.GHOSTTY,"notify",O,A)))},[q]),Y=aS.useCallback(()=>{q(JF)},[q]),$=aS.useCallback((A,O)=>{if(!E64())return;if(!A){q(aW(EP(h2.ITERM2,MA6.PROGRESS,XA6.CLEAR,"")));return}let w=Math.max(0,Math.min(100,Math.round(O??0)));switch(A){case"completed":q(aW(EP(h2.ITERM2,MA6.PROGRESS,XA6.CLEAR,"")));break;case"error":q(aW(EP(h2.ITERM2,MA6.PROGRESS,XA6.ERROR,w)));break;case"indeterminate":q(aW(EP(h2.ITERM2,MA6.PROGRESS,XA6.INDETERMINATE,"")));break;case"running":q(aW(EP(h2.ITERM2,MA6.PROGRESS,XA6.SET,w)));break;case null:break}},[q]);return aS.useMemo(()=>({notifyITerm2:K,notifyKitty:_,notifyGhostty:z,notifyBell:Y,progress:$}),[K,_,z,Y,$])}var aS,U16,c84;var GF=y(()=>{Bi();t$6();YM();aS=O6(D6(),1),U16=aS.createContext(null),c84=U16.Provider});import{closeSync as JZ_,constants as l84,openSync as MZ_,readSync as XZ_,writeSync as Fi}from"fs";import{format as n84}from"util";function i84(q){return Object.freeze({type:"stdout",content:rN1(q,1)})}class ul6{options;log;terminal;scheduleRender;isUnmounted=!1;isPaused=!1;container;rootNode;focusManager;renderer;stylePool;charPool;hyperlinkPool;exitPromise;restoreConsole;restoreStderr;unsubscribeTTYHandlers;terminalColumns;terminalRows;currentNode=null;frontFrame;backFrame;lastPoolResetTime=performance.now();drainTimer=null;lastYogaCounters={ms:0,visited:0,measured:0,cacheHits:0,live:0};altScreenParkPatch;selection=Xtq();searchHighlightQuery="";searchPositions=null;selectionListeners=new Set;hoveredNodes=new Set;altScreenActive=!1;altScreenMouseTracking=!1;prevFrameContaminated=!1;needsEraseBeforePaint=!1;cursorDeclaration=null;displayCursor=null;constructor(q){this.options=q;if(yN1(this),this.options.patchConsole)this.restoreConsole=this.patchConsole(),this.restoreStderr=this.patchStderr();this.terminal={stdout:q.stdout,stderr:q.stderr},this.terminalColumns=q.stdout.columns||80,this.terminalRows=q.stdout.rows||24,this.altScreenParkPatch=i84(this.terminalRows),this.stylePool=new U08,this.charPool=new Jl6,this.hyperlinkPool=new Ml6,this.frontFrame=F16(this.terminalRows,this.terminalColumns,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=F16(this.terminalRows,this.terminalColumns,this.stylePool,this.charPool,this.hyperlinkPool),this.log=new cE1({isTTY:q.stdout.isTTY||!1,stylePool:this.stylePool});let K=()=>queueMicrotask(this.onRender);if(this.scheduleRender=qaq(K,PA6,{leading:!0,trailing:!0}),this.isUnmounted=!1,this.unsubscribeExit=Le(this.unmount,{alwaysLast:!1}),q.stdout.isTTY)q.stdout.on("resize",this.handleResize),process.on("SIGCONT",this.handleResume),this.unsubscribeTTYHandlers=()=>{q.stdout.off("resize",this.handleResize),process.off("SIGCONT",this.handleResume)};this.rootNode=zl6("ink-root"),this.focusManager=new vT6((_,z)=>Ri.dispatchDiscrete(_,z)),this.rootNode.focusManager=this.focusManager,this.renderer=OL1(this.rootNode,this.stylePool),this.rootNode.onRender=this.scheduleRender,this.rootNode.onImmediateRender=this.onRender,this.rootNode.onComputeLayout=()=>{if(this.isUnmounted)return;if(this.rootNode.yogaNode){let _=performance.now();this.rootNode.yogaNode.setWidth(this.terminalColumns),this.rootNode.yogaNode.calculateLayout(this.terminalColumns);let z=performance.now()-_;tsq(z);let Y=A08();this.lastYogaCounters={ms:z,...Y}}},this.container=WF.createContainer(this.rootNode,RN1,null,!1,null,"id",Gi,Gi,Gi,Gi)}handleResume=()=>{if(!this.options.stdout.isTTY)return;if(this.altScreenActive){this.reenterAltScreen();return}this.frontFrame=F16(this.frontFrame.viewport.height,this.frontFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.backFrame=F16(this.backFrame.viewport.height,this.backFrame.viewport.width,this.stylePool,this.charPool,this.hyperlinkPool),this.log.reset(),this.displayCursor=null};handleResize=()=>{let q=this.options.stdout.columns||80,K=this.options.stdout.rows||24;if(q===this.terminalColumns&&K===this.terminalRows)return;if(this.terminalColumns=q,this.terminalRows=K,this.altScreenParkPatch=i84(this.terminalRows),this.altScreenActive&&!this.isPaused&&this.options.stdout.isTTY){if(this.altScreenMouseTracking)this.options.stdout.write(HA6);this.resetFramesForAltScreen(),this.needsEraseBeforePaint=!0}if(this.currentNode!==null)this.render(this.currentNode)};resolveExitPromise=()=>{};rejectExitPromise=()=>{};unsubscribeExit=()=>{};enterAlternateScreen(){this.pause(),this.suspendStdin(),this.options.stdout.write(yi+e$6+(this.altScreenMouseTracking?ui:"")+(this.altScreenActive?"":"\x1B[?1049h")+"\x1B[?1004l\x1B[0m\x1B[?25h\x1B[2J\x1B[H")}exitAlternateScreen(){if(this.options.stdout.write((this.altScreenActive?El6:"")+"\x1B[2J\x1B[H"+(this.altScreenMouseTracking?HA6:"")+(this.altScreenActive?"":"\x1B[?1049l")+"\x1B[?25l"),this.resumeStdin(),this.altScreenActive)this.resetFramesForAltScreen();else this.repaint();this.resume(),this.options.stdout.write("\x1B[?1004h"+(Ll6()?yi+nc6+ic6:""))}onRender(){if(this.isUnmounted||this.isPaused)return;if(this.drainTimer!==null)clearTimeout(this.drainTimer),this.drainTimer=null;an8();let q=performance.now(),K=this.options.stdout.columns||80,_=this.options.stdout.rows||24,z=this.renderer({frontFrame:this.frontFrame,backFrame:this.backFrame,isTTY:this.options.stdout.isTTY,terminalWidth:K,terminalRows:_,altScreen:this.altScreenActive,prevFrameContaminated:this.prevFrameContaminated}),Y=performance.now()-q,$=m84();if($&&this.selection.anchor&&this.selection.anchor.row>=$.viewportTop&&this.selection.anchor.row<=$.viewportBottom){let{delta:I,viewportTop:B,viewportBottom:p}=$;if(this.selection.isDragging){if(iS(this.selection))r08(this.selection,this.frontFrame.screen,B,B+I-1,"above");i08(this.selection,-I,B,p)}else if(!this.selection.focus||this.selection.focus.row>=B&&this.selection.focus.row<=p){if(iS(this.selection))r08(this.selection,this.frontFrame.screen,B,B+I-1,"above");if(ktq(this.selection,-I,B,p))for(let g of this.selectionListeners)g()}}let A=!1,O=!1;if(this.altScreenActive){if(A=iS(this.selection),A)ytq(z.screen,this.selection,this.stylePool);if(O=Q84(z.screen,this.searchHighlightQuery,this.stylePool),this.searchPositions){let I=this.searchPositions,B=g84(z.screen,this.stylePool,I.positions,I.rowOffset,I.currentIdx);O=O||B}}if(C84()||A||O||this.prevFrameContaminated)z.screen.damage={x:0,y:0,width:z.screen.width,height:z.screen.height};let w=this.frontFrame;if(this.altScreenActive)w={...this.frontFrame,cursor:PZ_};let j=performance.now(),H=this.log.render(w,z,this.altScreenActive,LE1),J=performance.now()-j;if(this.backFrame=this.frontFrame,this.frontFrame=z,q-this.lastPoolResetTime>300000)this.resetPools(),this.lastPoolResetTime=q;let M=[];for(let I of H)if(I.type==="clearTerminal"){if(M.push({desiredHeight:z.screen.height,availableHeight:z.viewport.height,reason:I.reason}),oy1()&&I.debug){let B=Fsq(this.rootNode,I.debug.triggerY);N(`[REPAINT] full reset · ${I.reason} · row ${I.debug.triggerY} |