tower-studio 0.1.17 → 0.1.18
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/cache/.previewinfo +1 -1
- package/.next/cache/.rscinfo +1 -1
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/diagnostics/route-bundle-stats.json +47 -47
- package/.next/fallback-build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/_not-found/page/server-reference-manifest.json +25 -25
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +13 -13
- package/.next/server/app/_not-found.segments/_full.segment.rsc +13 -13
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +8 -8
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +13 -13
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/.next/server/app/index.segments/_head.segment.rsc +4 -4
- package/.next/server/app/index.segments/_index.segment.rsc +8 -8
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/missions/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/missions/page/server-reference-manifest.json +57 -57
- package/.next/server/app/missions/page.js.nft.json +1 -1
- package/.next/server/app/missions/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/onboarding/page/server-reference-manifest.json +25 -25
- package/.next/server/app/onboarding/page.js.nft.json +1 -1
- package/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/.next/server/app/onboarding.html +1 -1
- package/.next/server/app/onboarding.rsc +15 -15
- package/.next/server/app/onboarding.segments/_full.segment.rsc +15 -15
- package/.next/server/app/onboarding.segments/_head.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/_index.segment.rsc +8 -8
- package/.next/server/app/onboarding.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/onboarding.segments/onboarding.segment.rsc +3 -3
- package/.next/server/app/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +25 -25
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/settings/page/server-reference-manifest.json +32 -32
- package/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/server/app/settings.html +1 -1
- package/.next/server/app/settings.rsc +15 -15
- package/.next/server/app/settings.segments/_full.segment.rsc +15 -15
- package/.next/server/app/settings.segments/_head.segment.rsc +4 -4
- package/.next/server/app/settings.segments/_index.segment.rsc +8 -8
- package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +4 -4
- package/.next/server/app/settings.segments/settings.segment.rsc +3 -3
- package/.next/server/app/workspaces/[workspaceId]/archive/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page/server-reference-manifest.json +81 -81
- package/.next/server/app/workspaces/[workspaceId]/archive/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/archive/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page/server-reference-manifest.json +70 -70
- package/.next/server/app/workspaces/[workspaceId]/assets/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/assets/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page/server-reference-manifest.json +57 -57
- package/.next/server/app/workspaces/[workspaceId]/notes/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/notes/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page/server-reference-manifest.json +53 -53
- package/.next/server/app/workspaces/[workspaceId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page/server-reference-manifest.json +25 -25
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/projects/[projectId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page/server-reference-manifest.json +58 -58
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/[workspaceId]/tasks/[taskId]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/workspaces/page/react-loadable-manifest.json +1 -1
- package/.next/server/app/workspaces/page/server-reference-manifest.json +45 -45
- package/.next/server/app/workspaces/page.js.nft.json +1 -1
- package/.next/server/app/workspaces/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/0uz~_next_dist_esm_build_templates_app-route_05yec2y.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__00~8_qz._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0bvqbq0._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0rb-ear._.js +2 -2
- package/.next/server/chunks/[root-of-the-server]__0ze75mm._.js +1 -1
- package/.next/server/chunks/project_f_tower_0n1s3ym._.js +1 -1
- package/.next/server/chunks/project_f_tower_src_11e.cv5._.js +1 -1
- package/.next/server/chunks/project_f_tower_src_lib_10p8sue._.js +1 -1
- package/.next/server/chunks/ssr/04uy_src_app_workspaces_[workspaceId]_tasks_[taskId]_task-page-client_tsx_01.s1p0._.js +1 -1
- package/.next/server/chunks/ssr/0y0r_f_tower_src_app_workspaces_[workspaceId]_assets_assets-page-client_tsx_0n4g3bn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0.yn90z._.js +3 -0
- package/.next/server/chunks/ssr/{[root-of-the-server]__13b2wve._.js → [root-of-the-server]__00_.ri0._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__06qzctf._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0_47k-j._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0aidehy._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0ffdrwp._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0hiekzn._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0i4rk9v._.js +3 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0jpbiq_._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__0w7gbe7._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0zaw-fl._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__13eo85g._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0.txwd8._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0ai4twk._.js → project_f_tower_006ysi2._.js} +2 -2
- package/.next/server/chunks/ssr/{project_f_tower_0e3m009._.js → project_f_tower_09re1~6._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0d9_kxc._.js +3 -0
- package/.next/server/chunks/ssr/project_f_tower_0f0-wva._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0hgtev9._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0ivvjwd._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0jy~1uf._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0l6ssf8._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0uu8dha._.js → project_f_tower_0m76uwh._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0o5.y1e._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0-wsdce._.js → project_f_tower_0vfw8sn._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_0w01kgd._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_0ym-aea._.js +1 -1
- package/.next/server/chunks/ssr/{project_f_tower_0zqkh.-._.js → project_f_tower_13hdtgf._.js} +2 -2
- package/.next/server/chunks/ssr/{project_f_tower_src_03-54or._.js → project_f_tower_src_13jw2_q._.js} +2 -2
- package/.next/server/chunks/ssr/project_f_tower_src_actions_agent-actions_ts_0.s4~m-._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_actions_file-actions_ts_02i742t._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_missions_missions-client_tsx_0ums4qx._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_onboarding_page_tsx_0_9_yoq._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_settings_page_tsx_0oo06~d._.js +1 -1
- package/.next/server/chunks/ssr/project_f_tower_src_app_workspaces_[workspaceId]_board-page-client_tsx_0jmj1xz._.js +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +212 -212
- package/.next/static/chunks/09mbyvk8z.wx2.js +1 -0
- package/.next/static/chunks/{187llw593phxu.js → 0a93fdjk-37r7.js} +1 -1
- package/.next/static/chunks/{0cqsk~mfhg.i5.js → 0ejd72g7tekop.js} +1 -1
- package/.next/static/chunks/{0nyip_341~xyg.js → 0j3ixh~tlr2~~.js} +2 -2
- package/.next/static/chunks/0jm.d2tvttdcy.js +1 -0
- package/.next/static/chunks/{0x5iegao~6ge3.js → 0kjm.xm_~nzz0.js} +1 -1
- package/.next/static/chunks/0mf6fqi52ca~q.js +1 -0
- package/.next/static/chunks/0vhwphmq69i0d.js +1 -0
- package/.next/static/chunks/{083e56klgnjgy.js → 0x2z0sza~9erw.js} +1 -1
- package/.next/static/chunks/{0zz4ryeh6j~.x.js → 0x9x7bxnrbi1..js} +1 -1
- package/.next/static/chunks/{037e47w8xw0vw.js → 0~wu849la7jq2.js} +1 -1
- package/.next/static/chunks/{110k271zgqb6h.js → 1068kwso1r._u.js} +1 -1
- package/.next/static/chunks/{0x6gp.e04de4e.js → 14ul.txcdkz4n.js} +1 -1
- package/.next/static/chunks/{0i_v_7f3gdmz4.js → 163-h-672vjtc.js} +1 -1
- package/.next/static/chunks/17b4edxd7wg5~.js +1 -0
- package/.next/trace +2 -2
- package/.next/trace-build +1 -1
- package/package.json +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__0-x7b4t._.js +0 -3
- package/.next/server/chunks/ssr/[root-of-the-server]__0z9azne._.js +0 -3
- package/.next/server/chunks/ssr/project_f_tower_0.nfmle._.js +0 -3
- package/.next/static/chunks/0a8x8yl_kme06.js +0 -1
- package/.next/static/chunks/0j.~gle~mn8uy.js +0 -1
- package/.next/static/chunks/0rt2m4hy13qby.js +0 -1
- package/.next/static/chunks/125_gss3san00.js +0 -1
- package/.next/static/chunks/12wq.0xcxup1q.js +0 -1
- /package/.next/static/{Gxj1QMzOqxH1St959O3yh → EMk0oZpCVYuq8amkRB5za}/_buildManifest.js +0 -0
- /package/.next/static/{Gxj1QMzOqxH1St959O3yh → EMk0oZpCVYuq8amkRB5za}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{Gxj1QMzOqxH1St959O3yh → EMk0oZpCVYuq8amkRB5za}/_ssgManifest.js +0 -0
|
@@ -80,4 +80,4 @@ out vec4 outColor;
|
|
|
80
80
|
|
|
81
81
|
void main() {
|
|
82
82
|
outColor = v_color;
|
|
83
|
-
}`,o0=8*Float32Array.BYTES_PER_ELEMENT,o1=class{constructor(){this.attributes=new Float32Array(160),this.count=0}},o5=0,o2=0,o3=0,o4=0,o6=0,o8=0,o7=0,o9=class extends np{constructor(e,i,s,r){super(),this._terminal=e,this._gl=i,this._dimensions=s,this._themeService=r,this._vertices=new o1,this._verticesCursor=new o1;let n=this._gl;this._program=n$(oz(n,oJ,oQ)),this._register(nf(()=>n.deleteProgram(this._program))),this._projectionLocation=n$(n.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);let o=new Float32Array([0,0,1,0,0,1,1,1]),a=n.createBuffer();this._register(nf(()=>n.deleteBuffer(a))),n.bindBuffer(n.ARRAY_BUFFER,a),n.bufferData(n.ARRAY_BUFFER,o,n.STATIC_DRAW),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let h=new Uint8Array([0,1,2,3]),l=n.createBuffer();this._register(nf(()=>n.deleteBuffer(l))),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,l),n.bufferData(n.ELEMENT_ARRAY_BUFFER,h,n.STATIC_DRAW),this._attributesBuffer=n$(n.createBuffer()),this._register(nf(()=>n.deleteBuffer(this._attributesBuffer))),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,n.FLOAT,!1,o0,0),n.vertexAttribDivisor(0,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,o0,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,4,n.FLOAT,!1,o0,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(2,1),this._updateCachedColors(r.colors),this._register(this._themeService.onChangeColors(e=>{this._updateCachedColors(e),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(e){let i=this._gl;i.useProgram(this._program),i.bindVertexArray(this._vertexArrayObject),i.uniformMatrix4fv(this._projectionLocation,!1,oF),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.bufferData(i.ARRAY_BUFFER,e.attributes,i.DYNAMIC_DRAW),i.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,i.UNSIGNED_BYTE,0,e.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background),this._cursorFloat=this._colorToFloat32Array(e.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(e){let i=this._terminal,s=this._vertices,r=1,n,o,a,h,l,c,d,_,u,f,g;for(n=0;n<i.rows;n++){for(a=-1,h=0,l=0,c=!1,o=0;o<i.cols;o++)d=(n*i.cols+o)*4,_=e.cells[d+1],f=!!(0x4000000&(u=e.cells[d+2])),(_!==h||u!==l&&(c||f))&&((0!==h||c&&0!==l)&&(g=8*r++,this._updateRectangle(s,g,l,h,a,o,n)),a=o,h=_,l=u,c=f);(0!==h||c&&0!==l)&&(g=8*r++,this._updateRectangle(s,g,l,h,a,i.cols,n))}s.count=r}updateCursor(e){let i=this._verticesCursor,s=e.cursor;if(!s||"block"===s.style){i.count=0;return}let r,n=0;("bar"===s.style||"outline"===s.style)&&(r=8*n++,this._addRectangleFloat(i.attributes,r,s.x*this._dimensions.device.cell.width,s.y*this._dimensions.device.cell.height,"bar"===s.style?s.dpr*s.cursorWidth:s.dpr,this._dimensions.device.cell.height,this._cursorFloat)),("underline"===s.style||"outline"===s.style)&&(r=8*n++,this._addRectangleFloat(i.attributes,r,s.x*this._dimensions.device.cell.width,(s.y+1)*this._dimensions.device.cell.height-s.dpr,s.width*this._dimensions.device.cell.width,s.dpr,this._cursorFloat)),"outline"===s.style&&(r=8*n++,this._addRectangleFloat(i.attributes,r,s.x*this._dimensions.device.cell.width,s.y*this._dimensions.device.cell.height,s.width*this._dimensions.device.cell.width,s.dpr,this._cursorFloat),r=8*n++,this._addRectangleFloat(i.attributes,r,(s.x+s.width)*this._dimensions.device.cell.width-s.dpr,s.y*this._dimensions.device.cell.height,s.dpr,this._dimensions.device.cell.height,this._cursorFloat)),i.count=n}_updateRectangle(e,i,s,r,n,o,a){if(0x4000000&s)switch(0x3000000&s){case 0x1000000:case 0x2000000:o5=this._themeService.colors.ansi[255&s].rgba;break;case 0x3000000:o5=(0xffffff&s)<<8;break;default:o5=this._themeService.colors.foreground.rgba}else switch(0x3000000&r){case 0x1000000:case 0x2000000:o5=this._themeService.colors.ansi[255&r].rgba;break;case 0x3000000:o5=(0xffffff&r)<<8;break;default:o5=this._themeService.colors.background.rgba}e.attributes.length<i+4&&(e.attributes=function(e,i){let s=new Float32Array(Math.min(2*e.length,i));for(let i=0;i<e.length;i++)s[i]=e[i];return s}(e.attributes,this._terminal.rows*this._terminal.cols*8)),o2=n*this._dimensions.device.cell.width,o3=a*this._dimensions.device.cell.height,o4=(o5>>24&255)/255,o6=(o5>>16&255)/255,o8=(o5>>8&255)/255,o7=1,this._addRectangle(e.attributes,i,o2,o3,(o-n)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,o4,o6,o8,o7)}_addRectangle(e,i,s,r,n,o,a,h,l,c){e[i]=s/this._dimensions.device.canvas.width,e[i+1]=r/this._dimensions.device.canvas.height,e[i+2]=n/this._dimensions.device.canvas.width,e[i+3]=o/this._dimensions.device.canvas.height,e[i+4]=a,e[i+5]=h,e[i+6]=l,e[i+7]=c}_addRectangleFloat(e,i,s,r,n,o,a){e[i]=s/this._dimensions.device.canvas.width,e[i+1]=r/this._dimensions.device.canvas.height,e[i+2]=n/this._dimensions.device.canvas.width,e[i+3]=o/this._dimensions.device.canvas.height,e[i+4]=a[0],e[i+5]=a[1],e[i+6]=a[2],e[i+7]=a[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(255&e.rgba)/255])}},ae=class extends np{constructor(e,i,s,r,n,o,a,h){super(),this._container=i,this._alpha=n,this._coreBrowserService=o,this._optionsService=a,this._themeService=h,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${s}-layer`),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(i=>{this._refreshCharAtlas(e,i),this.reset(e)})),this._register(nf(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=n$(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,i,s){}handleSelectionChanged(e,i,s,r=!1){}_setTransparency(e,i){if(i===this._alpha)return;let s=this._canvas;this._alpha=i,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,s),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,i){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=oP(e,this._optionsService.rawOptions,i,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,i){this._deviceCellWidth=i.device.cell.width,this._deviceCellHeight=i.device.cell.height,this._deviceCharWidth=i.device.char.width,this._deviceCharHeight=i.device.char.height,this._deviceCharLeft=i.device.char.left,this._deviceCharTop=i.device.char.top,this._canvas.width=i.device.canvas.width,this._canvas.height=i.device.canvas.height,this._canvas.style.width=`${i.css.canvas.width}px`,this._canvas.style.height=`${i.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,i,s=1){this._ctx.fillRect(e*this._deviceCellWidth,(i+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,s*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,i,s,r){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,i*this._deviceCellHeight,s*this._deviceCellWidth,r*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,i*this._deviceCellHeight,s*this._deviceCellWidth,r*this._deviceCellHeight))}_fillCharTrueColor(e,i,s,r){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=n4,this._clipCell(s,r,i.getWidth()),this._ctx.fillText(i.getChars(),s*this._deviceCellWidth+this._deviceCharLeft,r*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,i,s){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,i*this._deviceCellHeight,s*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,i,s){let r=i?e.options.fontWeightBold:e.options.fontWeight;return`${s?"italic":""} ${r} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},at=class extends ae{constructor(e,i,s,r,n,o,a){super(s,e,"link",i,!0,n,o,a),this._register(r.onShowLinkUnderline(e=>this._handleShowLinkUnderline(e))),this._register(r.onHideLinkUnderline(e=>this._handleHideLinkUnderline(e)))}resize(e,i){super.resize(e,i),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){var i;if(257===e.fg?this._ctx.fillStyle=this._themeService.colors.background.css:void 0!==e.fg&&((0x3000000&(i=e.fg))==0x1000000||(0x3000000&i)==0x2000000)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let i=e.y1+1;i<e.y2;i++)this._fillBottomLineAtCells(0,i,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e}_handleHideLinkUnderline(e){this._clearCurrentLink()}},ai="object"==typeof window?window:globalThis,as=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new ok,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new ok,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,i){if(this.getZoomLevel(i)===e)return;let s=this.getWindowId(i);this.mapWindowIdToZoomLevel.set(s,e),this._onDidChangeZoomLevel.fire(s)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,i){this.mapWindowIdToZoomFactor.set(this.getWindowId(i),e)}setFullscreen(e,i){if(this.isFullscreen(i)===e)return;let s=this.getWindowId(i);this.mapWindowIdToFullScreen.set(s,e),this._onDidChangeFullscreen.fire(s)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};as.INSTANCE=new as,as.INSTANCE.onDidChangeZoomLevel,as.INSTANCE.onDidChangeFullscreen;var ar="object"==typeof navigator?navigator.userAgent:"";ar.indexOf("Firefox"),ar.indexOf("AppleWebKit"),ar.indexOf("Chrome")>=0||ar.indexOf("Safari"),ar.indexOf("Electron/"),ar.indexOf("Android");var an=!1;if("function"==typeof ai.matchMedia){let e=ai.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),i=ai.matchMedia("(display-mode: fullscreen)");an=e.matches,ao=e,"string"==typeof ao&&(ao=ai.matchMedia(ao)),ao.addEventListener("change",({matches:e})=>{an&&i.matches||(an=e)})}var ao,aa,ah,al=!1,ac=!1,ad="en",a_=globalThis;"u">typeof a_.vscode&&"u">typeof a_.vscode.process?ah=a_.vscode.process:"u">typeof x.default&&"string"==typeof x.default?.versions?.node&&(ah=x.default);var au="string"==typeof ah?.versions?.electron&&ah?.type==="renderer";if("object"==typeof ah){ah.platform,ah.platform,"linux"===ah.platform&&ah.env.SNAP&&ah.env.SNAP_REVISION,ah.env.CI||ah.env.BUILD_ARTIFACTSTAGINGDIRECTORY,ad="en";let e=ah.env.VSCODE_NLS_CONFIG;if(e)try{let i=JSON.parse(e);i.userLocale,i.osLocale,ad=i.resolvedLanguage||"en",i.languagePack?.translationsConfigFile}catch{}al=!0}else"object"!=typeof navigator||au?console.error("Unable to resolve platform."):((aa=navigator.userAgent).indexOf("Windows"),aa.indexOf("Macintosh"),(aa.indexOf("Macintosh")>=0||aa.indexOf("iPad")>=0||aa.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,aa.indexOf("Linux"),aa?.indexOf("Mobi"),ac=!0,ad=globalThis._VSCODE_NLS_LANGUAGE||"en",navigator.language.toLowerCase());var af=al;ac&&"function"==typeof a_.importScripts&&a_.origin;var ag,ap=aa,av=ad;(aL=ag||={}).value=function(){return av},aL.isDefaultVariant=function(){return 2===av.length?"en"===av:av.length>=3&&"e"===av[0]&&"n"===av[1]&&"-"===av[2]},aL.isDefault=function(){return"en"===av};var am="function"==typeof a_.postMessage&&!a_.importScripts,aS=(()=>{if(am){let e=[];a_.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,r=e.length;s<r;s++){let r=e[s];if(r.id===i.data.vscodeScheduleAsyncWork){e.splice(s,1),r.callback();return}}});let i=0;return s=>{let r=++i;e.push({id:r,callback:s}),a_.postMessage({vscodeScheduleAsyncWork:r},"*")}}return e=>setTimeout(e)})(),aw=!!(ap&&ap.indexOf("Chrome")>=0);ap&&ap.indexOf("Firefox"),!aw&&ap&&ap.indexOf("Safari"),ap&&ap.indexOf("Edg/"),ap&&ap.indexOf("Android");var ab="object"==typeof navigator?navigator:{};af||document.queryCommandSupported&&document.queryCommandSupported("copy")||ab&&ab.clipboard&&ab.clipboard.writeText,af||ab&&ab.clipboard&&ab.clipboard.readText,af||an||ab.keyboard,"ontouchstart"in ai||ab.maxTouchPoints,ai.PointerEvent&&("ontouchstart"in ai||navigator.maxTouchPoints);var aC=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,i){this._keyCodeToStr[e]=i,this._strToKeyCode[i.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},ay=new aC,ax=new aC,ak=new aC;(aM=aE||={}).toString=function(e){return ay.keyCodeToStr(e)},aM.fromString=function(e){return ay.strToKeyCode(e)},aM.toUserSettingsUS=function(e){return ax.keyCodeToStr(e)},aM.toUserSettingsGeneral=function(e){return ak.keyCodeToStr(e)},aM.fromUserSettings=function(e){return ax.strToKeyCode(e)||ak.strToKeyCode(e)},aM.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return ay.keyCodeToStr(e)};var aL,aM,aE,aR,aB=Object.freeze(function(e,i){let s=setTimeout(e.bind(i),0);return{dispose(){clearTimeout(s)}}});(S=aR||={}).isCancellationToken=function(e){return e===S.None||e===S.Cancelled||e instanceof aD||!!e&&"object"==typeof e&&"boolean"==typeof e.isCancellationRequested&&"function"==typeof e.onCancellationRequested},S.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ov.None}),S.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:aB});var aD=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?aB:(this._emitter||(this._emitter=new ok),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};Symbol("MicrotaskDelay"),(w=b||={}).settled=async function(e){let i,s=await Promise.all(e.map(e=>e.then(e=>e,e=>{i||(i=e)})));if("u">typeof i)throw i;return s},w.withAsyncBody=function(e){return new Promise(async(i,s)=>{try{await e(i,s)}catch(e){s(e)}})};var aT=class e{static fromArray(i){return new e(e=>{e.emitMany(i)})}static fromPromise(i){return new e(async e=>{e.emitMany(await i)})}static fromPromises(i){return new e(async e=>{await Promise.all(i.map(async i=>e.emitOne(await i)))})}static merge(i){return new e(async e=>{await Promise.all(i.map(async i=>{for await(let s of i)e.emitOne(s)}))})}constructor(e,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new ok,queueMicrotask(async()=>{let i={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(i)),this.resolve()}catch(e){this.reject(e)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await ov.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(i,s){return new e(async e=>{for await(let r of i)e.emitOne(s(r))})}map(i){return e.map(this,i)}static filter(i,s){return new e(async e=>{for await(let r of i)s(r)&&e.emitOne(r)})}filter(i){return e.filter(this,i)}static coalesce(i){return e.filter(i,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let i=[];for await(let s of e)i.push(s);return i}toPromise(){return e.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}};aT.EMPTY=aT.fromArray([]);function aA(e,i){return(i<<5)-i+e|0}function aP(e,i){i=aA(149417,i);for(let s=0,r=e.length;s<r;s++)i=aA(e.charCodeAt(s),i);return i}new DataView(new ArrayBuffer(320));var{registerWindow:aO,getWindow:aI,getDocument:aW,getWindows:aN,getWindowsCount:aF,getWindowId:az,getWindowById:aH,hasWindow:a$,onDidRegisterWindow:aU,onWillUnregisterWindow:aK,onDidUnregisterWindow:aq}=(f=new Map,g={window:ai,disposables:new ng},f.set(ai.vscodeWindowId,g),p=new ok,v=new ok,m=new ok,{onDidRegisterWindow:p.event,onWillUnregisterWindow:m.event,onDidUnregisterWindow:v.event,registerWindow(e){var i,s;if(f.has(e.vscodeWindowId))return np.None;let r=new ng,n={window:e,disposables:r.add(new ng)};return f.set(e.vscodeWindowId,n),r.add(nf(()=>{f.delete(e.vscodeWindowId),v.fire(e)})),r.add((i=e,s=aG.BEFORE_UNLOAD,new aV(i,s,()=>{m.fire(e)},void 0))),p.fire(n),r},getWindows:()=>f.values(),getWindowsCount:()=>f.size,getWindowId:e=>e.vscodeWindowId,hasWindow:e=>f.has(e),getWindowById:function(e,i){return("number"==typeof e?f.get(e):void 0)??(i?g:void 0)},getWindow:e=>e?.ownerDocument?.defaultView?e.ownerDocument.defaultView.window:e?.view?e.view.window:ai,getDocument:e=>aI(e).document}),aV=class{constructor(e,i,s,r){this._node=e,this._type=i,this._handler=s,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}},aY=class e{constructor(e,i){this.width=e,this.height=i}with(i=this.width,s=this.height){return i!==this.width||s!==this.height?new e(i,s):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(i){return i instanceof e?i:new e(i.width,i.height)}static equals(e,i){return e===i||!!e&&!!i&&e.width===i.width&&e.height===i.height}};aY.None=new aY(0,0),new class{constructor(){this.mutationObservers=new Map}observe(e,i,s){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let n=function e(i,s){switch(typeof i){case"object":var r,n,o,a;return null===i?aA(349,s):Array.isArray(i)?(r=i,n=aA(104579,n=s),r.reduce((i,s)=>e(s,i),n)):(o=i,a=aA(181387,a=s),Object.keys(o).sort().reduce((i,s)=>(i=aP(s,i),e(o[s],i)),a));case"string":return aP(i,s);case"boolean":return aA(i?433:863,s);case"number":return aA(i,s);case"undefined":return aA(937,s);default:return aA(617,s)}}(s,0),o=r.get(n);if(o)o.users+=1;else{let a=new ok,h=new MutationObserver(e=>a.fire(e));h.observe(e,s);let l=o={users:1,observer:h,onDidMutate:a.event};i.add(nf(()=>{l.users-=1,0===l.users&&(a.dispose(),h.disconnect(),r?.delete(n),r?.size===0&&this.mutationObservers.delete(e))})),r.set(n,o)}return o.onDidMutate}};var aG={BEFORE_UNLOAD:"beforeunload"},aj=class extends np{constructor(e,i,s,r,n,o,a,h,l){if(super(),this._terminal=e,this._characterJoinerService=i,this._charSizeService=s,this._coreBrowserService=r,this._coreService=n,this._decorationService=o,this._optionsService=a,this._themeService=h,this._cursorBlinkStateManager=new nv,this._charAtlasDisposable=this._register(new nv),this._observerDisposable=this._register(new nv),this._model=new oZ,this._workCell=new oN,this._workCell2=new oN,this._rectangleRenderer=this._register(new nv),this._glyphRenderer=this._register(new nv),this._onChangeTextureAtlas=this._register(new ok),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ok),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ok),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new ok),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new ok),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._gl=this._canvas.getContext("webgl2",{antialias:!1,depth:!1,preserveDrawingBuffer:l}),!this._gl)throw Error("WebGL2 not supported "+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new n3(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new at(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,a,this._themeService)],this.dimensions={css:{canvas:nq(),cell:nq()},device:{canvas:nq(),cell:nq(),char:{width:0,height:0,left:0,top:0}}},this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(a.onOptionChange(()=>this._handleOptionsChanged())),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(function(e,i,s){return new aV(e,i,s,void 0)}(this._canvas,"webglcontextlost",e=>{console.log("webglcontextlost event received"),e.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(e)},3e3)})),this._register(function(e,i,s){return new aV(e,i,s,void 0)}(this._canvas,"webglcontextrestored",e=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,oO(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=oW(this._canvas,this._coreBrowserService.window,(e,i)=>this._setCanvasDevicePixelDimensions(e,i)),this._register(this._coreBrowserService.onWindowChange(e=>{this._observerDisposable.value=oW(this._canvas,e,(e,i)=>this._setCanvasDevicePixelDimensions(e,i))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(nf(()=>{for(let e of this._renderLayers)e.dispose();this._canvas.parentElement?.removeChild(this._canvas),oO(this._terminal)}))}get textureAtlas(){return this._charAtlas?.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,i){for(let e of(this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows),this._renderLayers))e.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(e,i,s){for(let r of this._renderLayers)r.handleSelectionChanged(this._terminal,e,i,s);this._model.selection.update(this._core,e,i,s),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new o9(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new oj(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=oP(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr,this._deviceMaxTextureSize);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=nu(ov.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),ov.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){for(let e of(this._clearModel(!0),this._renderLayers))e.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,i){if(!this._isAttached)if(!this._core.screenElement?.isConnected||!this._charSizeService.width||!this._charSizeService.height)return;else this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;for(let s of this._renderLayers)s.handleGridChanged(this._terminal,e,i);this._glyphRenderer.value&&this._rectangleRenderer.value&&(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,i),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new oI(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,i){let s=this._core,r=this._workCell,n,o,a,h,l,c,d=0,_=!0,u,f,g,p,v,m,S,w,b;e=aZ(e,s.rows-1,0),i=aZ(i,s.rows-1,0);let C=this._coreService.decPrivateModes.cursorStyle??s.options.cursorStyle??"block",y=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,x=y-s.buffer.ydisp,k=Math.min(this._terminal.buffer.active.cursorX,s.cols-1),L=-1,M=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let E=!1;for(o=e;o<=i;o++)for(a=o+s.buffer.ydisp,h=s.buffer.lines.get(a),this._model.lineLengths[o]=0,g=y===a,d=0,l=this._characterJoinerService.getJoinedCharacters(a),w=0;w<s.cols;w++){if(n=this._cellColorResolver.result.bg,h.loadCell(w,r),0===w&&(n=this._cellColorResolver.result.bg),c=!1,_=w>=d,u=w,l.length>0&&w===l[0][0]&&_){f=l.shift();let e=this._model.selection.isCellSelected(this._terminal,f[0],a);for(S=f[0]+1;S<f[1];S++)_&&=e===this._model.selection.isCellSelected(this._terminal,S,a);(_&&=!g||k<f[0]||k>=f[1])?(c=!0,r=new aX(r,h.translateToString(!0,f[0],f[1]),f[1]-f[0]),u=f[1]-1):d=f[1]}if(p=r.getChars(),v=r.getCode(),S=(o*s.cols+w)*4,this._cellColorResolver.resolve(r,w,a,this.dimensions.device.cell.width),M&&a===y&&(w===k&&(this._model.cursor={x:k,y:x,width:r.getWidth(),style:this._coreBrowserService.isFocused?C:s.options.cursorInactiveStyle,cursorWidth:s.options.cursorWidth,dpr:this._devicePixelRatio},L=k+r.getWidth()-1),w>=k&&w<=L&&(this._coreBrowserService.isFocused&&"block"===C||!1===this._coreBrowserService.isFocused&&"block"===s.options.cursorInactiveStyle)&&(this._cellColorResolver.result.fg=0x3000000|this._themeService.colors.cursorAccent.rgba>>8&0xffffff,this._cellColorResolver.result.bg=0x3000000|this._themeService.colors.cursor.rgba>>8&0xffffff)),0!==v&&(this._model.lineLengths[o]=w+1),(this._model.cells[S]!==v||this._model.cells[S+1]!==this._cellColorResolver.result.bg||this._model.cells[S+2]!==this._cellColorResolver.result.fg||this._model.cells[S+3]!==this._cellColorResolver.result.ext)&&(E=!0,p.length>1&&(v|=0x80000000),this._model.cells[S]=v,this._model.cells[S+1]=this._cellColorResolver.result.bg,this._model.cells[S+2]=this._cellColorResolver.result.fg,this._model.cells[S+3]=this._cellColorResolver.result.ext,m=r.getWidth(),this._glyphRenderer.value.updateCell(w,o,v,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,p,m,n),c)){for(r=this._workCell,w++;w<=u;w++)b=(o*s.cols+w)*4,this._glyphRenderer.value.updateCell(w,o,0,0,0,0,"",0,0),this._model.cells[b]=0,this._model.cells[b+1]=this._cellColorResolver.result.bg,this._model.cells[b+2]=this._cellColorResolver.result.fg,this._model.cells[b+3]=this._cellColorResolver.result.ext;w--}}E&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){this._charSizeService.width&&this._charSizeService.height&&(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=1===this._optionsService.rawOptions.lineHeight?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(e,i){this._canvas.width===e&&this._canvas.height===i||(this._canvas.width=e,this._canvas.height=i,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},aX=class extends oc{constructor(e,i,s){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=i,this._width=s}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function aZ(e,i,s=0){return Math.max(Math.min(e,i),s)}var aJ="di$target",aQ="di$dependencies",a0=new Map;function a1(e){if(a0.has(e))return a0.get(e);let i=function(e,s,r){var n,o,a;if(3!=arguments.length)throw Error("@IServiceName-decorator can only be used to decorate a parameter");n=i,o=e,a=r,o[aJ]===o?o[aQ].push({id:n,index:a}):(o[aQ]=[{id:n,index:a}],o[aJ]=o)};return i._id=e,a0.set(e,i),i}a1("BufferService"),a1("CoreMouseService"),a1("CoreService"),a1("CharsetService"),a1("InstantiationService"),a1("LogService");var a5=a1("OptionsService");a1("OscLinkService"),a1("UnicodeService"),a1("DecorationService");var a2={trace:0,debug:1,info:2,warn:3,error:4,off:5},a3=class extends np{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=a2[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let i=0;i<e.length;i++)"function"==typeof e[i]&&(e[i]=e[i]())}_log(e,i,s){this._evalLazyOptionalParams(s),e.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+i,...s)}trace(e,...i){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,i)}debug(e,...i){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,i)}info(e,...i){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,i)}warn(e,...i){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,i)}error(e,...i){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,i)}};a3=((e,i,s,r)=>{for(var n,o=r>1?void 0:r?ns(i,s):i,a=e.length-1;a>=0;a--)(n=e[a])&&(o=(r?n(i,s,o):n(o))||o);return r&&o&&ni(i,s,o),o})([(e,i)=>a5(e,i,0)],a3);var a4=class extends np{constructor(e){if(ny&&16>function(){if(!ny)return 0;let e=nS.match(/Version\/(\d+)/);return null===e||e.length<2?0:parseInt(e[1])}()&&!document.createElement("canvas").getContext("webgl2",{antialias:!1,depth:!1,preserveDrawingBuffer:!0}))throw Error("Webgl2 is only supported on Safari 16 and above");super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this._register(new ok),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ok),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ok),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new ok),this.onContextLoss=this._onContextLoss.event}activate(e){let i=e._core;if(!e.element)return void this._register(i.onWillOpen(()=>this.activate(e)));this._terminal=e;let s=i.coreService,r=i.optionsService,n=i._renderService,o=i._characterJoinerService,a=i._charSizeService,h=i._coreBrowserService,l=i._decorationService,c=i._logService,d=i._themeService;this._renderer=this._register(new aj(e,o,a,h,s,l,r,d,this._preserveDrawingBuffer)),this._register(ov.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(ov.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(ov.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(ov.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),n.setRenderer(this._renderer),this._register(nf(()=>{if(this._terminal._core._store._isDisposed)return;let i=this._terminal._core._renderService;i.setRenderer(this._terminal._core._createRenderer()),i.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}},a6=class{constructor(e,i,s,r={}){this._terminal=e,this._regex=i,this._handler=s,this._options=r}provideLinks(e,i){let s=a8.computeLink(e,this._regex,this._terminal,this._handler);i(this._addCallbacks(s))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(i,s)=>{if(this._options.hover){let{range:r}=e;this._options.hover(i,s,r)}},e))}},a8=class e{static computeLink(i,s,r,n){let o=RegExp(s.source,(s.flags||"")+"g"),[a,h]=e._getWindowedLineStrings(i-1,r),l=a.join(""),c,d=[];for(;c=o.exec(l);){let i=c[0];if(!function(e){try{let i=new URL(e),s=i.password&&i.username?`${i.protocol}//${i.username}:${i.password}@${i.host}`:i.username?`${i.protocol}//${i.username}@${i.host}`:`${i.protocol}//${i.host}`;return e.toLocaleLowerCase().startsWith(s.toLocaleLowerCase())}catch{return!1}}(i))continue;let[s,o]=e._mapStrIdx(r,h,0,c.index),[a,l]=e._mapStrIdx(r,s,o,i.length);if(-1===s||-1===o||-1===a||-1===l)continue;let _={start:{x:o+1,y:s+1},end:{x:l,y:a+1}};d.push({range:_,text:i,activate:n})}return d}static _getWindowedLineStrings(e,i){let s,r=e,n=e,o=0,a="",h=[];if(s=i.buffer.active.getLine(e)){let e=s.translateToString(!0);if(s.isWrapped&&" "!==e[0]){for(o=0;(s=i.buffer.active.getLine(--r))&&o<2048&&(o+=(a=s.translateToString(!0)).length,h.push(a),!(!s.isWrapped||-1!==a.indexOf(" "))););h.reverse()}for(h.push(e),o=0;(s=i.buffer.active.getLine(++n))&&s.isWrapped&&o<2048&&(o+=(a=s.translateToString(!0)).length,h.push(a),-1===a.indexOf(" ")););}return[h,r]}static _mapStrIdx(e,i,s,r){let n=e.buffer.active,o=n.getNullCell(),a=s;for(;r;){let e=n.getLine(i);if(!e)return[-1,-1];for(let s=a;s<e.length;++s){e.getCell(s,o);let a=o.getChars();if(o.getWidth()&&(r-=a.length||1,s===e.length-1&&""===a)){let e=n.getLine(i+1);e&&e.isWrapped&&(e.getCell(0,o),2===o.getWidth()&&(r+=1))}if(r<0)return[i,s]}i++,a=0}return[i,a]}},a7=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function a9(e,i){let s=window.open();if(s){try{s.opener=null}catch{}s.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}var he=class{constructor(e=a9,i={}){this._handler=e,this._options=i}activate(e){this._terminal=e;let i=this._options,s=i.urlRegex||a7;this._linkProvider=this._terminal.registerLinkProvider(new a6(this._terminal,s,this._handler,i))}dispose(){this._linkProvider?.dispose()}},ht=e.i(275283);let hi=/(?:\.\.?\/|[a-zA-Z0-9_@][a-zA-Z0-9_\-.]*\/)[a-zA-Z0-9_\-.\/@]+\.\w+/g,hs=/^(?::(\d+)(?::(\d+))?|\((\d+)(?:,\s*(\d+))?\)|\[(\d+)(?:,\s*(\d+))?\])/;class hr{terminal;worktreePath;onFileOpen;constructor(e,i,s){this.terminal=e,this.worktreePath=i,this.onFileOpen=s}provideLinks(e,i){let s=this.terminal.buffer.active.getLine(e);if(!s)return i(void 0);let r=s.translateToString(),n=function(e){let i,s=[];for(hi.lastIndex=0;null!==(i=hi.exec(e));){let r,n,o=i[0],a=i.index,h=e.slice(a+o.length).match(hs),l=o.length;if(h&&0===h.index){l+=h[0].length;let e=h[1]??h[3]??h[5],i=h[2]??h[4]??h[6];r=e?parseInt(e,10):void 0,n=i?parseInt(i,10):void 0}s.push({path:o,startIndex:a,totalLength:l,line:r,col:n})}return s}(r);if(0===n.length)return i(void 0);i(n.map(i=>({range:{start:{x:i.startIndex+1,y:e},end:{x:i.startIndex+i.totalLength+1,y:e}},text:r.slice(i.startIndex,i.startIndex+i.totalLength),activate:()=>{this.onFileOpen(`${this.worktreePath}/${i.path}`,i.line,i.col)}})))}}var hn=e.i(625054),ho=e.i(595774);e.s(["TaskTerminal",0,function({taskId:e,worktreePath:i,onSessionEnd:s,onFileOpen:r,useCanvasRenderer:n=!1}){let{t:o}=(0,hn.useI18n)(),{resolvedTheme:a}=(0,ht.useTheme)(),h=(0,y.useRef)(null),l=(0,y.useRef)(null),c=(0,y.useRef)(null),d=(0,y.useRef)(null),_=(0,y.useRef)(s);_.current=s;let u=(0,y.useRef)(r);u.current=r;let[f,g]=(0,y.useState)("connecting"),[p,v]=(0,y.useState)(!1);if((0,y.useEffect)(()=>{if(!i||!h.current)return;let s=new ne({fontFamily:"Menlo, Monaco, 'Courier New', monospace",fontSize:13,scrollback:5e3,cursorBlink:!0,allowTransparency:!1,rescaleOverlappingGlyphs:!0,theme:"light"!==a?{background:"#0a0a0a",foreground:"#e5e5e5"}:{background:"#fafafa",foreground:"#171717"}}),r=new nt;s.loadAddon(r),s.open(h.current);let o=h.current.querySelector(".xterm-helper-textarea");o&&(o.style.opacity="0");let f=null;if(!n)try{(f=new a4).onContextLoss(()=>{f?.dispose(),f=null}),s.loadAddon(f)}catch{}let p=new he((e,i)=>{window.open(i,"_blank")});s.loadAddon(p),i&&s.registerLinkProvider(new hr(s,i,(e,i,s)=>{u.current?.(e,i,s)})),r.fit(),s.focus();let m=null,S=null,w=!1,b=null,C=!1;return(0,ho.getActualWsPort)().then(i=>{w||function i(r){if(w||C)return;g("connecting");let n=new WebSocket(`ws://localhost:${r}/terminal?taskId=${encodeURIComponent(e)}`);m=n,n.addEventListener("open",()=>{n.send(JSON.stringify({type:"resize",cols:s.cols,rows:s.rows})),s.focus(),g("connected"),v(!0),setTimeout(()=>v(!1),2e3)}),n.addEventListener("message",e=>{let i=e.data;"string"==typeof i?s.write(i):i instanceof Blob?i.text().then(e=>s.write(e)):i instanceof ArrayBuffer&&s.write(new Uint8Array(i))}),S?.dispose(),S=s.onData(e=>{n.readyState===WebSocket.OPEN&&n.send(e)}),n.addEventListener("close",e=>{if(e.code>=4e3){C=!0,g("disconnected"),_.current?.(e.code-4e3);return}g("disconnected"),w||C||(b=setTimeout(()=>i(r),3e3))}),n.addEventListener("error",()=>{}),c.current=n}(i)}),l.current=s,d.current=r,()=>{w=!0,b&&clearTimeout(b),S?.dispose(),p.dispose(),f?.dispose(),r.dispose(),s.dispose(),m?.close(),l.current=null,c.current=null,d.current=null}},[e,i]),(0,y.useEffect)(()=>{if(!i||!h.current)return;let e=d.current,s=c.current,r=l.current;e&&r&&requestAnimationFrame(()=>{e.fit(),s?.readyState===WebSocket.OPEN&&s.send(JSON.stringify({type:"resize",cols:r.cols,rows:r.rows}))});let n=null,o=h.current,a=new ResizeObserver(()=>{n&&clearTimeout(n),n=setTimeout(()=>{let e=d.current,i=c.current,s=l.current;e&&s&&(e.fit(),i?.readyState===WebSocket.OPEN&&i.send(JSON.stringify({type:"resize",cols:s.cols,rows:s.rows})))},100)});return a.observe(o),()=>{n&&clearTimeout(n),a.disconnect()}},[e,i]),(0,y.useEffect)(()=>{let e=l.current;if(!e)return;let i="light"!==a;e.options.theme=i?{background:"#0a0a0a",foreground:"#e5e5e5"}:{background:"#fafafa",foreground:"#171717"}},[a]),!i)return(0,C.jsxs)("div",{className:"flex h-full w-full flex-col items-center justify-center bg-[#0a0a0a] text-center",children:[(0,C.jsx)("p",{className:"text-sm text-neutral-400",children:o("terminal.noWorktree")}),(0,C.jsx)("p",{className:"text-xs text-neutral-600 mt-1",children:o("terminal.noWorktreeDesc")})]});let m=o("connected"===f?"terminal.connected":"connecting"===f?"terminal.connecting":"terminal.disconnected");return(0,C.jsxs)("div",{className:"relative h-full w-full bg-[#0a0a0a]",children:[(0,C.jsxs)("div",{className:["absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded px-2 py-0.5 text-xs transition-opacity duration-500","connected"===f&&!p?"opacity-0 pointer-events-none":"opacity-100","bg-black/40 backdrop-blur-sm"].join(" "),title:m,children:[(0,C.jsx)("span",{className:`h-2 w-2 rounded-full ${"connected"===f?"bg-green-500":"connecting"===f?"bg-yellow-500":"bg-red-500"}`}),(0,C.jsx)("span",{className:"text-neutral-300",children:m})]}),(0,C.jsx)("div",{ref:h,className:"h-full w-full overflow-hidden"})]})}],714062)},467005,e=>{e.n(e.i(714062))}]);
|
|
83
|
+
}`,o0=8*Float32Array.BYTES_PER_ELEMENT,o1=class{constructor(){this.attributes=new Float32Array(160),this.count=0}},o5=0,o2=0,o3=0,o4=0,o6=0,o8=0,o7=0,o9=class extends np{constructor(e,i,s,r){super(),this._terminal=e,this._gl=i,this._dimensions=s,this._themeService=r,this._vertices=new o1,this._verticesCursor=new o1;let n=this._gl;this._program=n$(oz(n,oJ,oQ)),this._register(nf(()=>n.deleteProgram(this._program))),this._projectionLocation=n$(n.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=n.createVertexArray(),n.bindVertexArray(this._vertexArrayObject);let o=new Float32Array([0,0,1,0,0,1,1,1]),a=n.createBuffer();this._register(nf(()=>n.deleteBuffer(a))),n.bindBuffer(n.ARRAY_BUFFER,a),n.bufferData(n.ARRAY_BUFFER,o,n.STATIC_DRAW),n.enableVertexAttribArray(3),n.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let h=new Uint8Array([0,1,2,3]),l=n.createBuffer();this._register(nf(()=>n.deleteBuffer(l))),n.bindBuffer(n.ELEMENT_ARRAY_BUFFER,l),n.bufferData(n.ELEMENT_ARRAY_BUFFER,h,n.STATIC_DRAW),this._attributesBuffer=n$(n.createBuffer()),this._register(nf(()=>n.deleteBuffer(this._attributesBuffer))),n.bindBuffer(n.ARRAY_BUFFER,this._attributesBuffer),n.enableVertexAttribArray(0),n.vertexAttribPointer(0,2,n.FLOAT,!1,o0,0),n.vertexAttribDivisor(0,1),n.enableVertexAttribArray(1),n.vertexAttribPointer(1,2,n.FLOAT,!1,o0,2*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(1,1),n.enableVertexAttribArray(2),n.vertexAttribPointer(2,4,n.FLOAT,!1,o0,4*Float32Array.BYTES_PER_ELEMENT),n.vertexAttribDivisor(2,1),this._updateCachedColors(r.colors),this._register(this._themeService.onChangeColors(e=>{this._updateCachedColors(e),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(e){let i=this._gl;i.useProgram(this._program),i.bindVertexArray(this._vertexArrayObject),i.uniformMatrix4fv(this._projectionLocation,!1,oF),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.bufferData(i.ARRAY_BUFFER,e.attributes,i.DYNAMIC_DRAW),i.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,i.UNSIGNED_BYTE,0,e.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background),this._cursorFloat=this._colorToFloat32Array(e.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(e){let i=this._terminal,s=this._vertices,r=1,n,o,a,h,l,c,d,_,u,f,g;for(n=0;n<i.rows;n++){for(a=-1,h=0,l=0,c=!1,o=0;o<i.cols;o++)d=(n*i.cols+o)*4,_=e.cells[d+1],f=!!(0x4000000&(u=e.cells[d+2])),(_!==h||u!==l&&(c||f))&&((0!==h||c&&0!==l)&&(g=8*r++,this._updateRectangle(s,g,l,h,a,o,n)),a=o,h=_,l=u,c=f);(0!==h||c&&0!==l)&&(g=8*r++,this._updateRectangle(s,g,l,h,a,i.cols,n))}s.count=r}updateCursor(e){let i=this._verticesCursor,s=e.cursor;if(!s||"block"===s.style){i.count=0;return}let r,n=0;("bar"===s.style||"outline"===s.style)&&(r=8*n++,this._addRectangleFloat(i.attributes,r,s.x*this._dimensions.device.cell.width,s.y*this._dimensions.device.cell.height,"bar"===s.style?s.dpr*s.cursorWidth:s.dpr,this._dimensions.device.cell.height,this._cursorFloat)),("underline"===s.style||"outline"===s.style)&&(r=8*n++,this._addRectangleFloat(i.attributes,r,s.x*this._dimensions.device.cell.width,(s.y+1)*this._dimensions.device.cell.height-s.dpr,s.width*this._dimensions.device.cell.width,s.dpr,this._cursorFloat)),"outline"===s.style&&(r=8*n++,this._addRectangleFloat(i.attributes,r,s.x*this._dimensions.device.cell.width,s.y*this._dimensions.device.cell.height,s.width*this._dimensions.device.cell.width,s.dpr,this._cursorFloat),r=8*n++,this._addRectangleFloat(i.attributes,r,(s.x+s.width)*this._dimensions.device.cell.width-s.dpr,s.y*this._dimensions.device.cell.height,s.dpr,this._dimensions.device.cell.height,this._cursorFloat)),i.count=n}_updateRectangle(e,i,s,r,n,o,a){if(0x4000000&s)switch(0x3000000&s){case 0x1000000:case 0x2000000:o5=this._themeService.colors.ansi[255&s].rgba;break;case 0x3000000:o5=(0xffffff&s)<<8;break;default:o5=this._themeService.colors.foreground.rgba}else switch(0x3000000&r){case 0x1000000:case 0x2000000:o5=this._themeService.colors.ansi[255&r].rgba;break;case 0x3000000:o5=(0xffffff&r)<<8;break;default:o5=this._themeService.colors.background.rgba}e.attributes.length<i+4&&(e.attributes=function(e,i){let s=new Float32Array(Math.min(2*e.length,i));for(let i=0;i<e.length;i++)s[i]=e[i];return s}(e.attributes,this._terminal.rows*this._terminal.cols*8)),o2=n*this._dimensions.device.cell.width,o3=a*this._dimensions.device.cell.height,o4=(o5>>24&255)/255,o6=(o5>>16&255)/255,o8=(o5>>8&255)/255,o7=1,this._addRectangle(e.attributes,i,o2,o3,(o-n)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,o4,o6,o8,o7)}_addRectangle(e,i,s,r,n,o,a,h,l,c){e[i]=s/this._dimensions.device.canvas.width,e[i+1]=r/this._dimensions.device.canvas.height,e[i+2]=n/this._dimensions.device.canvas.width,e[i+3]=o/this._dimensions.device.canvas.height,e[i+4]=a,e[i+5]=h,e[i+6]=l,e[i+7]=c}_addRectangleFloat(e,i,s,r,n,o,a){e[i]=s/this._dimensions.device.canvas.width,e[i+1]=r/this._dimensions.device.canvas.height,e[i+2]=n/this._dimensions.device.canvas.width,e[i+3]=o/this._dimensions.device.canvas.height,e[i+4]=a[0],e[i+5]=a[1],e[i+6]=a[2],e[i+7]=a[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(255&e.rgba)/255])}},ae=class extends np{constructor(e,i,s,r,n,o,a,h){super(),this._container=i,this._alpha=n,this._coreBrowserService=o,this._optionsService=a,this._themeService=h,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${s}-layer`),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(i=>{this._refreshCharAtlas(e,i),this.reset(e)})),this._register(nf(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=n$(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,i,s){}handleSelectionChanged(e,i,s,r=!1){}_setTransparency(e,i){if(i===this._alpha)return;let s=this._canvas;this._alpha=i,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,s),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,i){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=oP(e,this._optionsService.rawOptions,i,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,i){this._deviceCellWidth=i.device.cell.width,this._deviceCellHeight=i.device.cell.height,this._deviceCharWidth=i.device.char.width,this._deviceCharHeight=i.device.char.height,this._deviceCharLeft=i.device.char.left,this._deviceCharTop=i.device.char.top,this._canvas.width=i.device.canvas.width,this._canvas.height=i.device.canvas.height,this._canvas.style.width=`${i.css.canvas.width}px`,this._canvas.style.height=`${i.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,i,s=1){this._ctx.fillRect(e*this._deviceCellWidth,(i+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,s*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,i,s,r){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,i*this._deviceCellHeight,s*this._deviceCellWidth,r*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,i*this._deviceCellHeight,s*this._deviceCellWidth,r*this._deviceCellHeight))}_fillCharTrueColor(e,i,s,r){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=n4,this._clipCell(s,r,i.getWidth()),this._ctx.fillText(i.getChars(),s*this._deviceCellWidth+this._deviceCharLeft,r*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,i,s){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,i*this._deviceCellHeight,s*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,i,s){let r=i?e.options.fontWeightBold:e.options.fontWeight;return`${s?"italic":""} ${r} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},at=class extends ae{constructor(e,i,s,r,n,o,a){super(s,e,"link",i,!0,n,o,a),this._register(r.onShowLinkUnderline(e=>this._handleShowLinkUnderline(e))),this._register(r.onHideLinkUnderline(e=>this._handleHideLinkUnderline(e)))}resize(e,i){super.resize(e,i),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){var i;if(257===e.fg?this._ctx.fillStyle=this._themeService.colors.background.css:void 0!==e.fg&&((0x3000000&(i=e.fg))==0x1000000||(0x3000000&i)==0x2000000)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let i=e.y1+1;i<e.y2;i++)this._fillBottomLineAtCells(0,i,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e}_handleHideLinkUnderline(e){this._clearCurrentLink()}},ai="object"==typeof window?window:globalThis,as=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new ok,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new ok,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,i){if(this.getZoomLevel(i)===e)return;let s=this.getWindowId(i);this.mapWindowIdToZoomLevel.set(s,e),this._onDidChangeZoomLevel.fire(s)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,i){this.mapWindowIdToZoomFactor.set(this.getWindowId(i),e)}setFullscreen(e,i){if(this.isFullscreen(i)===e)return;let s=this.getWindowId(i);this.mapWindowIdToFullScreen.set(s,e),this._onDidChangeFullscreen.fire(s)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};as.INSTANCE=new as,as.INSTANCE.onDidChangeZoomLevel,as.INSTANCE.onDidChangeFullscreen;var ar="object"==typeof navigator?navigator.userAgent:"";ar.indexOf("Firefox"),ar.indexOf("AppleWebKit"),ar.indexOf("Chrome")>=0||ar.indexOf("Safari"),ar.indexOf("Electron/"),ar.indexOf("Android");var an=!1;if("function"==typeof ai.matchMedia){let e=ai.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),i=ai.matchMedia("(display-mode: fullscreen)");an=e.matches,ao=e,"string"==typeof ao&&(ao=ai.matchMedia(ao)),ao.addEventListener("change",({matches:e})=>{an&&i.matches||(an=e)})}var ao,aa,ah,al=!1,ac=!1,ad="en",a_=globalThis;"u">typeof a_.vscode&&"u">typeof a_.vscode.process?ah=a_.vscode.process:"u">typeof x.default&&"string"==typeof x.default?.versions?.node&&(ah=x.default);var au="string"==typeof ah?.versions?.electron&&ah?.type==="renderer";if("object"==typeof ah){ah.platform,ah.platform,"linux"===ah.platform&&ah.env.SNAP&&ah.env.SNAP_REVISION,ah.env.CI||ah.env.BUILD_ARTIFACTSTAGINGDIRECTORY,ad="en";let e=ah.env.VSCODE_NLS_CONFIG;if(e)try{let i=JSON.parse(e);i.userLocale,i.osLocale,ad=i.resolvedLanguage||"en",i.languagePack?.translationsConfigFile}catch{}al=!0}else"object"!=typeof navigator||au?console.error("Unable to resolve platform."):((aa=navigator.userAgent).indexOf("Windows"),aa.indexOf("Macintosh"),(aa.indexOf("Macintosh")>=0||aa.indexOf("iPad")>=0||aa.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,aa.indexOf("Linux"),aa?.indexOf("Mobi"),ac=!0,ad=globalThis._VSCODE_NLS_LANGUAGE||"en",navigator.language.toLowerCase());var af=al;ac&&"function"==typeof a_.importScripts&&a_.origin;var ag,ap=aa,av=ad;(aL=ag||={}).value=function(){return av},aL.isDefaultVariant=function(){return 2===av.length?"en"===av:av.length>=3&&"e"===av[0]&&"n"===av[1]&&"-"===av[2]},aL.isDefault=function(){return"en"===av};var am="function"==typeof a_.postMessage&&!a_.importScripts,aS=(()=>{if(am){let e=[];a_.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,r=e.length;s<r;s++){let r=e[s];if(r.id===i.data.vscodeScheduleAsyncWork){e.splice(s,1),r.callback();return}}});let i=0;return s=>{let r=++i;e.push({id:r,callback:s}),a_.postMessage({vscodeScheduleAsyncWork:r},"*")}}return e=>setTimeout(e)})(),aw=!!(ap&&ap.indexOf("Chrome")>=0);ap&&ap.indexOf("Firefox"),!aw&&ap&&ap.indexOf("Safari"),ap&&ap.indexOf("Edg/"),ap&&ap.indexOf("Android");var ab="object"==typeof navigator?navigator:{};af||document.queryCommandSupported&&document.queryCommandSupported("copy")||ab&&ab.clipboard&&ab.clipboard.writeText,af||ab&&ab.clipboard&&ab.clipboard.readText,af||an||ab.keyboard,"ontouchstart"in ai||ab.maxTouchPoints,ai.PointerEvent&&("ontouchstart"in ai||navigator.maxTouchPoints);var aC=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,i){this._keyCodeToStr[e]=i,this._strToKeyCode[i.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},ay=new aC,ax=new aC,ak=new aC;(aM=aE||={}).toString=function(e){return ay.keyCodeToStr(e)},aM.fromString=function(e){return ay.strToKeyCode(e)},aM.toUserSettingsUS=function(e){return ax.keyCodeToStr(e)},aM.toUserSettingsGeneral=function(e){return ak.keyCodeToStr(e)},aM.fromUserSettings=function(e){return ax.strToKeyCode(e)||ak.strToKeyCode(e)},aM.toElectronAccelerator=function(e){if(e>=98&&e<=113)return null;switch(e){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return ay.keyCodeToStr(e)};var aL,aM,aE,aR,aB=Object.freeze(function(e,i){let s=setTimeout(e.bind(i),0);return{dispose(){clearTimeout(s)}}});(S=aR||={}).isCancellationToken=function(e){return e===S.None||e===S.Cancelled||e instanceof aD||!!e&&"object"==typeof e&&"boolean"==typeof e.isCancellationRequested&&"function"==typeof e.onCancellationRequested},S.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ov.None}),S.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:aB});var aD=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?aB:(this._emitter||(this._emitter=new ok),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}};Symbol("MicrotaskDelay"),(w=b||={}).settled=async function(e){let i,s=await Promise.all(e.map(e=>e.then(e=>e,e=>{i||(i=e)})));if("u">typeof i)throw i;return s},w.withAsyncBody=function(e){return new Promise(async(i,s)=>{try{await e(i,s)}catch(e){s(e)}})};var aT=class e{static fromArray(i){return new e(e=>{e.emitMany(i)})}static fromPromise(i){return new e(async e=>{e.emitMany(await i)})}static fromPromises(i){return new e(async e=>{await Promise.all(i.map(async i=>e.emitOne(await i)))})}static merge(i){return new e(async e=>{await Promise.all(i.map(async i=>{for await(let s of i)e.emitOne(s)}))})}constructor(e,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new ok,queueMicrotask(async()=>{let i={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(i)),this.resolve()}catch(e){this.reject(e)}finally{i.emitOne=void 0,i.emitMany=void 0,i.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{for(;;){if(2===this._state)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(1===this._state)return{done:!0,value:void 0};await ov.toPromise(this._onStateChanged.event)}},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(i,s){return new e(async e=>{for await(let r of i)e.emitOne(s(r))})}map(i){return e.map(this,i)}static filter(i,s){return new e(async e=>{for await(let r of i)s(r)&&e.emitOne(r)})}filter(i){return e.filter(this,i)}static coalesce(i){return e.filter(i,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let i=[];for await(let s of e)i.push(s);return i}toPromise(){return e.toPromise(this)}emitOne(e){0===this._state&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){0===this._state&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){0===this._state&&(this._state=1,this._onStateChanged.fire())}reject(e){0===this._state&&(this._state=2,this._error=e,this._onStateChanged.fire())}};aT.EMPTY=aT.fromArray([]);function aA(e,i){return(i<<5)-i+e|0}function aP(e,i){i=aA(149417,i);for(let s=0,r=e.length;s<r;s++)i=aA(e.charCodeAt(s),i);return i}new DataView(new ArrayBuffer(320));var{registerWindow:aO,getWindow:aI,getDocument:aW,getWindows:aN,getWindowsCount:aF,getWindowId:az,getWindowById:aH,hasWindow:a$,onDidRegisterWindow:aU,onWillUnregisterWindow:aK,onDidUnregisterWindow:aq}=(f=new Map,g={window:ai,disposables:new ng},f.set(ai.vscodeWindowId,g),p=new ok,v=new ok,m=new ok,{onDidRegisterWindow:p.event,onWillUnregisterWindow:m.event,onDidUnregisterWindow:v.event,registerWindow(e){var i,s;if(f.has(e.vscodeWindowId))return np.None;let r=new ng,n={window:e,disposables:r.add(new ng)};return f.set(e.vscodeWindowId,n),r.add(nf(()=>{f.delete(e.vscodeWindowId),v.fire(e)})),r.add((i=e,s=aG.BEFORE_UNLOAD,new aV(i,s,()=>{m.fire(e)},void 0))),p.fire(n),r},getWindows:()=>f.values(),getWindowsCount:()=>f.size,getWindowId:e=>e.vscodeWindowId,hasWindow:e=>f.has(e),getWindowById:function(e,i){return("number"==typeof e?f.get(e):void 0)??(i?g:void 0)},getWindow:e=>e?.ownerDocument?.defaultView?e.ownerDocument.defaultView.window:e?.view?e.view.window:ai,getDocument:e=>aI(e).document}),aV=class{constructor(e,i,s,r){this._node=e,this._type=i,this._handler=s,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}},aY=class e{constructor(e,i){this.width=e,this.height=i}with(i=this.width,s=this.height){return i!==this.width||s!==this.height?new e(i,s):this}static is(e){return"object"==typeof e&&"number"==typeof e.height&&"number"==typeof e.width}static lift(i){return i instanceof e?i:new e(i.width,i.height)}static equals(e,i){return e===i||!!e&&!!i&&e.width===i.width&&e.height===i.height}};aY.None=new aY(0,0),new class{constructor(){this.mutationObservers=new Map}observe(e,i,s){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let n=function e(i,s){switch(typeof i){case"object":var r,n,o,a;return null===i?aA(349,s):Array.isArray(i)?(r=i,n=aA(104579,n=s),r.reduce((i,s)=>e(s,i),n)):(o=i,a=aA(181387,a=s),Object.keys(o).sort().reduce((i,s)=>(i=aP(s,i),e(o[s],i)),a));case"string":return aP(i,s);case"boolean":return aA(i?433:863,s);case"number":return aA(i,s);case"undefined":return aA(937,s);default:return aA(617,s)}}(s,0),o=r.get(n);if(o)o.users+=1;else{let a=new ok,h=new MutationObserver(e=>a.fire(e));h.observe(e,s);let l=o={users:1,observer:h,onDidMutate:a.event};i.add(nf(()=>{l.users-=1,0===l.users&&(a.dispose(),h.disconnect(),r?.delete(n),r?.size===0&&this.mutationObservers.delete(e))})),r.set(n,o)}return o.onDidMutate}};var aG={BEFORE_UNLOAD:"beforeunload"},aj=class extends np{constructor(e,i,s,r,n,o,a,h,l){if(super(),this._terminal=e,this._characterJoinerService=i,this._charSizeService=s,this._coreBrowserService=r,this._coreService=n,this._decorationService=o,this._optionsService=a,this._themeService=h,this._cursorBlinkStateManager=new nv,this._charAtlasDisposable=this._register(new nv),this._observerDisposable=this._register(new nv),this._model=new oZ,this._workCell=new oN,this._workCell2=new oN,this._rectangleRenderer=this._register(new nv),this._glyphRenderer=this._register(new nv),this._onChangeTextureAtlas=this._register(new ok),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ok),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ok),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new ok),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new ok),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._gl=this._canvas.getContext("webgl2",{antialias:!1,depth:!1,preserveDrawingBuffer:l}),!this._gl)throw Error("WebGL2 not supported "+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new n3(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new at(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,a,this._themeService)],this.dimensions={css:{canvas:nq(),cell:nq()},device:{canvas:nq(),cell:nq(),char:{width:0,height:0,left:0,top:0}}},this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(a.onOptionChange(()=>this._handleOptionsChanged())),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(function(e,i,s){return new aV(e,i,s,void 0)}(this._canvas,"webglcontextlost",e=>{console.log("webglcontextlost event received"),e.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(e)},3e3)})),this._register(function(e,i,s){return new aV(e,i,s,void 0)}(this._canvas,"webglcontextrestored",e=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,oO(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=oW(this._canvas,this._coreBrowserService.window,(e,i)=>this._setCanvasDevicePixelDimensions(e,i)),this._register(this._coreBrowserService.onWindowChange(e=>{this._observerDisposable.value=oW(this._canvas,e,(e,i)=>this._setCanvasDevicePixelDimensions(e,i))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(nf(()=>{for(let e of this._renderLayers)e.dispose();this._canvas.parentElement?.removeChild(this._canvas),oO(this._terminal)}))}get textureAtlas(){return this._charAtlas?.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,i){for(let e of(this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows),this._renderLayers))e.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(e,i,s){for(let r of this._renderLayers)r.handleSelectionChanged(this._terminal,e,i,s);this._model.selection.update(this._core,e,i,s),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new o9(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new oj(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=oP(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr,this._deviceMaxTextureSize);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=nu(ov.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),ov.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){for(let e of(this._clearModel(!0),this._renderLayers))e.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,i){if(!this._isAttached)if(!this._core.screenElement?.isConnected||!this._charSizeService.width||!this._charSizeService.height)return;else this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;for(let s of this._renderLayers)s.handleGridChanged(this._terminal,e,i);this._glyphRenderer.value&&this._rectangleRenderer.value&&(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,i),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new oI(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,i){let s=this._core,r=this._workCell,n,o,a,h,l,c,d=0,_=!0,u,f,g,p,v,m,S,w,b;e=aZ(e,s.rows-1,0),i=aZ(i,s.rows-1,0);let C=this._coreService.decPrivateModes.cursorStyle??s.options.cursorStyle??"block",y=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,x=y-s.buffer.ydisp,k=Math.min(this._terminal.buffer.active.cursorX,s.cols-1),L=-1,M=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let E=!1;for(o=e;o<=i;o++)for(a=o+s.buffer.ydisp,h=s.buffer.lines.get(a),this._model.lineLengths[o]=0,g=y===a,d=0,l=this._characterJoinerService.getJoinedCharacters(a),w=0;w<s.cols;w++){if(n=this._cellColorResolver.result.bg,h.loadCell(w,r),0===w&&(n=this._cellColorResolver.result.bg),c=!1,_=w>=d,u=w,l.length>0&&w===l[0][0]&&_){f=l.shift();let e=this._model.selection.isCellSelected(this._terminal,f[0],a);for(S=f[0]+1;S<f[1];S++)_&&=e===this._model.selection.isCellSelected(this._terminal,S,a);(_&&=!g||k<f[0]||k>=f[1])?(c=!0,r=new aX(r,h.translateToString(!0,f[0],f[1]),f[1]-f[0]),u=f[1]-1):d=f[1]}if(p=r.getChars(),v=r.getCode(),S=(o*s.cols+w)*4,this._cellColorResolver.resolve(r,w,a,this.dimensions.device.cell.width),M&&a===y&&(w===k&&(this._model.cursor={x:k,y:x,width:r.getWidth(),style:this._coreBrowserService.isFocused?C:s.options.cursorInactiveStyle,cursorWidth:s.options.cursorWidth,dpr:this._devicePixelRatio},L=k+r.getWidth()-1),w>=k&&w<=L&&(this._coreBrowserService.isFocused&&"block"===C||!1===this._coreBrowserService.isFocused&&"block"===s.options.cursorInactiveStyle)&&(this._cellColorResolver.result.fg=0x3000000|this._themeService.colors.cursorAccent.rgba>>8&0xffffff,this._cellColorResolver.result.bg=0x3000000|this._themeService.colors.cursor.rgba>>8&0xffffff)),0!==v&&(this._model.lineLengths[o]=w+1),(this._model.cells[S]!==v||this._model.cells[S+1]!==this._cellColorResolver.result.bg||this._model.cells[S+2]!==this._cellColorResolver.result.fg||this._model.cells[S+3]!==this._cellColorResolver.result.ext)&&(E=!0,p.length>1&&(v|=0x80000000),this._model.cells[S]=v,this._model.cells[S+1]=this._cellColorResolver.result.bg,this._model.cells[S+2]=this._cellColorResolver.result.fg,this._model.cells[S+3]=this._cellColorResolver.result.ext,m=r.getWidth(),this._glyphRenderer.value.updateCell(w,o,v,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,p,m,n),c)){for(r=this._workCell,w++;w<=u;w++)b=(o*s.cols+w)*4,this._glyphRenderer.value.updateCell(w,o,0,0,0,0,"",0,0),this._model.cells[b]=0,this._model.cells[b+1]=this._cellColorResolver.result.bg,this._model.cells[b+2]=this._cellColorResolver.result.fg,this._model.cells[b+3]=this._cellColorResolver.result.ext;w--}}E&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){this._charSizeService.width&&this._charSizeService.height&&(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=1===this._optionsService.rawOptions.lineHeight?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(e,i){this._canvas.width===e&&this._canvas.height===i||(this._canvas.width=e,this._canvas.height=i,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},aX=class extends oc{constructor(e,i,s){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=i,this._width=s}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function aZ(e,i,s=0){return Math.max(Math.min(e,i),s)}var aJ="di$target",aQ="di$dependencies",a0=new Map;function a1(e){if(a0.has(e))return a0.get(e);let i=function(e,s,r){var n,o,a;if(3!=arguments.length)throw Error("@IServiceName-decorator can only be used to decorate a parameter");n=i,o=e,a=r,o[aJ]===o?o[aQ].push({id:n,index:a}):(o[aQ]=[{id:n,index:a}],o[aJ]=o)};return i._id=e,a0.set(e,i),i}a1("BufferService"),a1("CoreMouseService"),a1("CoreService"),a1("CharsetService"),a1("InstantiationService"),a1("LogService");var a5=a1("OptionsService");a1("OscLinkService"),a1("UnicodeService"),a1("DecorationService");var a2={trace:0,debug:1,info:2,warn:3,error:4,off:5},a3=class extends np{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=a2[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let i=0;i<e.length;i++)"function"==typeof e[i]&&(e[i]=e[i]())}_log(e,i,s){this._evalLazyOptionalParams(s),e.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+i,...s)}trace(e,...i){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,i)}debug(e,...i){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,i)}info(e,...i){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,i)}warn(e,...i){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,i)}error(e,...i){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,i)}};a3=((e,i,s,r)=>{for(var n,o=r>1?void 0:r?ns(i,s):i,a=e.length-1;a>=0;a--)(n=e[a])&&(o=(r?n(i,s,o):n(o))||o);return r&&o&&ni(i,s,o),o})([(e,i)=>a5(e,i,0)],a3);var a4=class extends np{constructor(e){if(ny&&16>function(){if(!ny)return 0;let e=nS.match(/Version\/(\d+)/);return null===e||e.length<2?0:parseInt(e[1])}()&&!document.createElement("canvas").getContext("webgl2",{antialias:!1,depth:!1,preserveDrawingBuffer:!0}))throw Error("Webgl2 is only supported on Safari 16 and above");super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this._register(new ok),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new ok),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new ok),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new ok),this.onContextLoss=this._onContextLoss.event}activate(e){let i=e._core;if(!e.element)return void this._register(i.onWillOpen(()=>this.activate(e)));this._terminal=e;let s=i.coreService,r=i.optionsService,n=i._renderService,o=i._characterJoinerService,a=i._charSizeService,h=i._coreBrowserService,l=i._decorationService,c=i._logService,d=i._themeService;this._renderer=this._register(new aj(e,o,a,h,s,l,r,d,this._preserveDrawingBuffer)),this._register(ov.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(ov.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(ov.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(ov.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),n.setRenderer(this._renderer),this._register(nf(()=>{if(this._terminal._core._store._isDisposed)return;let i=this._terminal._core._renderService;i.setRenderer(this._terminal._core._createRenderer()),i.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}},a6=class{constructor(e,i,s,r={}){this._terminal=e,this._regex=i,this._handler=s,this._options=r}provideLinks(e,i){let s=a8.computeLink(e,this._regex,this._terminal,this._handler);i(this._addCallbacks(s))}_addCallbacks(e){return e.map(e=>(e.leave=this._options.leave,e.hover=(i,s)=>{if(this._options.hover){let{range:r}=e;this._options.hover(i,s,r)}},e))}},a8=class e{static computeLink(i,s,r,n){let o=RegExp(s.source,(s.flags||"")+"g"),[a,h]=e._getWindowedLineStrings(i-1,r),l=a.join(""),c,d=[];for(;c=o.exec(l);){let i=c[0];if(!function(e){try{let i=new URL(e),s=i.password&&i.username?`${i.protocol}//${i.username}:${i.password}@${i.host}`:i.username?`${i.protocol}//${i.username}@${i.host}`:`${i.protocol}//${i.host}`;return e.toLocaleLowerCase().startsWith(s.toLocaleLowerCase())}catch{return!1}}(i))continue;let[s,o]=e._mapStrIdx(r,h,0,c.index),[a,l]=e._mapStrIdx(r,s,o,i.length);if(-1===s||-1===o||-1===a||-1===l)continue;let _={start:{x:o+1,y:s+1},end:{x:l,y:a+1}};d.push({range:_,text:i,activate:n})}return d}static _getWindowedLineStrings(e,i){let s,r=e,n=e,o=0,a="",h=[];if(s=i.buffer.active.getLine(e)){let e=s.translateToString(!0);if(s.isWrapped&&" "!==e[0]){for(o=0;(s=i.buffer.active.getLine(--r))&&o<2048&&(o+=(a=s.translateToString(!0)).length,h.push(a),!(!s.isWrapped||-1!==a.indexOf(" "))););h.reverse()}for(h.push(e),o=0;(s=i.buffer.active.getLine(++n))&&s.isWrapped&&o<2048&&(o+=(a=s.translateToString(!0)).length,h.push(a),-1===a.indexOf(" ")););}return[h,r]}static _mapStrIdx(e,i,s,r){let n=e.buffer.active,o=n.getNullCell(),a=s;for(;r;){let e=n.getLine(i);if(!e)return[-1,-1];for(let s=a;s<e.length;++s){e.getCell(s,o);let a=o.getChars();if(o.getWidth()&&(r-=a.length||1,s===e.length-1&&""===a)){let e=n.getLine(i+1);e&&e.isWrapped&&(e.getCell(0,o),2===o.getWidth()&&(r+=1))}if(r<0)return[i,s]}i++,a=0}return[i,a]}},a7=/(https?|HTTPS?):[/]{2}[^\s"'!*(){}|\\\^<>`]*[^\s"':,.!?{}|\\\^~\[\]`()<>]/;function a9(e,i){let s=window.open();if(s){try{s.opener=null}catch{}s.location.href=i}else console.warn("Opening link blocked as opener could not be cleared")}var he=class{constructor(e=a9,i={}){this._handler=e,this._options=i}activate(e){this._terminal=e;let i=this._options,s=i.urlRegex||a7;this._linkProvider=this._terminal.registerLinkProvider(new a6(this._terminal,s,this._handler,i))}dispose(){this._linkProvider?.dispose()}},ht=e.i(275283);let hi=/(?:\.\.?\/|[a-zA-Z0-9_@][a-zA-Z0-9_\-.]*\/)[a-zA-Z0-9_\-.\/@]+\.\w+/g,hs=/^(?::(\d+)(?::(\d+))?|\((\d+)(?:,\s*(\d+))?\)|\[(\d+)(?:,\s*(\d+))?\])/;class hr{terminal;worktreePath;onFileOpen;constructor(e,i,s){this.terminal=e,this.worktreePath=i,this.onFileOpen=s}provideLinks(e,i){let s=this.terminal.buffer.active.getLine(e);if(!s)return i(void 0);let r=s.translateToString(),n=function(e){let i,s=[];for(hi.lastIndex=0;null!==(i=hi.exec(e));){let r,n,o=i[0],a=i.index,h=e.slice(a+o.length).match(hs),l=o.length;if(h&&0===h.index){l+=h[0].length;let e=h[1]??h[3]??h[5],i=h[2]??h[4]??h[6];r=e?parseInt(e,10):void 0,n=i?parseInt(i,10):void 0}s.push({path:o,startIndex:a,totalLength:l,line:r,col:n})}return s}(r);if(0===n.length)return i(void 0);i(n.map(i=>({range:{start:{x:i.startIndex+1,y:e},end:{x:i.startIndex+i.totalLength+1,y:e}},text:r.slice(i.startIndex,i.startIndex+i.totalLength),activate:()=>{this.onFileOpen(`${this.worktreePath}/${i.path}`,i.line,i.col)}})))}}var hn=e.i(625054),ho=e.i(893563);e.s(["TaskTerminal",0,function({taskId:e,worktreePath:i,onSessionEnd:s,onFileOpen:r,useCanvasRenderer:n=!1}){let{t:o}=(0,hn.useI18n)(),{resolvedTheme:a}=(0,ht.useTheme)(),h=(0,y.useRef)(null),l=(0,y.useRef)(null),c=(0,y.useRef)(null),d=(0,y.useRef)(null),_=(0,y.useRef)(s);_.current=s;let u=(0,y.useRef)(r);u.current=r;let[f,g]=(0,y.useState)("connecting"),[p,v]=(0,y.useState)(!1);if((0,y.useEffect)(()=>{if(!i||!h.current)return;let s=new ne({fontFamily:"Menlo, Monaco, 'Courier New', monospace",fontSize:13,scrollback:5e3,cursorBlink:!0,allowTransparency:!1,rescaleOverlappingGlyphs:!0,theme:"light"!==a?{background:"#0a0a0a",foreground:"#e5e5e5"}:{background:"#fafafa",foreground:"#171717"}}),r=new nt;s.loadAddon(r),s.open(h.current);let o=h.current.querySelector(".xterm-helper-textarea");o&&(o.style.opacity="0");let f=null;if(!n)try{(f=new a4).onContextLoss(()=>{f?.dispose(),f=null}),s.loadAddon(f)}catch{}let p=new he((e,i)=>{window.open(i,"_blank")});s.loadAddon(p),i&&s.registerLinkProvider(new hr(s,i,(e,i,s)=>{u.current?.(e,i,s)})),r.fit(),s.focus();let m=null,S=null,w=!1,b=null,C=!1;return(0,ho.getActualWsPort)().then(i=>{w||function i(r){if(w||C)return;g("connecting");let n=new WebSocket(`ws://localhost:${r}/terminal?taskId=${encodeURIComponent(e)}`);m=n,n.addEventListener("open",()=>{n.send(JSON.stringify({type:"resize",cols:s.cols,rows:s.rows})),s.focus(),g("connected"),v(!0),setTimeout(()=>v(!1),2e3)}),n.addEventListener("message",e=>{let i=e.data;"string"==typeof i?s.write(i):i instanceof Blob?i.text().then(e=>s.write(e)):i instanceof ArrayBuffer&&s.write(new Uint8Array(i))}),S?.dispose(),S=s.onData(e=>{n.readyState===WebSocket.OPEN&&n.send(e)}),n.addEventListener("close",e=>{if(e.code>=4e3){C=!0,g("disconnected"),_.current?.(e.code-4e3);return}g("disconnected"),w||C||(b=setTimeout(()=>i(r),3e3))}),n.addEventListener("error",()=>{}),c.current=n}(i)}),l.current=s,d.current=r,()=>{w=!0,b&&clearTimeout(b),S?.dispose(),p.dispose(),f?.dispose(),r.dispose(),s.dispose(),m?.close(),l.current=null,c.current=null,d.current=null}},[e,i]),(0,y.useEffect)(()=>{if(!i||!h.current)return;let e=d.current,s=c.current,r=l.current;e&&r&&requestAnimationFrame(()=>{e.fit(),s?.readyState===WebSocket.OPEN&&s.send(JSON.stringify({type:"resize",cols:r.cols,rows:r.rows}))});let n=null,o=h.current,a=new ResizeObserver(()=>{n&&clearTimeout(n),n=setTimeout(()=>{let e=d.current,i=c.current,s=l.current;e&&s&&(e.fit(),i?.readyState===WebSocket.OPEN&&i.send(JSON.stringify({type:"resize",cols:s.cols,rows:s.rows})))},100)});return a.observe(o),()=>{n&&clearTimeout(n),a.disconnect()}},[e,i]),(0,y.useEffect)(()=>{let e=l.current;if(!e)return;let i="light"!==a;e.options.theme=i?{background:"#0a0a0a",foreground:"#e5e5e5"}:{background:"#fafafa",foreground:"#171717"}},[a]),!i)return(0,C.jsxs)("div",{className:"flex h-full w-full flex-col items-center justify-center bg-[#0a0a0a] text-center",children:[(0,C.jsx)("p",{className:"text-sm text-neutral-400",children:o("terminal.noWorktree")}),(0,C.jsx)("p",{className:"text-xs text-neutral-600 mt-1",children:o("terminal.noWorktreeDesc")})]});let m=o("connected"===f?"terminal.connected":"connecting"===f?"terminal.connecting":"terminal.disconnected");return(0,C.jsxs)("div",{className:"relative h-full w-full bg-[#0a0a0a]",children:[(0,C.jsxs)("div",{className:["absolute right-3 top-3 z-10 flex items-center gap-1.5 rounded px-2 py-0.5 text-xs transition-opacity duration-500","connected"===f&&!p?"opacity-0 pointer-events-none":"opacity-100","bg-black/40 backdrop-blur-sm"].join(" "),title:m,children:[(0,C.jsx)("span",{className:`h-2 w-2 rounded-full ${"connected"===f?"bg-green-500":"connecting"===f?"bg-yellow-500":"bg-red-500"}`}),(0,C.jsx)("span",{className:"text-neutral-300",children:m})]}),(0,C.jsx)("div",{ref:h,className:"h-full w-full overflow-hidden"})]})}],714062)},467005,e=>{e.n(e.i(714062))}]);
|