Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

xterm-addon-image

Package Overview
Dependencies
Maintainers
1
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

xterm-addon-image - npm Package Compare versions

Comparing version 0.3.0 to 0.3.1

2

lib/xterm-addon-image.js
/*! For license information please see xterm-addon-image.js.LICENSE.txt */
!function(A,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ImageAddon=t():A.ImageAddon=t()}(self,(function(){return(()=>{"use strict";var A={477:(A,t)=>{function e(A){return 255&A}function i(A){return A>>>8&255}function s(A){return A>>>16&255}function g(A,t,e,i=255){return((255&i)<<24|(255&e)<<16|(255&t)<<8|255&A)>>>0}function r(A,t,e){return Math.max(A,Math.min(e,t))}function a(A,t,e){return e<0&&(e+=1),e>1&&(e-=1),6*e<1?t+6*(A-t)*e:2*e<1?A:3*e<2?t+(A-t)*(4-6*e):t}function o(A,t,e){return(4278190080|Math.round(e/100*255)<<16|Math.round(t/100*255)<<8|Math.round(A/100*255))>>>0}Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_FOREGROUND=t.DEFAULT_BACKGROUND=t.PALETTE_ANSI_256=t.PALETTE_VT340_GREY=t.PALETTE_VT340_COLOR=t.normalizeHLS=t.normalizeRGB=t.nearestColorIndex=t.fromRGBA8888=t.toRGBA8888=t.alpha=t.blue=t.green=t.red=t.BIG_ENDIAN=void 0,t.BIG_ENDIAN=255===new Uint8Array(new Uint32Array([4278190080]).buffer)[0],t.BIG_ENDIAN&&console.warn("BE platform detected. This version of node-sixel works only on LE properly."),t.red=e,t.green=i,t.blue=s,t.alpha=function(A){return A>>>24&255},t.toRGBA8888=g,t.fromRGBA8888=function(A){return[255&A,A>>8&255,A>>16&255,A>>>24]},t.nearestColorIndex=function(A,t){const g=e(A),r=i(A),a=s(A);let o=Number.MAX_SAFE_INTEGER,I=-1;for(let A=0;A<t.length;++A){const e=g-t[A][0],i=r-t[A][1],s=a-t[A][2],h=e*e+i*i+s*s;if(!h)return A;h<o&&(o=h,I=A)}return I},t.normalizeRGB=o,t.normalizeHLS=function(A,t,e){return function(A,t,e){if(!e){const A=Math.round(255*t);return g(A,A,A)}const i=t<.5?t*(1+e):t+e-t*e,s=2*t-i;return g(r(0,255,Math.round(255*a(i,s,A+1/3))),r(0,255,Math.round(255*a(i,s,A))),r(0,255,Math.round(255*a(i,s,A-1/3))))}((A+240)/360,t/100,e/100)},t.PALETTE_VT340_COLOR=new Uint32Array([o(0,0,0),o(20,20,80),o(80,13,13),o(20,80,20),o(80,20,80),o(20,80,80),o(80,80,20),o(53,53,53),o(26,26,26),o(33,33,60),o(60,26,26),o(33,60,33),o(60,33,60),o(33,60,60),o(60,60,33),o(80,80,80)]),t.PALETTE_VT340_GREY=new Uint32Array([o(0,0,0),o(13,13,13),o(26,26,26),o(40,40,40),o(6,6,6),o(20,20,20),o(33,33,33),o(46,46,46),o(0,0,0),o(13,13,13),o(26,26,26),o(40,40,40),o(6,6,6),o(20,20,20),o(33,33,33),o(46,46,46)]),t.PALETTE_ANSI_256=(()=>{const A=[g(0,0,0),g(205,0,0),g(0,205,0),g(205,205,0),g(0,0,238),g(205,0,205),g(0,250,205),g(229,229,229),g(127,127,127),g(255,0,0),g(0,255,0),g(255,255,0),g(92,92,255),g(255,0,255),g(0,255,255),g(255,255,255)],t=[0,95,135,175,215,255];for(let e=0;e<6;++e)for(let i=0;i<6;++i)for(let s=0;s<6;++s)A.push(g(t[e],t[i],t[s]));for(let t=8;t<=238;t+=10)A.push(g(t,t,t));return new Uint32Array(A)})(),t.DEFAULT_BACKGROUND=g(0,0,0,255),t.DEFAULT_FOREGROUND=g(255,255,255,255)},710:(A,t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decodeAsync=t.decode=t.Decoder=t.DecoderAsync=void 0;const i=e(477),s=e(343),g=function(A){if("undefined"!=typeof Buffer)return Buffer.from(A,"base64");const t=atob(A),e=new Uint8Array(t.length);for(let A=0;A<e.length;++A)e[A]=t.charCodeAt(A);return e}(s.LIMITS.BYTES);let r;const a=new Uint32Array;class o{constructor(){this.bandHandler=A=>1,this.modeHandler=A=>1}handle_band(A){return this.bandHandler(A)}mode_parsed(A){return this.modeHandler(A)}}const I={memoryLimit:134217728,sixelColor:i.DEFAULT_FOREGROUND,fillColor:i.DEFAULT_BACKGROUND,palette:i.PALETTE_VT340_COLOR,paletteLimit:s.LIMITS.PALETTE_SIZE,truncate:!0};function h(A){const t=new o,e={env:{handle_band:t.handle_band.bind(t),mode_parsed:t.mode_parsed.bind(t)}};return WebAssembly.instantiate(r||g,e).then((e=>(r=r||e.module,new C(A,e.instance||e,t))))}t.DecoderAsync=h;class C{constructor(A,t,e){if(this._PIXEL_OFFSET=s.LIMITS.MAX_WIDTH+4,this._canvas=a,this._bandWidths=[],this._maxWidth=0,this._minWidth=s.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0,this._opts=Object.assign({},I,A),this._opts.paletteLimit>s.LIMITS.PALETTE_SIZE)throw new Error(`DecoderOptions.paletteLimit must not exceed ${s.LIMITS.PALETTE_SIZE}`);if(t)e.bandHandler=this._handle_band.bind(this),e.modeHandler=this._initCanvas.bind(this);else{const A=r||(r=new WebAssembly.Module(g));t=new WebAssembly.Instance(A,{env:{handle_band:this._handle_band.bind(this),mode_parsed:this._initCanvas.bind(this)}})}this._instance=t,this._wasm=this._instance.exports,this._chunk=new Uint8Array(this._wasm.memory.buffer,this._wasm.get_chunk_address(),s.LIMITS.CHUNK_SIZE),this._states=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_state_address(),12),this._palette=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_palette_address(),s.LIMITS.PALETTE_SIZE),this._palette.set(this._opts.palette),this._pSrc=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_p0_address()),this._wasm.init(i.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}get _fillColor(){return this._states[0]}get _truncate(){return this._states[8]}get _rasterWidth(){return this._states[6]}get _rasterHeight(){return this._states[7]}get _width(){return this._states[2]?this._states[2]-4:0}get _height(){return this._states[3]}get _level(){return this._states[9]}get _mode(){return this._states[10]}get _paletteLimit(){return this._states[11]}_initCanvas(A){if(2===A){const A=this.width*this.height;if(A>this._canvas.length){if(this._opts.memoryLimit&&4*A>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(A)}this._maxWidth=this._width}else if(1===A)if(2===this._level){const A=Math.min(this._rasterWidth,s.LIMITS.MAX_WIDTH)*this._rasterHeight;if(A>this._canvas.length){if(this._opts.memoryLimit&&4*A>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(A)}}else this._canvas.length<65536&&(this._canvas=new Uint32Array(65536));return 0}_realloc(A,t){const e=A+t;if(e>this._canvas.length){if(this._opts.memoryLimit&&4*e>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");const A=new Uint32Array(65536*Math.ceil(e/65536));A.set(this._canvas),this._canvas=A}}_handle_band(A){const t=this._PIXEL_OFFSET;let e=this._lastOffset;if(2===this._mode){let i=this.height-this._currentHeight,s=0;for(;s<6&&i>0;)this._canvas.set(this._pSrc.subarray(t*s,t*s+A),e+A*s),s++,i--;this._lastOffset+=A*s,this._currentHeight+=s}else if(1===this._mode){this._realloc(e,6*A),this._maxWidth=Math.max(this._maxWidth,A),this._minWidth=Math.min(this._minWidth,A);for(let i=0;i<6;++i)this._canvas.set(this._pSrc.subarray(t*i,t*i+A),e+A*i);this._bandWidths.push(A),this._lastOffset+=6*A,this._currentHeight+=6}return 0}get width(){return 1!==this._mode?this._width:Math.max(this._maxWidth,this._wasm.current_width())}get height(){return 1!==this._mode?this._height:this._wasm.current_width()?6*this._bandWidths.length+this._wasm.current_height():6*this._bandWidths.length}get palette(){return this._palette.subarray(0,this._paletteLimit)}get memoryUsage(){return this._canvas.byteLength+this._wasm.memory.buffer.byteLength+8*this._bandWidths.length}get properties(){return{width:this.width,height:this.height,mode:this._mode,level:this._level,truncate:!!this._truncate,paletteLimit:this._paletteLimit,fillColor:this._fillColor,memUsage:this.memoryUsage,rasterAttributes:{numerator:this._states[4],denominator:this._states[5],width:this._rasterWidth,height:this._rasterHeight}}}init(A=this._opts.fillColor,t=this._opts.palette,e=this._opts.paletteLimit,i=this._opts.truncate){this._wasm.init(this._opts.sixelColor,A,e,i?1:0),t&&this._palette.set(t.subarray(0,s.LIMITS.PALETTE_SIZE)),this._bandWidths.length=0,this._maxWidth=0,this._minWidth=s.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0}decode(A,t=0,e=A.length){let i=t;for(;i<e;){const t=Math.min(e-i,s.LIMITS.CHUNK_SIZE);this._chunk.set(A.subarray(i,i+=t)),this._wasm.decode(0,t)}}decodeString(A,t=0,e=A.length){let i=t;for(;i<e;){const t=Math.min(e-i,s.LIMITS.CHUNK_SIZE);for(let e=0,s=i;e<t;++e,++s)this._chunk[e]=A.charCodeAt(s);i+=t,this._wasm.decode(0,t)}}get data32(){if(0===this._mode||!this.width||!this.height)return a;const A=this._wasm.current_width();if(2===this._mode){let t=this.height-this._currentHeight;if(t>0){const e=this._PIXEL_OFFSET;let i=this._lastOffset,s=0;for(;s<6&&t>0;)this._canvas.set(this._pSrc.subarray(e*s,e*s+A),i+A*s),s++,t--;t&&this._canvas.fill(this._fillColor,i+A*s)}return this._canvas.subarray(0,this.width*this.height)}if(1===this._mode){if(this._minWidth===this._maxWidth){let t=!1;if(A)if(A!==this._minWidth)t=!0;else{const t=this._PIXEL_OFFSET;let e=this._lastOffset;this._realloc(e,6*A);for(let i=0;i<6;++i)this._canvas.set(this._pSrc.subarray(t*i,t*i+A),e+A*i)}if(!t)return this._canvas.subarray(0,this.width*this.height)}const t=new Uint32Array(this.width*this.height);t.fill(this._fillColor);let e=0,i=0;for(let A=0;A<this._bandWidths.length;++A){const s=this._bandWidths[A];for(let A=0;A<6;++A)t.set(this._canvas.subarray(i,i+=s),e),e+=this.width}if(A){const i=this._PIXEL_OFFSET,s=this._wasm.current_height();for(let g=0;g<s;++g)t.set(this._pSrc.subarray(i*g,i*g+A),e+this.width*g)}return t}return a}get data8(){return new Uint8ClampedArray(this.data32.buffer,0,this.width*this.height*4)}release(){this._canvas=a,this._bandWidths.length=0,this._maxWidth=0,this._minWidth=s.LIMITS.MAX_WIDTH,this._wasm.init(i.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}}t.Decoder=C,t.decode=function(A,t){const e=new C(t);return e.init(),"string"==typeof A?e.decodeString(A):e.decode(A),{width:e.width,height:e.height,data32:e.data32,data8:e.data8}},t.decodeAsync=async function(A,t){const e=await h(t);return e.init(),"string"==typeof A?e.decodeString(A):e.decode(A),{width:e.width,height:e.height,data32:e.data32,data8:e.data8}}},343:(A,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LIMITS=void 0,t.LIMITS={CHUNK_SIZE:16384,PALETTE_SIZE:4096,MAX_WIDTH:16384,BYTES:"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AEHAiwIgADcDAEG4iwIgADcDAEGwiwIgADcDAEGoiwIgADcDAEGgiwIgADcDAEGYiwIgADcDAEGQiwIgADcDAEGIiwIgADcDAEGAiwIgADcDAEH4igIgADcDAEHwigIgADcDAEHoigIgADcDAEHgigIgADcDAEHYigIgADcDAEHQigIgADcDAEHIigIgADcDAEHAigIgADcDAEG4igIgADcDAEGwigIgADcDAEGoigIgADcDAEGgigIgADcDAEGYigIgADcDAEGQigIgADcDAEGIigIgADcDAEGAigIgADcDAEH4iQIgADcDAEHwiQIgADcDAEHoiQIgADcDAEHgiQIgADcDAEHYiQIgADcDAEHQiQIgADcDAEHIiQIgADcDAEHAiQIgADcDAEG4iQIgADcDAEGwiQIgADcDAEGoCCgCACIEQf8AakGAAW0hCAJAIARBgQFIDQBBASEBIAhBAiAIQQJKG0EBayICQQFxIQMgBEGBAk4EQCACQX5xIQIDQCABQQl0IgdBEHJBoIkCakGwiQJBgAT8CgAAIAdBsI0CakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsLIANFDQAgAUEJdEEQckGgiQJqQbCJAkGABPwKAAALAkAgBEEBSA0AIAhBASAIQQFKGyIDQQFxIQUCQCADQQFrIgdFBEBBACEBDAELIANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQbCJBmpBsIkCQYAE/AoAACAGQZAEckGwiQZqQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACwsgBQRAIAFBCXRBEHJBsIkGakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEFIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiBkEQckHAiQpqQbCJAkGABPwKAAAgBkGQBHJBwIkKakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAFBEAgAUECdEHAiQpqQbCJAkGABPwKAAALIARBAUgNACADQQFxIQUgBwR/IANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQdCJDmpBsIkCQYAE/AoAACAGQZAEckHQiQ5qQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACyABQQd0QQRyBUEECyEBIAUEQCABQQJ0QdCJ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"}},782:(A,t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ImageRenderer=void 0;const i=e(477);class s{constructor(A,t){this._terminal=A,this._showPlaceholder=t,this._oldOpen=this._terminal._core.open,this._terminal._core.open=A=>{var t;null===(t=this._oldOpen)||void 0===t||t.call(this._terminal._core,A),this._open()},this._terminal._core.screenElement&&this._open(),this._optionsRefresh=this._terminal._core.optionsService.onOptionChange((A=>{var t;"fontSize"===A&&(this.rescaleCanvas(),null===(t=this._renderService)||void 0===t||t.refreshRows(0,this._terminal.rows))}))}static createCanvas(A,t,e){const i=A.document.createElement("canvas");return i.width=0|t,i.height=0|e,i}static createImageData(A,t,e,i){if("function"!=typeof ImageData){const s=A.createImageData(t,e);return i&&s.data.set(new Uint8ClampedArray(i,0,t*e*4)),s}return i?new ImageData(new Uint8ClampedArray(i,0,t*e*4),t,e):new ImageData(t,e)}static createImageBitmap(A){return"function"!=typeof createImageBitmap?Promise.resolve(void 0):createImageBitmap(A)}dispose(){var A,t;null===(A=this._optionsRefresh)||void 0===A||A.dispose(),this._removeLayerFromDom(),this._terminal._core&&this._oldOpen&&(this._terminal._core.open=this._oldOpen,this._oldOpen=void 0),this._renderService&&this._oldSetRenderer&&(this._renderService.setRenderer=this._oldSetRenderer,this._oldSetRenderer=void 0),this._renderService=void 0,this.canvas=void 0,this._ctx=void 0,null===(t=this._placeholderBitmap)||void 0===t||t.close(),this._placeholderBitmap=void 0,this._placeholder=void 0}showPlaceholder(A){var t,e;A?this._placeholder||-1===this.cellSize.height||this._createPlaceHolder(Math.max(this.cellSize.height+1,24)):(null===(t=this._placeholderBitmap)||void 0===t||t.close(),this._placeholderBitmap=void 0,this._placeholder=void 0),null===(e=this._renderService)||void 0===e||e.refreshRows(0,this._terminal.rows)}get dimensions(){var A;return null===(A=this._renderService)||void 0===A?void 0:A.dimensions}get cellSize(){var A,t;return{width:(null===(A=this.dimensions)||void 0===A?void 0:A.actualCellWidth)||-1,height:(null===(t=this.dimensions)||void 0===t?void 0:t.actualCellHeight)||-1}}clearLines(A,t){var e,i,s,g;null===(e=this._ctx)||void 0===e||e.clearRect(0,A*((null===(i=this.dimensions)||void 0===i?void 0:i.actualCellHeight)||0),(null===(s=this.dimensions)||void 0===s?void 0:s.canvasWidth)||0,(++t-A)*((null===(g=this.dimensions)||void 0===g?void 0:g.actualCellHeight)||0))}clearAll(){var A,t,e;null===(A=this._ctx)||void 0===A||A.clearRect(0,0,(null===(t=this.canvas)||void 0===t?void 0:t.width)||0,(null===(e=this.canvas)||void 0===e?void 0:e.height)||0)}draw(A,t,e,i,s=1){if(!this._ctx)return;const{width:g,height:r}=this.cellSize;if(-1===g||-1===r)return;this._rescaleImage(A,g,r);const a=A.actual,o=Math.ceil(a.width/g),I=t%o*g,h=Math.floor(t/o)*r,C=e*g,B=i*r,n=s*g+I>a.width?a.width-I:s*g,Q=h+r>a.height?a.height-h:r;this._ctx.drawImage(a,Math.floor(I),Math.floor(h),Math.ceil(n),Math.ceil(Q),Math.floor(C),Math.floor(B),Math.ceil(n),Math.ceil(Q))}extractTile(A,t){const{width:e,height:i}=this.cellSize;if(-1===e||-1===i)return;this._rescaleImage(A,e,i);const g=A.actual,r=Math.ceil(g.width/e),a=t%r*e,o=Math.floor(t/r)*i,I=e+a>g.width?g.width-a:e,h=o+i>g.height?g.height-o:i,C=s.createCanvas(this._terminal._core._coreBrowserService.window,I,h),B=C.getContext("2d");return B?(B.drawImage(g,Math.floor(a),Math.floor(o),Math.floor(I),Math.floor(h),0,0,Math.floor(I),Math.floor(h)),C):void 0}drawPlaceholder(A,t,e=1){if((this._placeholderBitmap||this._placeholder)&&this._ctx){const{width:i,height:s}=this.cellSize;if(-1===i||-1===s)return;s>=this._placeholder.height&&this._createPlaceHolder(s+1),this._ctx.drawImage(this._placeholderBitmap||this._placeholder,A*i,t*s%2?0:1,i*e,s,A*i,t*s,i*e,s)}}rescaleCanvas(){var A,t,e;this.canvas&&(this.canvas.width===(null===(A=this.dimensions)||void 0===A?void 0:A.canvasWidth)&&this.canvas.height===this.dimensions.canvasHeight||(this.canvas.width=(null===(t=this.dimensions)||void 0===t?void 0:t.canvasWidth)||0,this.canvas.height=(null===(e=this.dimensions)||void 0===e?void 0:e.canvasHeight)||0))}_rescaleImage(A,t,e){if(t===A.actualCellSize.width&&e===A.actualCellSize.height)return;const{width:i,height:g}=A.origCellSize;if(t===i&&e===g)return A.actual=A.orig,A.actualCellSize.width=i,void(A.actualCellSize.height=g);const r=s.createCanvas(this._terminal._core._coreBrowserService.window,Math.ceil(A.orig.width*t/i),Math.ceil(A.orig.height*e/g)),a=r.getContext("2d");a&&(a.drawImage(A.orig,0,0,r.width,r.height),A.actual=r,A.actualCellSize.width=t,A.actualCellSize.height=e)}_open(){this._renderService=this._terminal._core._renderService,this._oldSetRenderer=this._renderService.setRenderer.bind(this._renderService),this._renderService.setRenderer=A=>{var t;this._removeLayerFromDom(),null===(t=this._oldSetRenderer)||void 0===t||t.call(this._renderService,A),this._insertLayerToDom()},this._insertLayerToDom(),this._showPlaceholder&&this._createPlaceHolder()}_insertLayerToDom(){var A,t,e;this.canvas=s.createCanvas(this._terminal._core._coreBrowserService.window,(null===(A=this.dimensions)||void 0===A?void 0:A.canvasWidth)||0,(null===(t=this.dimensions)||void 0===t?void 0:t.canvasHeight)||0),this.canvas.classList.add("xterm-image-layer"),null===(e=this._terminal._core.screenElement)||void 0===e||e.appendChild(this.canvas),this._ctx=this.canvas.getContext("2d",{alpha:!0,desynchronized:!0})}_removeLayerFromDom(){var A,t;null===(t=null===(A=this.canvas)||void 0===A?void 0:A.parentNode)||void 0===t||t.removeChild(this.canvas)}_createPlaceHolder(A=24){var t;null===(t=this._placeholderBitmap)||void 0===t||t.close(),this._placeholderBitmap=void 0;const e=32,g=s.createCanvas(this._terminal._core._coreBrowserService.window,e,A),r=g.getContext("2d",{alpha:!1});if(!r)return;const a=s.createImageData(r,e,A),o=new Uint32Array(a.data.buffer),I=(0,i.toRGBA8888)(0,0,0),h=(0,i.toRGBA8888)(255,255,255);o.fill(I);for(let t=0;t<A;++t){const A=t%2,i=t*e;for(let t=0;t<e;t+=2)o[i+t+A]=h}r.putImageData(a,0,0);const C=screen.width+e-1&-32||4096;this._placeholder=s.createCanvas(this._terminal._core._coreBrowserService.window,C,A);const B=this._placeholder.getContext("2d",{alpha:!1});if(B){for(let A=0;A<C;A+=e)B.drawImage(g,A,0);s.createImageBitmap(this._placeholder).then((A=>this._placeholderBitmap=A))}else this._placeholder=void 0}}t.ImageRenderer=s},216:(A,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ImageStorage=t.CELL_SIZE_DEFAULT=void 0,t.CELL_SIZE_DEFAULT={width:7,height:14};class e{constructor(A=0,t=0,e=-1,i=-1){this.imageId=e,this.tileId=i,this._ext=0,this._urlId=0,this._ext=A,this._urlId=t}get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(A){this._ext=A}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(A){this._ext&=-469762049,this._ext|=A<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(A){this._ext&=-67108864,this._ext|=67108863&A}get urlId(){return this._urlId}set urlId(A){this._urlId=A}clone(){return new e(this._ext,this._urlId,this.imageId,this.tileId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId&&-1===this.imageId}}const i=new e;t.ImageStorage=class{constructor(A,t,e){this._terminal=A,this._renderer=t,this._opts=e,this._images=new Map,this._lastId=0,this._lowestId=0,this._fullyCleared=!1,this._needsFullClear=!1,this._pixelLimit=25e5;try{this.setLimit(this._opts.storageLimit)}catch(A){console.error(A.message),console.warn(`storageLimit is set to ${this.getLimit()} MB`)}this._viewportMetrics={cols:this._terminal.cols,rows:this._terminal.rows}}dispose(){this.reset()}reset(){var A;for(const t of this._images.values())null===(A=t.marker)||void 0===A||A.dispose();this._images.clear(),this._renderer.clearAll()}getLimit(){return 4*this._pixelLimit/1e6}setLimit(A){if(A<1||A>1e3)throw RangeError("invalid storageLimit, should be at least 1 MB and not exceed 1G");this._pixelLimit=A/4*1e6>>>0,this._evictOldest(0)}getUsage(){return 4*this._getStoredPixels()/1e6}_getStoredPixels(){let A=0;for(const t of this._images.values())t.orig&&(A+=t.orig.width*t.orig.height,t.actual&&t.actual!==t.orig&&(A+=t.actual.width*t.actual.height));return A}wipeAlternate(){var A;const t=[];for(const[e,i]of this._images.entries())"alternate"===i.bufferType&&(null===(A=i.marker)||void 0===A||A.dispose(),t.push(e));for(const A of t)this._images.delete(A);this._needsFullClear=!0,this._fullyCleared=!1}advanceCursor(A){if(this._opts.sixelScrolling){let e=this._renderer.cellSize;-1!==e.width&&-1!==e.height||(e=t.CELL_SIZE_DEFAULT);const i=Math.ceil(A/e.height);for(let A=1;A<i;++A)this._terminal._core._inputHandler.lineFeed()}}addImage(A){var e;this._evictOldest(A.width*A.height);let i=this._renderer.cellSize;-1!==i.width&&-1!==i.height||(i=t.CELL_SIZE_DEFAULT);const s=Math.ceil(A.width/i.width),g=Math.ceil(A.height/i.height),r=++this._lastId,a=this._terminal._core.buffer,o=this._terminal.cols,I=this._terminal.rows,h=a.x,C=a.y;let B=h,n=0;this._opts.sixelScrolling||(this._terminal._core._dirtyRowService.markAllDirty(),a.x=0,a.y=0,B=0);for(let A=0;A<g;++A){const t=a.lines.get(a.y+a.ybase);for(let e=0;e<s&&!(B+e>=o);++e)this._writeToCell(t,B+e,r,A*s+e),n++;if(this._opts.sixelScrolling)A<g-1&&this._terminal._core._inputHandler.lineFeed();else if(++a.y>=I)break;a.x=B}this._opts.sixelScrolling?a.x=B:(a.x=h,a.y=C);const Q=[];for(const[A,t]of this._images.entries())t.tileCount<1&&(null===(e=t.marker)||void 0===e||e.dispose(),Q.push(A));for(const A of Q)this._images.delete(A);const l=this._terminal.registerMarker(0);null==l||l.onDispose((()=>{this._images.get(r)&&this._images.delete(r)})),"alternate"===this._terminal.buffer.active.type&&this._evictOnAlternate();const c={orig:A,origCellSize:i,actual:A,actualCellSize:Object.assign({},i),marker:l||void 0,tileCount:n,bufferType:this._terminal.buffer.active.type};this._images.set(r,c)}render(A){if(!this._renderer.canvas)return;if(!this._images.size)return void(this._fullyCleared||(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1));this._needsFullClear&&(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1);const{start:t,end:e}=A,s=this._terminal._core.buffer,g=this._terminal._core.cols;this._renderer.clearLines(t,e),this._renderer.rescaleCanvas();for(let A=t;A<=e;++A){const t=s.lines.get(A+s.ydisp);if(!t)return;for(let e=0;e<g;++e)if(268435456&t.getBg(e)){let s=t._extendedAttrs[e]||i;const r=s.imageId;if(void 0===r||-1===r)continue;const a=this._images.get(r);if(-1!==s.tileId){const o=s.tileId,I=e;let h=1;for(;++e<g&&268435456&t.getBg(e)&&(s=t._extendedAttrs[e]||i)&&s.imageId===r&&s.tileId===o+h;)h++;e--,a?a.actual&&this._renderer.draw(a,o,I,A,h):this._opts.showPlaceholder&&this._renderer.drawPlaceholder(I,A,h),this._fullyCleared=!1}}}}viewportResize(A){var t;if(!this._images.size)return void(this._viewportMetrics=A);if(this._viewportMetrics.cols>=A.cols)return void(this._viewportMetrics=A);const e=this._terminal._core.buffer,s=e.lines.length,g=this._viewportMetrics.cols-1;for(let r=0;r<s;++r){const s=e.lines.get(r);if(268435456&s.getBg(g)){const e=s._extendedAttrs[g]||i,r=e.imageId;if(void 0===r||-1===r)continue;const a=this._images.get(r);if(!a)continue;const o=Math.ceil(((null===(t=a.actual)||void 0===t?void 0:t.width)||0)/a.actualCellSize.width);if(e.tileId%o+1>=o)continue;let I=!1;for(let t=g+1;t>A.cols;++t)if(4194303&s._data[3*t+0]){I=!0;break}if(I)continue;const h=Math.min(A.cols,o-e.tileId%o+g);let C=e.tileId;for(let A=g+1;A<h;++A)this._writeToCell(s,A,r,++C),a.tileCount++}}this._viewportMetrics=A}getImageAtBufferCell(A,t){var e;const s=this._terminal._core.buffer.lines.get(t);if(s&&268435456&s.getBg(A)){const t=s._extendedAttrs[A]||i;if(t.imageId&&-1!==t.imageId)return null===(e=this._images.get(t.imageId))||void 0===e?void 0:e.orig}}extractTileAtBufferCell(A,t){const e=this._terminal._core.buffer.lines.get(t);if(e&&268435456&e.getBg(A)){const t=e._extendedAttrs[A]||i;if(t.imageId&&-1!==t.imageId&&-1!==t.tileId){const A=this._images.get(t.imageId);if(A)return this._renderer.extractTile(A,t.tileId)}}}_evictOldest(A){var t;const e=this._getStoredPixels();let i=e;for(;this._pixelLimit<i+A&&this._images.size;){const A=this._images.get(++this._lowestId);A&&A.orig&&(i-=A.orig.width*A.orig.height,A.actual&&A.orig!==A.actual&&(i-=A.actual.width*A.actual.height),null===(t=A.marker)||void 0===t||t.dispose(),this._images.delete(this._lowestId))}return e-i}_writeToCell(A,t,i,s){if(268435456&A._data[3*t+2]){const g=A._extendedAttrs[t];if(g){if(void 0!==g.imageId){const A=this._images.get(g.imageId);return A&&A.tileCount--,g.imageId=i,void(g.tileId=s)}return void(A._extendedAttrs[t]=new e(g.ext,g.urlId,i,s))}}A._data[3*t+2]|=268435456,A._extendedAttrs[t]=new e(0,0,i,s)}_evictOnAlternate(){var A,t;for(const A of this._images.values())"alternate"===A.bufferType&&(A.tileCount=0);const e=this._terminal._core.buffer;for(let t=0;t<this._terminal.rows;++t){const i=e.lines.get(t);if(i)for(let t=0;t<this._terminal.cols;++t)if(268435456&i._data[3*t+2]){const e=null===(A=i._extendedAttrs[t])||void 0===A?void 0:A.imageId;if(e){const A=this._images.get(e);A&&A.tileCount++}}}const i=[];for(const[A,e]of this._images.entries())"alternate"!==e.bufferType||e.tileCount||(null===(t=e.marker)||void 0===t||t.dispose(),i.push(A));for(const A of i)this._images.delete(A)}}},973:(A,t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SixelHandler=void 0;const i=e(477),s=e(782),g=e(710),r=i.PALETTE_ANSI_256;function a(A){return i.BIG_ENDIAN?A:(255&A)<<24|(A>>>8&255)<<16|(A>>>16&255)<<8|A>>>24&255}r.set(i.PALETTE_VT340_COLOR),t.SixelHandler=class{constructor(A,t,e){this._opts=A,this._storage=t,this._coreTerminal=e,this._size=0,this._aborted=!1,(0,g.DecoderAsync)({memoryLimit:4*this._opts.pixelLimit,palette:r,paletteLimit:this._opts.sixelPaletteLimit}).then((A=>this._dec=A))}reset(){this._dec&&(this._dec.release(),this._dec._palette.fill(0),this._dec.init(0,r,this._opts.sixelPaletteLimit))}hook(A){if(this._size=0,this._aborted=!1,this._dec){const t=1===A.params[1]?0:function(A,t){let e=0;if(A.isInverse())if(A.isFgDefault())e=a(t.foreground.rgba);else if(A.isFgRGB()){const t=A.constructor.toColorRGB(A.getFgColor());e=(0,i.toRGBA8888)(...t)}else e=a(t.ansi[A.getFgColor()].rgba);else if(A.isBgDefault())e=a(t.background.rgba);else if(A.isBgRGB()){const t=A.constructor.toColorRGB(A.getBgColor());e=(0,i.toRGBA8888)(...t)}else e=a(t.ansi[A.getBgColor()].rgba);return e}(this._coreTerminal._core._inputHandler._curAttrData,this._coreTerminal._core._colorManager.colors);this._dec.init(t,null,this._opts.sixelPaletteLimit)}}put(A,t,e){if(!this._aborted&&this._dec){if(this._size+=e-t,this._size>this._opts.sixelSizeLimit)return console.warn("SIXEL: too much data, aborting"),this._aborted=!0,void this._dec.release();try{this._dec.decode(A,t,e)}catch(A){console.warn(`SIXEL: error while decoding image - ${A}`),this._aborted=!0,this._dec.release()}}}unhook(A){var t;if(this._aborted||!A||!this._dec)return!0;const e=this._dec.width,i=this._dec.height;if(!e||!i)return i&&this._storage.advanceCursor(i),!0;const g=s.ImageRenderer.createCanvas(this._coreTerminal._core._coreBrowserService.window,e,i);return null===(t=g.getContext("2d"))||void 0===t||t.putImageData(new ImageData(this._dec.data8,e,i),0,0),this._dec.memoryUsage>4194304&&this._dec.release(),this._storage.addImage(g),!0}}}},t={};function e(i){var s=t[i];if(void 0!==s)return s.exports;var g=t[i]={exports:{}};return A[i](g,g.exports,e),g.exports}var i={};return(()=>{var A=i;Object.defineProperty(A,"__esModule",{value:!0}),A.ImageAddon=void 0;const t=e(782),s=e(216),g=e(973),r={enableSizeReports:!0,pixelLimit:16777216,sixelSupport:!0,sixelScrolling:!0,sixelPaletteLimit:256,sixelSizeLimit:25e6,storageLimit:128,showPlaceholder:!0};A.ImageAddon=class{constructor(A){this._disposables=[],this._handlers=new Map,this._opts=Object.assign({},r,A),this._defaultOpts=Object.assign({},r,A)}dispose(){for(const A of this._disposables)A.dispose();this._disposables.length=0,this._handlers.clear()}_disposeLater(...A){for(const t of A)this._disposables.push(t)}activate(A){if(this._terminal=A,this._renderer=new t.ImageRenderer(A,this._opts.showPlaceholder),this._storage=new s.ImageStorage(A,this._renderer,this._opts),this._opts.enableSizeReports){const t=A.options.windowOptions||{};t.getWinSizePixels=!0,t.getCellSizePixels=!0,t.getWinSizeChars=!0,A.options.windowOptions=t}if(this._disposeLater(this._renderer,this._storage,A.parser.registerCsiHandler({prefix:"?",final:"h"},(A=>this._decset(A))),A.parser.registerCsiHandler({prefix:"?",final:"l"},(A=>this._decrst(A))),A.parser.registerCsiHandler({final:"c"},(A=>this._da1(A))),A.parser.registerCsiHandler({prefix:"?",final:"S"},(A=>this._xtermGraphicsAttributes(A))),A.onRender((A=>{var t;return null===(t=this._storage)||void 0===t?void 0:t.render(A)})),A.parser.registerCsiHandler({intermediates:"!",final:"p"},(()=>this.reset())),A.parser.registerEscHandler({final:"c"},(()=>this.reset())),A._core._inputHandler.onRequestReset((()=>this.reset())),A.buffer.onBufferChange((()=>{var A;return null===(A=this._storage)||void 0===A?void 0:A.wipeAlternate()})),A.onResize((A=>{var t;return null===(t=this._storage)||void 0===t?void 0:t.viewportResize(A)}))),this._opts.sixelSupport){const t=new g.SixelHandler(this._opts,this._storage,A);this._handlers.set("sixel",t),this._disposeLater(A._core._inputHandler._parser.registerDcsHandler({final:"q"},t))}}reset(){var A;this._opts.sixelScrolling=this._defaultOpts.sixelScrolling,this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,null===(A=this._storage)||void 0===A||A.reset();for(const A of this._handlers.values())A.reset();return!1}get storageLimit(){var A;return(null===(A=this._storage)||void 0===A?void 0:A.getLimit())||-1}set storageLimit(A){var t;null===(t=this._storage)||void 0===t||t.setLimit(A),this._opts.storageLimit=A}get storageUsage(){return this._storage?this._storage.getUsage():-1}get showPlaceholder(){return this._opts.showPlaceholder}set showPlaceholder(A){var t;this._opts.showPlaceholder=A,null===(t=this._renderer)||void 0===t||t.showPlaceholder(A)}getImageAtBufferCell(A,t){var e;return null===(e=this._storage)||void 0===e?void 0:e.getImageAtBufferCell(A,t)}extractTileAtBufferCell(A,t){var e;return null===(e=this._storage)||void 0===e?void 0:e.extractTileAtBufferCell(A,t)}_report(A){var t;null===(t=this._terminal)||void 0===t||t._core.coreService.triggerDataEvent(A)}_decset(A){for(let t=0;t<A.length;++t)80===A[t]&&(this._opts.sixelScrolling=!1);return!1}_decrst(A){for(let t=0;t<A.length;++t)80===A[t]&&(this._opts.sixelScrolling=!0);return!1}_da1(A){return A[0]>0||!!this._opts.sixelSupport&&(this._report("[?62;4;9;22c"),!0)}_xtermGraphicsAttributes(A){var t,e,i,g,r,a;if(A.length<2)return!0;if(1===A[0])switch(A[1]){case 1:return this._report(`[?${A[0]};0;${this._opts.sixelPaletteLimit}S`),!0;case 2:this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,this._report(`[?${A[0]};0;${this._opts.sixelPaletteLimit}S`);for(const A of this._handlers.values())A.reset();return!0;case 3:return A.length>2&&!(A[2]instanceof Array)&&A[2]<=4096?(this._opts.sixelPaletteLimit=A[2],this._report(`[?${A[0]};0;${this._opts.sixelPaletteLimit}S`)):this._report(`[?${A[0]};2S`),!0;case 4:return this._report(`[?${A[0]};0;4096S`),!0;default:return this._report(`[?${A[0]};2S`),!0}if(2===A[0])switch(A[1]){case 1:let o=null===(e=null===(t=this._renderer)||void 0===t?void 0:t.dimensions)||void 0===e?void 0:e.canvasWidth,I=null===(g=null===(i=this._renderer)||void 0===i?void 0:i.dimensions)||void 0===g?void 0:g.canvasHeight;if(!o||!I){const A=s.CELL_SIZE_DEFAULT;o=((null===(r=this._terminal)||void 0===r?void 0:r.cols)||80)*A.width,I=((null===(a=this._terminal)||void 0===a?void 0:a.rows)||24)*A.height}if(o*I<this._opts.pixelLimit)this._report(`[?${A[0]};0;${o.toFixed(0)};${I.toFixed(0)}S`);else{const t=Math.floor(Math.sqrt(this._opts.pixelLimit));this._report(`[?${A[0]};0;${t};${t}S`)}return!0;case 4:const h=Math.floor(Math.sqrt(this._opts.pixelLimit));return this._report(`[?${A[0]};0;${h};${h}S`),!0;default:return this._report(`[?${A[0]};2S`),!0}return this._report(`[?${A[0]};1S`),!0}}})(),i})()}));
!function(A,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.ImageAddon=t():A.ImageAddon=t()}(self,(function(){return(()=>{"use strict";var A={477:(A,t)=>{function e(A){return 255&A}function i(A){return A>>>8&255}function s(A){return A>>>16&255}function r(A,t,e,i=255){return((255&i)<<24|(255&e)<<16|(255&t)<<8|255&A)>>>0}function g(A,t,e){return Math.max(A,Math.min(e,t))}function a(A,t,e){return e<0&&(e+=1),e>1&&(e-=1),6*e<1?t+6*(A-t)*e:2*e<1?A:3*e<2?t+(A-t)*(4-6*e):t}function I(A,t,e){return(4278190080|Math.round(e/100*255)<<16|Math.round(t/100*255)<<8|Math.round(A/100*255))>>>0}Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_FOREGROUND=t.DEFAULT_BACKGROUND=t.PALETTE_ANSI_256=t.PALETTE_VT340_GREY=t.PALETTE_VT340_COLOR=t.normalizeHLS=t.normalizeRGB=t.nearestColorIndex=t.fromRGBA8888=t.toRGBA8888=t.alpha=t.blue=t.green=t.red=t.BIG_ENDIAN=void 0,t.BIG_ENDIAN=255===new Uint8Array(new Uint32Array([4278190080]).buffer)[0],t.BIG_ENDIAN&&console.warn("BE platform detected. This version of node-sixel works only on LE properly."),t.red=e,t.green=i,t.blue=s,t.alpha=function(A){return A>>>24&255},t.toRGBA8888=r,t.fromRGBA8888=function(A){return[255&A,A>>8&255,A>>16&255,A>>>24]},t.nearestColorIndex=function(A,t){const r=e(A),g=i(A),a=s(A);let I=Number.MAX_SAFE_INTEGER,o=-1;for(let A=0;A<t.length;++A){const e=r-t[A][0],i=g-t[A][1],s=a-t[A][2],h=e*e+i*i+s*s;if(!h)return A;h<I&&(I=h,o=A)}return o},t.normalizeRGB=I,t.normalizeHLS=function(A,t,e){return function(A,t,e){if(!e){const A=Math.round(255*t);return r(A,A,A)}const i=t<.5?t*(1+e):t+e-t*e,s=2*t-i;return r(g(0,255,Math.round(255*a(i,s,A+1/3))),g(0,255,Math.round(255*a(i,s,A))),g(0,255,Math.round(255*a(i,s,A-1/3))))}((A+240)/360,t/100,e/100)},t.PALETTE_VT340_COLOR=new Uint32Array([I(0,0,0),I(20,20,80),I(80,13,13),I(20,80,20),I(80,20,80),I(20,80,80),I(80,80,20),I(53,53,53),I(26,26,26),I(33,33,60),I(60,26,26),I(33,60,33),I(60,33,60),I(33,60,60),I(60,60,33),I(80,80,80)]),t.PALETTE_VT340_GREY=new Uint32Array([I(0,0,0),I(13,13,13),I(26,26,26),I(40,40,40),I(6,6,6),I(20,20,20),I(33,33,33),I(46,46,46),I(0,0,0),I(13,13,13),I(26,26,26),I(40,40,40),I(6,6,6),I(20,20,20),I(33,33,33),I(46,46,46)]),t.PALETTE_ANSI_256=(()=>{const A=[r(0,0,0),r(205,0,0),r(0,205,0),r(205,205,0),r(0,0,238),r(205,0,205),r(0,250,205),r(229,229,229),r(127,127,127),r(255,0,0),r(0,255,0),r(255,255,0),r(92,92,255),r(255,0,255),r(0,255,255),r(255,255,255)],t=[0,95,135,175,215,255];for(let e=0;e<6;++e)for(let i=0;i<6;++i)for(let s=0;s<6;++s)A.push(r(t[e],t[i],t[s]));for(let t=8;t<=238;t+=10)A.push(r(t,t,t));return new Uint32Array(A)})(),t.DEFAULT_BACKGROUND=r(0,0,0,255),t.DEFAULT_FOREGROUND=r(255,255,255,255)},710:(A,t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.decodeAsync=t.decode=t.Decoder=t.DecoderAsync=void 0;const i=e(477),s=e(343),r=function(A){if("undefined"!=typeof Buffer)return Buffer.from(A,"base64");const t=atob(A),e=new Uint8Array(t.length);for(let A=0;A<e.length;++A)e[A]=t.charCodeAt(A);return e}(s.LIMITS.BYTES);let g;const a=new Uint32Array;class I{constructor(){this.bandHandler=A=>1,this.modeHandler=A=>1}handle_band(A){return this.bandHandler(A)}mode_parsed(A){return this.modeHandler(A)}}const o={memoryLimit:134217728,sixelColor:i.DEFAULT_FOREGROUND,fillColor:i.DEFAULT_BACKGROUND,palette:i.PALETTE_VT340_COLOR,paletteLimit:s.LIMITS.PALETTE_SIZE,truncate:!0};function h(A){const t=new I,e={env:{handle_band:t.handle_band.bind(t),mode_parsed:t.mode_parsed.bind(t)}};return WebAssembly.instantiate(g||r,e).then((e=>(g=g||e.module,new C(A,e.instance||e,t))))}t.DecoderAsync=h;class C{constructor(A,t,e){if(this._PIXEL_OFFSET=s.LIMITS.MAX_WIDTH+4,this._canvas=a,this._bandWidths=[],this._maxWidth=0,this._minWidth=s.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0,this._opts=Object.assign({},o,A),this._opts.paletteLimit>s.LIMITS.PALETTE_SIZE)throw new Error(`DecoderOptions.paletteLimit must not exceed ${s.LIMITS.PALETTE_SIZE}`);if(t)e.bandHandler=this._handle_band.bind(this),e.modeHandler=this._initCanvas.bind(this);else{const A=g||(g=new WebAssembly.Module(r));t=new WebAssembly.Instance(A,{env:{handle_band:this._handle_band.bind(this),mode_parsed:this._initCanvas.bind(this)}})}this._instance=t,this._wasm=this._instance.exports,this._chunk=new Uint8Array(this._wasm.memory.buffer,this._wasm.get_chunk_address(),s.LIMITS.CHUNK_SIZE),this._states=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_state_address(),12),this._palette=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_palette_address(),s.LIMITS.PALETTE_SIZE),this._palette.set(this._opts.palette),this._pSrc=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_p0_address()),this._wasm.init(i.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}get _fillColor(){return this._states[0]}get _truncate(){return this._states[8]}get _rasterWidth(){return this._states[6]}get _rasterHeight(){return this._states[7]}get _width(){return this._states[2]?this._states[2]-4:0}get _height(){return this._states[3]}get _level(){return this._states[9]}get _mode(){return this._states[10]}get _paletteLimit(){return this._states[11]}_initCanvas(A){if(2===A){const A=this.width*this.height;if(A>this._canvas.length){if(this._opts.memoryLimit&&4*A>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(A)}this._maxWidth=this._width}else if(1===A)if(2===this._level){const A=Math.min(this._rasterWidth,s.LIMITS.MAX_WIDTH)*this._rasterHeight;if(A>this._canvas.length){if(this._opts.memoryLimit&&4*A>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(A)}}else this._canvas.length<65536&&(this._canvas=new Uint32Array(65536));return 0}_realloc(A,t){const e=A+t;if(e>this._canvas.length){if(this._opts.memoryLimit&&4*e>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");const A=new Uint32Array(65536*Math.ceil(e/65536));A.set(this._canvas),this._canvas=A}}_handle_band(A){const t=this._PIXEL_OFFSET;let e=this._lastOffset;if(2===this._mode){let i=this.height-this._currentHeight,s=0;for(;s<6&&i>0;)this._canvas.set(this._pSrc.subarray(t*s,t*s+A),e+A*s),s++,i--;this._lastOffset+=A*s,this._currentHeight+=s}else if(1===this._mode){this._realloc(e,6*A),this._maxWidth=Math.max(this._maxWidth,A),this._minWidth=Math.min(this._minWidth,A);for(let i=0;i<6;++i)this._canvas.set(this._pSrc.subarray(t*i,t*i+A),e+A*i);this._bandWidths.push(A),this._lastOffset+=6*A,this._currentHeight+=6}return 0}get width(){return 1!==this._mode?this._width:Math.max(this._maxWidth,this._wasm.current_width())}get height(){return 1!==this._mode?this._height:this._wasm.current_width()?6*this._bandWidths.length+this._wasm.current_height():6*this._bandWidths.length}get palette(){return this._palette.subarray(0,this._paletteLimit)}get memoryUsage(){return this._canvas.byteLength+this._wasm.memory.buffer.byteLength+8*this._bandWidths.length}get properties(){return{width:this.width,height:this.height,mode:this._mode,level:this._level,truncate:!!this._truncate,paletteLimit:this._paletteLimit,fillColor:this._fillColor,memUsage:this.memoryUsage,rasterAttributes:{numerator:this._states[4],denominator:this._states[5],width:this._rasterWidth,height:this._rasterHeight}}}init(A=this._opts.fillColor,t=this._opts.palette,e=this._opts.paletteLimit,i=this._opts.truncate){this._wasm.init(this._opts.sixelColor,A,e,i?1:0),t&&this._palette.set(t.subarray(0,s.LIMITS.PALETTE_SIZE)),this._bandWidths.length=0,this._maxWidth=0,this._minWidth=s.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0}decode(A,t=0,e=A.length){let i=t;for(;i<e;){const t=Math.min(e-i,s.LIMITS.CHUNK_SIZE);this._chunk.set(A.subarray(i,i+=t)),this._wasm.decode(0,t)}}decodeString(A,t=0,e=A.length){let i=t;for(;i<e;){const t=Math.min(e-i,s.LIMITS.CHUNK_SIZE);for(let e=0,s=i;e<t;++e,++s)this._chunk[e]=A.charCodeAt(s);i+=t,this._wasm.decode(0,t)}}get data32(){if(0===this._mode||!this.width||!this.height)return a;const A=this._wasm.current_width();if(2===this._mode){let t=this.height-this._currentHeight;if(t>0){const e=this._PIXEL_OFFSET;let i=this._lastOffset,s=0;for(;s<6&&t>0;)this._canvas.set(this._pSrc.subarray(e*s,e*s+A),i+A*s),s++,t--;t&&this._canvas.fill(this._fillColor,i+A*s)}return this._canvas.subarray(0,this.width*this.height)}if(1===this._mode){if(this._minWidth===this._maxWidth){let t=!1;if(A)if(A!==this._minWidth)t=!0;else{const t=this._PIXEL_OFFSET;let e=this._lastOffset;this._realloc(e,6*A);for(let i=0;i<6;++i)this._canvas.set(this._pSrc.subarray(t*i,t*i+A),e+A*i)}if(!t)return this._canvas.subarray(0,this.width*this.height)}const t=new Uint32Array(this.width*this.height);t.fill(this._fillColor);let e=0,i=0;for(let A=0;A<this._bandWidths.length;++A){const s=this._bandWidths[A];for(let A=0;A<6;++A)t.set(this._canvas.subarray(i,i+=s),e),e+=this.width}if(A){const i=this._PIXEL_OFFSET,s=this._wasm.current_height();for(let r=0;r<s;++r)t.set(this._pSrc.subarray(i*r,i*r+A),e+this.width*r)}return t}return a}get data8(){return new Uint8ClampedArray(this.data32.buffer,0,this.width*this.height*4)}release(){this._canvas=a,this._bandWidths.length=0,this._maxWidth=0,this._minWidth=s.LIMITS.MAX_WIDTH,this._wasm.init(i.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}}t.Decoder=C,t.decode=function(A,t){const e=new C(t);return e.init(),"string"==typeof A?e.decodeString(A):e.decode(A),{width:e.width,height:e.height,data32:e.data32,data8:e.data8}},t.decodeAsync=async function(A,t){const e=await h(t);return e.init(),"string"==typeof A?e.decodeString(A):e.decode(A),{width:e.width,height:e.height,data32:e.data32,data8:e.data8}}},343:(A,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.LIMITS=void 0,t.LIMITS={CHUNK_SIZE:16384,PALETTE_SIZE:4096,MAX_WIDTH:16384,BYTES:"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AEHAiwIgADcDAEG4iwIgADcDAEGwiwIgADcDAEGoiwIgADcDAEGgiwIgADcDAEGYiwIgADcDAEGQiwIgADcDAEGIiwIgADcDAEGAiwIgADcDAEH4igIgADcDAEHwigIgADcDAEHoigIgADcDAEHgigIgADcDAEHYigIgADcDAEHQigIgADcDAEHIigIgADcDAEHAigIgADcDAEG4igIgADcDAEGwigIgADcDAEGoigIgADcDAEGgigIgADcDAEGYigIgADcDAEGQigIgADcDAEGIigIgADcDAEGAigIgADcDAEH4iQIgADcDAEHwiQIgADcDAEHoiQIgADcDAEHgiQIgADcDAEHYiQIgADcDAEHQiQIgADcDAEHIiQIgADcDAEHAiQIgADcDAEG4iQIgADcDAEGwiQIgADcDAEGoCCgCACIEQf8AakGAAW0hCAJAIARBgQFIDQBBASEBIAhBAiAIQQJKG0EBayICQQFxIQMgBEGBAk4EQCACQX5xIQIDQCABQQl0IgdBEHJBoIkCakGwiQJBgAT8CgAAIAdBsI0CakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsLIANFDQAgAUEJdEEQckGgiQJqQbCJAkGABPwKAAALAkAgBEEBSA0AIAhBASAIQQFKGyIDQQFxIQUCQCADQQFrIgdFBEBBACEBDAELIANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQbCJBmpBsIkCQYAE/AoAACAGQZAEckGwiQZqQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACwsgBQRAIAFBCXRBEHJBsIkGakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEFIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiBkEQckHAiQpqQbCJAkGABPwKAAAgBkGQBHJBwIkKakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAFBEAgAUECdEHAiQpqQbCJAkGABPwKAAALIARBAUgNACADQQFxIQUgBwR/IANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQdCJDmpBsIkCQYAE/AoAACAGQZAEckHQiQ5qQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACyABQQd0QQRyBUEECyEBIAUEQCABQQJ0QdCJ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"}},782:(A,t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ImageRenderer=void 0;const i=e(477);class s{constructor(A,t){this._terminal=A,this._showPlaceholder=t,this._oldOpen=this._terminal._core.open,this._terminal._core.open=A=>{var t;null===(t=this._oldOpen)||void 0===t||t.call(this._terminal._core,A),this._open()},this._terminal._core.screenElement&&this._open(),this._optionsRefresh=this._terminal._core.optionsService.onOptionChange((A=>{var t;"fontSize"===A&&(this.rescaleCanvas(),null===(t=this._renderService)||void 0===t||t.refreshRows(0,this._terminal.rows))}))}static createCanvas(A,t,e){const i=A.document.createElement("canvas");return i.width=0|t,i.height=0|e,i}static createImageData(A,t,e,i){if("function"!=typeof ImageData){const s=A.createImageData(t,e);return i&&s.data.set(new Uint8ClampedArray(i,0,t*e*4)),s}return i?new ImageData(new Uint8ClampedArray(i,0,t*e*4),t,e):new ImageData(t,e)}static createImageBitmap(A){return"function"!=typeof createImageBitmap?Promise.resolve(void 0):createImageBitmap(A)}dispose(){var A,t;null===(A=this._optionsRefresh)||void 0===A||A.dispose(),this._removeLayerFromDom(),this._terminal._core&&this._oldOpen&&(this._terminal._core.open=this._oldOpen,this._oldOpen=void 0),this._renderService&&this._oldSetRenderer&&(this._renderService.setRenderer=this._oldSetRenderer,this._oldSetRenderer=void 0),this._renderService=void 0,this.canvas=void 0,this._ctx=void 0,null===(t=this._placeholderBitmap)||void 0===t||t.close(),this._placeholderBitmap=void 0,this._placeholder=void 0}showPlaceholder(A){var t,e;A?this._placeholder||-1===this.cellSize.height||this._createPlaceHolder(Math.max(this.cellSize.height+1,24)):(null===(t=this._placeholderBitmap)||void 0===t||t.close(),this._placeholderBitmap=void 0,this._placeholder=void 0),null===(e=this._renderService)||void 0===e||e.refreshRows(0,this._terminal.rows)}get dimensions(){var A;return null===(A=this._renderService)||void 0===A?void 0:A.dimensions}get cellSize(){var A,t;return{width:(null===(A=this.dimensions)||void 0===A?void 0:A.css.cell.width)||-1,height:(null===(t=this.dimensions)||void 0===t?void 0:t.css.cell.height)||-1}}clearLines(A,t){var e,i,s,r;null===(e=this._ctx)||void 0===e||e.clearRect(0,A*((null===(i=this.dimensions)||void 0===i?void 0:i.css.cell.height)||0),(null===(s=this.dimensions)||void 0===s?void 0:s.css.canvas.width)||0,(++t-A)*((null===(r=this.dimensions)||void 0===r?void 0:r.css.cell.height)||0))}clearAll(){var A,t,e;null===(A=this._ctx)||void 0===A||A.clearRect(0,0,(null===(t=this.canvas)||void 0===t?void 0:t.width)||0,(null===(e=this.canvas)||void 0===e?void 0:e.height)||0)}draw(A,t,e,i,s=1){if(!this._ctx)return;const{width:r,height:g}=this.cellSize;if(-1===r||-1===g)return;this._rescaleImage(A,r,g);const a=A.actual,I=Math.ceil(a.width/r),o=t%I*r,h=Math.floor(t/I)*g,C=e*r,B=i*g,n=s*r+o>a.width?a.width-o:s*r,Q=h+g>a.height?a.height-h:g;this._ctx.drawImage(a,Math.floor(o),Math.floor(h),Math.ceil(n),Math.ceil(Q),Math.floor(C),Math.floor(B),Math.ceil(n),Math.ceil(Q))}extractTile(A,t){const{width:e,height:i}=this.cellSize;if(-1===e||-1===i)return;this._rescaleImage(A,e,i);const r=A.actual,g=Math.ceil(r.width/e),a=t%g*e,I=Math.floor(t/g)*i,o=e+a>r.width?r.width-a:e,h=I+i>r.height?r.height-I:i,C=s.createCanvas(this._terminal._core._coreBrowserService.window,o,h),B=C.getContext("2d");return B?(B.drawImage(r,Math.floor(a),Math.floor(I),Math.floor(o),Math.floor(h),0,0,Math.floor(o),Math.floor(h)),C):void 0}drawPlaceholder(A,t,e=1){if((this._placeholderBitmap||this._placeholder)&&this._ctx){const{width:i,height:s}=this.cellSize;if(-1===i||-1===s)return;s>=this._placeholder.height&&this._createPlaceHolder(s+1),this._ctx.drawImage(this._placeholderBitmap||this._placeholder,A*i,t*s%2?0:1,i*e,s,A*i,t*s,i*e,s)}}rescaleCanvas(){this.canvas&&(this.canvas.width===this.dimensions.css.canvas.width&&this.canvas.height===this.dimensions.css.canvas.height||(this.canvas.width=this.dimensions.css.canvas.width||0,this.canvas.height=this.dimensions.css.canvas.height||0))}_rescaleImage(A,t,e){if(t===A.actualCellSize.width&&e===A.actualCellSize.height)return;const{width:i,height:r}=A.origCellSize;if(t===i&&e===r)return A.actual=A.orig,A.actualCellSize.width=i,void(A.actualCellSize.height=r);const g=s.createCanvas(this._terminal._core._coreBrowserService.window,Math.ceil(A.orig.width*t/i),Math.ceil(A.orig.height*e/r)),a=g.getContext("2d");a&&(a.drawImage(A.orig,0,0,g.width,g.height),A.actual=g,A.actualCellSize.width=t,A.actualCellSize.height=e)}_open(){this._renderService=this._terminal._core._renderService,this._oldSetRenderer=this._renderService.setRenderer.bind(this._renderService),this._renderService.setRenderer=A=>{var t;this._removeLayerFromDom(),null===(t=this._oldSetRenderer)||void 0===t||t.call(this._renderService,A),this._insertLayerToDom()},this._insertLayerToDom(),this._showPlaceholder&&this._createPlaceHolder()}_insertLayerToDom(){var A,t,e;this.canvas=s.createCanvas(this._terminal._core._coreBrowserService.window,(null===(A=this.dimensions)||void 0===A?void 0:A.css.canvas.width)||0,(null===(t=this.dimensions)||void 0===t?void 0:t.css.canvas.height)||0),this.canvas.classList.add("xterm-image-layer"),null===(e=this._terminal._core.screenElement)||void 0===e||e.appendChild(this.canvas),this._ctx=this.canvas.getContext("2d",{alpha:!0,desynchronized:!0})}_removeLayerFromDom(){var A,t;null===(t=null===(A=this.canvas)||void 0===A?void 0:A.parentNode)||void 0===t||t.removeChild(this.canvas)}_createPlaceHolder(A=24){var t;null===(t=this._placeholderBitmap)||void 0===t||t.close(),this._placeholderBitmap=void 0;const e=32,r=s.createCanvas(this._terminal._core._coreBrowserService.window,e,A),g=r.getContext("2d",{alpha:!1});if(!g)return;const a=s.createImageData(g,e,A),I=new Uint32Array(a.data.buffer),o=(0,i.toRGBA8888)(0,0,0),h=(0,i.toRGBA8888)(255,255,255);I.fill(o);for(let t=0;t<A;++t){const A=t%2,i=t*e;for(let t=0;t<e;t+=2)I[i+t+A]=h}g.putImageData(a,0,0);const C=screen.width+e-1&-32||4096;this._placeholder=s.createCanvas(this._terminal._core._coreBrowserService.window,C,A);const B=this._placeholder.getContext("2d",{alpha:!1});if(B){for(let A=0;A<C;A+=e)B.drawImage(r,A,0);s.createImageBitmap(this._placeholder).then((A=>this._placeholderBitmap=A))}else this._placeholder=void 0}}t.ImageRenderer=s},216:(A,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ImageStorage=t.CELL_SIZE_DEFAULT=void 0,t.CELL_SIZE_DEFAULT={width:7,height:14};class e{constructor(A=0,t=0,e=-1,i=-1){this.imageId=e,this.tileId=i,this._ext=0,this._urlId=0,this._ext=A,this._urlId=t}get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(A){this._ext=A}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(A){this._ext&=-469762049,this._ext|=A<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(A){this._ext&=-67108864,this._ext|=67108863&A}get urlId(){return this._urlId}set urlId(A){this._urlId=A}clone(){return new e(this._ext,this._urlId,this.imageId,this.tileId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId&&-1===this.imageId}}const i=new e;t.ImageStorage=class{constructor(A,t,e){this._terminal=A,this._renderer=t,this._opts=e,this._images=new Map,this._lastId=0,this._lowestId=0,this._fullyCleared=!1,this._needsFullClear=!1,this._pixelLimit=25e5;try{this.setLimit(this._opts.storageLimit)}catch(A){console.error(A.message),console.warn(`storageLimit is set to ${this.getLimit()} MB`)}this._viewportMetrics={cols:this._terminal.cols,rows:this._terminal.rows}}dispose(){this.reset()}reset(){var A;for(const t of this._images.values())null===(A=t.marker)||void 0===A||A.dispose();this._images.clear(),this._renderer.clearAll()}getLimit(){return 4*this._pixelLimit/1e6}setLimit(A){if(A<1||A>1e3)throw RangeError("invalid storageLimit, should be at least 1 MB and not exceed 1G");this._pixelLimit=A/4*1e6>>>0,this._evictOldest(0)}getUsage(){return 4*this._getStoredPixels()/1e6}_getStoredPixels(){let A=0;for(const t of this._images.values())t.orig&&(A+=t.orig.width*t.orig.height,t.actual&&t.actual!==t.orig&&(A+=t.actual.width*t.actual.height));return A}wipeAlternate(){var A;const t=[];for(const[e,i]of this._images.entries())"alternate"===i.bufferType&&(null===(A=i.marker)||void 0===A||A.dispose(),t.push(e));for(const A of t)this._images.delete(A);this._needsFullClear=!0,this._fullyCleared=!1}advanceCursor(A){if(this._opts.sixelScrolling){let e=this._renderer.cellSize;-1!==e.width&&-1!==e.height||(e=t.CELL_SIZE_DEFAULT);const i=Math.ceil(A/e.height);for(let A=1;A<i;++A)this._terminal._core._inputHandler.lineFeed()}}addImage(A){var e;this._evictOldest(A.width*A.height);let i=this._renderer.cellSize;-1!==i.width&&-1!==i.height||(i=t.CELL_SIZE_DEFAULT);const s=Math.ceil(A.width/i.width),r=Math.ceil(A.height/i.height),g=++this._lastId,a=this._terminal._core.buffer,I=this._terminal.cols,o=this._terminal.rows,h=a.x,C=a.y;let B=h,n=0;this._opts.sixelScrolling||(a.x=0,a.y=0,B=0),this._terminal._core._inputHandler._dirtyRowTracker.markDirty(a.y);for(let A=0;A<r;++A){const t=a.lines.get(a.y+a.ybase);for(let e=0;e<s&&!(B+e>=I);++e)this._writeToCell(t,B+e,g,A*s+e),n++;if(this._opts.sixelScrolling)A<r-1&&this._terminal._core._inputHandler.lineFeed();else if(++a.y>=o)break;a.x=B}this._terminal._core._inputHandler._dirtyRowTracker.markDirty(a.y),this._opts.sixelScrolling?a.x=B:(a.x=h,a.y=C);const Q=[];for(const[A,t]of this._images.entries())t.tileCount<1&&(null===(e=t.marker)||void 0===e||e.dispose(),Q.push(A));for(const A of Q)this._images.delete(A);const l=this._terminal.registerMarker(0);null==l||l.onDispose((()=>{this._images.get(g)&&this._images.delete(g)})),"alternate"===this._terminal.buffer.active.type&&this._evictOnAlternate();const c={orig:A,origCellSize:i,actual:A,actualCellSize:Object.assign({},i),marker:l||void 0,tileCount:n,bufferType:this._terminal.buffer.active.type};this._images.set(g,c)}render(A){if(!this._renderer.canvas)return;if(!this._images.size)return void(this._fullyCleared||(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1));this._needsFullClear&&(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1);const{start:t,end:e}=A,s=this._terminal._core.buffer,r=this._terminal._core.cols;this._renderer.clearLines(t,e),this._renderer.rescaleCanvas();for(let A=t;A<=e;++A){const t=s.lines.get(A+s.ydisp);if(!t)return;for(let e=0;e<r;++e)if(268435456&t.getBg(e)){let s=t._extendedAttrs[e]||i;const g=s.imageId;if(void 0===g||-1===g)continue;const a=this._images.get(g);if(-1!==s.tileId){const I=s.tileId,o=e;let h=1;for(;++e<r&&268435456&t.getBg(e)&&(s=t._extendedAttrs[e]||i)&&s.imageId===g&&s.tileId===I+h;)h++;e--,a?a.actual&&this._renderer.draw(a,I,o,A,h):this._opts.showPlaceholder&&this._renderer.drawPlaceholder(o,A,h),this._fullyCleared=!1}}}}viewportResize(A){var t;if(!this._images.size)return void(this._viewportMetrics=A);if(this._viewportMetrics.cols>=A.cols)return void(this._viewportMetrics=A);const e=this._terminal._core.buffer,s=e.lines.length,r=this._viewportMetrics.cols-1;for(let g=0;g<s;++g){const s=e.lines.get(g);if(268435456&s.getBg(r)){const e=s._extendedAttrs[r]||i,g=e.imageId;if(void 0===g||-1===g)continue;const a=this._images.get(g);if(!a)continue;const I=Math.ceil(((null===(t=a.actual)||void 0===t?void 0:t.width)||0)/a.actualCellSize.width);if(e.tileId%I+1>=I)continue;let o=!1;for(let t=r+1;t>A.cols;++t)if(4194303&s._data[3*t+0]){o=!0;break}if(o)continue;const h=Math.min(A.cols,I-e.tileId%I+r);let C=e.tileId;for(let A=r+1;A<h;++A)this._writeToCell(s,A,g,++C),a.tileCount++}}this._viewportMetrics=A}getImageAtBufferCell(A,t){var e;const s=this._terminal._core.buffer.lines.get(t);if(s&&268435456&s.getBg(A)){const t=s._extendedAttrs[A]||i;if(t.imageId&&-1!==t.imageId)return null===(e=this._images.get(t.imageId))||void 0===e?void 0:e.orig}}extractTileAtBufferCell(A,t){const e=this._terminal._core.buffer.lines.get(t);if(e&&268435456&e.getBg(A)){const t=e._extendedAttrs[A]||i;if(t.imageId&&-1!==t.imageId&&-1!==t.tileId){const A=this._images.get(t.imageId);if(A)return this._renderer.extractTile(A,t.tileId)}}}_evictOldest(A){var t;const e=this._getStoredPixels();let i=e;for(;this._pixelLimit<i+A&&this._images.size;){const A=this._images.get(++this._lowestId);A&&A.orig&&(i-=A.orig.width*A.orig.height,A.actual&&A.orig!==A.actual&&(i-=A.actual.width*A.actual.height),null===(t=A.marker)||void 0===t||t.dispose(),this._images.delete(this._lowestId))}return e-i}_writeToCell(A,t,i,s){if(268435456&A._data[3*t+2]){const r=A._extendedAttrs[t];if(r){if(void 0!==r.imageId){const A=this._images.get(r.imageId);return A&&A.tileCount--,r.imageId=i,void(r.tileId=s)}return void(A._extendedAttrs[t]=new e(r.ext,r.urlId,i,s))}}A._data[3*t+2]|=268435456,A._extendedAttrs[t]=new e(0,0,i,s)}_evictOnAlternate(){var A,t;for(const A of this._images.values())"alternate"===A.bufferType&&(A.tileCount=0);const e=this._terminal._core.buffer;for(let t=0;t<this._terminal.rows;++t){const i=e.lines.get(t);if(i)for(let t=0;t<this._terminal.cols;++t)if(268435456&i._data[3*t+2]){const e=null===(A=i._extendedAttrs[t])||void 0===A?void 0:A.imageId;if(e){const A=this._images.get(e);A&&A.tileCount++}}}const i=[];for(const[A,e]of this._images.entries())"alternate"!==e.bufferType||e.tileCount||(null===(t=e.marker)||void 0===t||t.dispose(),i.push(A));for(const A of i)this._images.delete(A)}}},973:(A,t,e)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SixelHandler=void 0;const i=e(477),s=e(782),r=e(710),g=i.PALETTE_ANSI_256;function a(A){return i.BIG_ENDIAN?A:(255&A)<<24|(A>>>8&255)<<16|(A>>>16&255)<<8|A>>>24&255}g.set(i.PALETTE_VT340_COLOR),t.SixelHandler=class{constructor(A,t,e){this._opts=A,this._storage=t,this._coreTerminal=e,this._size=0,this._aborted=!1,(0,r.DecoderAsync)({memoryLimit:4*this._opts.pixelLimit,palette:g,paletteLimit:this._opts.sixelPaletteLimit}).then((A=>this._dec=A))}reset(){this._dec&&(this._dec.release(),this._dec._palette.fill(0),this._dec.init(0,g,this._opts.sixelPaletteLimit))}hook(A){if(this._size=0,this._aborted=!1,this._dec){const t=1===A.params[1]?0:function(A,t){let e=0;if(A.isInverse())if(A.isFgDefault())e=a(t.foreground.rgba);else if(A.isFgRGB()){const t=A.constructor.toColorRGB(A.getFgColor());e=(0,i.toRGBA8888)(...t)}else e=a(t.ansi[A.getFgColor()].rgba);else if(A.isBgDefault())e=a(t.background.rgba);else if(A.isBgRGB()){const t=A.constructor.toColorRGB(A.getBgColor());e=(0,i.toRGBA8888)(...t)}else e=a(t.ansi[A.getBgColor()].rgba);return e}(this._coreTerminal._core._inputHandler._curAttrData,this._coreTerminal._core._themeService.colors);this._dec.init(t,null,this._opts.sixelPaletteLimit)}}put(A,t,e){if(!this._aborted&&this._dec){if(this._size+=e-t,this._size>this._opts.sixelSizeLimit)return console.warn("SIXEL: too much data, aborting"),this._aborted=!0,void this._dec.release();try{this._dec.decode(A,t,e)}catch(A){console.warn(`SIXEL: error while decoding image - ${A}`),this._aborted=!0,this._dec.release()}}}unhook(A){var t;if(this._aborted||!A||!this._dec)return!0;const e=this._dec.width,i=this._dec.height;if(!e||!i)return i&&this._storage.advanceCursor(i),!0;const r=s.ImageRenderer.createCanvas(this._coreTerminal._core._coreBrowserService.window,e,i);return null===(t=r.getContext("2d"))||void 0===t||t.putImageData(new ImageData(this._dec.data8,e,i),0,0),this._dec.memoryUsage>4194304&&this._dec.release(),this._storage.addImage(r),!0}}}},t={};function e(i){var s=t[i];if(void 0!==s)return s.exports;var r=t[i]={exports:{}};return A[i](r,r.exports,e),r.exports}var i={};return(()=>{var A=i;Object.defineProperty(A,"__esModule",{value:!0}),A.ImageAddon=void 0;const t=e(782),s=e(216),r=e(973),g={enableSizeReports:!0,pixelLimit:16777216,sixelSupport:!0,sixelScrolling:!0,sixelPaletteLimit:256,sixelSizeLimit:25e6,storageLimit:128,showPlaceholder:!0};A.ImageAddon=class{constructor(A){this._disposables=[],this._handlers=new Map,this._opts=Object.assign({},g,A),this._defaultOpts=Object.assign({},g,A)}dispose(){for(const A of this._disposables)A.dispose();this._disposables.length=0,this._handlers.clear()}_disposeLater(...A){for(const t of A)this._disposables.push(t)}activate(A){if(this._terminal=A,this._renderer=new t.ImageRenderer(A,this._opts.showPlaceholder),this._storage=new s.ImageStorage(A,this._renderer,this._opts),this._opts.enableSizeReports){const t=A.options.windowOptions||{};t.getWinSizePixels=!0,t.getCellSizePixels=!0,t.getWinSizeChars=!0,A.options.windowOptions=t}if(this._disposeLater(this._renderer,this._storage,A.parser.registerCsiHandler({prefix:"?",final:"h"},(A=>this._decset(A))),A.parser.registerCsiHandler({prefix:"?",final:"l"},(A=>this._decrst(A))),A.parser.registerCsiHandler({final:"c"},(A=>this._da1(A))),A.parser.registerCsiHandler({prefix:"?",final:"S"},(A=>this._xtermGraphicsAttributes(A))),A.onRender((A=>{var t;return null===(t=this._storage)||void 0===t?void 0:t.render(A)})),A.parser.registerCsiHandler({intermediates:"!",final:"p"},(()=>this.reset())),A.parser.registerEscHandler({final:"c"},(()=>this.reset())),A._core._inputHandler.onRequestReset((()=>this.reset())),A.buffer.onBufferChange((()=>{var A;return null===(A=this._storage)||void 0===A?void 0:A.wipeAlternate()})),A.onResize((A=>{var t;return null===(t=this._storage)||void 0===t?void 0:t.viewportResize(A)}))),this._opts.sixelSupport){const t=new r.SixelHandler(this._opts,this._storage,A);this._handlers.set("sixel",t),this._disposeLater(A._core._inputHandler._parser.registerDcsHandler({final:"q"},t))}}reset(){var A;this._opts.sixelScrolling=this._defaultOpts.sixelScrolling,this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,null===(A=this._storage)||void 0===A||A.reset();for(const A of this._handlers.values())A.reset();return!1}get storageLimit(){var A;return(null===(A=this._storage)||void 0===A?void 0:A.getLimit())||-1}set storageLimit(A){var t;null===(t=this._storage)||void 0===t||t.setLimit(A),this._opts.storageLimit=A}get storageUsage(){return this._storage?this._storage.getUsage():-1}get showPlaceholder(){return this._opts.showPlaceholder}set showPlaceholder(A){var t;this._opts.showPlaceholder=A,null===(t=this._renderer)||void 0===t||t.showPlaceholder(A)}getImageAtBufferCell(A,t){var e;return null===(e=this._storage)||void 0===e?void 0:e.getImageAtBufferCell(A,t)}extractTileAtBufferCell(A,t){var e;return null===(e=this._storage)||void 0===e?void 0:e.extractTileAtBufferCell(A,t)}_report(A){var t;null===(t=this._terminal)||void 0===t||t._core.coreService.triggerDataEvent(A)}_decset(A){for(let t=0;t<A.length;++t)80===A[t]&&(this._opts.sixelScrolling=!1);return!1}_decrst(A){for(let t=0;t<A.length;++t)80===A[t]&&(this._opts.sixelScrolling=!0);return!1}_da1(A){return A[0]>0||!!this._opts.sixelSupport&&(this._report("[?62;4;9;22c"),!0)}_xtermGraphicsAttributes(A){var t,e,i,r,g,a;if(A.length<2)return!0;if(1===A[0])switch(A[1]){case 1:return this._report(`[?${A[0]};0;${this._opts.sixelPaletteLimit}S`),!0;case 2:this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,this._report(`[?${A[0]};0;${this._opts.sixelPaletteLimit}S`);for(const A of this._handlers.values())A.reset();return!0;case 3:return A.length>2&&!(A[2]instanceof Array)&&A[2]<=4096?(this._opts.sixelPaletteLimit=A[2],this._report(`[?${A[0]};0;${this._opts.sixelPaletteLimit}S`)):this._report(`[?${A[0]};2S`),!0;case 4:return this._report(`[?${A[0]};0;4096S`),!0;default:return this._report(`[?${A[0]};2S`),!0}if(2===A[0])switch(A[1]){case 1:let I=null===(e=null===(t=this._renderer)||void 0===t?void 0:t.dimensions)||void 0===e?void 0:e.css.canvas.width,o=null===(r=null===(i=this._renderer)||void 0===i?void 0:i.dimensions)||void 0===r?void 0:r.css.canvas.height;if(!I||!o){const A=s.CELL_SIZE_DEFAULT;I=((null===(g=this._terminal)||void 0===g?void 0:g.cols)||80)*A.width,o=((null===(a=this._terminal)||void 0===a?void 0:a.rows)||24)*A.height}if(I*o<this._opts.pixelLimit)this._report(`[?${A[0]};0;${I.toFixed(0)};${o.toFixed(0)}S`);else{const t=Math.floor(Math.sqrt(this._opts.pixelLimit));this._report(`[?${A[0]};0;${t};${t}S`)}return!0;case 4:const h=Math.floor(Math.sqrt(this._opts.pixelLimit));return this._report(`[?${A[0]};0;${h};${h}S`),!0;default:return this._report(`[?${A[0]};2S`),!0}return this._report(`[?${A[0]};1S`),!0}}})(),i})()}));
//# sourceMappingURL=xterm-addon-image.js.map

@@ -218,4 +218,4 @@ "use strict";

case 1 /* GaAction.READ */:
let width = (_b = (_a = this._renderer) === null || _a === void 0 ? void 0 : _a.dimensions) === null || _b === void 0 ? void 0 : _b.canvasWidth;
let height = (_d = (_c = this._renderer) === null || _c === void 0 ? void 0 : _c.dimensions) === null || _d === void 0 ? void 0 : _d.canvasHeight;
let width = (_b = (_a = this._renderer) === null || _a === void 0 ? void 0 : _a.dimensions) === null || _b === void 0 ? void 0 : _b.css.canvas.width;
let height = (_d = (_c = this._renderer) === null || _c === void 0 ? void 0 : _c.dimensions) === null || _d === void 0 ? void 0 : _d.css.canvas.height;
if (!width || !height) {

@@ -222,0 +222,0 @@ // for some reason we have no working image renderer

@@ -116,4 +116,4 @@ "use strict";

return {
width: ((_a = this.dimensions) === null || _a === void 0 ? void 0 : _a.actualCellWidth) || -1,
height: ((_b = this.dimensions) === null || _b === void 0 ? void 0 : _b.actualCellHeight) || -1
width: ((_a = this.dimensions) === null || _a === void 0 ? void 0 : _a.css.cell.width) || -1,
height: ((_b = this.dimensions) === null || _b === void 0 ? void 0 : _b.css.cell.height) || -1
};

@@ -126,3 +126,3 @@ }

var _a, _b, _c, _d;
(_a = this._ctx) === null || _a === void 0 ? void 0 : _a.clearRect(0, start * (((_b = this.dimensions) === null || _b === void 0 ? void 0 : _b.actualCellHeight) || 0), ((_c = this.dimensions) === null || _c === void 0 ? void 0 : _c.canvasWidth) || 0, (++end - start) * (((_d = this.dimensions) === null || _d === void 0 ? void 0 : _d.actualCellHeight) || 0));
(_a = this._ctx) === null || _a === void 0 ? void 0 : _a.clearRect(0, start * (((_b = this.dimensions) === null || _b === void 0 ? void 0 : _b.css.cell.height) || 0), ((_c = this.dimensions) === null || _c === void 0 ? void 0 : _c.css.canvas.width) || 0, (++end - start) * (((_d = this.dimensions) === null || _d === void 0 ? void 0 : _d.css.cell.height) || 0));
}

@@ -209,9 +209,8 @@ /**

rescaleCanvas() {
var _a, _b, _c;
if (!this.canvas) {
return;
}
if (this.canvas.width !== ((_a = this.dimensions) === null || _a === void 0 ? void 0 : _a.canvasWidth) || this.canvas.height !== this.dimensions.canvasHeight) {
this.canvas.width = ((_b = this.dimensions) === null || _b === void 0 ? void 0 : _b.canvasWidth) || 0;
this.canvas.height = ((_c = this.dimensions) === null || _c === void 0 ? void 0 : _c.canvasHeight) || 0;
if (this.canvas.width !== this.dimensions.css.canvas.width || this.canvas.height !== this.dimensions.css.canvas.height) {
this.canvas.width = this.dimensions.css.canvas.width || 0;
this.canvas.height = this.dimensions.css.canvas.height || 0;
}

@@ -261,3 +260,3 @@ }

var _a, _b, _c;
this.canvas = ImageRenderer.createCanvas(this._terminal._core._coreBrowserService.window, ((_a = this.dimensions) === null || _a === void 0 ? void 0 : _a.canvasWidth) || 0, ((_b = this.dimensions) === null || _b === void 0 ? void 0 : _b.canvasHeight) || 0);
this.canvas = ImageRenderer.createCanvas(this._terminal._core._coreBrowserService.window, ((_a = this.dimensions) === null || _a === void 0 ? void 0 : _a.css.canvas.width) || 0, ((_b = this.dimensions) === null || _b === void 0 ? void 0 : _b.css.canvas.height) || 0);
this.canvas.classList.add('xterm-image-layer');

@@ -264,0 +263,0 @@ (_c = this._terminal._core.screenElement) === null || _c === void 0 ? void 0 : _c.appendChild(this.canvas);

@@ -204,3 +204,2 @@ "use strict";

if (!this._opts.sixelScrolling) {
this._terminal._core._dirtyRowService.markAllDirty();
buffer.x = 0;

@@ -210,3 +209,3 @@ buffer.y = 0;

}
// TODO: how to go with origin mode / scroll margins here?
this._terminal._core._inputHandler._dirtyRowTracker.markDirty(buffer.y);
for (let row = 0; row < rows; ++row) {

@@ -230,2 +229,3 @@ const line = buffer.lines.get(buffer.y + buffer.ybase);

}
this._terminal._core._inputHandler._dirtyRowTracker.markDirty(buffer.y);
// cursor positioning modes

@@ -232,0 +232,0 @@ if (this._opts.sixelScrolling) {

@@ -47,3 +47,3 @@ "use strict";

if (this._dec) {
const fillColor = params.params[1] === 1 ? 0 : extractActiveBg(this._coreTerminal._core._inputHandler._curAttrData, this._coreTerminal._core._colorManager.colors);
const fillColor = params.params[1] === 1 ? 0 : extractActiveBg(this._coreTerminal._core._inputHandler._curAttrData, this._coreTerminal._core._themeService.colors);
this._dec.init(fillColor, null, this._opts.sixelPaletteLimit);

@@ -50,0 +50,0 @@ }

{
"name": "xterm-addon-image",
"version": "0.3.0",
"version": "0.3.1",
"author": "Joerg Breitbart <j.breitbart@netzkolchose.de>",

@@ -16,3 +16,3 @@ "main": "lib/xterm-addon-image.js",

"peerDependencies": {
"xterm": "^5.0.0"
"xterm": "~5.1.0"
},

@@ -19,0 +19,0 @@ "devDependencies": {

@@ -21,2 +21,3 @@ ## xterm-addon-image

- 0.3.0 - compatible to xterm.js 5.0.0
- 0.3.1 - compatible to xterm.js 5.1.0

@@ -30,3 +31,3 @@

```bash
curl -s https://raw.githubusercontent.com/jerch/xterm-addon-image/master/bootstrap.sh | XTERMJS=5.0.0 bash
curl -s https://raw.githubusercontent.com/jerch/xterm-addon-image/master/bootstrap.sh | XTERMJS=5.1.0 IMAGEADDON=master bash
```

@@ -215,2 +216,3 @@

- 0.3.1 compat release for xterm.js 5.1.0
- 0.3.0 important change: worker removed from addon

@@ -217,0 +219,0 @@ - 0.2.0 compat release for xterm.js 5.0.0

@@ -274,4 +274,4 @@ /**

case GaAction.READ:
let width = this._renderer?.dimensions?.canvasWidth;
let height = this._renderer?.dimensions?.canvasHeight;
let width = this._renderer?.dimensions?.css.canvas.width;
let height = this._renderer?.dimensions?.css.canvas.height;
if (!width || !height) {

@@ -278,0 +278,0 @@ // for some reason we have no working image renderer

@@ -128,4 +128,4 @@ /**

return {
width: this.dimensions?.actualCellWidth || -1,
height: this.dimensions?.actualCellHeight || -1
width: this.dimensions?.css.cell.width || -1,
height: this.dimensions?.css.cell.height || -1
};

@@ -140,5 +140,5 @@ }

0,
start * (this.dimensions?.actualCellHeight || 0),
this.dimensions?.canvasWidth || 0,
(++end - start) * (this.dimensions?.actualCellHeight || 0)
start * (this.dimensions?.css.cell.height || 0),
this.dimensions?.css.canvas.width || 0,
(++end - start) * (this.dimensions?.css.cell.height || 0)
);

@@ -258,5 +258,5 @@ }

}
if (this.canvas.width !== this.dimensions?.canvasWidth || this.canvas.height !== this.dimensions.canvasHeight) {
this.canvas.width = this.dimensions?.canvasWidth || 0;
this.canvas.height = this.dimensions?.canvasHeight || 0;
if (this.canvas.width !== this.dimensions!.css.canvas.width || this.canvas.height !== this.dimensions!.css.canvas.height) {
this.canvas.width = this.dimensions!.css.canvas.width || 0;
this.canvas.height = this.dimensions!.css.canvas.height || 0;
}

@@ -311,3 +311,3 @@ }

private _insertLayerToDom(): void {
this.canvas = ImageRenderer.createCanvas(this._terminal._core._coreBrowserService.window, this.dimensions?.canvasWidth || 0, this.dimensions?.canvasHeight || 0);
this.canvas = ImageRenderer.createCanvas(this._terminal._core._coreBrowserService.window, this.dimensions?.css.canvas.width || 0, this.dimensions?.css.canvas.height || 0);
this.canvas.classList.add('xterm-image-layer');

@@ -314,0 +314,0 @@ this._terminal._core.screenElement?.appendChild(this.canvas);

@@ -237,3 +237,2 @@ /**

if (!this._opts.sixelScrolling) {
this._terminal._core._dirtyRowService.markAllDirty();
buffer.x = 0;

@@ -244,3 +243,3 @@ buffer.y = 0;

// TODO: how to go with origin mode / scroll margins here?
this._terminal._core._inputHandler._dirtyRowTracker.markDirty(buffer.y);
for (let row = 0; row < rows; ++row) {

@@ -260,2 +259,3 @@ const line = buffer.lines.get(buffer.y + buffer.ybase);

}
this._terminal._core._inputHandler._dirtyRowTracker.markDirty(buffer.y);

@@ -262,0 +262,0 @@ // cursor positioning modes

@@ -7,3 +7,3 @@ /**

import { ImageStorage } from './ImageStorage';
import { IDcsHandler, IParams, IImageAddonOptions, ITerminalExt, AttributeData, IColorManager, IResetHandler } from './Types';
import { IDcsHandler, IParams, IImageAddonOptions, ITerminalExt, AttributeData, IResetHandler, ReadonlyColorSet } from './Types';
import { toRGBA8888, BIG_ENDIAN, PALETTE_ANSI_256, PALETTE_VT340_COLOR } from 'sixel/lib/Colors';

@@ -61,3 +61,3 @@ import { RGBA8888 } from 'sixel/lib/Types';

this._coreTerminal._core._inputHandler._curAttrData,
this._coreTerminal._core._colorManager.colors);
this._coreTerminal._core._themeService.colors);
this._dec.init(fillColor, null, this._opts.sixelPaletteLimit);

@@ -120,3 +120,3 @@ }

// also respect INVERSE setting
function extractActiveBg(attr: AttributeData, colors: IColorManager['colors']): RGBA8888 {
function extractActiveBg(attr: AttributeData, colors: ReadonlyColorSet): RGBA8888 {
let bg = 0;

@@ -123,0 +123,0 @@ if (attr.isInverse()) {

@@ -13,6 +13,5 @@ /**

import type { IBufferLine, IExtendedAttrs, IInputHandler } from 'common/Types';
import type { IDirtyRowService } from 'common/services/Services';
import type { IColorManager, ITerminal } from 'browser/Types';
import type { IRenderDimensions } from 'browser/renderer/Types';
import type { ICoreBrowserService, IRenderService } from 'browser/services/Services';
import type { ITerminal, ReadonlyColorSet } from 'browser/Types';
import type { IRenderDimensions } from 'browser/renderer/shared/Types';
import type { ICoreBrowserService, IRenderService, IThemeService } from 'browser/services/Services';

@@ -27,3 +26,3 @@ export const enum Cell {

// export some privates for local usage
export { AttributeData, IParams, IDcsHandler, BgFlags, IRenderDimensions, IRenderService, IColorManager, Content, ExtFlags, Attributes, UnderlineStyle };
export { AttributeData, IParams, IDcsHandler, BgFlags, IRenderDimensions, IRenderService, Content, ExtFlags, Attributes, UnderlineStyle, ReadonlyColorSet };

@@ -72,2 +71,7 @@ /**

_curAttrData: AttributeData;
_dirtyRowTracker: {
markRangeDirty(y1: number, y2: number): void;
markAllDirty(): void;
markDirty(y: number): void;
};
onRequestReset(handler: () => void): IDisposable;

@@ -77,4 +81,3 @@ }

export interface ICoreTerminalExt extends ITerminal {
_dirtyRowService: IDirtyRowService;
_colorManager: IColorManager;
_themeService: IThemeService;
_inputHandler: IInputHandlerExt;

@@ -81,0 +84,0 @@ _renderService: IRenderService;

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc