From 62bfe0aa37ae59c44dc4d6c387e1f7573c902dad Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Sun, 13 Jul 2025 17:44:42 -0700 Subject: [PATCH] Updated MeshCentral Router --- agents/MeshCentralRouter.exe | Bin 4225136 -> 4263904 bytes public/scripts/agent-desktop-0.0.2-min.js | 2 +- public/scripts/agent-rdp-0.0.1-min.js | 2 +- public/scripts/agent-redir-ws-0.1.1-min.js | 2 +- public/scripts/amt-0.2.0-min.js | 2 +- public/scripts/amt-desktop-0.0.2-min.js | 2 +- public/scripts/amt-script-0.2.0-min.js | 2 +- public/scripts/amt-wsman-0.2.0-min.js | 2 +- public/scripts/amt-wsman-ws-0.2.0-min.js | 2 +- public/scripts/common-0.0.1-min.js | 2 +- public/scripts/meshcentral-min.js | 2 +- public/scripts/u2f-api-min.js | 2 +- public/scripts/xterm-addon-fit-min.js | 2 +- public/scripts/xterm-min.js | 2 +- 14 files changed, 13 insertions(+), 13 deletions(-) diff --git a/agents/MeshCentralRouter.exe b/agents/MeshCentralRouter.exe index 1415b4ebbc01d181b234a62114d0eaeebdac9517..754117844cb6d935d7e0c50721265e6ac1478789 100644 GIT binary patch delta 355451 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%0DAxsBVKwIemylcUSV;+LzxIqW+g4I+NL{qTPt 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 hdcP`kXKq2-$h@KJ{J)jxqM=Q<{|B$BNGt#V delta 317255 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

1>ZuZ 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.intToStr(32&o)):(p.recordedSize+=n.length,p.shortToStr(e)+p.shortToStr(t)+p.intToStr(n.length)+p.intToStr(o>>32)+p.intToStr(32&o)+n)}return p.checkAltGr=function(e,t,n){return e._altGrArmed&&(e._altGrArmed=!1,clearTimeout(e._altGrTimeout),"AltRight"===t.code)&&t.timeStamp-e._altGrCtrlTime<50?(e.SendKeyMsgKC(n,225,!1),!0):!("ControlLeft"!==t.code||17 in e.pressedKeys||(e._altGrArmed=!0,e._altGrCtrlTime=t.timeStamp,1!=n)||(e._altGrTimeout=setTimeout(e._handleAltGrTimeout.bind(e),100),0))},p._handleAltGrTimeout=function(){p._altGrArmed=!1,clearTimeout(p._altGrTimeout),p.SendKeyMsgKC(1,17,!1)},p.SendRemoteInputLock=function(e){p.send(String.fromCharCode(0,87,0,5,e))},p.SendMessage=function(e){3==p.State&&p.send(String.fromCharCode(0,17)+p.shortToStr(4+e.length)+e)},p.SendKeyMsgKC=function(e,t,n){if(3==p.State)if("object"==typeof e)for(var o in e)p.SendKeyMsgKC(e[o][0],e[o][1],e[o][2]);else{1==e?-1==p.pressedKeys.indexOf(t)&&p.pressedKeys.unshift(t):2==e&&-1!=(o=p.pressedKeys.indexOf(t))&&p.pressedKeys.splice(o,1),0>8),255-(255&Math.abs(r))):(s=r>>8,255&r),String.fromCharCode(0,p.InputType.MOUSE,0,12,0,0,n/256&255,255&n,o/256&255,255&o,s,i)):String.fromCharCode(0,p.InputType.MOUSE,0,10,0,e==p.KeyAction.DOWN?a:2*a&255,n/256&255,255&n,o/256&255,255&o),p.Action==p.KeyAction.NONE?0==p.Alternate||p.ipad?(p.send(t),p.Alternate=1):p.Alternate=0:p.send(t))},p.GetDisplayNumbers=function(){p.send(String.fromCharCode(0,11,0,4))},p.SetDisplay=function(e){p.send(String.fromCharCode(0,12,0,6,e>>8,255&e))},p.intToStr=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},p.shortToStr=function(e){return String.fromCharCode(e>>8&255,255&e)},p.onResize=function(){0==p.ScreenWidth||0==p.ScreenHeight||p.Canvas.canvas.width==p.ScreenWidth&&p.Canvas.canvas.height==p.ScreenHeight||(p.FirstDraw&&(p.Canvas.canvas.width=p.ScreenWidth,p.Canvas.canvas.height=p.ScreenHeight,p.Canvas.fillRect(0,0,p.ScreenWidth,p.ScreenHeight),null!=p.onScreenSizeChange)&&p.onScreenSizeChange(p,p.ScreenWidth,p.ScreenHeight,p.CanvasId),p.FirstDraw=!1,12&&console.log("KSend("+e.length+"): "+rstr2hex(e)),null!=n.parent&&n.parent.send(e)},n.ProcessPictureMsg=function(e,t,o){var a=new Image;a.xcount=n.tilesReceived++;for(var r=n.tilesReceived,i=e.slice(4),s=0,c=[];i.byteLength-s>5e4;)c.push(String.fromCharCode.apply(null,i.slice(s,s+5e4))),s+=5e4;s>0?c.push(String.fromCharCode.apply(null,i.slice(s))):c.push(String.fromCharCode.apply(null,i)),a.src="data:image/jpeg;base64,"+btoa(c.join("")),a.onload=function(){if(null!=n.Canvas&&n.KillDraw0&&n.TilesDrawn++,!1},n.ProcessCopyRectMsg=function(e){var t=((255&e.charCodeAt(0))<<8)+(255&e.charCodeAt(1)),o=((255&e.charCodeAt(2))<<8)+(255&e.charCodeAt(3)),a=((255&e.charCodeAt(4))<<8)+(255&e.charCodeAt(5)),r=((255&e.charCodeAt(6))<<8)+(255&e.charCodeAt(7)),i=((255&e.charCodeAt(8))<<8)+(255&e.charCodeAt(9)),s=((255&e.charCodeAt(10))<<8)+(255&e.charCodeAt(11));n.Canvas.drawImage(Canvas.canvas,t,o,i,s,a,r,i,s)},n.SendUnPause=function(){n.debugmode>1&&console.log("SendUnPause"),n.send(String.fromCharCode(0,8,0,5,0))},n.SendPause=function(){n.debugmode>1&&console.log("SendPause"),n.send(String.fromCharCode(0,8,0,5,1))},n.SendCompressionLevel=function(e,t,o,a){n.ImageType=e,t&&(n.CompressionLevel=t),o&&(n.ScalingLevel=o),a&&(n.FrameRateTimer=a),n.send(String.fromCharCode(0,5,0,10,e,n.CompressionLevel)+n.shortToStr(n.ScalingLevel)+n.shortToStr(n.FrameRateTimer))},n.SendRefresh=function(){n.send(String.fromCharCode(0,6,0,4))},n.ProcessScreenMsg=function(e,t){if(n.debugmode>0&&console.log("ScreenSize: "+e+" x "+t),n.ScreenWidth!=e||n.ScreenHeight!=t){for(n.Canvas.setTransform(1,0,0,1,0,0),n.rotation=0,n.FirstDraw=!0,n.ScreenWidth=n.width=e,n.ScreenHeight=n.height=t,n.KillDraw=n.tilesReceived;n.PendingOperations.length>0;)n.PendingOperations.shift();n.SendCompressionLevel(n.ImageType),n.SendUnPause(),n.SendRemoteInputLock(2),null!=n.onScreenSizeChange&&n.onScreenSizeChange(n,n.ScreenWidth,n.ScreenHeight,n.CanvasId)}},n.ProcessBinaryCommand=function(e,t,i){var s,c;3!=e&&4!=e&&7!=e||(s=(i[4]<<8)+i[5],c=(i[6]<<8)+i[7]),n.debugmode>2&&console.log("CMD",e,t,s,c);let l="";for(let e=0;e65e3?n.recordedData.push(u(2,1,n.shortToStr(27)+n.shortToStr(8)+n.intToStr(t)+n.shortToStr(e)+n.shortToStr(0)+n.shortToStr(0)+n.shortToStr(0)+l)):n.recordedData.push(u(2,1,l))),e){case 3:n.FirstDraw&&n.onResize(),n.ProcessPictureMsg(i.slice(4),s,c);break;case 7:n.ProcessScreenMsg(s,c),n.SendKeyMsgKC(n.KeyAction.UP,16),n.SendKeyMsgKC(n.KeyAction.UP,17),n.SendKeyMsgKC(n.KeyAction.UP,18),n.SendKeyMsgKC(n.KeyAction.UP,91),n.SendKeyMsgKC(n.KeyAction.UP,92),n.SendKeyMsgKC(n.KeyAction.UP,16),n.send(String.fromCharCode(0,14,0,4));break;case 11:var d=0,h={},g=(i[4]<<8)+i[5];if(g>0){d=(i[6+2*g]<<8)+i[7+2*g];for(var p=0;pr.length&&(m=0),a=r[m],o&&(n.CanvasId.style.cursor=a);break;default:console.log("Unknown command",e,t)}},n.MouseButton={NONE:0,LEFT:2,RIGHT:8,MIDDLE:32},n.KeyAction={NONE:0,DOWN:1,UP:2,SCROLL:3,EXUP:4,EXDOWN:5,DBLCLICK:6},n.InputType={KEY:1,MOUSE:2,CTRLALTDEL:10,TOUCH:15,KEYUNICODE:85},n.Alternate=0;var i={Pause:19,CapsLock:20,Space:32,Quote:222,Minus:189,NumpadMultiply:106,NumpadAdd:107,PrintScreen:44,Comma:188,NumpadSubtract:109,NumpadDecimal:110,Period:190,Slash:191,NumpadDivide:111,Semicolon:186,Equal:187,OSLeft:91,BracketLeft:219,OSRight:91,Backslash:220,BracketRight:221,ContextMenu:93,Backquote:192,NumLock:144,ScrollLock:145,Backspace:8,Tab:9,Enter:13,NumpadEnter:13,Escape:27,Delete:46,Home:36,PageUp:33,PageDown:34,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,End:35,Insert:45,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,ShiftLeft:16,ShiftRight:16,ControlLeft:17,ControlRight:17,AltLeft:18,AltRight:18,MetaLeft:91,MetaRight:92,VolumeMute:181};var s=["ShiftRight","AltRight","ControlRight","Home","End","Insert","Delete","PageUp","PageDown","NumpadDivide","NumpadEnter","NumLock","Pause"];n.SendKeyMsg=function(e,t){if(null!=e){t||(t=window.event);var o,a,r=!1;if((n.UseExtendedKeyFlag||1==urlargs.extkeys)&&"string"==typeof t.code&&(t.code.startsWith("Arrow")||s.indexOf(t.code)>=0)&&(r=!0),!n.isWindowsBrowser||!n.checkAltGr(n,t,e))if(0==r&&t.code&&0==t.code.startsWith("NumPad")&&0==n.localKeyMap)null!=(o=(a=t).code.startsWith("Key")&&4==a.code.length?a.code.charCodeAt(3):a.code.startsWith("Digit")&&6==a.code.length?a.code.charCodeAt(5):a.code.startsWith("Numpad")&&7==a.code.length?a.code.charCodeAt(6)+48:i[a.code])&&n.SendKeyMsgKC(e,o,r);else 59==(o=t.keyCode)?o=186:173==o?o=189:61==o&&(o=187),n.SendKeyMsgKC(e,o,r)}};function u(e,t,o){var a=Date.now();return"number"==typeof o?(n.recordedSize+=o,n.shortToStr(e)+n.shortToStr(t)+n.intToStr(o)+n.intToStr(a>>32)+n.intToStr(32&a)):(n.recordedSize+=o.length,n.shortToStr(e)+n.shortToStr(t)+n.intToStr(o.length)+n.intToStr(a>>32)+n.intToStr(32&a)+o)}return n.checkAltGr=function(e,t,n){return e._altGrArmed&&(e._altGrArmed=!1,clearTimeout(e._altGrTimeout),"AltRight"===t.code&&t.timeStamp-e._altGrCtrlTime<50)?(e.SendKeyMsgKC(n,225,!1),!0):"ControlLeft"===t.code&&!(17 in e.pressedKeys)&&(e._altGrArmed=!0,e._altGrCtrlTime=t.timeStamp,1==n)&&(e._altGrTimeout=setTimeout(e._handleAltGrTimeout.bind(e),100),!0)},n._handleAltGrTimeout=function(){n._altGrArmed=!1,clearTimeout(n._altGrTimeout),n.SendKeyMsgKC(1,17,!1)},n.SendRemoteInputLock=function(e){n.send(String.fromCharCode(0,87,0,5,e))},n.SendMessage=function(e){3==n.State&&n.send(String.fromCharCode(0,17)+n.shortToStr(4+e.length)+e)},n.SendKeyMsgKC=function(e,t,o){if(3==n.State)if("object"==typeof e)for(var a in e)n.SendKeyMsgKC(e[a][0],e[a][1],e[a][2]);else{if(1==e)-1==n.pressedKeys.indexOf(t)&&n.pressedKeys.unshift(t);else if(2==e){-1!=(a=n.pressedKeys.indexOf(t))&&n.pressedKeys.splice(a,1)}n.debugmode>0&&console.log("Sending Key "+t+", action "+e);var r=e-1;o&&(r=1==r?3:4),n.send(String.fromCharCode(0,n.InputType.KEY,0,6,r,t))}},n.SendStringUnicode=function(e){if(3==n.State)for(var t=0;t0&&console.log("Sending UnicodeKey "+t+", action "+e),n.send(String.fromCharCode(0,n.InputType.KEYUNICODE,0,7,e-1)+ShortToStr(t)))},n.sendcad=function(){n.SendCtrlAltDelMsg()},n.SendCtrlAltDelMsg=function(){3==n.State&&n.send(String.fromCharCode(0,n.InputType.CTRLALTDEL,0,4))},n.SendEscKey=function(){3==n.State&&n.send(String.fromCharCode(0,n.InputType.KEY,0,6,0,27,0,n.InputType.KEY,0,6,1,27))},n.SendStartMsg=function(){n.SendKeyMsgKC(n.KeyAction.EXDOWN,91),n.SendKeyMsgKC(n.KeyAction.EXUP,91)},n.SendCharmsMsg=function(){n.SendKeyMsgKC(n.KeyAction.EXDOWN,91),n.SendKeyMsgKC(n.KeyAction.DOWN,67),n.SendKeyMsgKC(n.KeyAction.UP,67),n.SendKeyMsgKC(n.KeyAction.EXUP,91)},n.SendTouchMsg1=function(e,t,o,a){3==n.State&&n.send(String.fromCharCode(0,n.InputType.TOUCH)+n.shortToStr(14)+String.fromCharCode(1,e)+n.intToStr(t)+n.shortToStr(o)+n.shortToStr(a))},n.SendTouchMsg2=function(e,t){var o,a="";for(var r in n.TouchArray)r==e?o=t:1==n.TouchArray[r].f?(o=65542,n.TouchArray[r].f=3,"START"+r):2==n.TouchArray[r].f?(o=262144,"STOP"+r):o=131078,a+=String.fromCharCode(r)+n.intToStr(o)+n.shortToStr(n.TouchArray[r].x)+n.shortToStr(n.TouchArray[r].y),2==n.TouchArray[r].f&&delete n.TouchArray[r];3==n.State&&n.send(String.fromCharCode(0,n.InputType.TOUCH)+n.shortToStr(5+a.length)+String.fromCharCode(2)+a),0==Object.keys(n.TouchArray).length&&null!=n.touchtimer&&(clearInterval(n.touchtimer),n.touchtimer=null)},n.SendMouseMsg=function(e,t){if(3==n.State&&null!=e&&null!=n.Canvas){if(!t)t=window.event;var o=n.Canvas.canvas.height/n.CanvasId.clientHeight,a=n.Canvas.canvas.width/n.CanvasId.clientWidth,r=n.GetPositionOfControl(n.Canvas.canvas),i=(t.pageX-r[0])*a,s=(t.pageY-r[1])*o;if(t.addx&&(i+=t.addx),t.addy&&(s+=t.addy),i>=0&&i<=n.Canvas.canvas.width&&s>=0&&s<=n.Canvas.canvas.height){var c=0,u=0;e==n.KeyAction.UP||e==n.KeyAction.DOWN?t.which?c=1==t.which?n.MouseButton.LEFT:2==t.which?n.MouseButton.MIDDLE:n.MouseButton.RIGHT:"number"==typeof t.button&&(c=0==t.button?n.MouseButton.LEFT:1==t.button?n.MouseButton.MIDDLE:n.MouseButton.RIGHT):e==n.KeyAction.SCROLL&&(t.detail?u=120*t.detail*-1:t.wheelDelta&&(u=3*t.wheelDelta)),!0===n.SwapMouse&&(c==n.MouseButton.LEFT?c=n.MouseButton.RIGHT:c==n.MouseButton.RIGHT&&(c=n.MouseButton.LEFT)),n.ReverseMouseWheel&&(u*=-1);var l="";if(e==n.KeyAction.DBLCLICK)l=String.fromCharCode(0,n.InputType.MOUSE,0,10,0,136,i/256&255,255&i,s/256&255,255&s);else if(e==n.KeyAction.SCROLL){var d=0,h=0;u<0?(d=255-(Math.abs(u)>>8),h=255-(255&Math.abs(u))):(d=u>>8,h=255&u),l=String.fromCharCode(0,n.InputType.MOUSE,0,12,0,0,i/256&255,255&i,s/256&255,255&s,d,h)}else l=String.fromCharCode(0,n.InputType.MOUSE,0,10,0,e==n.KeyAction.DOWN?c:2*c&255,i/256&255,255&i,s/256&255,255&s);n.Action==n.KeyAction.NONE?0==n.Alternate||n.ipad?(n.send(l),n.Alternate=1):n.Alternate=0:n.send(l)}}},n.GetDisplayNumbers=function(){n.send(String.fromCharCode(0,11,0,4))},n.SetDisplay=function(e){n.send(String.fromCharCode(0,12,0,6,e>>8,255&e))},n.intToStr=function(e){return String.fromCharCode(e>>24&255,e>>16&255,e>>8&255,255&e)},n.shortToStr=function(e){return String.fromCharCode(e>>8&255,255&e)},n.onResize=function(){0!=n.ScreenWidth&&0!=n.ScreenHeight&&(n.Canvas.canvas.width==n.ScreenWidth&&n.Canvas.canvas.height==n.ScreenHeight||(n.FirstDraw&&(n.Canvas.canvas.width=n.ScreenWidth,n.Canvas.canvas.height=n.ScreenHeight,n.Canvas.fillRect(0,0,n.ScreenWidth,n.ScreenHeight),null!=n.onScreenSizeChange&&n.onScreenSizeChange(n,n.ScreenWidth,n.ScreenHeight,n.CanvasId)),n.FirstDraw=!1,n.debugmode>1&&console.log("onResize: "+n.ScreenWidth+" x "+n.ScreenHeight)))},n.xxMouseInputGrab=!1,n.xxKeyInputGrab=!1,n.xxMouseMove=function(e){return 3==n.State&&n.SendMouseMsg(n.KeyAction.NONE,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n.xxMouseUp=function(e){return 3==n.State&&n.SendMouseMsg(n.KeyAction.UP,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n.xxMouseDown=function(e){return 3==n.State&&n.SendMouseMsg(n.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n.xxMouseDblClick=function(e){return 3==n.State&&n.SendMouseMsg(n.KeyAction.DBLCLICK,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n.xxDOMMouseScroll=function(e){return 3!=n.State||(n.SendMouseMsg(n.KeyAction.SCROLL,e),!1)},n.xxMouseWheel=function(e){return 3!=n.State||(n.SendMouseMsg(n.KeyAction.SCROLL,e),!1)},n.xxKeyUp=function(e){return"Dead"!=e.key&&3==n.State&&("string"==typeof e.key&&1==e.key.length&&1!=e.ctrlKey&&1!=e.altKey&&0==n.remoteKeyMap?n.SendKeyUnicode(n.KeyAction.UP,e.key.charCodeAt(0)):n.SendKeyMsg(n.KeyAction.UP,e)),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n.xxKeyDown=function(e){if("Dead"!=e.key&&3==n.State&&("string"!=typeof e.key||1!=e.key.length||1==e.ctrlKey||1==e.altKey||0!=n.remoteKeyMap))return n.SendKeyMsg(n.KeyAction.DOWN,e),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n.xxKeyPress=function(e){return"Dead"!=e.key&&3==n.State&&"string"==typeof e.key&&1==e.key.length&&1!=e.ctrlKey&&1!=e.altKey&&0==n.remoteKeyMap&&n.SendKeyUnicode(n.KeyAction.DOWN,e.key.charCodeAt(0)),e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n.handleKeys=function(e){return 1!=n.stopInput&&3==desktop.State&&n.xxKeyPress(e)},n.handleKeyUp=function(e){if(1==n.stopInput||3!=desktop.State)return!1;if(n.firstUpKeys.length<5&&(n.firstUpKeys.push(e.keyCode),5==n.firstUpKeys.length)){var t=n.firstUpKeys.join(",");"16,17,91,91,16"!=t&&"16,17,18,91,92"!=t||(n.stopInput=!0)}return n.xxKeyUp(e)},n.handleKeyDown=function(e){return 1!=n.stopInput&&3==desktop.State&&n.xxKeyDown(e)},n.handleReleaseKeys=function(){var e=JSON.parse(JSON.stringify(n.pressedKeys));for(var t in e)n.SendKeyMsgKC(n.KeyAction.UP,e[t])},n.mousedblclick=function(e){return 1!=n.stopInput&&n.xxMouseDblClick(e)},n.mousedown=function(e){return 1!=n.stopInput&&n.xxMouseDown(e)},n.mouseup=function(e){return 1!=n.stopInput&&n.xxMouseUp(e)},n.mousemove=function(e){return 1!=n.stopInput&&n.xxMouseMove(e)},n.mousewheel=function(e){return 1!=n.stopInput&&n.xxMouseWheel(e)},n.xxMsTouchEvent=function(e){if(4!=e.originalEvent.pointerType){if(e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),"MSPointerDown"==e.type||"MSPointerMove"==e.type||"MSPointerUp"==e.type){var t=0,o=e.originalEvent.pointerId%256,a=e.offsetX*(Canvas.canvas.width/n.CanvasId.clientWidth),r=e.offsetY*(Canvas.canvas.height/n.CanvasId.clientHeight);"MSPointerDown"==e.type?t=65542:"MSPointerMove"==e.type?t=131078:"MSPointerUp"==e.type&&(t=262144),n.TouchArray[o]||(n.TouchArray[o]={x:a,y:r}),n.SendTouchMsg2(o,t),"MSPointerUp"==e.type&&delete n.TouchArray[o]}else alert(e.type);return!0}},n.xxTouchStart=function(e){if(3==n.State)if(e.preventDefault&&e.preventDefault(),0==n.touchenabled||1==n.touchenabled){if(e.originalEvent.touches.length>1)return;var t=e.originalEvent.touches[0];e.which=1,n.LastX=e.pageX=t.pageX,n.LastY=e.pageY=t.pageY,n.SendMouseMsg(KeyAction.DOWN,e)}else{var o=n.GetPositionOfControl(Canvas.canvas);for(var a in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[a].identifier){var r=e.originalEvent.changedTouches[a].identifier%256;n.TouchArray[r]||(n.TouchArray[r]={x:(e.originalEvent.touches[a].pageX-o[0])*(Canvas.canvas.width/n.CanvasId.clientWidth),y:(e.originalEvent.touches[a].pageY-o[1])*(Canvas.canvas.height/n.CanvasId.clientHeight),f:1})}Object.keys(n.TouchArray).length>0&&null==touchtimer&&(n.touchtimer=setInterval(function(){n.SendTouchMsg2(256,0)},50))}},n.xxTouchMove=function(e){if(3==n.State)if(e.preventDefault&&e.preventDefault(),0==n.touchenabled||1==n.touchenabled){if(e.originalEvent.touches.length>1)return;var t=e.originalEvent.touches[0];e.which=1,n.LastX=e.pageX=t.pageX,n.LastY=e.pageY=t.pageY,n.SendMouseMsg(n.KeyAction.NONE,e)}else{var o=n.GetPositionOfControl(Canvas.canvas);for(var a in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[a].identifier){var r=e.originalEvent.changedTouches[a].identifier%256;n.TouchArray[r]&&(n.TouchArray[r].x=(e.originalEvent.touches[a].pageX-o[0])*(n.Canvas.canvas.width/n.CanvasId.clientWidth),n.TouchArray[r].y=(e.originalEvent.touches[a].pageY-o[1])*(n.Canvas.canvas.height/n.CanvasId.clientHeight))}}},n.xxTouchEnd=function(e){if(3==n.State)if(e.preventDefault&&e.preventDefault(),0==n.touchenabled||1==n.touchenabled){if(e.originalEvent.touches.length>1)return;e.which=1,e.pageX=LastX,e.pageY=LastY,n.SendMouseMsg(KeyAction.UP,e)}else for(var t in e.originalEvent.changedTouches)if(e.originalEvent.changedTouches[t].identifier){var o=e.originalEvent.changedTouches[t].identifier%256;n.TouchArray[o]&&(n.TouchArray[o].f=2)}},n.GrabMouseInput=function(){if(1!=n.xxMouseInputGrab){var e=n.CanvasId;e.onmousemove=n.xxMouseMove,e.onmouseup=n.xxMouseUp,e.onmousedown=n.xxMouseDown,e.touchstart=n.xxTouchStart,e.touchmove=n.xxTouchMove,e.touchend=n.xxTouchEnd,e.MSPointerDown=n.xxMsTouchEvent,e.MSPointerMove=n.xxMsTouchEvent,e.MSPointerUp=n.xxMsTouchEvent,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=n.xxDOMMouseScroll:e.onmousewheel=n.xxMouseWheel,n.xxMouseInputGrab=!0}},n.UnGrabMouseInput=function(){if(0!=n.xxMouseInputGrab){var e=n.CanvasId;e.onmousemove=null,e.onmouseup=null,e.onmousedown=null,e.touchstart=null,e.touchmove=null,e.touchend=null,e.MSPointerDown=null,e.MSPointerMove=null,e.MSPointerUp=null,navigator.userAgent.match(/mozilla/i)?e.DOMMouseScroll=null:e.onmousewheel=null,n.xxMouseInputGrab=!1}},n.GrabKeyInput=function(){1!=n.xxKeyInputGrab&&(document.onkeyup=n.xxKeyUp,document.onkeydown=n.xxKeyDown,document.onkeypress=n.xxKeyPress,c,n.xxKeyInputGrab=!0)},n.UnGrabKeyInput=function(){0!=n.xxKeyInputGrab&&(document.onkeyup=null,document.onkeydown=null,document.onkeypress=null,n.xxKeyInputGrab=!1)},n.GetPositionOfControl=function(e){var t=Array(2);for(t[0]=t[1]=0;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t},n.crotX=function(e,t){return 0==n.rotation?e:1==n.rotation?t:2==n.rotation?n.Canvas.canvas.width-e:3==n.rotation?n.Canvas.canvas.height-t:void 0},n.crotY=function(e,t){return 0==n.rotation?t:1==n.rotation?n.Canvas.canvas.width-e:2==n.rotation?n.Canvas.canvas.height-t:3==n.rotation?e:void 0},n.rotX=function(e,t){return 0==n.rotation||1==n.rotation?e:2==n.rotation?e-n.Canvas.canvas.width:3==n.rotation?e-n.Canvas.canvas.height:void 0},n.rotY=function(e,t){return 0==n.rotation||3==n.rotation?t:1==n.rotation?t-n.Canvas.canvas.width:2==n.rotation?t-n.Canvas.canvas.height:void 0},n.tcanvas=null,n.setRotation=function(e){for(;e<0;)e+=4;var t=e%4;if(t==n.rotation)return!0;var o=n.Canvas.canvas.width,a=n.Canvas.canvas.height;1!=n.rotation&&3!=n.rotation||(o=n.Canvas.canvas.height,a=n.Canvas.canvas.width),null==n.tcanvas&&(n.tcanvas=document.createElement("canvas"));var r=n.tcanvas.getContext("2d");return r.setTransform(1,0,0,1,0,0),r.canvas.width=o,r.canvas.height=a,r.rotate(-90*n.rotation*Math.PI/180),0==n.rotation&&r.drawImage(n.Canvas.canvas,0,0),1==n.rotation&&r.drawImage(n.Canvas.canvas,-n.Canvas.canvas.width,0),2==n.rotation&&r.drawImage(n.Canvas.canvas,-n.Canvas.canvas.width,-n.Canvas.canvas.height),3==n.rotation&&r.drawImage(n.Canvas.canvas,0,-n.Canvas.canvas.height),0!=n.rotation&&2!=n.rotation||(n.Canvas.canvas.height=o,n.Canvas.canvas.width=a),1!=n.rotation&&3!=n.rotation||(n.Canvas.canvas.height=a,n.Canvas.canvas.width=o),n.Canvas.setTransform(1,0,0,1,0,0),n.Canvas.rotate(90*t*Math.PI/180),n.rotation=t,n.Canvas.drawImage(n.tcanvas,n.rotX(0,0),n.rotY(0,0)),n.ScreenWidth=n.Canvas.canvas.width,n.ScreenHeight=n.Canvas.canvas.height,null!=n.onScreenSizeChange&&(console.log("s4",n.ScreenWidth,n.ScreenHeight),n.onScreenSizeChange(n,n.ScreenWidth,n.ScreenHeight,n.CanvasId)),!0},n.StartRecording=function(){null==n.recordedData&&n.CanvasId.toBlob(function(e){var t=new FileReader;t.readAsArrayBuffer(e),t.onload=function(e){for(var o="",a=new Uint8Array(t.result),r=a.byteLength,i=0;i65e3?n.recordedData.push(u(2,1,n.shortToStr(27)+n.shortToStr(8)+n.intToStr(s)+n.shortToStr(3)+n.shortToStr(0)+n.shortToStr(0)+n.shortToStr(0)+o)):n.recordedData.push(u(2,1,n.shortToStr(3)+n.shortToStr(s)+n.shortToStr(0)+n.shortToStr(0)+o))}})},n.StopRecording=function(){if(null!=n.recordedData){var e=n.recordedData;return e.push(u(3,0,"MeshCentralMCREC")),delete n.recordedData,delete n.recordedStart,delete n.recordedSize,e}},n.MuchTheSame=function(e,t){return Math.abs(e-t)<4},n.Debug=function(e){console.log(e)},n.getIEVersion=function(){var e=-1;if("Microsoft Internet Explorer"==navigator.appName){var t=navigator.userAgent;null!=new RegExp("MSIE ([0-9]{1,}[.0-9]{0,})").exec(t)&&(e=parseFloat(RegExp.$1))}return e},n.haltEvent=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},n} \ No newline at end of file diff --git a/public/scripts/agent-rdp-0.0.1-min.js b/public/scripts/agent-rdp-0.0.1-min.js index 81f26050..42d15e73 100644 --- a/public/scripts/agent-rdp-0.0.1-min.js +++ b/public/scripts/agent-rdp-0.0.1-min.js @@ -1 +1 @@ -var CreateRDPDesktop=function(e,t){var n={m:{KeyAction:{NONE:0,DOWN:1,UP:2,SCROLL:3,EXUP:4,EXDOWN:5,DBLCLICK:6}},State:0};n.canvas=Q(e),n.CanvasId=e,"string"==typeof e&&(n.CanvasId=Q(e)),n.Canvas=n.CanvasId.getContext("2d"),n.ScreenWidth=n.width=1280,n.ScreenHeight=n.height=1024,n.m.onClipboardChanged=null,n.onConsoleMessageChange=null;var s=!0,a="default";function o(e){return!0===n.m.SwapMouse?[2,0,1,0,0][e]:[1,0,2,0,0][e]}function i(e){n.State!=e&&(n.State=e,null!=n.onStateChanged&&n.onStateChanged(n,n.State))}function r(e){var t=n.Canvas.canvas.height/n.CanvasId.clientHeight,s=n.Canvas.canvas.width/n.CanvasId.clientWidth,a=function(e){var t=Array(2);for(t[0]=t[1]=0;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t}(n.Canvas.canvas),o=(e.pageX-a[0])*s,i=(e.pageY-a[1])*t;return e.addx&&(o+=e.addx),e.addy&&(i+=e.addy),{x:o,y:i}}n.mouseCursorActive=function(e){s!=e&&(s=e,n.CanvasId.style.cursor=1==e?a:"default")},n.Start=function(e,o,r){i(1),n.nodeid=e,n.port=o,n.credentials=r;var c={savepass:r.savecred,useServerCreds:r.servercred,width:r.width,height:r.height,flags:r.flags,workingDir:r.workdir,alternateShell:r.altshell};r.width&&r.height&&(c.width=n.ScreenWidth=n.width=r.width,c.height=n.ScreenHeight=n.height=r.height,delete r.width,delete r.height),n.render=new Mstsc.Canvas.create(n.canvas),n.socket=new WebSocket("wss://"+window.location.host+t+"mstscrelay.ashx"),n.socket.binaryType="arraybuffer",n.socket.onopen=function(){i(2),n.socket.send(JSON.stringify(["infos",{ip:n.nodeid,port:n.port,screen:{width:n.width,height:n.height},domain:r.domain,username:r.username,password:r.password,options:c,locale:Mstsc.locale()}]))},n.socket.onmessage=function(e){if("string"==typeof e.data){var t=JSON.parse(e.data);switch(t[0]){case"rdp-connect":i(3),n.rotation=0,n.Canvas.setTransform(1,0,0,1,0,0),n.Canvas.canvas.width=n.ScreenWidth,n.Canvas.canvas.height=n.ScreenHeight,n.Canvas.fillRect(0,0,n.ScreenWidth,n.ScreenHeight),null!=n.m.onScreenSizeChange&&n.m.onScreenSizeChange(n,n.ScreenWidth,n.ScreenHeight,n.CanvasId);break;case"rdp-bitmap":if(null==n.bitmapData)break;var o=t[1];o.data=n.bitmapData,delete n.bitmapData,n.render.update(o);break;case"rdp-pointer":var r=t[1];a=r,s&&(n.CanvasId.style.cursor=r);break;case"rdp-close":n.Stop();break;case"rdp-error":switch(n.consoleMessageTimeout=5,n.consoleMessage=t[1],delete n.consoleMessageArgs,t.length>2&&(n.consoleMessageArgs=[t[2]]),t[1]){case"NODE_RDP_PROTOCOL_X224_NEG_FAILURE":1==t[2]?n.consoleMessageId=9:2==t[2]?n.consoleMessageId=10:3==t[2]?n.consoleMessageId=11:4==t[2]?n.consoleMessageId=12:5==t[2]?n.consoleMessageId=13:6==t[2]?n.consoleMessageId=14:n.consoleMessageId=7;break;case"NODE_RDP_PROTOCOL_X224_NLA_NOT_SUPPORTED":n.consoleMessageId=8;break;default:n.consoleMessageId=null}n.onConsoleMessageChange&&n.onConsoleMessageChange(),n.Stop();break;case"rdp-clipboard":n.lastClipboardContent=t[1],n.m.onClipboardChanged&&n.m.onClipboardChanged(t[1]);break;case"ping":n.socket.send('["pong"]')}}else n.bitmapData=e.data},n.socket.onclose=function(){i(0)},i(1)},n.Stop=function(){n.Canvas.fillRect(0,0,n.ScreenWidth,n.ScreenHeight),n.socket&&n.socket.close()},n.m.setClipboard=function(e){n.socket&&n.socket.send(JSON.stringify(["clipboard",e]))},n.m.getClipboard=function(){return n.lastClipboardContent},n.m.mousemove=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight))return n.mouseNagleData=["mouse",t.x,t.y,0,!1],null==n.mouseNagleTimer&&(n.mouseNagleTimer=setTimeout((function(){n.socket.send(JSON.stringify(n.mouseNagleData)),n.mouseNagleTimer=null}),50)),e.preventDefault(),!1}},n.m.mouseup=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight))return null!=n.mouseNagleTimer&&(clearTimeout(n.mouseNagleTimer),n.mouseNagleTimer=null),n.socket.send(JSON.stringify(["mouse",t.x,t.y,o(e.button),!1])),e.preventDefault(),!1}},n.m.mousedown=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight))return null!=n.mouseNagleTimer&&(clearTimeout(n.mouseNagleTimer),n.mouseNagleTimer=null),n.socket.send(JSON.stringify(["mouse",t.x,t.y,o(e.button),!0])),e.preventDefault(),!1}},n.m.handleKeyUp=function(e){if(n.socket&&3==n.State)return n.socket.send(JSON.stringify(["scancode",Mstsc.scancode(e),!1])),e.preventDefault(),!1},n.m.handleKeyDown=function(e){if(n.socket&&3==n.State)return n.socket.send(JSON.stringify(["scancode",Mstsc.scancode(e),!0])),e.preventDefault(),!1},n.m.mousewheel=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight)){null!=n.mouseNagleTimer&&(clearTimeout(n.mouseNagleTimer),n.mouseNagleTimer=null);var s=0;return e.detail?s=120*e.detail:e.wheelDelta&&(s=3*e.wheelDelta),n.m.ReverseMouseWheel&&(s*=-1),0!=s&&n.socket.send(JSON.stringify(["wheel",t.x,t.y,s,!1,!1])),e.preventDefault(),!1}}},n.m.SendStringUnicode=function(e){n.socket&&3==n.State&&n.socket.send(JSON.stringify(["utype",e]))},n.m.SendKeyMsgKC=function(e,t,s){if(3==n.State)if("object"==typeof e)for(var a in e)n.m.SendKeyMsgKC(e[a][0],e[a][1],e[a][2]);else{var o=c[t];null!=o&&n.socket.send(JSON.stringify(["scancode",o,!!(1&e)]))}},n.m.mousedblclick=function(){},n.m.handleKeyPress=function(){},n.m.setRotation=function(){},n.m.sendcad=function(){n.socket.send(JSON.stringify(["scancode",29,!0])),n.socket.send(JSON.stringify(["scancode",56,!0])),n.socket.send(JSON.stringify(["scancode",57427,!0])),n.socket.send(JSON.stringify(["scancode",57427,!1])),n.socket.send(JSON.stringify(["scancode",56,!1])),n.socket.send(JSON.stringify(["scancode",29,!1]))};var c={9:15,16:42,17:29,18:56,27:1,33:57417,34:57425,35:57423,36:57415,37:57419,38:57416,39:57421,40:57424,44:57399,45:57426,46:57427,65:30,66:48,67:46,68:32,69:18,70:33,71:34,72:35,73:23,74:36,75:37,76:38,77:50,78:49,79:24,80:25,81:16,82:19,83:31,84:20,85:22,86:47,87:17,88:45,89:21,90:44,91:57435,112:59,113:60,114:61,115:62,116:63,117:64,118:65,119:66,120:67,121:68,122:87,123:88};return n} \ No newline at end of file +var CreateRDPDesktop=function(e,t){var n={m:{KeyAction:{NONE:0,DOWN:1,UP:2,SCROLL:3,EXUP:4,EXDOWN:5,DBLCLICK:6}},State:0};n.canvas=Q(e),n.CanvasId=e,"string"==typeof e&&(n.CanvasId=Q(e)),n.Canvas=n.CanvasId.getContext("2d"),n.ScreenWidth=n.width=1280,n.ScreenHeight=n.height=1024,n.m.onClipboardChanged=null,n.onConsoleMessageChange=null;var s=!0,a="default";function o(e){return!0===n.m.SwapMouse?[2,0,1,0,0][e]:[1,0,2,0,0][e]}function i(e){n.State!=e&&(n.State=e,null!=n.onStateChanged&&n.onStateChanged(n,n.State))}function r(e){var t=n.Canvas.canvas.height/n.CanvasId.clientHeight,s=n.Canvas.canvas.width/n.CanvasId.clientWidth,a=function(e){var t=Array(2);for(t[0]=t[1]=0;e;)t[0]+=e.offsetLeft,t[1]+=e.offsetTop,e=e.offsetParent;return t}(n.Canvas.canvas),o=(e.pageX-a[0])*s,i=(e.pageY-a[1])*t;return e.addx&&(o+=e.addx),e.addy&&(i+=e.addy),{x:o,y:i}}n.mouseCursorActive=function(e){s!=e&&(s=e,n.CanvasId.style.cursor=1==e?a:"default")},n.Start=function(e,o,r){i(1),n.nodeid=e,n.port=o,n.credentials=r;var c={savepass:r.savecred,useServerCreds:r.servercred,width:r.width,height:r.height,flags:r.flags,workingDir:r.workdir,alternateShell:r.altshell};r.width&&r.height&&(c.width=n.ScreenWidth=n.width=r.width,c.height=n.ScreenHeight=n.height=r.height,delete r.width,delete r.height),n.render=new Mstsc.Canvas.create(n.canvas),n.socket=new WebSocket("wss://"+window.location.host+t+"mstscrelay.ashx"),n.socket.binaryType="arraybuffer",n.socket.onopen=function(){i(2),n.socket.send(JSON.stringify(["infos",{ip:n.nodeid,port:n.port,screen:{width:n.width,height:n.height},domain:r.domain,username:r.username,password:r.password,options:c,locale:Mstsc.locale()}]))},n.socket.onmessage=function(e){if("string"==typeof e.data){var t=JSON.parse(e.data);switch(t[0]){case"rdp-connect":i(3),n.rotation=0,n.Canvas.setTransform(1,0,0,1,0,0),n.Canvas.canvas.width=n.ScreenWidth,n.Canvas.canvas.height=n.ScreenHeight,n.Canvas.fillRect(0,0,n.ScreenWidth,n.ScreenHeight),null!=n.m.onScreenSizeChange&&n.m.onScreenSizeChange(n,n.ScreenWidth,n.ScreenHeight,n.CanvasId);break;case"rdp-bitmap":if(null==n.bitmapData)break;var o=t[1];o.data=n.bitmapData,delete n.bitmapData,n.render.update(o);break;case"rdp-pointer":var r=t[1];a=r,s&&(n.CanvasId.style.cursor=r);break;case"rdp-close":n.Stop();break;case"rdp-error":switch(n.consoleMessageTimeout=5,n.consoleMessage=t[1],delete n.consoleMessageArgs,t.length>2&&(n.consoleMessageArgs=[t[2]]),t[1]){case"NODE_RDP_PROTOCOL_X224_NEG_FAILURE":1==t[2]?n.consoleMessageId=9:2==t[2]?n.consoleMessageId=10:3==t[2]?n.consoleMessageId=11:4==t[2]?n.consoleMessageId=12:5==t[2]?n.consoleMessageId=13:6==t[2]?n.consoleMessageId=14:n.consoleMessageId=7;break;case"NODE_RDP_PROTOCOL_X224_NLA_NOT_SUPPORTED":n.consoleMessageId=8;break;default:n.consoleMessageId=null}n.onConsoleMessageChange&&n.onConsoleMessageChange(),n.Stop();break;case"rdp-clipboard":n.lastClipboardContent=t[1],n.m.onClipboardChanged&&n.m.onClipboardChanged(t[1]);break;case"ping":n.socket.send('["pong"]')}}else n.bitmapData=e.data},n.socket.onclose=function(){i(0)},i(1)},n.Stop=function(){n.Canvas.fillRect(0,0,n.ScreenWidth,n.ScreenHeight),n.socket&&n.socket.close()},n.m.setClipboard=function(e){n.socket&&n.socket.send(JSON.stringify(["clipboard",e]))},n.m.getClipboard=function(){return n.lastClipboardContent},n.m.mousemove=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight))return n.mouseNagleData=["mouse",t.x,t.y,0,!1],null==n.mouseNagleTimer&&(n.mouseNagleTimer=setTimeout(function(){n.socket.send(JSON.stringify(n.mouseNagleData)),n.mouseNagleTimer=null},50)),e.preventDefault(),!1}},n.m.mouseup=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight))return null!=n.mouseNagleTimer&&(clearTimeout(n.mouseNagleTimer),n.mouseNagleTimer=null),n.socket.send(JSON.stringify(["mouse",t.x,t.y,o(e.button),!1])),e.preventDefault(),!1}},n.m.mousedown=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight))return null!=n.mouseNagleTimer&&(clearTimeout(n.mouseNagleTimer),n.mouseNagleTimer=null),n.socket.send(JSON.stringify(["mouse",t.x,t.y,o(e.button),!0])),e.preventDefault(),!1}},n.m.handleKeyUp=function(e){if(n.socket&&3==n.State)return n.socket.send(JSON.stringify(["scancode",Mstsc.scancode(e),!1])),e.preventDefault(),!1},n.m.handleKeyDown=function(e){if(n.socket&&3==n.State)return n.socket.send(JSON.stringify(["scancode",Mstsc.scancode(e),!0])),e.preventDefault(),!1},n.m.mousewheel=function(e){if(n.socket&&3==n.State){var t=r(e);if(!(t.x<0||t.y<0||t.x>n.ScreenWidth||t.y>n.ScreenHeight)){null!=n.mouseNagleTimer&&(clearTimeout(n.mouseNagleTimer),n.mouseNagleTimer=null);var s=0;return e.detail?s=120*e.detail:e.wheelDelta&&(s=3*e.wheelDelta),n.m.ReverseMouseWheel&&(s*=-1),0!=s&&n.socket.send(JSON.stringify(["wheel",t.x,t.y,s,!1,!1])),e.preventDefault(),!1}}},n.m.SendStringUnicode=function(e){n.socket&&3==n.State&&n.socket.send(JSON.stringify(["utype",e]))},n.m.SendKeyMsgKC=function(e,t,s){if(3==n.State)if("object"==typeof e)for(var a in e)n.m.SendKeyMsgKC(e[a][0],e[a][1],e[a][2]);else{var o=c[t];null!=o&&n.socket.send(JSON.stringify(["scancode",o,!!(1&e)]))}},n.m.mousedblclick=function(){},n.m.handleKeyPress=function(){},n.m.setRotation=function(){},n.m.sendcad=function(){n.socket.send(JSON.stringify(["scancode",29,!0])),n.socket.send(JSON.stringify(["scancode",56,!0])),n.socket.send(JSON.stringify(["scancode",57427,!0])),n.socket.send(JSON.stringify(["scancode",57427,!1])),n.socket.send(JSON.stringify(["scancode",56,!1])),n.socket.send(JSON.stringify(["scancode",29,!1]))};var c={9:15,16:42,17:29,18:56,27:1,33:57417,34:57425,35:57423,36:57415,37:57419,38:57416,39:57421,40:57424,44:57399,45:57426,46:57427,65:30,66:48,67:46,68:32,69:18,70:33,71:34,72:35,73:23,74:36,75:37,76:38,77:50,78:49,79:24,80:25,81:16,82:19,83:31,84:20,85:22,86:47,87:17,88:45,89:21,90:44,91:57435,112:59,113:60,114:61,115:62,116:63,117:64,118:65,119:66,120:67,121:68,122:87,123:88};return n} \ No newline at end of file diff --git a/public/scripts/agent-redir-ws-0.1.1-min.js b/public/scripts/agent-redir-ws-0.1.1-min.js index fa09be3c..22dbec5b 100644 --- a/public/scripts/agent-redir-ws-0.1.1-min.js +++ b/public/scripts/agent-redir-ws-0.1.1-min.js @@ -1 +1 @@ -var CreateAgentRedirect=function(e,t,n,a,o,c){var r={};function l(){1==r.webSwitchOk&&1==r.webRtcActive&&(r.latency.current=-1,r.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc0"}'),r.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc1"}'),null!=r.onStateChanged&&r.onStateChanged(r,r.State))}r.m=t,t.parent=r,r.meshserver=e,r.authCookie=a,r.rauthCookie=o,r.State=0,r.nodeid=null,r.options=null,r.socket=null,r.connectstate=-1,r.tunnelid=Math.random().toString(36).substring(2),r.protocol=t.protocol,r.onStateChanged=null,r.ctrlMsgAllowed=!0,r.attemptWebRTC=!1,r.webRtcActive=!1,r.webrtcconfig=null,r.webSwitchOk=!1,r.webchannel=null,r.webrtc=null,r.debugmode=0,r.serverIsRecording=!1,r.urlname="meshrelay.ashx",r.latency={lastSend:null,current:-1,callback:null},null==c&&(c="/"),r.consoleMessage=null,r.onConsoleMessageChange=null,r.metadata=null,r.onMetadataChange=null,r.Start=function(e){var t=window.location.protocol.replace("http","ws")+"//"+window.location.host+window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"+r.urlname+"?browser=1&p="+r.protocol+(e?"&nodeid="+e:"")+"&id="+r.tunnelid;if(null!=a&&""!=a&&(t+="&auth="+a),null!=urlargs&&null!=urlargs.slowrelay&&(t+="&slowrelay="+urlargs.slowrelay),r.nodeid=e,r.connectstate=0,r.socket=new WebSocket(t),r.socket.binaryType="arraybuffer",r.socket.onopen=r.xxOnSocketConnected,r.socket.onmessage=r.xxOnMessage,r.socket.onerror=function(e){},r.socket.onclose=r.xxOnSocketClosed,r.xxStateChange(1),null!=r.meshserver){var n="*"+c+"meshrelay.ashx?p="+r.protocol+"&nodeid="+e+"&id="+r.tunnelid;null!=o&&""!=o&&(n+="&rauth="+o),r.meshserver.send({action:"msg",type:"tunnel",nodeid:r.nodeid,value:n,usage:r.protocol})}},r.xxOnSocketConnected=function(){1==r.debugmode&&console.log("onSocketConnected"),r.latency.lastSend||(r.latency.lastSend=setInterval((function(){-1==r.latency.current?(clearInterval(r.latency.lastSend),r.latency.lastSend=null):r.sendCtrlMsg(JSON.stringify({ctrlChannel:102938,type:"rtt",time:(new Date).getTime()}))}),1e4)),r.sendCtrlMsg(JSON.stringify({ctrlChannel:102938,type:"rtt",time:(new Date).getTime()})),r.xxStateChange(2)},r.xxOnControlCommand=function(e){var t;try{t=JSON.parse(e)}catch(e){return}"102938"==t.ctrlChannel?("undefined"!=typeof args&&args.redirtrace&&console.log("RedirRecv",t),"console"==t.type?r.setConsoleMessage(t.msg,t.msgid,t.msgargs,t.timeout):"metadata"==t.type?(r.metadata=t,r.onMetadataChange&&r.onMetadataChange(r.metadata)):"rtt"==t.type&&"number"==typeof t.time?(r.latency.current=(new Date).getTime()-t.time,null!=r.latency.callback&&r.latency.callback(r.latency.current)):null!=r.webrtc?"answer"==t.type?r.webrtc.setRemoteDescription(new RTCSessionDescription(t),(function(){}),r.xxCloseWebRTC):"webrtc0"==t.type?(r.webSwitchOk=!0,l()):"webrtc1"==t.type?r.sendCtrlMsg('{"ctrlChannel":"102938","type":"webrtc2"}'):t.type:"ping"==t.type&&r.sendCtrlMsg('{"ctrlChannel":"102938","type":"pong"}')):r.m.ProcessData?r.m.ProcessData(e):console.log(e)},r.setConsoleMessage=function(e,t,n,a){r.consoleMessage!=e&&(r.consoleMessage=e,r.consoleMessageId=t,r.consoleMessageArgs=n,r.consoleMessageTimeout=a,r.onConsoleMessageChange&&r.onConsoleMessageChange(r,r.consoleMessage,r.consoleMessageId))},r.sendCtrlMsg=function(e){if(1==r.ctrlMsgAllowed){"undefined"!=typeof args&&args.redirtrace&&console.log("RedirSend",typeof e,e);try{r.socket.send(e)}catch(e){}}},r.xxOnMessage=function(e){if(r.State<3&&("c"==e.data||"cr"==e.data)){if("cr"==e.data&&(r.serverIsRecording=!0),null!=r.options){delete r.options.action,r.options.type="options";try{r.sendCtrlMsg(JSON.stringify(r.options))}catch(e){}}try{r.socket.send(r.protocol)}catch(e){}if(r.xxStateChange(3),1==r.attemptWebRTC){var t=r.webrtcconfig;"undefined"!=typeof RTCPeerConnection?r.webrtc=new RTCPeerConnection(t):"undefined"!=typeof webkitRTCPeerConnection&&(r.webrtc=new webkitRTCPeerConnection(t)),null!=r.webrtc&&r.webrtc.createDataChannel&&(r.webchannel=r.webrtc.createDataChannel("DataChannel",{}),r.webchannel.binaryType="arraybuffer",r.webchannel.onmessage=r.xxOnMessage,r.webchannel.onopen=function(){r.webRtcActive=!0,l()},r.webchannel.onclose=function(e){r.webRtcActive&&r.Stop()},r.webrtc.onicecandidate=function(e){if(null==e.candidate)try{r.sendCtrlMsg(JSON.stringify(r.webrtcoffer))}catch(e){}else r.webrtcoffer.sdp+="a="+e.candidate.candidate+"\r\n"},r.webrtc.oniceconnectionstatechange=function(){null!=r.webrtc&&("disconnected"==r.webrtc.iceConnectionState?1==r.webRtcActive?r.Stop():r.xxCloseWebRTC():"failed"==r.webrtc.iceConnectionState&&r.xxCloseWebRTC())},r.webrtc.createOffer((function(e){r.webrtcoffer=e,r.webrtc.setLocalDescription(e,(function(){}),r.xxCloseWebRTC)}),r.xxCloseWebRTC,{mandatory:{OfferToReceiveAudio:!1,OfferToReceiveVideo:!1}}))}}else if("string"==typeof e.data)"~"==e.data[0]?r.m.ProcessData(e.data):r.xxOnControlCommand(e.data);else if(r.m.ProcessBinaryCommand){if(0==d&&e.data.byteLength<4)return;if(0!=d){var n=new Uint8Array(e.data);if(g.push(n),d+=n.byteLength,i<=d){var a=new Uint8Array(d),o=0;for(var c in g)a.set(g[c],o),o+=g[c].byteLength;r.m.ProcessBinaryCommand(s,i,a),s=0,i=0,d=0,g=[]}}else{var u=((n=new Uint8Array(e.data))[0]<<8)+n[1],f=(n[2]<<8)+n[3];27==u&&8==f&&(u=(n[8]<<8)+n[9],f=(n[5]<<16)+(n[6]<<8)+n[7],n=n.slice(8)),f!=n.byteLength?(s=u,i=f,d=n.byteLength,g=[n]):r.m.ProcessBinaryCommand(u,f,n)}}else if(r.m.ProcessBinaryData)r.m.ProcessBinaryData(new Uint8Array(e.data));else if(e.data.byteLength<16e3)r.m.ProcessData(String.fromCharCode.apply(null,new Uint8Array(e.data)));else{var b=new Blob([new Uint8Array(e.data)]),y=new FileReader;y.onload=function(e){r.m.ProcessData(e.target.result)},y.readAsBinaryString(b)}};var s=0,i=0,d=0,g=[];return r.sendText=function(e){"string"!=typeof e&&(e=JSON.stringify(e)),r.send(encode_utf8(e))},r.send=function(e){"undefined"!=typeof args&&args.redirtrace&&console.log("RedirSend",typeof e,e.length,"{"==e[0]?e:rstr2hex(e).substring(0,64));try{if(null!=r.socket&&r.socket.readyState==WebSocket.OPEN)if("string"==typeof e)if(1==r.debugmode){for(var t=new Uint8Array(e.length),n=[],a=0;a=t.MaxActiveEnumsCount||0==t.PendingEnums.length)){var n=t.PendingEnums.shift();t.Enum(n[0],n[1],n[2]),c(0)}}function a(e,n,i,r,c,s,u){t.PendingBatchOperations-=2;var d=n.shift(),S=t.Enum;"*"==d[0]&&(S=t.Get,d=d.substring(1)),S(d,(function(c,d,S,A,_){_[2][d]={response:null==S?null:S.Body,responses:S,status:A},0==_[1].length||401==A||1!=s&&200!=A&&400!=A?(t.PendingBatchOperations-=2*n.length,o(),i(t,e,_[2],A,r)):(o(),a(e,n,i,r,_[2],u))}),[e,n,c],u),o()}function s(e){e.names.length<=e.current?e.callback(t,e.name,e.responses,200,e.tag):(t.wsman.ExecGet(t.CompleteName(e.names[e.current]),(function(n,i,o,r){!function(e,n,i){null==n||200!=i?e.callback(t,e.name,null,i,e.tag):(e.responses[n.Header.Method]=n,s(e))}(e,o,r)}),e.pri),e.current++),o()}function u(e,n,i,o,r){200==o&&"0"==i.Body.ReturnValue?t.AMT_MessageLog_GetRecords(i.Body.IterationIdentifier,390,d,r):r[0](t,null,r[2])}function d(e,n,i,o,r){if(200==o&&"0"==i.Body.ReturnValue){var c,a,s,u,S,A=r[2],E=new Date,C=i.Body.RecordArray;for(c in"string"==typeof C&&(i.Body.RecordArray=[i.Body.RecordArray]),C){u=null;try{u=window.atob(C[c])}catch(e){}if(null!=u&&(S=ReadIntX(u,0))>0&&S<4294967295){for(s={DeviceAddress:u.charCodeAt(4),EventSensorType:u.charCodeAt(5),EventType:u.charCodeAt(6),EventOffset:u.charCodeAt(7),EventSourceType:u.charCodeAt(8),EventSeverity:u.charCodeAt(9),SensorNumber:u.charCodeAt(10),Entity:u.charCodeAt(11),EntityInstance:u.charCodeAt(12),EventData:[],Time:new Date(1e3*(S+60*E.getTimezoneOffset()))},a=13;a<21;a++)s.EventData.push(u.charCodeAt(a));s.EntityStr=_[s.Entity],s.Desc=l(s.EventSensorType,s.EventOffset,s.EventData,s.Entity),s.EntityStr||(s.EntityStr="Unknown"),A.push(s)}}1!=i.Body.NoMoreRecords?t.AMT_MessageLog_GetRecords(i.Body.IterationIdentifier,390,d,[r[0],A,r[2]]):r[0](t,A,r[2])}else r[0](t,null,r[2])}t.GetPendingActions=function(){return 2*t.PendingEnums.length+t.ActiveEnumsCount+t.wsman.comm.PendingAjax.length+t.wsman.comm.ActiveAjaxCount+t.PendingBatchOperations},t.Subscribe=function(e,n,i,r,c,a,s,u,d,S){t.wsman.ExecSubscribe(t.CompleteName(e),n,i,(function(n,i,a,s){o(),r(t,e,a,s,c)}),0,a,s,u,d,S),o()},t.UnSubscribe=function(e,n,i,r,c){t.wsman.ExecUnSubscribe(t.CompleteName(e),(function(r,c,a,s){o(),n(t,e,a,s,i)}),0,r,c),o()},t.Get=function(e,n,i,r){t.wsman.ExecGet(t.CompleteName(e),(function(r,c,a,s){o(),n(t,e,a,s,i)}),0,r),o()},t.Put=function(e,n,i,r,c,a){t.wsman.ExecPut(t.CompleteName(e),n,(function(n,c,a,s){o(),i(t,e,a,s,r)}),0,c,a),o()},t.Create=function(e,n,i,r,c){t.wsman.ExecCreate(t.CompleteName(e),n,(function(n,c,a,s){o(),i(t,e,a,s,r)}),0,c),o()},t.Delete=function(e,n,i,r,c){t.wsman.ExecDelete(t.CompleteName(e),n,(function(n,c,a,s){o(),i(t,e,a,s,r)}),0,c),o()},t.Exec=function(e,n,i,r,c,a,s){t.wsman.ExecMethod(t.CompleteName(e),n,i,(function(n,i,a,s){o(),r(t,e,t.CompleteExecResponse(a),s,c)}),0,a,s),o()},t.ExecWithXml=function(e,n,i,r,c,a,s){t.wsman.ExecMethodXml(t.CompleteName(e),n,execArgumentsToXml(i),(function(n,i,a,s){o(),r(t,e,t.CompleteExecResponse(a),s,c)}),0,a,s),o()},t.Enum=function(e,n,i,a){t.ActiveEnumsCounthttp://schemas.xmlsoap.org/ws/2004/08/addressinghttp://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ComputerSystemCIM_ComputerSystemManagedSystem',null,null,n)},t.SetBootConfigRole=function(e,n){t.CIM_BootService_SetBootConfigRole('

http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootConfigSettingIntel(r) AMT: Boot Configuration 0',e,n)},t.CancelAllQueries=function(e){t.wsman.CancelAllQueries(e)},t.AMT_AgentPresenceWatchdog_RegisterAgent=function(e){t.Exec("AMT_AgentPresenceWatchdog","RegisterAgent",{},e)},t.AMT_AgentPresenceWatchdog_AssertPresence=function(e,n){t.Exec("AMT_AgentPresenceWatchdog","AssertPresence",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdog_AssertShutdown=function(e,n){t.Exec("AMT_AgentPresenceWatchdog","AssertShutdown",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdog_AddAction=function(e,n,i,o,r,c,a,s,u){t.Exec("AMT_AgentPresenceWatchdog","AddAction",{OldState:e,NewState:n,EventOnTransition:i,ActionSd:o,ActionEac:r},c,a,s,u)},t.AMT_AgentPresenceWatchdog_DeleteAllActions=function(e,n,i,o){t.Exec("AMT_AgentPresenceWatchdog","DeleteAllActions",{},e,n,i,o)},t.AMT_AgentPresenceWatchdogAction_GetActionEac=function(e){t.Exec("AMT_AgentPresenceWatchdogAction","GetActionEac",{},e)},t.AMT_AgentPresenceWatchdogVA_RegisterAgent=function(e){t.Exec("AMT_AgentPresenceWatchdogVA","RegisterAgent",{},e)},t.AMT_AgentPresenceWatchdogVA_AssertPresence=function(e,n){t.Exec("AMT_AgentPresenceWatchdogVA","AssertPresence",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdogVA_AssertShutdown=function(e,n){t.Exec("AMT_AgentPresenceWatchdogVA","AssertShutdown",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdogVA_AddAction=function(e,n,i,o,r,c){t.Exec("AMT_AgentPresenceWatchdogVA","AddAction",{OldState:e,NewState:n,EventOnTransition:i,ActionSd:o,ActionEac:r},c)},t.AMT_AgentPresenceWatchdogVA_DeleteAllActions=function(e,n){t.Exec("AMT_AgentPresenceWatchdogVA","DeleteAllActions",{_method_dummy:e},n)},t.AMT_AuditLog_ClearLog=function(e){t.Exec("AMT_AuditLog","ClearLog",{},e)},t.AMT_AuditLog_RequestStateChange=function(e,n,i){t.Exec("AMT_AuditLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_AuditLog_ReadRecords=function(e,n,i){t.Exec("AMT_AuditLog","ReadRecords",{StartIndex:e},n,i)},t.AMT_AuditLog_SetAuditLock=function(e,n,i,o){t.Exec("AMT_AuditLog","SetAuditLock",{LockTimeoutInSeconds:e,Flag:n,Handle:i},o)},t.AMT_AuditLog_ExportAuditLogSignature=function(e,n){t.Exec("AMT_AuditLog","ExportAuditLogSignature",{SigningMechanism:e},n)},t.AMT_AuditLog_SetSigningKeyMaterial=function(e,n,i,o,r){t.Exec("AMT_AuditLog","SetSigningKeyMaterial",{SigningMechanismType:e,SigningKey:n,LengthOfCertificates:i,Certificates:o},r)},t.AMT_AuditPolicyRule_SetAuditPolicy=function(e,n,i,o,r){t.Exec("AMT_AuditPolicyRule","SetAuditPolicy",{Enable:e,AuditedAppID:n,EventID:i,PolicyType:o},r)},t.AMT_AuditPolicyRule_SetAuditPolicyBulk=function(e,n,i,o,r){t.Exec("AMT_AuditPolicyRule","SetAuditPolicyBulk",{Enable:e,AuditedAppID:n,EventID:i,PolicyType:o},r)},t.AMT_AuthorizationService_AddUserAclEntryEx=function(e,n,i,o,r,c){t.Exec("AMT_AuthorizationService","AddUserAclEntryEx",{DigestUsername:e,DigestPassword:n,KerberosUserSid:i,AccessPermission:o,Realms:r},c)},t.AMT_AuthorizationService_EnumerateUserAclEntries=function(e,n){t.Exec("AMT_AuthorizationService","EnumerateUserAclEntries",{StartIndex:e},n)},t.AMT_AuthorizationService_GetUserAclEntryEx=function(e,n,i){t.Exec("AMT_AuthorizationService","GetUserAclEntryEx",{Handle:e},n,i)},t.AMT_AuthorizationService_UpdateUserAclEntryEx=function(e,n,i,o,r,c,a){t.Exec("AMT_AuthorizationService","UpdateUserAclEntryEx",{Handle:e,DigestUsername:n,DigestPassword:i,KerberosUserSid:o,AccessPermission:r,Realms:c},a)},t.AMT_AuthorizationService_RemoveUserAclEntry=function(e,n){t.Exec("AMT_AuthorizationService","RemoveUserAclEntry",{Handle:e},n)},t.AMT_AuthorizationService_SetAdminAclEntryEx=function(e,n,i){t.Exec("AMT_AuthorizationService","SetAdminAclEntryEx",{Username:e,DigestPassword:n},i)},t.AMT_AuthorizationService_GetAdminAclEntry=function(e){t.Exec("AMT_AuthorizationService","GetAdminAclEntry",{},e)},t.AMT_AuthorizationService_GetAdminAclEntryStatus=function(e){t.Exec("AMT_AuthorizationService","GetAdminAclEntryStatus",{},e)},t.AMT_AuthorizationService_GetAdminNetAclEntryStatus=function(e){t.Exec("AMT_AuthorizationService","GetAdminNetAclEntryStatus",{},e)},t.AMT_AuthorizationService_SetAclEnabledState=function(e,n,i,o){t.Exec("AMT_AuthorizationService","SetAclEnabledState",{Handle:e,Enabled:n},i,o)},t.AMT_AuthorizationService_GetAclEnabledState=function(e,n,i){t.Exec("AMT_AuthorizationService","GetAclEnabledState",{Handle:e},n,i)},t.AMT_EndpointAccessControlService_RequestStateChange=function(e,n,i){t.Exec("AMT_EndpointAccessControlService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_EndpointAccessControlService_GetPosture=function(e,n){t.Exec("AMT_EndpointAccessControlService","GetPosture",{PostureType:e},n)},t.AMT_EndpointAccessControlService_GetPostureHash=function(e,n){t.Exec("AMT_EndpointAccessControlService","GetPostureHash",{PostureType:e},n)},t.AMT_EndpointAccessControlService_UpdatePostureState=function(e,n){t.Exec("AMT_EndpointAccessControlService","UpdatePostureState",{UpdateType:e},n)},t.AMT_EndpointAccessControlService_GetEacOptions=function(e){t.Exec("AMT_EndpointAccessControlService","GetEacOptions",{},e)},t.AMT_EndpointAccessControlService_SetEacOptions=function(e,n,i){t.Exec("AMT_EndpointAccessControlService","SetEacOptions",{EacVendors:e,PostureHashAlgorithm:n},i)},t.AMT_EnvironmentDetectionSettingData_SetSystemDefensePolicy=function(e,n){t.Exec("AMT_EnvironmentDetectionSettingData","SetSystemDefensePolicy",{Policy:e},n)},t.AMT_EnvironmentDetectionSettingData_EnableVpnRouting=function(e,n){t.Exec("AMT_EnvironmentDetectionSettingData","EnableVpnRouting",{Enable:e},n)},t.AMT_EthernetPortSettings_SetLinkPreference=function(e,n,i){t.Exec("AMT_EthernetPortSettings","SetLinkPreference",{LinkPreference:e,Timeout:n},i)},t.AMT_HeuristicPacketFilterStatistics_ResetSelectedStats=function(e,n){t.Exec("AMT_HeuristicPacketFilterStatistics","ResetSelectedStats",{SelectedStatistics:e},n)},t.AMT_KerberosSettingData_GetCredentialCacheState=function(e){t.Exec("AMT_KerberosSettingData","GetCredentialCacheState",{},e)},t.AMT_KerberosSettingData_SetCredentialCacheState=function(e,n){t.Exec("AMT_KerberosSettingData","SetCredentialCacheState",{Enable:e},n)},t.AMT_MessageLog_CancelIteration=function(e,n){t.Exec("AMT_MessageLog","CancelIteration",{IterationIdentifier:e},n)},t.AMT_MessageLog_RequestStateChange=function(e,n,i){t.Exec("AMT_MessageLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_MessageLog_ClearLog=function(e){t.Exec("AMT_MessageLog","ClearLog",{},e)},t.AMT_MessageLog_GetRecords=function(e,n,i,o){t.Exec("AMT_MessageLog","GetRecords",{IterationIdentifier:e,MaxReadRecords:n},i,o)},t.AMT_MessageLog_GetRecord=function(e,n,i){t.Exec("AMT_MessageLog","GetRecord",{IterationIdentifier:e,PositionToNext:n},i)},t.AMT_MessageLog_PositionAtRecord=function(e,n,i,o){t.Exec("AMT_MessageLog","PositionAtRecord",{IterationIdentifier:e,MoveAbsolute:n,RecordNumber:i},o)},t.AMT_MessageLog_PositionToFirstRecord=function(e,n){t.Exec("AMT_MessageLog","PositionToFirstRecord",{},e,n)},t.AMT_MessageLog_FreezeLog=function(e,n){t.Exec("AMT_MessageLog","FreezeLog",{Freeze:e},n)},t.AMT_PublicKeyManagementService_AddCRL=function(e,n,i){t.Exec("AMT_PublicKeyManagementService","AddCRL",{Url:e,SerialNumbers:n},i)},t.AMT_PublicKeyManagementService_ResetCRLList=function(e,n){t.Exec("AMT_PublicKeyManagementService","ResetCRLList",{_method_dummy:e},n)},t.AMT_PublicKeyManagementService_AddCertificate=function(e,n){t.Exec("AMT_PublicKeyManagementService","AddCertificate",{CertificateBlob:e},n)},t.AMT_PublicKeyManagementService_AddTrustedRootCertificate=function(e,n){t.Exec("AMT_PublicKeyManagementService","AddTrustedRootCertificate",{CertificateBlob:e},n)},t.AMT_PublicKeyManagementService_AddKey=function(e,n){t.Exec("AMT_PublicKeyManagementService","AddKey",{KeyBlob:e},n)},t.AMT_PublicKeyManagementService_GeneratePKCS10Request=function(e,n,i,o){t.Exec("AMT_PublicKeyManagementService","GeneratePKCS10Request",{KeyPair:e,DNName:n,Usage:i},o)},t.AMT_PublicKeyManagementService_GeneratePKCS10RequestEx=function(e,n,i,o){t.Exec("AMT_PublicKeyManagementService","GeneratePKCS10RequestEx",{KeyPair:e,SigningAlgorithm:n,NullSignedCertificateRequest:i},o)},t.AMT_PublicKeyManagementService_GenerateKeyPair=function(e,n,i){t.Exec("AMT_PublicKeyManagementService","GenerateKeyPair",{KeyAlgorithm:e,KeyLength:n},i)},t.AMT_RedirectionService_RequestStateChange=function(e,n){t.Exec("AMT_RedirectionService","RequestStateChange",{RequestedState:e},n)},t.AMT_RedirectionService_TerminateSession=function(e,n){t.Exec("AMT_RedirectionService","TerminateSession",{SessionType:e},n)},t.AMT_RemoteAccessService_AddMpServer=function(e,n,i,o,r,c,a,s,u){t.Exec("AMT_RemoteAccessService","AddMpServer",{AccessInfo:e,InfoFormat:n,Port:i,AuthMethod:o,Certificate:r,Username:c,Password:a,CN:s},u)},t.AMT_RemoteAccessService_AddRemoteAccessPolicyRule=function(e,n,i,o,r){t.Exec("AMT_RemoteAccessService","AddRemoteAccessPolicyRule",{Trigger:e,TunnelLifeTime:n,ExtendedData:i,MpServer:o},r)},t.AMT_RemoteAccessService_CloseRemoteAccessConnection=function(e,n){t.Exec("AMT_RemoteAccessService","CloseRemoteAccessConnection",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_CommitChanges=function(e,n){t.Exec("AMT_SetupAndConfigurationService","CommitChanges",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_Unprovision=function(e,n){t.Exec("AMT_SetupAndConfigurationService","Unprovision",{ProvisioningMode:e},n)},t.AMT_SetupAndConfigurationService_PartialUnprovision=function(e,n){t.Exec("AMT_SetupAndConfigurationService","PartialUnprovision",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_ResetFlashWearOutProtection=function(e,n){t.Exec("AMT_SetupAndConfigurationService","ResetFlashWearOutProtection",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_ExtendProvisioningPeriod=function(e,n){t.Exec("AMT_SetupAndConfigurationService","ExtendProvisioningPeriod",{Duration:e},n)},t.AMT_SetupAndConfigurationService_SetMEBxPassword=function(e,n){t.Exec("AMT_SetupAndConfigurationService","SetMEBxPassword",{Password:e},n)},t.AMT_SetupAndConfigurationService_SetTLSPSK=function(e,n,i){t.Exec("AMT_SetupAndConfigurationService","SetTLSPSK",{PID:e,PPS:n},i)},t.AMT_SetupAndConfigurationService_GetProvisioningAuditRecord=function(e){t.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecord",{},e)},t.AMT_SetupAndConfigurationService_GetUuid=function(e){t.Exec("AMT_SetupAndConfigurationService","GetUuid",{},e)},t.AMT_SetupAndConfigurationService_GetUnprovisionBlockingComponents=function(e){t.Exec("AMT_SetupAndConfigurationService","GetUnprovisionBlockingComponents",{},e)},t.AMT_SetupAndConfigurationService_GetProvisioningAuditRecordV2=function(e){t.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecordV2",{},e)},t.AMT_SystemDefensePolicy_GetTimeout=function(e){t.Exec("AMT_SystemDefensePolicy","GetTimeout",{},e)},t.AMT_SystemDefensePolicy_SetTimeout=function(e,n){t.Exec("AMT_SystemDefensePolicy","SetTimeout",{Timeout:e},n)},t.AMT_SystemDefensePolicy_UpdateStatistics=function(e,n,i,o,r,c){t.Exec("AMT_SystemDefensePolicy","UpdateStatistics",{NetworkInterface:e,ResetOnRead:n},i,o,r,c)},t.AMT_SystemPowerScheme_SetPowerScheme=function(e,n,i){t.Exec("AMT_SystemPowerScheme","SetPowerScheme",{},e,i,0,{InstanceID:n})},t.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch=function(e,n){t.Exec("AMT_TimeSynchronizationService","GetLowAccuracyTimeSynch",{},e,n)},t.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch=function(e,n,i,o,r){t.Exec("AMT_TimeSynchronizationService","SetHighAccuracyTimeSynch",{Ta0:e,Tm1:n,Tm2:i},o,r)},t.AMT_UserInitiatedConnectionService_RequestStateChange=function(e,n,i){t.Exec("AMT_UserInitiatedConnectionService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_WebUIService_RequestStateChange=function(e,n,i){t.Exec("AMT_WebUIService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_WiFiPortConfigurationService_AddWiFiSettings=function(e,n,i,o,r,c){t.ExecWithXml("AMT_WiFiPortConfigurationService","AddWiFiSettings",{WiFiEndpoint:e,WiFiEndpointSettingsInput:n,IEEE8021xSettingsInput:i,ClientCredential:o,CACredential:r},c)},t.AMT_WiFiPortConfigurationService_UpdateWiFiSettings=function(e,n,i,o,r,c){t.ExecWithXml("AMT_WiFiPortConfigurationService","UpdateWiFiSettings",{WiFiEndpointSettings:e,WiFiEndpointSettingsInput:n,IEEE8021xSettingsInput:i,ClientCredential:o,CACredential:r},c)},t.AMT_WiFiPortConfigurationService_DeleteAllITProfiles=function(e,n){t.Exec("AMT_WiFiPortConfigurationService","DeleteAllITProfiles",{_method_dummy:e},n)},t.AMT_WiFiPortConfigurationService_DeleteAllUserProfiles=function(e,n){t.Exec("AMT_WiFiPortConfigurationService","DeleteAllUserProfiles",{_method_dummy:e},n)},t.CIM_Account_RequestStateChange=function(e,n,i){t.Exec("CIM_Account","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_AccountManagementService_CreateAccount=function(e,n,i){t.Exec("CIM_AccountManagementService","CreateAccount",{System:e,AccountTemplate:n},i)},t.CIM_BootConfigSetting_ChangeBootOrder=function(e,n){t.Exec("CIM_BootConfigSetting","ChangeBootOrder",{Source:e},n)},t.CIM_BootService_SetBootConfigRole=function(e,n,i){t.Exec("CIM_BootService","SetBootConfigRole",{BootConfigSetting:e,Role:n},i,0,1)},t.CIM_Card_ConnectorPower=function(e,n,i){t.Exec("CIM_Card","ConnectorPower",{Connector:e,PoweredOn:n},i)},t.CIM_Card_IsCompatible=function(e,n){t.Exec("CIM_Card","IsCompatible",{ElementToCheck:e},n)},t.CIM_Chassis_IsCompatible=function(e,n){t.Exec("CIM_Chassis","IsCompatible",{ElementToCheck:e},n)},t.CIM_Fan_SetSpeed=function(e,n){t.Exec("CIM_Fan","SetSpeed",{DesiredSpeed:e},n)},t.CIM_KVMRedirectionSAP_RequestStateChange=function(e,n,i){t.Exec("CIM_KVMRedirectionSAP","RequestStateChange",{RequestedState:e},i)},t.CIM_MediaAccessDevice_LockMedia=function(e,n){t.Exec("CIM_MediaAccessDevice","LockMedia",{Lock:e},n)},t.CIM_MediaAccessDevice_SetPowerState=function(e,n,i){t.Exec("CIM_MediaAccessDevice","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_MediaAccessDevice_Reset=function(e){t.Exec("CIM_MediaAccessDevice","Reset",{},e)},t.CIM_MediaAccessDevice_EnableDevice=function(e,n){t.Exec("CIM_MediaAccessDevice","EnableDevice",{Enabled:e},n)},t.CIM_MediaAccessDevice_OnlineDevice=function(e,n){t.Exec("CIM_MediaAccessDevice","OnlineDevice",{Online:e},n)},t.CIM_MediaAccessDevice_QuiesceDevice=function(e,n){t.Exec("CIM_MediaAccessDevice","QuiesceDevice",{Quiesce:e},n)},t.CIM_MediaAccessDevice_SaveProperties=function(e){t.Exec("CIM_MediaAccessDevice","SaveProperties",{},e)},t.CIM_MediaAccessDevice_RestoreProperties=function(e){t.Exec("CIM_MediaAccessDevice","RestoreProperties",{},e)},t.CIM_MediaAccessDevice_RequestStateChange=function(e,n,i){t.Exec("CIM_MediaAccessDevice","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_PhysicalFrame_IsCompatible=function(e,n){t.Exec("CIM_PhysicalFrame","IsCompatible",{ElementToCheck:e},n)},t.CIM_PhysicalPackage_IsCompatible=function(e,n){t.Exec("CIM_PhysicalPackage","IsCompatible",{ElementToCheck:e},n)},t.CIM_PowerManagementService_RequestPowerStateChange=function(e,n,i,o,r){t.Exec("CIM_PowerManagementService","RequestPowerStateChange",{PowerState:e,ManagedElement:n,Time:i,TimeoutPeriod:o},r,0,1)},t.CIM_PowerSupply_SetPowerState=function(e,n,i){t.Exec("CIM_PowerSupply","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_PowerSupply_Reset=function(e){t.Exec("CIM_PowerSupply","Reset",{},e)},t.CIM_PowerSupply_EnableDevice=function(e,n){t.Exec("CIM_PowerSupply","EnableDevice",{Enabled:e},n)},t.CIM_PowerSupply_OnlineDevice=function(e,n){t.Exec("CIM_PowerSupply","OnlineDevice",{Online:e},n)},t.CIM_PowerSupply_QuiesceDevice=function(e,n){t.Exec("CIM_PowerSupply","QuiesceDevice",{Quiesce:e},n)},t.CIM_PowerSupply_SaveProperties=function(e){t.Exec("CIM_PowerSupply","SaveProperties",{},e)},t.CIM_PowerSupply_RestoreProperties=function(e){t.Exec("CIM_PowerSupply","RestoreProperties",{},e)},t.CIM_PowerSupply_RequestStateChange=function(e,n,i){t.Exec("CIM_PowerSupply","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_Processor_SetPowerState=function(e,n,i){t.Exec("CIM_Processor","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_Processor_Reset=function(e){t.Exec("CIM_Processor","Reset",{},e)},t.CIM_Processor_EnableDevice=function(e,n){t.Exec("CIM_Processor","EnableDevice",{Enabled:e},n)},t.CIM_Processor_OnlineDevice=function(e,n){t.Exec("CIM_Processor","OnlineDevice",{Online:e},n)},t.CIM_Processor_QuiesceDevice=function(e,n){t.Exec("CIM_Processor","QuiesceDevice",{Quiesce:e},n)},t.CIM_Processor_SaveProperties=function(e){t.Exec("CIM_Processor","SaveProperties",{},e)},t.CIM_Processor_RestoreProperties=function(e){t.Exec("CIM_Processor","RestoreProperties",{},e)},t.CIM_Processor_RequestStateChange=function(e,n,i){t.Exec("CIM_Processor","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_RecordLog_ClearLog=function(e){t.Exec("CIM_RecordLog","ClearLog",{},e)},t.CIM_RecordLog_RequestStateChange=function(e,n,i){t.Exec("CIM_RecordLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_RedirectionService_RequestStateChange=function(e,n,i){t.Exec("CIM_RedirectionService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_Sensor_SetPowerState=function(e,n,i){t.Exec("CIM_Sensor","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_Sensor_Reset=function(e){t.Exec("CIM_Sensor","Reset",{},e)},t.CIM_Sensor_EnableDevice=function(e,n){t.Exec("CIM_Sensor","EnableDevice",{Enabled:e},n)},t.CIM_Sensor_OnlineDevice=function(e,n){t.Exec("CIM_Sensor","OnlineDevice",{Online:e},n)},t.CIM_Sensor_QuiesceDevice=function(e,n){t.Exec("CIM_Sensor","QuiesceDevice",{Quiesce:e},n)},t.CIM_Sensor_SaveProperties=function(e){t.Exec("CIM_Sensor","SaveProperties",{},e)},t.CIM_Sensor_RestoreProperties=function(e){t.Exec("CIM_Sensor","RestoreProperties",{},e)},t.CIM_Sensor_RequestStateChange=function(e,n,i){t.Exec("CIM_Sensor","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_StatisticalData_ResetSelectedStats=function(e,n){t.Exec("CIM_StatisticalData","ResetSelectedStats",{SelectedStatistics:e},n)},t.CIM_Watchdog_KeepAlive=function(e){t.Exec("CIM_Watchdog","KeepAlive",{},e)},t.CIM_Watchdog_SetPowerState=function(e,n,i){t.Exec("CIM_Watchdog","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_Watchdog_Reset=function(e){t.Exec("CIM_Watchdog","Reset",{},e)},t.CIM_Watchdog_EnableDevice=function(e,n){t.Exec("CIM_Watchdog","EnableDevice",{Enabled:e},n)},t.CIM_Watchdog_OnlineDevice=function(e,n){t.Exec("CIM_Watchdog","OnlineDevice",{Online:e},n)},t.CIM_Watchdog_QuiesceDevice=function(e,n){t.Exec("CIM_Watchdog","QuiesceDevice",{Quiesce:e},n)},t.CIM_Watchdog_SaveProperties=function(e){t.Exec("CIM_Watchdog","SaveProperties",{},e)},t.CIM_Watchdog_RestoreProperties=function(e){t.Exec("CIM_Watchdog","RestoreProperties",{},e)},t.CIM_Watchdog_RequestStateChange=function(e,n,i){t.Exec("CIM_Watchdog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_WiFiPort_SetPowerState=function(e,n,i){t.Exec("CIM_WiFiPort","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_WiFiPort_Reset=function(e){t.Exec("CIM_WiFiPort","Reset",{},e)},t.CIM_WiFiPort_EnableDevice=function(e,n){t.Exec("CIM_WiFiPort","EnableDevice",{Enabled:e},n)},t.CIM_WiFiPort_OnlineDevice=function(e,n){t.Exec("CIM_WiFiPort","OnlineDevice",{Online:e},n)},t.CIM_WiFiPort_QuiesceDevice=function(e,n){t.Exec("CIM_WiFiPort","QuiesceDevice",{Quiesce:e},n)},t.CIM_WiFiPort_SaveProperties=function(e){t.Exec("CIM_WiFiPort","SaveProperties",{},e)},t.CIM_WiFiPort_RestoreProperties=function(e){t.Exec("CIM_WiFiPort","RestoreProperties",{},e)},t.CIM_WiFiPort_RequestStateChange=function(e,n,i){t.Exec("CIM_WiFiPort","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.IPS_HostBasedSetupService_Setup=function(e,n,i,o,r,c,a){t.Exec("IPS_HostBasedSetupService","Setup",{NetAdminPassEncryptionType:e,NetworkAdminPassword:n,McNonce:i,Certificate:o,SigningAlgorithm:r,DigitalSignature:c},a)},t.IPS_HostBasedSetupService_AddNextCertInChain=function(e,n,i,o){t.Exec("IPS_HostBasedSetupService","AddNextCertInChain",{NextCertificate:e,IsLeafCertificate:n,IsRootCertificate:i},o)},t.IPS_HostBasedSetupService_AdminSetup=function(e,n,i,o,r,c){t.Exec("IPS_HostBasedSetupService","AdminSetup",{NetAdminPassEncryptionType:e,NetworkAdminPassword:n,McNonce:i,SigningAlgorithm:o,DigitalSignature:r},c)},t.IPS_HostBasedSetupService_UpgradeClientToAdmin=function(e,n,i,o){t.Exec("IPS_HostBasedSetupService","UpgradeClientToAdmin",{McNonce:e,SigningAlgorithm:n,DigitalSignature:i},o)},t.IPS_HostBasedSetupService_DisableClientControlMode=function(e,n){t.Exec("IPS_HostBasedSetupService","DisableClientControlMode",{_method_dummy:e},n)},t.IPS_KVMRedirectionSettingData_TerminateSession=function(e){t.Exec("IPS_KVMRedirectionSettingData","TerminateSession",{},e)},t.IPS_OptInService_StartOptIn=function(e){t.Exec("IPS_OptInService","StartOptIn",{},e)},t.IPS_OptInService_CancelOptIn=function(e){t.Exec("IPS_OptInService","CancelOptIn",{},e)},t.IPS_OptInService_SendOptInCode=function(e,n){t.Exec("IPS_OptInService","SendOptInCode",{OptInCode:e},n)},t.IPS_OptInService_StartService=function(e){t.Exec("IPS_OptInService","StartService",{},e)},t.IPS_OptInService_StopService=function(e){t.Exec("IPS_OptInService","StopService",{},e)},t.IPS_OptInService_RequestStateChange=function(e,n,i){t.Exec("IPS_OptInService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.IPS_ProvisioningRecordLog_RequestStateChange=function(e,n,i){t.Exec("IPS_ProvisioningRecordLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.IPS_ProvisioningRecordLog_ClearLog=function(e,n){t.Exec("IPS_ProvisioningRecordLog","ClearLog",{_method_dummy:e},n)},t.IPS_SecIOService_RequestStateChange=function(e,n,i){t.Exec("IPS_SecIOService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AmtStatusToStr=function(e){return t.AmtStatusCodes[e]?t.AmtStatusCodes[e]:"UNKNOWN_ERROR"},t.AmtStatusCodes={0:"SUCCESS",1:"INTERNAL_ERROR",2:"NOT_READY",3:"INVALID_PT_MODE",4:"INVALID_MESSAGE_LENGTH",5:"TABLE_FINGERPRINT_NOT_AVAILABLE",6:"INTEGRITY_CHECK_FAILED",7:"UNSUPPORTED_ISVS_VERSION",8:"APPLICATION_NOT_REGISTERED",9:"INVALID_REGISTRATION_DATA",10:"APPLICATION_DOES_NOT_EXIST",11:"NOT_ENOUGH_STORAGE",12:"INVALID_NAME",13:"BLOCK_DOES_NOT_EXIST",14:"INVALID_BYTE_OFFSET",15:"INVALID_BYTE_COUNT",16:"NOT_PERMITTED",17:"NOT_OWNER",18:"BLOCK_LOCKED_BY_OTHER",19:"BLOCK_NOT_LOCKED",20:"INVALID_GROUP_PERMISSIONS",21:"GROUP_DOES_NOT_EXIST",22:"INVALID_MEMBER_COUNT",23:"MAX_LIMIT_REACHED",24:"INVALID_AUTH_TYPE",25:"AUTHENTICATION_FAILED",26:"INVALID_DHCP_MODE",27:"INVALID_IP_ADDRESS",28:"INVALID_DOMAIN_NAME",29:"UNSUPPORTED_VERSION",30:"REQUEST_UNEXPECTED",31:"INVALID_TABLE_TYPE",32:"INVALID_PROVISIONING_STATE",33:"UNSUPPORTED_OBJECT",34:"INVALID_TIME",35:"INVALID_INDEX",36:"INVALID_PARAMETER",37:"INVALID_NETMASK",38:"FLASH_WRITE_LIMIT_EXCEEDED",39:"INVALID_IMAGE_LENGTH",40:"INVALID_IMAGE_SIGNATURE",41:"PROPOSE_ANOTHER_VERSION",42:"INVALID_PID_FORMAT",43:"INVALID_PPS_FORMAT",44:"BIST_COMMAND_BLOCKED",45:"CONNECTION_FAILED",46:"CONNECTION_TOO_MANY",47:"RNG_GENERATION_IN_PROGRESS",48:"RNG_NOT_READY",49:"CERTIFICATE_NOT_READY",1024:"DISABLED_BY_POLICY",2048:"NETWORK_IF_ERROR_BASE",2049:"UNSUPPORTED_OEM_NUMBER",2050:"UNSUPPORTED_BOOT_OPTION",2051:"INVALID_COMMAND",2052:"INVALID_SPECIAL_COMMAND",2053:"INVALID_HANDLE",2054:"INVALID_PASSWORD",2055:"INVALID_REALM",2056:"STORAGE_ACL_ENTRY_IN_USE",2057:"DATA_MISSING",2058:"DUPLICATE",2059:"EVENTLOG_FROZEN",2060:"PKI_MISSING_KEYS",2061:"PKI_GENERATING_KEYS",2062:"INVALID_KEY",2063:"INVALID_CERT",2064:"CERT_KEY_NOT_MATCH",2065:"MAX_KERB_DOMAIN_REACHED",2066:"UNSUPPORTED",2067:"INVALID_PRIORITY",2068:"NOT_FOUND",2069:"INVALID_CREDENTIALS",2070:"INVALID_PASSPHRASE",2072:"NO_ASSOCIATION",2075:"AUDIT_FAIL",2076:"BLOCKING_COMPONENT",2081:"USER_CONSENT_REQUIRED",4096:"APP_INTERNAL_ERROR",4097:"NOT_INITIALIZED",4098:"LIB_VERSION_UNSUPPORTED",4099:"INVALID_PARAM",4100:"RESOURCES",4101:"HARDWARE_ACCESS_ERROR",4102:"REQUESTOR_NOT_REGISTERED",4103:"NETWORK_ERROR",4104:"PARAM_BUFFER_TOO_SHORT",4105:"COM_NOT_INITIALIZED_IN_THREAD",4106:"URL_REQUIRED"},t.GetMessageLog=function(e,n){t.AMT_MessageLog_PositionToFirstRecord(u,[e,n,[]])};"Platform firmware (e.g. BIOS)|SMI handler|ISV system management software|Alert ASIC|IPMI|BIOS vendor|System board set vendor|System integrator|Third party add-in|OSV|NIC|System management card".split("|");var S="Unspecified.|No system memory is physically installed in the system.|No usable system memory, all installed memory has experienced an unrecoverable failure.|Unrecoverable hard-disk/ATAPI/IDE device failure.|Unrecoverable system-board failure.|Unrecoverable diskette subsystem failure.|Unrecoverable hard-disk controller failure.|Unrecoverable PS/2 or USB keyboard failure.|Removable boot media not found.|Unrecoverable video controller failure.|No video device detected.|Firmware (BIOS) ROM corruption detected.|CPU voltage mismatch (processors that share same supply have mismatched voltage requirements)|CPU speed matching failure".split("|"),A="Unspecified.|Memory initialization.|Starting hard-disk initialization and test|Secondary processor(s) initialization|User authentication|User-initiated system setup|USB resource configuration|PCI resource configuration|Option ROM initialization|Video initialization|Cache initialization|SM Bus initialization|Keyboard controller initialization|Embedded controller/management controller initialization|Docking station attachment|Enabling docking station|Docking station ejection|Disabling docking station|Calling operating system wake-up vector|Starting operating system boot process|Baseboard or motherboard initialization|reserved|Floppy initialization|Keyboard test|Pointing device test|Primary processor initialization".split("|"),_="Unspecified|Other|Unknown|Processor|Disk|Peripheral|System management module|System board|Memory module|Processor module|Power supply|Add in card|Front panel board|Back panel board|Power system board|Drive backplane|System internal expansion board|Other system board|Processor board|Power unit|Power module|Power management board|Chassis back panel board|System chassis|Sub chassis|Other chassis board|Disk drive bay|Peripheral bay|Device bay|Fan cooling|Cooling unit|Cable interconnect|Memory device|System management software|BIOS|Intel(r) ME|System bus|Group|Intel(r) ME|External environment|Battery|Processing blade|Connectivity switch|Processor/memory module|I/O module|Processor I/O module|Management controller firmware|IPMI channel|PCI bus|PCI express bus|SCSI bus|SATA/SAS bus|Processor front side bus".split("|");function l(e,n,i,o){return 15==e?235==i[0]?"Invalid Data":0==n?S[i[1]]:A[i[1]]:18==e&&170==i[0]?"Agent watchdog "+char2hex(i[4])+char2hex(i[3])+char2hex(i[2])+char2hex(i[1])+"-"+char2hex(i[6])+char2hex(i[5])+"-... changed to "+t.WatchdogCurrentStates[i[7]]:6==e?"Authentication failed "+(i[1]+(i[2]<<8))+" times. The system may be under attack.":30==e?"No bootable media":32==e?"Operating system lockup or power interrupt":35==e?64==i[0]?"BIOS POST (Power On Self-Test) Watchdog Timeout.":"System boot failure":37==e?"System firmware started (at least one CPU is properly executing).":"Unknown Sensor Type #"+e}t.RealmNames="||Redirection|PT Administration|Hardware Asset|Remote Control|Storage|Event Manager|Storage Admin|Agent Presence Local|Agent Presence Remote|Circuit Breaker|Network Time|General Information|Firmware Update|EIT|LocalUN|Endpoint Access Control|Endpoint Access Control Admin|Event Log Reader|Audit Log|ACL Realm|||Local System".split("|"),t.WatchdogCurrentStates={1:"Not Started",2:"Stopped",4:"Running",8:"Expired",16:"Suspended"};var E={16:"Security Admin",17:"RCO",18:"Redirection Manager",19:"Firmware Update Manager",20:"Security Audit Log",21:"Network Time",22:"Network Administration",23:"Storage Administration",24:"Event Manager",25:"Circuit Breaker Manager",26:"Agent Presence Manager",27:"Wireless Configuration",28:"EAC",29:"KVM",30:"User Opt-In Events",32:"Screen Blanking",33:"Watchdog Events",1600:"Provisioning Started",1601:"Provisioning Completed",1602:"ACL Entry Added",1603:"ACL Entry Modified",1604:"ACL Entry Removed",1605:"ACL Access with Invalid Credentials",1606:"ACL Entry State",1607:"TLS State Changed",1608:"TLS Server Certificate Set",1609:"TLS Server Certificate Remove",1610:"TLS Trusted Root Certificate Added",1611:"TLS Trusted Root Certificate Removed",1612:"TLS Preshared Key Set",1613:"Kerberos Settings Modified",1614:"Kerberos Main Key Modified",1615:"Flash Wear out Counters Reset",1616:"Power Package Modified",1617:"Set Realm Authentication Mode",1618:"Upgrade Client to Admin Control Mode",1619:"Unprovisioning Started",1700:"Performed Power Up",1701:"Performed Power Down",1702:"Performed Power Cycle",1703:"Performed Reset",1704:"Set Boot Options",1800:"IDER Session Opened",1801:"IDER Session Closed",1802:"IDER Enabled",1803:"IDER Disabled",1804:"SoL Session Opened",1805:"SoL Session Closed",1806:"SoL Enabled",1807:"SoL Disabled",1808:"KVM Session Started",1809:"KVM Session Ended",1810:"KVM Enabled",1811:"KVM Disabled",1812:"VNC Password Failed 3 Times",1900:"Firmware Updated",1901:"Firmware Update Failed",2e3:"Security Audit Log Cleared",2001:"Security Audit Policy Modified",2002:"Security Audit Log Disabled",2003:"Security Audit Log Enabled",2004:"Security Audit Log Exported",2005:"Security Audit Log Recovered",2100:"Intel® ME Time Set",2200:"TCPIP Parameters Set",2201:"Host Name Set",2202:"Domain Name Set",2203:"VLAN Parameters Set",2204:"Link Policy Set",2205:"IPv6 Parameters Set",2300:"Global Storage Attributes Set",2301:"Storage EACL Modified",2302:"Storage FPACL Modified",2303:"Storage Write Operation",2400:"Alert Subscribed",2401:"Alert Unsubscribed",2402:"Event Log Cleared",2403:"Event Log Frozen",2500:"CB Filter Added",2501:"CB Filter Removed",2502:"CB Policy Added",2503:"CB Policy Removed",2504:"CB Default Policy Set",2505:"CB Heuristics Option Set",2506:"CB Heuristics State Cleared",2600:"Agent Watchdog Added",2601:"Agent Watchdog Removed",2602:"Agent Watchdog Action Set",2700:"Wireless Profile Added",2701:"Wireless Profile Removed",2702:"Wireless Profile Updated",2800:"EAC Posture Signer SET",2801:"EAC Enabled",2802:"EAC Disabled",2803:"EAC Posture State",2804:"EAC Set Options",2900:"KVM Opt-in Enabled",2901:"KVM Opt-in Disabled",2902:"KVM Password Changed",2903:"KVM Consent Succeeded",2904:"KVM Consent Failed",3e3:"Opt-In Policy Change",3001:"Send Consent Code Event",3002:"Start Opt-In Blocked Event"};function C(e,n,i,o,r){if(200==o){var c,a,s,u,d,S=r[1],A=new Date;if(i.Body.RecordsReturned>0)for(a in i.Body.EventRecords=MakeToArray(i.Body.EventRecords),i.Body.EventRecords){s=null;try{s=window.atob(i.Body.EventRecords[a])}catch(s){console.log(s+" "+i.Body.EventRecords[a])}if((u={AuditAppID:ReadShort(s,0),EventID:ReadShort(s,2),InitiatorType:s.charCodeAt(4)}).AuditApp=E[u.AuditAppID],u.Event=E[100*u.AuditAppID+u.EventID],u.Event||(u.Event="#"+u.EventID),0==u.InitiatorType){var _=s.charCodeAt(5);u.Initiator=s.substring(6,6+_),c=6+_}if(1==u.InitiatorType){u.KerberosUserInDomain=ReadInt(s,5);_=s.charCodeAt(9);u.Initiator=GetSidString(s.substring(10,10+_)),c=10+_}2==u.InitiatorType&&(u.Initiator="Local",c=5),3==u.InitiatorType&&(u.Initiator="KVM Default Port",c=5),d=ReadInt(s,c),u.Time=new Date(1e3*(d+60*A.getTimezoneOffset())),c+=4,u.MCLocationType=s.charCodeAt(c++);var l=s.charCodeAt(c++);u.NetAddress=s.substring(c,c+l),c+=l;var m=s.charCodeAt(c++);u.Ex=s.substring(c,c+m),u.ExStr=t.GetAuditLogExtendedDataStr(100*u.AuditAppID+u.EventID,u.Ex),S.push(u)}i.Body.TotalRecordCount>S.length?t.AMT_AuditLog_ReadRecords(S.length+1,C,[r[0],S]):r[0](t,S,o)}else r[0](t,[],o)}return t.GetAuditLogExtendedDataStr=function(e,n){if((1602==e||1604==e)&&0==n.charCodeAt(0))return n.substring(2,2+n.charCodeAt(1));if(1603==e)return 0==n.charCodeAt(1)?n.substring(3):null;if(1605==e)return["Invalid ME access","Invalid MEBx access"][n.charCodeAt(0)];if(1606==e){var i=["Disabled","Enabled"][n.charCodeAt(0)];return 0==n.charCodeAt(1)&&(i+=", "+n.substring(3)),i}if(1607==e)return"Remote "+["NoAuth","ServerAuth","MutualAuth"][n.charCodeAt(0)]+", Local "+["NoAuth","ServerAuth","MutualAuth"][n.charCodeAt(1)];if(1617==e)return t.RealmNames[ReadInt(n,0)]+", "+["NoAuth","Auth","Disabled"][n.charCodeAt(4)];if(1619==e)return["BIOS","MEBx","Local MEI","Local WSMAN","Remote WSAMN"][n.charCodeAt(0)];if(1900==e)return"From "+ReadShort(n,0)+"."+ReadShort(n,2)+"."+ReadShort(n,4)+"."+ReadShort(n,6)+" to "+ReadShort(n,8)+"."+ReadShort(n,10)+"."+ReadShort(n,12)+"."+ReadShort(n,14);if(2100==e){var o=new Date;return o.setTime(1e3*ReadInt(n,0)+6e4*(new Date).getTimezoneOffset()),o.toLocaleString()}return 3e3==e?"From "+["None","KVM","All"][n.charCodeAt(0)]+" to "+["None","KVM","All"][n.charCodeAt(1)]:3001==e?["Success","Failed 3 times"][n.charCodeAt(0)]:null},t.GetAuditLog=function(e){t.AMT_AuditLog_ReadRecords(1,C,[e,[]])},t}function hex_md5(e){return null==e&&(e=""),forge.md.md5.create().update(e).digest().toHex()}for(var md5_k=[],i=0;i<64;)md5_k[i]=0|4294967296*Math.abs(Math.sin(++i));function hex_md5(e){null==e&&(e="");for(var t,n,i,o,r=[],c=unescape(encodeURI(e)),a=c.length,s=[t=1732584193,n=-271733879,~t,~n],u=0;u<=a;)r[u>>2]|=(c.charCodeAt(u)||128)<>6)+14]=8*a,u=0;u>4]+(md5_k[o]+(0|r[[o,5*o+1,3*o+5,7*o][a]%16+u])))<<(a=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*a+o++%4])|i>>>32-a),t,n];for(o=4;o;)s[--o]=s[o]+a[o]}for(e="";o<32;)e+=(s[o>>3]>>4*(1^7&o++)&15).toString(16);return e}function rstr_md5(e){return hex2rstr(hex_md5(e))}function execArgumentsToXml(e){if(null==e)return null;var t="";for(var n in e){var i=e[n];i&&("reference"===i.__parameterType?t+=referenceToXml(n,i):t+=instanceToXml(n,i))}return t}function instanceToXml(e,t){if(null==t)return null;var n=!!t.__namespace,i=n?"";if("string"==typeof t)r+=t;else for(var c in t)t.hasOwnProperty(c)&&0!==c.indexOf("__")&&("function"==typeof t[c]||Array.isArray(t[c])||("object"==typeof t[c]?console.error("only convert one level down..."):r+=i+c+">"+t[c].toString()+o+c+">"));return r+=""}function referenceToXml(e,t){if(null==t)return null;var n="/wsman"+t.__resourceUri+"";for(var i in t)t.hasOwnProperty(i)&&0!==i.indexOf("__")&&("function"==typeof t[i]||"object"==typeof t[i]||Array.isArray(t[i])||(n+=''+t[i].toString()+""));return n+=""}function GetSidString(e){for(var t="S-"+e.charCodeAt(0)+"-"+e.charCodeAt(7),n=2;n=t.MaxActiveEnumsCount||0==t.PendingEnums.length)){var n=t.PendingEnums.shift();t.Enum(n[0],n[1],n[2]),c(0)}}function a(e,n,i,r,c,s,u){t.PendingBatchOperations-=2;var d=n.shift(),S=t.Enum;"*"==d[0]&&(S=t.Get,d=d.substring(1)),S(d,function(c,d,S,A,_){_[2][d]={response:null==S?null:S.Body,responses:S,status:A},0==_[1].length||401==A||1!=s&&200!=A&&400!=A?(t.PendingBatchOperations-=2*n.length,o(),i(t,e,_[2],A,r)):(o(),a(e,n,i,r,_[2],u))},[e,n,c],u),o()}function s(e){e.names.length<=e.current?e.callback(t,e.name,e.responses,200,e.tag):(t.wsman.ExecGet(t.CompleteName(e.names[e.current]),function(n,i,o,r){!function(e,n,i){null==n||200!=i?e.callback(t,e.name,null,i,e.tag):(e.responses[n.Header.Method]=n,s(e))}(e,o,r)},e.pri),e.current++),o()}function u(e,n,i,o,r){200==o&&"0"==i.Body.ReturnValue?t.AMT_MessageLog_GetRecords(i.Body.IterationIdentifier,390,d,r):r[0](t,null,r[2])}function d(e,n,i,o,r){if(200==o&&"0"==i.Body.ReturnValue){var c,a,s,u,S,A=r[2],E=new Date,C=i.Body.RecordArray;for(c in"string"==typeof C&&(i.Body.RecordArray=[i.Body.RecordArray]),C){u=null;try{u=window.atob(C[c])}catch(e){}if(null!=u&&(S=ReadIntX(u,0))>0&&S<4294967295){for(s={DeviceAddress:u.charCodeAt(4),EventSensorType:u.charCodeAt(5),EventType:u.charCodeAt(6),EventOffset:u.charCodeAt(7),EventSourceType:u.charCodeAt(8),EventSeverity:u.charCodeAt(9),SensorNumber:u.charCodeAt(10),Entity:u.charCodeAt(11),EntityInstance:u.charCodeAt(12),EventData:[],Time:new Date(1e3*(S+60*E.getTimezoneOffset()))},a=13;a<21;a++)s.EventData.push(u.charCodeAt(a));s.EntityStr=_[s.Entity],s.Desc=l(s.EventSensorType,s.EventOffset,s.EventData,s.Entity),s.EntityStr||(s.EntityStr="Unknown"),A.push(s)}}1!=i.Body.NoMoreRecords?t.AMT_MessageLog_GetRecords(i.Body.IterationIdentifier,390,d,[r[0],A,r[2]]):r[0](t,A,r[2])}else r[0](t,null,r[2])}t.GetPendingActions=function(){return 2*t.PendingEnums.length+t.ActiveEnumsCount+t.wsman.comm.PendingAjax.length+t.wsman.comm.ActiveAjaxCount+t.PendingBatchOperations},t.Subscribe=function(e,n,i,r,c,a,s,u,d,S){t.wsman.ExecSubscribe(t.CompleteName(e),n,i,function(n,i,a,s){o(),r(t,e,a,s,c)},0,a,s,u,d,S),o()},t.UnSubscribe=function(e,n,i,r,c){t.wsman.ExecUnSubscribe(t.CompleteName(e),function(r,c,a,s){o(),n(t,e,a,s,i)},0,r,c),o()},t.Get=function(e,n,i,r){t.wsman.ExecGet(t.CompleteName(e),function(r,c,a,s){o(),n(t,e,a,s,i)},0,r),o()},t.Put=function(e,n,i,r,c,a){t.wsman.ExecPut(t.CompleteName(e),n,function(n,c,a,s){o(),i(t,e,a,s,r)},0,c,a),o()},t.Create=function(e,n,i,r,c){t.wsman.ExecCreate(t.CompleteName(e),n,function(n,c,a,s){o(),i(t,e,a,s,r)},0,c),o()},t.Delete=function(e,n,i,r,c){t.wsman.ExecDelete(t.CompleteName(e),n,function(n,c,a,s){o(),i(t,e,a,s,r)},0,c),o()},t.Exec=function(e,n,i,r,c,a,s){t.wsman.ExecMethod(t.CompleteName(e),n,i,function(n,i,a,s){o(),r(t,e,t.CompleteExecResponse(a),s,c)},0,a,s),o()},t.ExecWithXml=function(e,n,i,r,c,a,s){t.wsman.ExecMethodXml(t.CompleteName(e),n,execArgumentsToXml(i),function(n,i,a,s){o(),r(t,e,t.CompleteExecResponse(a),s,c)},0,a,s),o()},t.Enum=function(e,n,i,a){t.ActiveEnumsCounthttp://schemas.xmlsoap.org/ws/2004/08/addressinghttp://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ComputerSystemCIM_ComputerSystemManagedSystem',null,null,n)},t.SetBootConfigRole=function(e,n){t.CIM_BootService_SetBootConfigRole('
http://schemas.xmlsoap.org/ws/2004/08/addressing
http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_BootConfigSettingIntel(r) AMT: Boot Configuration 0',e,n)},t.CancelAllQueries=function(e){t.wsman.CancelAllQueries(e)},t.AMT_AgentPresenceWatchdog_RegisterAgent=function(e){t.Exec("AMT_AgentPresenceWatchdog","RegisterAgent",{},e)},t.AMT_AgentPresenceWatchdog_AssertPresence=function(e,n){t.Exec("AMT_AgentPresenceWatchdog","AssertPresence",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdog_AssertShutdown=function(e,n){t.Exec("AMT_AgentPresenceWatchdog","AssertShutdown",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdog_AddAction=function(e,n,i,o,r,c,a,s,u){t.Exec("AMT_AgentPresenceWatchdog","AddAction",{OldState:e,NewState:n,EventOnTransition:i,ActionSd:o,ActionEac:r},c,a,s,u)},t.AMT_AgentPresenceWatchdog_DeleteAllActions=function(e,n,i,o){t.Exec("AMT_AgentPresenceWatchdog","DeleteAllActions",{},e,n,i,o)},t.AMT_AgentPresenceWatchdogAction_GetActionEac=function(e){t.Exec("AMT_AgentPresenceWatchdogAction","GetActionEac",{},e)},t.AMT_AgentPresenceWatchdogVA_RegisterAgent=function(e){t.Exec("AMT_AgentPresenceWatchdogVA","RegisterAgent",{},e)},t.AMT_AgentPresenceWatchdogVA_AssertPresence=function(e,n){t.Exec("AMT_AgentPresenceWatchdogVA","AssertPresence",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdogVA_AssertShutdown=function(e,n){t.Exec("AMT_AgentPresenceWatchdogVA","AssertShutdown",{SequenceNumber:e},n)},t.AMT_AgentPresenceWatchdogVA_AddAction=function(e,n,i,o,r,c){t.Exec("AMT_AgentPresenceWatchdogVA","AddAction",{OldState:e,NewState:n,EventOnTransition:i,ActionSd:o,ActionEac:r},c)},t.AMT_AgentPresenceWatchdogVA_DeleteAllActions=function(e,n){t.Exec("AMT_AgentPresenceWatchdogVA","DeleteAllActions",{_method_dummy:e},n)},t.AMT_AuditLog_ClearLog=function(e){t.Exec("AMT_AuditLog","ClearLog",{},e)},t.AMT_AuditLog_RequestStateChange=function(e,n,i){t.Exec("AMT_AuditLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_AuditLog_ReadRecords=function(e,n,i){t.Exec("AMT_AuditLog","ReadRecords",{StartIndex:e},n,i)},t.AMT_AuditLog_SetAuditLock=function(e,n,i,o){t.Exec("AMT_AuditLog","SetAuditLock",{LockTimeoutInSeconds:e,Flag:n,Handle:i},o)},t.AMT_AuditLog_ExportAuditLogSignature=function(e,n){t.Exec("AMT_AuditLog","ExportAuditLogSignature",{SigningMechanism:e},n)},t.AMT_AuditLog_SetSigningKeyMaterial=function(e,n,i,o,r){t.Exec("AMT_AuditLog","SetSigningKeyMaterial",{SigningMechanismType:e,SigningKey:n,LengthOfCertificates:i,Certificates:o},r)},t.AMT_AuditPolicyRule_SetAuditPolicy=function(e,n,i,o,r){t.Exec("AMT_AuditPolicyRule","SetAuditPolicy",{Enable:e,AuditedAppID:n,EventID:i,PolicyType:o},r)},t.AMT_AuditPolicyRule_SetAuditPolicyBulk=function(e,n,i,o,r){t.Exec("AMT_AuditPolicyRule","SetAuditPolicyBulk",{Enable:e,AuditedAppID:n,EventID:i,PolicyType:o},r)},t.AMT_AuthorizationService_AddUserAclEntryEx=function(e,n,i,o,r,c){t.Exec("AMT_AuthorizationService","AddUserAclEntryEx",{DigestUsername:e,DigestPassword:n,KerberosUserSid:i,AccessPermission:o,Realms:r},c)},t.AMT_AuthorizationService_EnumerateUserAclEntries=function(e,n){t.Exec("AMT_AuthorizationService","EnumerateUserAclEntries",{StartIndex:e},n)},t.AMT_AuthorizationService_GetUserAclEntryEx=function(e,n,i){t.Exec("AMT_AuthorizationService","GetUserAclEntryEx",{Handle:e},n,i)},t.AMT_AuthorizationService_UpdateUserAclEntryEx=function(e,n,i,o,r,c,a){t.Exec("AMT_AuthorizationService","UpdateUserAclEntryEx",{Handle:e,DigestUsername:n,DigestPassword:i,KerberosUserSid:o,AccessPermission:r,Realms:c},a)},t.AMT_AuthorizationService_RemoveUserAclEntry=function(e,n){t.Exec("AMT_AuthorizationService","RemoveUserAclEntry",{Handle:e},n)},t.AMT_AuthorizationService_SetAdminAclEntryEx=function(e,n,i){t.Exec("AMT_AuthorizationService","SetAdminAclEntryEx",{Username:e,DigestPassword:n},i)},t.AMT_AuthorizationService_GetAdminAclEntry=function(e){t.Exec("AMT_AuthorizationService","GetAdminAclEntry",{},e)},t.AMT_AuthorizationService_GetAdminAclEntryStatus=function(e){t.Exec("AMT_AuthorizationService","GetAdminAclEntryStatus",{},e)},t.AMT_AuthorizationService_GetAdminNetAclEntryStatus=function(e){t.Exec("AMT_AuthorizationService","GetAdminNetAclEntryStatus",{},e)},t.AMT_AuthorizationService_SetAclEnabledState=function(e,n,i,o){t.Exec("AMT_AuthorizationService","SetAclEnabledState",{Handle:e,Enabled:n},i,o)},t.AMT_AuthorizationService_GetAclEnabledState=function(e,n,i){t.Exec("AMT_AuthorizationService","GetAclEnabledState",{Handle:e},n,i)},t.AMT_EndpointAccessControlService_RequestStateChange=function(e,n,i){t.Exec("AMT_EndpointAccessControlService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_EndpointAccessControlService_GetPosture=function(e,n){t.Exec("AMT_EndpointAccessControlService","GetPosture",{PostureType:e},n)},t.AMT_EndpointAccessControlService_GetPostureHash=function(e,n){t.Exec("AMT_EndpointAccessControlService","GetPostureHash",{PostureType:e},n)},t.AMT_EndpointAccessControlService_UpdatePostureState=function(e,n){t.Exec("AMT_EndpointAccessControlService","UpdatePostureState",{UpdateType:e},n)},t.AMT_EndpointAccessControlService_GetEacOptions=function(e){t.Exec("AMT_EndpointAccessControlService","GetEacOptions",{},e)},t.AMT_EndpointAccessControlService_SetEacOptions=function(e,n,i){t.Exec("AMT_EndpointAccessControlService","SetEacOptions",{EacVendors:e,PostureHashAlgorithm:n},i)},t.AMT_EnvironmentDetectionSettingData_SetSystemDefensePolicy=function(e,n){t.Exec("AMT_EnvironmentDetectionSettingData","SetSystemDefensePolicy",{Policy:e},n)},t.AMT_EnvironmentDetectionSettingData_EnableVpnRouting=function(e,n){t.Exec("AMT_EnvironmentDetectionSettingData","EnableVpnRouting",{Enable:e},n)},t.AMT_EthernetPortSettings_SetLinkPreference=function(e,n,i){t.Exec("AMT_EthernetPortSettings","SetLinkPreference",{LinkPreference:e,Timeout:n},i)},t.AMT_HeuristicPacketFilterStatistics_ResetSelectedStats=function(e,n){t.Exec("AMT_HeuristicPacketFilterStatistics","ResetSelectedStats",{SelectedStatistics:e},n)},t.AMT_KerberosSettingData_GetCredentialCacheState=function(e){t.Exec("AMT_KerberosSettingData","GetCredentialCacheState",{},e)},t.AMT_KerberosSettingData_SetCredentialCacheState=function(e,n){t.Exec("AMT_KerberosSettingData","SetCredentialCacheState",{Enable:e},n)},t.AMT_MessageLog_CancelIteration=function(e,n){t.Exec("AMT_MessageLog","CancelIteration",{IterationIdentifier:e},n)},t.AMT_MessageLog_RequestStateChange=function(e,n,i){t.Exec("AMT_MessageLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_MessageLog_ClearLog=function(e){t.Exec("AMT_MessageLog","ClearLog",{},e)},t.AMT_MessageLog_GetRecords=function(e,n,i,o){t.Exec("AMT_MessageLog","GetRecords",{IterationIdentifier:e,MaxReadRecords:n},i,o)},t.AMT_MessageLog_GetRecord=function(e,n,i){t.Exec("AMT_MessageLog","GetRecord",{IterationIdentifier:e,PositionToNext:n},i)},t.AMT_MessageLog_PositionAtRecord=function(e,n,i,o){t.Exec("AMT_MessageLog","PositionAtRecord",{IterationIdentifier:e,MoveAbsolute:n,RecordNumber:i},o)},t.AMT_MessageLog_PositionToFirstRecord=function(e,n){t.Exec("AMT_MessageLog","PositionToFirstRecord",{},e,n)},t.AMT_MessageLog_FreezeLog=function(e,n){t.Exec("AMT_MessageLog","FreezeLog",{Freeze:e},n)},t.AMT_PublicKeyManagementService_AddCRL=function(e,n,i){t.Exec("AMT_PublicKeyManagementService","AddCRL",{Url:e,SerialNumbers:n},i)},t.AMT_PublicKeyManagementService_ResetCRLList=function(e,n){t.Exec("AMT_PublicKeyManagementService","ResetCRLList",{_method_dummy:e},n)},t.AMT_PublicKeyManagementService_AddCertificate=function(e,n){t.Exec("AMT_PublicKeyManagementService","AddCertificate",{CertificateBlob:e},n)},t.AMT_PublicKeyManagementService_AddTrustedRootCertificate=function(e,n){t.Exec("AMT_PublicKeyManagementService","AddTrustedRootCertificate",{CertificateBlob:e},n)},t.AMT_PublicKeyManagementService_AddKey=function(e,n){t.Exec("AMT_PublicKeyManagementService","AddKey",{KeyBlob:e},n)},t.AMT_PublicKeyManagementService_GeneratePKCS10Request=function(e,n,i,o){t.Exec("AMT_PublicKeyManagementService","GeneratePKCS10Request",{KeyPair:e,DNName:n,Usage:i},o)},t.AMT_PublicKeyManagementService_GeneratePKCS10RequestEx=function(e,n,i,o){t.Exec("AMT_PublicKeyManagementService","GeneratePKCS10RequestEx",{KeyPair:e,SigningAlgorithm:n,NullSignedCertificateRequest:i},o)},t.AMT_PublicKeyManagementService_GenerateKeyPair=function(e,n,i){t.Exec("AMT_PublicKeyManagementService","GenerateKeyPair",{KeyAlgorithm:e,KeyLength:n},i)},t.AMT_RedirectionService_RequestStateChange=function(e,n){t.Exec("AMT_RedirectionService","RequestStateChange",{RequestedState:e},n)},t.AMT_RedirectionService_TerminateSession=function(e,n){t.Exec("AMT_RedirectionService","TerminateSession",{SessionType:e},n)},t.AMT_RemoteAccessService_AddMpServer=function(e,n,i,o,r,c,a,s,u){t.Exec("AMT_RemoteAccessService","AddMpServer",{AccessInfo:e,InfoFormat:n,Port:i,AuthMethod:o,Certificate:r,Username:c,Password:a,CN:s},u)},t.AMT_RemoteAccessService_AddRemoteAccessPolicyRule=function(e,n,i,o,r){t.Exec("AMT_RemoteAccessService","AddRemoteAccessPolicyRule",{Trigger:e,TunnelLifeTime:n,ExtendedData:i,MpServer:o},r)},t.AMT_RemoteAccessService_CloseRemoteAccessConnection=function(e,n){t.Exec("AMT_RemoteAccessService","CloseRemoteAccessConnection",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_CommitChanges=function(e,n){t.Exec("AMT_SetupAndConfigurationService","CommitChanges",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_Unprovision=function(e,n){t.Exec("AMT_SetupAndConfigurationService","Unprovision",{ProvisioningMode:e},n)},t.AMT_SetupAndConfigurationService_PartialUnprovision=function(e,n){t.Exec("AMT_SetupAndConfigurationService","PartialUnprovision",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_ResetFlashWearOutProtection=function(e,n){t.Exec("AMT_SetupAndConfigurationService","ResetFlashWearOutProtection",{_method_dummy:e},n)},t.AMT_SetupAndConfigurationService_ExtendProvisioningPeriod=function(e,n){t.Exec("AMT_SetupAndConfigurationService","ExtendProvisioningPeriod",{Duration:e},n)},t.AMT_SetupAndConfigurationService_SetMEBxPassword=function(e,n){t.Exec("AMT_SetupAndConfigurationService","SetMEBxPassword",{Password:e},n)},t.AMT_SetupAndConfigurationService_SetTLSPSK=function(e,n,i){t.Exec("AMT_SetupAndConfigurationService","SetTLSPSK",{PID:e,PPS:n},i)},t.AMT_SetupAndConfigurationService_GetProvisioningAuditRecord=function(e){t.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecord",{},e)},t.AMT_SetupAndConfigurationService_GetUuid=function(e){t.Exec("AMT_SetupAndConfigurationService","GetUuid",{},e)},t.AMT_SetupAndConfigurationService_GetUnprovisionBlockingComponents=function(e){t.Exec("AMT_SetupAndConfigurationService","GetUnprovisionBlockingComponents",{},e)},t.AMT_SetupAndConfigurationService_GetProvisioningAuditRecordV2=function(e){t.Exec("AMT_SetupAndConfigurationService","GetProvisioningAuditRecordV2",{},e)},t.AMT_SystemDefensePolicy_GetTimeout=function(e){t.Exec("AMT_SystemDefensePolicy","GetTimeout",{},e)},t.AMT_SystemDefensePolicy_SetTimeout=function(e,n){t.Exec("AMT_SystemDefensePolicy","SetTimeout",{Timeout:e},n)},t.AMT_SystemDefensePolicy_UpdateStatistics=function(e,n,i,o,r,c){t.Exec("AMT_SystemDefensePolicy","UpdateStatistics",{NetworkInterface:e,ResetOnRead:n},i,o,r,c)},t.AMT_SystemPowerScheme_SetPowerScheme=function(e,n,i){t.Exec("AMT_SystemPowerScheme","SetPowerScheme",{},e,i,0,{InstanceID:n})},t.AMT_TimeSynchronizationService_GetLowAccuracyTimeSynch=function(e,n){t.Exec("AMT_TimeSynchronizationService","GetLowAccuracyTimeSynch",{},e,n)},t.AMT_TimeSynchronizationService_SetHighAccuracyTimeSynch=function(e,n,i,o,r){t.Exec("AMT_TimeSynchronizationService","SetHighAccuracyTimeSynch",{Ta0:e,Tm1:n,Tm2:i},o,r)},t.AMT_UserInitiatedConnectionService_RequestStateChange=function(e,n,i){t.Exec("AMT_UserInitiatedConnectionService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_WebUIService_RequestStateChange=function(e,n,i){t.Exec("AMT_WebUIService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AMT_WiFiPortConfigurationService_AddWiFiSettings=function(e,n,i,o,r,c){t.ExecWithXml("AMT_WiFiPortConfigurationService","AddWiFiSettings",{WiFiEndpoint:e,WiFiEndpointSettingsInput:n,IEEE8021xSettingsInput:i,ClientCredential:o,CACredential:r},c)},t.AMT_WiFiPortConfigurationService_UpdateWiFiSettings=function(e,n,i,o,r,c){t.ExecWithXml("AMT_WiFiPortConfigurationService","UpdateWiFiSettings",{WiFiEndpointSettings:e,WiFiEndpointSettingsInput:n,IEEE8021xSettingsInput:i,ClientCredential:o,CACredential:r},c)},t.AMT_WiFiPortConfigurationService_DeleteAllITProfiles=function(e,n){t.Exec("AMT_WiFiPortConfigurationService","DeleteAllITProfiles",{_method_dummy:e},n)},t.AMT_WiFiPortConfigurationService_DeleteAllUserProfiles=function(e,n){t.Exec("AMT_WiFiPortConfigurationService","DeleteAllUserProfiles",{_method_dummy:e},n)},t.CIM_Account_RequestStateChange=function(e,n,i){t.Exec("CIM_Account","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_AccountManagementService_CreateAccount=function(e,n,i){t.Exec("CIM_AccountManagementService","CreateAccount",{System:e,AccountTemplate:n},i)},t.CIM_BootConfigSetting_ChangeBootOrder=function(e,n){t.Exec("CIM_BootConfigSetting","ChangeBootOrder",{Source:e},n)},t.CIM_BootService_SetBootConfigRole=function(e,n,i){t.Exec("CIM_BootService","SetBootConfigRole",{BootConfigSetting:e,Role:n},i,0,1)},t.CIM_Card_ConnectorPower=function(e,n,i){t.Exec("CIM_Card","ConnectorPower",{Connector:e,PoweredOn:n},i)},t.CIM_Card_IsCompatible=function(e,n){t.Exec("CIM_Card","IsCompatible",{ElementToCheck:e},n)},t.CIM_Chassis_IsCompatible=function(e,n){t.Exec("CIM_Chassis","IsCompatible",{ElementToCheck:e},n)},t.CIM_Fan_SetSpeed=function(e,n){t.Exec("CIM_Fan","SetSpeed",{DesiredSpeed:e},n)},t.CIM_KVMRedirectionSAP_RequestStateChange=function(e,n,i){t.Exec("CIM_KVMRedirectionSAP","RequestStateChange",{RequestedState:e},i)},t.CIM_MediaAccessDevice_LockMedia=function(e,n){t.Exec("CIM_MediaAccessDevice","LockMedia",{Lock:e},n)},t.CIM_MediaAccessDevice_SetPowerState=function(e,n,i){t.Exec("CIM_MediaAccessDevice","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_MediaAccessDevice_Reset=function(e){t.Exec("CIM_MediaAccessDevice","Reset",{},e)},t.CIM_MediaAccessDevice_EnableDevice=function(e,n){t.Exec("CIM_MediaAccessDevice","EnableDevice",{Enabled:e},n)},t.CIM_MediaAccessDevice_OnlineDevice=function(e,n){t.Exec("CIM_MediaAccessDevice","OnlineDevice",{Online:e},n)},t.CIM_MediaAccessDevice_QuiesceDevice=function(e,n){t.Exec("CIM_MediaAccessDevice","QuiesceDevice",{Quiesce:e},n)},t.CIM_MediaAccessDevice_SaveProperties=function(e){t.Exec("CIM_MediaAccessDevice","SaveProperties",{},e)},t.CIM_MediaAccessDevice_RestoreProperties=function(e){t.Exec("CIM_MediaAccessDevice","RestoreProperties",{},e)},t.CIM_MediaAccessDevice_RequestStateChange=function(e,n,i){t.Exec("CIM_MediaAccessDevice","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_PhysicalFrame_IsCompatible=function(e,n){t.Exec("CIM_PhysicalFrame","IsCompatible",{ElementToCheck:e},n)},t.CIM_PhysicalPackage_IsCompatible=function(e,n){t.Exec("CIM_PhysicalPackage","IsCompatible",{ElementToCheck:e},n)},t.CIM_PowerManagementService_RequestPowerStateChange=function(e,n,i,o,r){t.Exec("CIM_PowerManagementService","RequestPowerStateChange",{PowerState:e,ManagedElement:n,Time:i,TimeoutPeriod:o},r,0,1)},t.CIM_PowerSupply_SetPowerState=function(e,n,i){t.Exec("CIM_PowerSupply","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_PowerSupply_Reset=function(e){t.Exec("CIM_PowerSupply","Reset",{},e)},t.CIM_PowerSupply_EnableDevice=function(e,n){t.Exec("CIM_PowerSupply","EnableDevice",{Enabled:e},n)},t.CIM_PowerSupply_OnlineDevice=function(e,n){t.Exec("CIM_PowerSupply","OnlineDevice",{Online:e},n)},t.CIM_PowerSupply_QuiesceDevice=function(e,n){t.Exec("CIM_PowerSupply","QuiesceDevice",{Quiesce:e},n)},t.CIM_PowerSupply_SaveProperties=function(e){t.Exec("CIM_PowerSupply","SaveProperties",{},e)},t.CIM_PowerSupply_RestoreProperties=function(e){t.Exec("CIM_PowerSupply","RestoreProperties",{},e)},t.CIM_PowerSupply_RequestStateChange=function(e,n,i){t.Exec("CIM_PowerSupply","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_Processor_SetPowerState=function(e,n,i){t.Exec("CIM_Processor","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_Processor_Reset=function(e){t.Exec("CIM_Processor","Reset",{},e)},t.CIM_Processor_EnableDevice=function(e,n){t.Exec("CIM_Processor","EnableDevice",{Enabled:e},n)},t.CIM_Processor_OnlineDevice=function(e,n){t.Exec("CIM_Processor","OnlineDevice",{Online:e},n)},t.CIM_Processor_QuiesceDevice=function(e,n){t.Exec("CIM_Processor","QuiesceDevice",{Quiesce:e},n)},t.CIM_Processor_SaveProperties=function(e){t.Exec("CIM_Processor","SaveProperties",{},e)},t.CIM_Processor_RestoreProperties=function(e){t.Exec("CIM_Processor","RestoreProperties",{},e)},t.CIM_Processor_RequestStateChange=function(e,n,i){t.Exec("CIM_Processor","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_RecordLog_ClearLog=function(e){t.Exec("CIM_RecordLog","ClearLog",{},e)},t.CIM_RecordLog_RequestStateChange=function(e,n,i){t.Exec("CIM_RecordLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_RedirectionService_RequestStateChange=function(e,n,i){t.Exec("CIM_RedirectionService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_Sensor_SetPowerState=function(e,n,i){t.Exec("CIM_Sensor","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_Sensor_Reset=function(e){t.Exec("CIM_Sensor","Reset",{},e)},t.CIM_Sensor_EnableDevice=function(e,n){t.Exec("CIM_Sensor","EnableDevice",{Enabled:e},n)},t.CIM_Sensor_OnlineDevice=function(e,n){t.Exec("CIM_Sensor","OnlineDevice",{Online:e},n)},t.CIM_Sensor_QuiesceDevice=function(e,n){t.Exec("CIM_Sensor","QuiesceDevice",{Quiesce:e},n)},t.CIM_Sensor_SaveProperties=function(e){t.Exec("CIM_Sensor","SaveProperties",{},e)},t.CIM_Sensor_RestoreProperties=function(e){t.Exec("CIM_Sensor","RestoreProperties",{},e)},t.CIM_Sensor_RequestStateChange=function(e,n,i){t.Exec("CIM_Sensor","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_StatisticalData_ResetSelectedStats=function(e,n){t.Exec("CIM_StatisticalData","ResetSelectedStats",{SelectedStatistics:e},n)},t.CIM_Watchdog_KeepAlive=function(e){t.Exec("CIM_Watchdog","KeepAlive",{},e)},t.CIM_Watchdog_SetPowerState=function(e,n,i){t.Exec("CIM_Watchdog","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_Watchdog_Reset=function(e){t.Exec("CIM_Watchdog","Reset",{},e)},t.CIM_Watchdog_EnableDevice=function(e,n){t.Exec("CIM_Watchdog","EnableDevice",{Enabled:e},n)},t.CIM_Watchdog_OnlineDevice=function(e,n){t.Exec("CIM_Watchdog","OnlineDevice",{Online:e},n)},t.CIM_Watchdog_QuiesceDevice=function(e,n){t.Exec("CIM_Watchdog","QuiesceDevice",{Quiesce:e},n)},t.CIM_Watchdog_SaveProperties=function(e){t.Exec("CIM_Watchdog","SaveProperties",{},e)},t.CIM_Watchdog_RestoreProperties=function(e){t.Exec("CIM_Watchdog","RestoreProperties",{},e)},t.CIM_Watchdog_RequestStateChange=function(e,n,i){t.Exec("CIM_Watchdog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.CIM_WiFiPort_SetPowerState=function(e,n,i){t.Exec("CIM_WiFiPort","SetPowerState",{PowerState:e,Time:n},i)},t.CIM_WiFiPort_Reset=function(e){t.Exec("CIM_WiFiPort","Reset",{},e)},t.CIM_WiFiPort_EnableDevice=function(e,n){t.Exec("CIM_WiFiPort","EnableDevice",{Enabled:e},n)},t.CIM_WiFiPort_OnlineDevice=function(e,n){t.Exec("CIM_WiFiPort","OnlineDevice",{Online:e},n)},t.CIM_WiFiPort_QuiesceDevice=function(e,n){t.Exec("CIM_WiFiPort","QuiesceDevice",{Quiesce:e},n)},t.CIM_WiFiPort_SaveProperties=function(e){t.Exec("CIM_WiFiPort","SaveProperties",{},e)},t.CIM_WiFiPort_RestoreProperties=function(e){t.Exec("CIM_WiFiPort","RestoreProperties",{},e)},t.CIM_WiFiPort_RequestStateChange=function(e,n,i){t.Exec("CIM_WiFiPort","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.IPS_HostBasedSetupService_Setup=function(e,n,i,o,r,c,a){t.Exec("IPS_HostBasedSetupService","Setup",{NetAdminPassEncryptionType:e,NetworkAdminPassword:n,McNonce:i,Certificate:o,SigningAlgorithm:r,DigitalSignature:c},a)},t.IPS_HostBasedSetupService_AddNextCertInChain=function(e,n,i,o){t.Exec("IPS_HostBasedSetupService","AddNextCertInChain",{NextCertificate:e,IsLeafCertificate:n,IsRootCertificate:i},o)},t.IPS_HostBasedSetupService_AdminSetup=function(e,n,i,o,r,c){t.Exec("IPS_HostBasedSetupService","AdminSetup",{NetAdminPassEncryptionType:e,NetworkAdminPassword:n,McNonce:i,SigningAlgorithm:o,DigitalSignature:r},c)},t.IPS_HostBasedSetupService_UpgradeClientToAdmin=function(e,n,i,o){t.Exec("IPS_HostBasedSetupService","UpgradeClientToAdmin",{McNonce:e,SigningAlgorithm:n,DigitalSignature:i},o)},t.IPS_HostBasedSetupService_DisableClientControlMode=function(e,n){t.Exec("IPS_HostBasedSetupService","DisableClientControlMode",{_method_dummy:e},n)},t.IPS_KVMRedirectionSettingData_TerminateSession=function(e){t.Exec("IPS_KVMRedirectionSettingData","TerminateSession",{},e)},t.IPS_OptInService_StartOptIn=function(e){t.Exec("IPS_OptInService","StartOptIn",{},e)},t.IPS_OptInService_CancelOptIn=function(e){t.Exec("IPS_OptInService","CancelOptIn",{},e)},t.IPS_OptInService_SendOptInCode=function(e,n){t.Exec("IPS_OptInService","SendOptInCode",{OptInCode:e},n)},t.IPS_OptInService_StartService=function(e){t.Exec("IPS_OptInService","StartService",{},e)},t.IPS_OptInService_StopService=function(e){t.Exec("IPS_OptInService","StopService",{},e)},t.IPS_OptInService_RequestStateChange=function(e,n,i){t.Exec("IPS_OptInService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.IPS_ProvisioningRecordLog_RequestStateChange=function(e,n,i){t.Exec("IPS_ProvisioningRecordLog","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.IPS_ProvisioningRecordLog_ClearLog=function(e,n){t.Exec("IPS_ProvisioningRecordLog","ClearLog",{_method_dummy:e},n)},t.IPS_SecIOService_RequestStateChange=function(e,n,i){t.Exec("IPS_SecIOService","RequestStateChange",{RequestedState:e,TimeoutPeriod:n},i)},t.AmtStatusToStr=function(e){return t.AmtStatusCodes[e]?t.AmtStatusCodes[e]:"UNKNOWN_ERROR"},t.AmtStatusCodes={0:"SUCCESS",1:"INTERNAL_ERROR",2:"NOT_READY",3:"INVALID_PT_MODE",4:"INVALID_MESSAGE_LENGTH",5:"TABLE_FINGERPRINT_NOT_AVAILABLE",6:"INTEGRITY_CHECK_FAILED",7:"UNSUPPORTED_ISVS_VERSION",8:"APPLICATION_NOT_REGISTERED",9:"INVALID_REGISTRATION_DATA",10:"APPLICATION_DOES_NOT_EXIST",11:"NOT_ENOUGH_STORAGE",12:"INVALID_NAME",13:"BLOCK_DOES_NOT_EXIST",14:"INVALID_BYTE_OFFSET",15:"INVALID_BYTE_COUNT",16:"NOT_PERMITTED",17:"NOT_OWNER",18:"BLOCK_LOCKED_BY_OTHER",19:"BLOCK_NOT_LOCKED",20:"INVALID_GROUP_PERMISSIONS",21:"GROUP_DOES_NOT_EXIST",22:"INVALID_MEMBER_COUNT",23:"MAX_LIMIT_REACHED",24:"INVALID_AUTH_TYPE",25:"AUTHENTICATION_FAILED",26:"INVALID_DHCP_MODE",27:"INVALID_IP_ADDRESS",28:"INVALID_DOMAIN_NAME",29:"UNSUPPORTED_VERSION",30:"REQUEST_UNEXPECTED",31:"INVALID_TABLE_TYPE",32:"INVALID_PROVISIONING_STATE",33:"UNSUPPORTED_OBJECT",34:"INVALID_TIME",35:"INVALID_INDEX",36:"INVALID_PARAMETER",37:"INVALID_NETMASK",38:"FLASH_WRITE_LIMIT_EXCEEDED",39:"INVALID_IMAGE_LENGTH",40:"INVALID_IMAGE_SIGNATURE",41:"PROPOSE_ANOTHER_VERSION",42:"INVALID_PID_FORMAT",43:"INVALID_PPS_FORMAT",44:"BIST_COMMAND_BLOCKED",45:"CONNECTION_FAILED",46:"CONNECTION_TOO_MANY",47:"RNG_GENERATION_IN_PROGRESS",48:"RNG_NOT_READY",49:"CERTIFICATE_NOT_READY",1024:"DISABLED_BY_POLICY",2048:"NETWORK_IF_ERROR_BASE",2049:"UNSUPPORTED_OEM_NUMBER",2050:"UNSUPPORTED_BOOT_OPTION",2051:"INVALID_COMMAND",2052:"INVALID_SPECIAL_COMMAND",2053:"INVALID_HANDLE",2054:"INVALID_PASSWORD",2055:"INVALID_REALM",2056:"STORAGE_ACL_ENTRY_IN_USE",2057:"DATA_MISSING",2058:"DUPLICATE",2059:"EVENTLOG_FROZEN",2060:"PKI_MISSING_KEYS",2061:"PKI_GENERATING_KEYS",2062:"INVALID_KEY",2063:"INVALID_CERT",2064:"CERT_KEY_NOT_MATCH",2065:"MAX_KERB_DOMAIN_REACHED",2066:"UNSUPPORTED",2067:"INVALID_PRIORITY",2068:"NOT_FOUND",2069:"INVALID_CREDENTIALS",2070:"INVALID_PASSPHRASE",2072:"NO_ASSOCIATION",2075:"AUDIT_FAIL",2076:"BLOCKING_COMPONENT",2081:"USER_CONSENT_REQUIRED",4096:"APP_INTERNAL_ERROR",4097:"NOT_INITIALIZED",4098:"LIB_VERSION_UNSUPPORTED",4099:"INVALID_PARAM",4100:"RESOURCES",4101:"HARDWARE_ACCESS_ERROR",4102:"REQUESTOR_NOT_REGISTERED",4103:"NETWORK_ERROR",4104:"PARAM_BUFFER_TOO_SHORT",4105:"COM_NOT_INITIALIZED_IN_THREAD",4106:"URL_REQUIRED"},t.GetMessageLog=function(e,n){t.AMT_MessageLog_PositionToFirstRecord(u,[e,n,[]])};"Platform firmware (e.g. BIOS)|SMI handler|ISV system management software|Alert ASIC|IPMI|BIOS vendor|System board set vendor|System integrator|Third party add-in|OSV|NIC|System management card".split("|");var S="Unspecified.|No system memory is physically installed in the system.|No usable system memory, all installed memory has experienced an unrecoverable failure.|Unrecoverable hard-disk/ATAPI/IDE device failure.|Unrecoverable system-board failure.|Unrecoverable diskette subsystem failure.|Unrecoverable hard-disk controller failure.|Unrecoverable PS/2 or USB keyboard failure.|Removable boot media not found.|Unrecoverable video controller failure.|No video device detected.|Firmware (BIOS) ROM corruption detected.|CPU voltage mismatch (processors that share same supply have mismatched voltage requirements)|CPU speed matching failure".split("|"),A="Unspecified.|Memory initialization.|Starting hard-disk initialization and test|Secondary processor(s) initialization|User authentication|User-initiated system setup|USB resource configuration|PCI resource configuration|Option ROM initialization|Video initialization|Cache initialization|SM Bus initialization|Keyboard controller initialization|Embedded controller/management controller initialization|Docking station attachment|Enabling docking station|Docking station ejection|Disabling docking station|Calling operating system wake-up vector|Starting operating system boot process|Baseboard or motherboard initialization|reserved|Floppy initialization|Keyboard test|Pointing device test|Primary processor initialization".split("|"),_="Unspecified|Other|Unknown|Processor|Disk|Peripheral|System management module|System board|Memory module|Processor module|Power supply|Add in card|Front panel board|Back panel board|Power system board|Drive backplane|System internal expansion board|Other system board|Processor board|Power unit|Power module|Power management board|Chassis back panel board|System chassis|Sub chassis|Other chassis board|Disk drive bay|Peripheral bay|Device bay|Fan cooling|Cooling unit|Cable interconnect|Memory device|System management software|BIOS|Intel(r) ME|System bus|Group|Intel(r) ME|External environment|Battery|Processing blade|Connectivity switch|Processor/memory module|I/O module|Processor I/O module|Management controller firmware|IPMI channel|PCI bus|PCI express bus|SCSI bus|SATA/SAS bus|Processor front side bus".split("|");function l(e,n,i,o){return 15==e?235==i[0]?"Invalid Data":0==n?S[i[1]]:A[i[1]]:18==e&&170==i[0]?"Agent watchdog "+char2hex(i[4])+char2hex(i[3])+char2hex(i[2])+char2hex(i[1])+"-"+char2hex(i[6])+char2hex(i[5])+"-... changed to "+t.WatchdogCurrentStates[i[7]]:6==e?"Authentication failed "+(i[1]+(i[2]<<8))+" times. The system may be under attack.":30==e?"No bootable media":32==e?"Operating system lockup or power interrupt":35==e?64==i[0]?"BIOS POST (Power On Self-Test) Watchdog Timeout.":"System boot failure":37==e?"System firmware started (at least one CPU is properly executing).":"Unknown Sensor Type #"+e}t.RealmNames="||Redirection|PT Administration|Hardware Asset|Remote Control|Storage|Event Manager|Storage Admin|Agent Presence Local|Agent Presence Remote|Circuit Breaker|Network Time|General Information|Firmware Update|EIT|LocalUN|Endpoint Access Control|Endpoint Access Control Admin|Event Log Reader|Audit Log|ACL Realm|||Local System".split("|"),t.WatchdogCurrentStates={1:"Not Started",2:"Stopped",4:"Running",8:"Expired",16:"Suspended"};var E={16:"Security Admin",17:"RCO",18:"Redirection Manager",19:"Firmware Update Manager",20:"Security Audit Log",21:"Network Time",22:"Network Administration",23:"Storage Administration",24:"Event Manager",25:"Circuit Breaker Manager",26:"Agent Presence Manager",27:"Wireless Configuration",28:"EAC",29:"KVM",30:"User Opt-In Events",32:"Screen Blanking",33:"Watchdog Events",1600:"Provisioning Started",1601:"Provisioning Completed",1602:"ACL Entry Added",1603:"ACL Entry Modified",1604:"ACL Entry Removed",1605:"ACL Access with Invalid Credentials",1606:"ACL Entry State",1607:"TLS State Changed",1608:"TLS Server Certificate Set",1609:"TLS Server Certificate Remove",1610:"TLS Trusted Root Certificate Added",1611:"TLS Trusted Root Certificate Removed",1612:"TLS Preshared Key Set",1613:"Kerberos Settings Modified",1614:"Kerberos Main Key Modified",1615:"Flash Wear out Counters Reset",1616:"Power Package Modified",1617:"Set Realm Authentication Mode",1618:"Upgrade Client to Admin Control Mode",1619:"Unprovisioning Started",1700:"Performed Power Up",1701:"Performed Power Down",1702:"Performed Power Cycle",1703:"Performed Reset",1704:"Set Boot Options",1800:"IDER Session Opened",1801:"IDER Session Closed",1802:"IDER Enabled",1803:"IDER Disabled",1804:"SoL Session Opened",1805:"SoL Session Closed",1806:"SoL Enabled",1807:"SoL Disabled",1808:"KVM Session Started",1809:"KVM Session Ended",1810:"KVM Enabled",1811:"KVM Disabled",1812:"VNC Password Failed 3 Times",1900:"Firmware Updated",1901:"Firmware Update Failed",2e3:"Security Audit Log Cleared",2001:"Security Audit Policy Modified",2002:"Security Audit Log Disabled",2003:"Security Audit Log Enabled",2004:"Security Audit Log Exported",2005:"Security Audit Log Recovered",2100:"Intel® ME Time Set",2200:"TCPIP Parameters Set",2201:"Host Name Set",2202:"Domain Name Set",2203:"VLAN Parameters Set",2204:"Link Policy Set",2205:"IPv6 Parameters Set",2300:"Global Storage Attributes Set",2301:"Storage EACL Modified",2302:"Storage FPACL Modified",2303:"Storage Write Operation",2400:"Alert Subscribed",2401:"Alert Unsubscribed",2402:"Event Log Cleared",2403:"Event Log Frozen",2500:"CB Filter Added",2501:"CB Filter Removed",2502:"CB Policy Added",2503:"CB Policy Removed",2504:"CB Default Policy Set",2505:"CB Heuristics Option Set",2506:"CB Heuristics State Cleared",2600:"Agent Watchdog Added",2601:"Agent Watchdog Removed",2602:"Agent Watchdog Action Set",2700:"Wireless Profile Added",2701:"Wireless Profile Removed",2702:"Wireless Profile Updated",2800:"EAC Posture Signer SET",2801:"EAC Enabled",2802:"EAC Disabled",2803:"EAC Posture State",2804:"EAC Set Options",2900:"KVM Opt-in Enabled",2901:"KVM Opt-in Disabled",2902:"KVM Password Changed",2903:"KVM Consent Succeeded",2904:"KVM Consent Failed",3e3:"Opt-In Policy Change",3001:"Send Consent Code Event",3002:"Start Opt-In Blocked Event"};function C(e,n,i,o,r){if(200==o){var c,a,s,u,d,S=r[1],A=new Date;if(i.Body.RecordsReturned>0)for(a in i.Body.EventRecords=MakeToArray(i.Body.EventRecords),i.Body.EventRecords){s=null;try{s=window.atob(i.Body.EventRecords[a])}catch(s){console.log(s+" "+i.Body.EventRecords[a])}if((u={AuditAppID:ReadShort(s,0),EventID:ReadShort(s,2),InitiatorType:s.charCodeAt(4)}).AuditApp=E[u.AuditAppID],u.Event=E[100*u.AuditAppID+u.EventID],u.Event||(u.Event="#"+u.EventID),0==u.InitiatorType){var _=s.charCodeAt(5);u.Initiator=s.substring(6,6+_),c=6+_}if(1==u.InitiatorType){u.KerberosUserInDomain=ReadInt(s,5);_=s.charCodeAt(9);u.Initiator=GetSidString(s.substring(10,10+_)),c=10+_}2==u.InitiatorType&&(u.Initiator="Local",c=5),3==u.InitiatorType&&(u.Initiator="KVM Default Port",c=5),d=ReadInt(s,c),u.Time=new Date(1e3*(d+60*A.getTimezoneOffset())),c+=4,u.MCLocationType=s.charCodeAt(c++);var l=s.charCodeAt(c++);u.NetAddress=s.substring(c,c+l),c+=l;var m=s.charCodeAt(c++);u.Ex=s.substring(c,c+m),u.ExStr=t.GetAuditLogExtendedDataStr(100*u.AuditAppID+u.EventID,u.Ex),S.push(u)}i.Body.TotalRecordCount>S.length?t.AMT_AuditLog_ReadRecords(S.length+1,C,[r[0],S]):r[0](t,S,o)}else r[0](t,[],o)}return t.GetAuditLogExtendedDataStr=function(e,n){if((1602==e||1604==e)&&0==n.charCodeAt(0))return n.substring(2,2+n.charCodeAt(1));if(1603==e)return 0==n.charCodeAt(1)?n.substring(3):null;if(1605==e)return["Invalid ME access","Invalid MEBx access"][n.charCodeAt(0)];if(1606==e){var i=["Disabled","Enabled"][n.charCodeAt(0)];return 0==n.charCodeAt(1)&&(i+=", "+n.substring(3)),i}if(1607==e)return"Remote "+["NoAuth","ServerAuth","MutualAuth"][n.charCodeAt(0)]+", Local "+["NoAuth","ServerAuth","MutualAuth"][n.charCodeAt(1)];if(1617==e)return t.RealmNames[ReadInt(n,0)]+", "+["NoAuth","Auth","Disabled"][n.charCodeAt(4)];if(1619==e)return["BIOS","MEBx","Local MEI","Local WSMAN","Remote WSAMN"][n.charCodeAt(0)];if(1900==e)return"From "+ReadShort(n,0)+"."+ReadShort(n,2)+"."+ReadShort(n,4)+"."+ReadShort(n,6)+" to "+ReadShort(n,8)+"."+ReadShort(n,10)+"."+ReadShort(n,12)+"."+ReadShort(n,14);if(2100==e){var o=new Date;return o.setTime(1e3*ReadInt(n,0)+6e4*(new Date).getTimezoneOffset()),o.toLocaleString()}return 3e3==e?"From "+["None","KVM","All"][n.charCodeAt(0)]+" to "+["None","KVM","All"][n.charCodeAt(1)]:3001==e?["Success","Failed 3 times"][n.charCodeAt(0)]:null},t.GetAuditLog=function(e){t.AMT_AuditLog_ReadRecords(1,C,[e,[]])},t}function hex_md5(e){return null==e&&(e=""),forge.md.md5.create().update(e).digest().toHex()}for(var md5_k=[],i=0;i<64;)md5_k[i]=0|4294967296*Math.abs(Math.sin(++i));function hex_md5(e){null==e&&(e="");for(var t,n,i,o,r=[],c=unescape(encodeURI(e)),a=c.length,s=[t=1732584193,n=-271733879,~t,~n],u=0;u<=a;)r[u>>2]|=(c.charCodeAt(u)||128)<>6)+14]=8*a,u=0;u>4]+(md5_k[o]+(0|r[[o,5*o+1,3*o+5,7*o][a]%16+u])))<<(a=[7,12,17,22,5,9,14,20,4,11,16,23,6,10,15,21][4*a+o++%4])|i>>>32-a),t,n];for(o=4;o;)s[--o]=s[o]+a[o]}for(e="";o<32;)e+=(s[o>>3]>>4*(1^7&o++)&15).toString(16);return e}function rstr_md5(e){return hex2rstr(hex_md5(e))}function execArgumentsToXml(e){if(null==e)return null;var t="";for(var n in e){var i=e[n];i&&("reference"===i.__parameterType?t+=referenceToXml(n,i):t+=instanceToXml(n,i))}return t}function instanceToXml(e,t){if(null==t)return null;var n=!!t.__namespace,i=n?"";if("string"==typeof t)r+=t;else for(var c in t)t.hasOwnProperty(c)&&0!==c.indexOf("__")&&("function"==typeof t[c]||Array.isArray(t[c])||("object"==typeof t[c]?console.error("only convert one level down..."):r+=i+c+">"+t[c].toString()+o+c+">"));return r+=""}function referenceToXml(e,t){if(null==t)return null;var n="/wsman"+t.__resourceUri+"";for(var i in t)t.hasOwnProperty(i)&&0!==i.indexOf("__")&&("function"==typeof t[i]||"object"==typeof t[i]||Array.isArray(t[i])||(n+=''+t[i].toString()+""));return n+=""}function GetSidString(e){for(var t="S-"+e.charCodeAt(0)+"-"+e.charCodeAt(7),n=2;n>8&248)+","+(S>>3&252)+","+((31&S)<<3))+")");var x=l(n,r);r=v(n,r),n=x,a.canvas.fillRect(n,r,o,f)}else if(y>1&&y<17){var T=4,K=15;if(2==a.bpp){for(C=0;C=0;C-=T)c(b[S>>C&K],D++)}else{for(C=0;C=0;C-=T)s(b[S>>C&K],D++)}i(a.spare,n,r)}else if(128==y){if(2==a.bpp)for(;D=0;)c(S,D++)}else for(;D=0;)s(S,D++)}i(a.spare,n,r)}else if(y>129){if(2==a.bpp)for(C=0;C127)do{k+=w=e[t++]}while(255==w);if(0==a.rotation)2==a.bpp?(d(S,D,k),D+=k):(h(S,D,k),D+=k);else if(2==a.bpp)for(;--k>=0;)c(S,D++);else for(;--k>=0;)s(S,D++)}i(a.spare,n,r)}}function i(e,t,n){if(1!=a.holding){var r=function(e,t){return 0==a.rotation?e:1==a.rotation?a.canvas.canvas.width-a.sparew2-t:2==a.rotation?a.canvas.canvas.width-a.sparew2-e:3==a.rotation?t:0}(t,n);n=function(e,t){return 0==a.rotation?t:1==a.rotation?e:2==a.rotation?a.canvas.canvas.height-a.spareh2-t:3==a.rotation?a.canvas.canvas.height-a.spareh-e:0}(t,n),t=r,a.canvas.putImageData(e,t,n)}}function s(e,t){var n=t<<2;if(a.rotation>0)if(1==a.rotation){var r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=r*a.sparew2+(a.sparew2-1-o))<<2}else if(2==a.rotation)n=a.sparew*a.spareh*4-4-n;else if(3==a.rotation){r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=(a.sparew2-1-r)*a.sparew2+o)<<2}a.graymode?(a.lowcolor&&(e<<=4),a.spare.data[n]=a.spare.data[n+1]=a.spare.data[n+2]=e):(a.spare.data[n]=224&e,a.spare.data[n+1]=(28&e)<<3,a.spare.data[n+2]=u((3&e)<<6))}function c(e,t){var n=t<<2;if(a.rotation>0)if(1==a.rotation){var r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=r*a.sparew2+(a.sparew2-1-o))<<2}else if(2==a.rotation)n=a.sparew*a.spareh*4-4-n;else if(3==a.rotation){r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=(a.sparew2-1-r)*a.sparew2+o)<<2}a.spare.data[n]=e>>8&248,a.spare.data[n+1]=e>>3&252,a.spare.data[n+2]=(31&e)<<3}function h(e,t,n){if(a.graymode){var r=t<<2;for(a.lowcolor&&(e<<=4);--n>=0;)a.spare.data[r]=a.spare.data[r+1]=a.spare.data[r+2]=e,r+=4}else{r=t<<2;for(var o=224&e,i=(28&e)<<3,s=u((3&e)<<6);--n>=0;)a.spare.data[r]=o,a.spare.data[r+1]=i,a.spare.data[r+2]=s,r+=4}}function d(e,t,n){for(var r=t<<2,o=e>>8&248,i=e>>3&252,s=(31&e)<<3;--n>=0;)a.spare.data[r]=o,a.spare.data[r+1]=i,a.spare.data[r+2]=s,r+=4}function l(e,t){return 0==a.rotation||1==a.rotation?e:2==a.rotation?e-a.canvas.canvas.width:3==a.rotation?e-a.canvas.canvas.height:0}function v(e,t){return 0==a.rotation?t:1==a.rotation?t-a.canvas.canvas.width:2==a.rotation?t-a.canvas.canvas.height:3==a.rotation?t:0}function u(e){return e>127?e+32:e}function f(){if(1!=a.holding)if(a.focusmode>0){var e=2*a.focusmode;a.send(String.fromCharCode(3,1)+ShortToStr(Math.max(Math.min(a.ox,a.mx)-a.focusmode,0))+ShortToStr(Math.max(Math.min(a.oy,a.my)-a.focusmode,0))+ShortToStr(e+Math.abs(a.ox-a.mx))+ShortToStr(e+Math.abs(a.oy-a.my))),a.ox=a.mx,a.oy=a.my}else a.send(String.fromCharCode(3,1,0,0,0,0)+ShortToStr(a.rwidth)+ShortToStr(a.rheight))}a.canvasid=e,a.CanvasId=Q(e),a.scrolldiv=t,a.canvas=Q(e).getContext("2d"),a.protocol=2,a.state=0,a.acc=null,a.ScreenWidth=960,a.ScreenHeight=700,a.width=0,a.height=0,a.rwidth=0,a.rheight=0,a.bpp=2,a.useRLE=!0,a.showmouse=!0,a.buttonmask=0,a.localKeyMap=!0,a.spare=null,a.sparew=0,a.spareh=0,a.sparew2=0,a.spareh2=0,a.sparecache={},a.onScreenSizeChange=null,a.frameRateDelay=0,a.noMouseRotate=!1,a.rotation=0,a.kvmDataSupported=!1,a.onKvmData=null,a.onKvmDataPending=[],a.onKvmDataAck=-1,a.holding=!1,a.lastKeepAlive=Date.now(),a.kvmExt={},a.kvmExtChanged=null,a.useZLib=!1,a.decimationMode=0,a.graymode=!1,a.lowcolor=!1,a.mNagleTimer=null,a.mx=0,a.my=0,a.ox=-1,a.oy=-1,a.focusmode=0,a.inflate=ZLIB.inflateInit(-15),a.xxStateChange=function(e){0==e?(a.canvas.fillStyle="#000000",a.canvas.fillRect(0,0,a.width,a.height),a.canvas.canvas.width=a.rwidth=a.width=640,a.canvas.canvas.height=a.rheight=a.height=400,QS(a.canvasid).cursor="default"):QS(a.canvasid).cursor=a.showmouse?"default":"none"},a.ProcessBinaryData=function(e){if(null!=a.recordedData&&!0!==a.recordedHolding&&a.recordedData.push(C(2,1,String.fromCharCode.apply(null,new Uint8Array(e)))),null==a.acc)a.acc=new Uint8Array(e);else{var t=new Uint8Array(a.acc.byteLength+e.byteLength);t.set(a.acc,0),t.set(new Uint8Array(e),a.acc.byteLength),a.acc=t}for(;null!=a.acc&&a.acc.byteLength>0;){var h=0,d=new DataView(a.acc.buffer);if(0==a.state&&a.acc.byteLength>=12)h=12,a.state=1,a.parent&&delete a.parent.connectTime,a.send("RFB 003.008\n");else if(1==a.state&&a.acc.byteLength>=1)h=a.acc[0]+1,a.send(String.fromCharCode(1)),a.state=2;else if(2==a.state&&a.acc.byteLength>=4){if(h=4,0!=d.getUint32(0))return a.Stop();a.send(String.fromCharCode(1)),a.state=3,a.parent&&(a.parent.disconnectCode=5e4)}else if(3==a.state&&a.acc.byteLength>=24){a.rotation=0;var l=d.getUint32(20);if(a.acc.byteLength<24+l)return;h=24+l,a.canvas.canvas.width=a.rwidth=a.width=a.ScreenWidth=d.getUint16(0),a.canvas.canvas.height=a.rheight=a.height=a.ScreenHeight=d.getUint16(2),a.DeskRecordServerInit=String.fromCharCode.apply(null,new Uint8Array(a.acc.buffer.slice(0,24+l)));var v="";a.useRLE&&(v+=IntToStr(16)),v+=IntToStr(0),v+=IntToStr(1092),a.send(String.fromCharCode(2,0)+ShortToStr(v.length/4+1)+v+IntToStr(-223)),0==a.graymode?1==a.bpp&&a.send(String.fromCharCode(0,0,0,0,8,8,0,1)+ShortToStr(7)+ShortToStr(7)+ShortToStr(3)+String.fromCharCode(5,2,0,0,0,0)):(2==a.bpp&&(a.bpp=1),0==a.lowcolor?a.send(String.fromCharCode(0,0,0,0,8,8,0,1)+ShortToStr(255)+ShortToStr(0)+ShortToStr(0)+String.fromCharCode(0,0,0,0,0,0)):a.send(String.fromCharCode(0,0,0,0,8,4,0,1)+ShortToStr(15)+ShortToStr(0)+ShortToStr(0)+String.fromCharCode(0,0,0,0,0,0))),a.state=4,a.parent&&(a.parent.connectTime=Date.now(),a.parent.disconnectCode=0,a.parent.xxStateChange(3)),a.ox=-1,null!=a.kvmExtChanged&&(a.decimationMode>0&&a.sendKvmExtCmd(2,a.decimationMode),a.sendKvmExtCmd(4,!0===a.useZLib?1:0)),f(),null!=a.onScreenSizeChange&&a.onScreenSizeChange(a,a.ScreenWidth,a.ScreenHeight),a.parent&&(a.parent.disconnectCode=50001,a.bpp*a.width*a.height>9216e3&&(a.parent.disconnectCode=50002))}else if(4==a.state)switch(a.acc[0]){case 0:if(a.acc.byteLength<4)return;a.state=100+d.getUint16(2),h=4,!0===a.recordedHolding&&(delete a.recordedHolding,a.recordedData.push(C(2,1,String.fromCharCode.apply(null,a.acc))));break;case 2:h=1;break;case 3:if(a.acc.byteLength<8)return;var u=d.getUint32(4)+8;if(a.acc.byteLength100&&a.acc.byteLength>=12){var m=d.getUint16(0),g=d.getUint16(2),S=d.getUint16(4),w=d.getUint16(6),y=S*w,b=d.getUint32(8);if(b<17){if(S<1||S>64||w<1||w>64)return console.log("Invalid tile size ("+S+","+w+"), disconnecting."),a.Stop();if(a.sparew!=S||a.spareh!=w){a.sparew=a.sparew2=S,a.spareh=a.spareh2=w,1!=a.rotation&&3!=a.rotation||(a.sparew2=w,a.spareh2=S);var D=a.sparew2+"x"+a.spareh2;if(a.spare=a.sparecache[D],!a.spare){a.sparecache[D]=a.spare=a.canvas.createImageData(a.sparew2,a.spareh2);for(var k=a.sparew2*a.spareh2<<2,x=3;x9216e3&&(a.parent.disconnectCode=50002);else if(0==b){var T=12,K=12+y*a.bpp;if(a.acc.byteLength5&&0==a.acc[T]&&d.getUint16(T+1,!0)==I-5)o(a.acc,T+5,m,g,S,w,y,I);else{var M=a.inflate.inflate(n(new Uint8Array(a.acc.buffer.slice(T,T+I-0))));M.length>0?o(r(M),0,m,g,S,w,y,M.length):console.log("Invalid deflate data")}h=16+I}100==--a.state&&(a.state=4,0==a.frameRateDelay?f():setTimeout(f,a.frameRateDelay))}if(0==h)return;h!=a.acc.byteLength?a.acc=new Uint8Array(a.acc.buffer.slice(h)):a.acc=null}},a.hold=function(e){a.holding!=e&&(a.holding=e,a.canvas.fillStyle="#000000",a.canvas.fillRect(0,0,a.width,a.height),0==a.holding?(a.canvas.canvas.width==a.width&&a.canvas.canvas.height==a.height||(a.canvas.canvas.width=a.width,a.canvas.canvas.height=a.height,null!=a.onScreenSizeChange&&a.onScreenSizeChange(a,a.ScreenWidth,a.ScreenHeight)),a.send(String.fromCharCode(3,0,0,0,0,0)+ShortToStr(a.width)+ShortToStr(a.height))):(a.UnGrabMouseInput(),a.UnGrabKeyInput()))},a.tcanvas=null,a.setRotation=function(e){for(;e<0;)e+=4;var t=e%4;if(1!=a.holding){if(t==a.rotation)return!0;var n=a.canvas.canvas.width,r=a.canvas.canvas.height;1!=a.rotation&&3!=a.rotation||(n=a.canvas.canvas.height,r=a.canvas.canvas.width),null==a.tcanvas&&(a.tcanvas=document.createElement("canvas"));var o=a.tcanvas.getContext("2d");return o.setTransform(1,0,0,1,0,0),o.canvas.width=n,o.canvas.height=r,o.rotate(-90*a.rotation*Math.PI/180),0==a.rotation&&o.drawImage(a.canvas.canvas,0,0),1==a.rotation&&o.drawImage(a.canvas.canvas,-a.canvas.canvas.width,0),2==a.rotation&&o.drawImage(a.canvas.canvas,-a.canvas.canvas.width,-a.canvas.canvas.height),3==a.rotation&&o.drawImage(a.canvas.canvas,0,-a.canvas.canvas.height),0!=a.rotation&&2!=a.rotation||(a.canvas.canvas.height=n,a.canvas.canvas.width=r),1!=a.rotation&&3!=a.rotation||(a.canvas.canvas.height=r,a.canvas.canvas.width=n),a.canvas.setTransform(1,0,0,1,0,0),a.canvas.rotate(90*t*Math.PI/180),a.rotation=t,a.canvas.drawImage(a.tcanvas,l(0),v(0,0)),a.width=a.canvas.canvas.width,a.height=a.canvas.canvas.height,null!=a.onScreenResize&&a.onScreenResize(a,a.width,a.height,a.CanvasId),!0}a.rotation=t},a.Start=function(){for(var e in a.state=0,a.acc=null,a.inflate.inflateReset(),a.onKvmDataPending=[],a.onKvmDataAck=-1,a.kvmDataSupported=!1,a.kvmExt={},a.sparecache)delete a.sparecache[e]},a.Stop=function(){a.UnGrabMouseInput(),a.UnGrabKeyInput(),a.parent&&a.parent.Stop()},a.send=function(e){a.parent&&a.parent.send(e)};var m={Pause:19,CapsLock:20,Space:32,Quote:39,Minus:45,NumpadMultiply:42,NumpadAdd:43,PrintScreen:44,Comma:44,NumpadSubtract:45,NumpadDecimal:46,Period:46,Slash:47,NumpadDivide:47,Semicolon:59,Equal:61,OSLeft:91,BracketLeft:91,OSRight:91,Backslash:92,BracketRight:93,ContextMenu:93,Backquote:96,NumLock:144,ScrollLock:145,Backspace:65288,Tab:65289,Enter:65293,NumpadEnter:65293,Escape:65307,Delete:65535,Home:65360,PageUp:65365,PageDown:65366,ArrowLeft:65361,ArrowUp:65362,ArrowRight:65363,ArrowDown:65364,End:65367,Insert:65379,F1:65470,F2:65471,F3:65472,F4:65473,F5:65474,F6:65475,F7:65476,F8:65477,F9:65478,F10:65479,F11:65480,F12:65481,ShiftLeft:65505,ShiftRight:65506,ControlLeft:65507,ControlRight:65508,AltLeft:65513,AltRight:65514,MetaLeft:65511,MetaRight:65512};function g(e,t){if(t||(t=window.event),t.code&&0==a.localKeyMap){var n=function(e){return e.code.startsWith("Key")&&4==e.code.length?e.code.charCodeAt(3)+(0==e.shiftKey?32:0):e.code.startsWith("Digit")&&6==e.code.length?e.code.charCodeAt(5):e.code.startsWith("Numpad")&&7==e.code.length?e.code.charCodeAt(6):m[e.code]}(t);null!=n&&a.sendkey(n,e)}else{var r=n=t.keyCode;0==t.shiftKey&&n>=65&&n<=90&&(r=n+32),n>=112&&n<=124&&(r=n+65358),8==n&&(r=65288),9==n&&(r=65289),13==n&&(r=65293),16==n&&(r=65505),17==n&&(r=65507),18==n&&(r=65513),27==n&&(r=65307),33==n&&(r=65365),34==n&&(r=65366),35==n&&(r=65367),36==n&&(r=65360),37==n&&(r=65361),38==n&&(r=65362),39==n&&(r=65363),40==n&&(r=65364),45==n&&(r=65379),46==n&&(r=65535),n>=96&&n<=105&&(r=n-48),106==n&&(r=42),107==n&&(r=43),109==n&&(r=45),110==n&&(r=46),111==n&&(r=47),186==n&&(r=59),187==n&&(r=61),188==n&&(r=44),189==n&&(r=45),190==n&&(r=46),191==n&&(r=47),192==n&&(r=96),219==n&&(r=91),220==n&&(r=92),221==n&&(r=93),222==n&&(r=39),a.sendkey(r,e)}return a.haltEvent(t)}function p(e,t){if(e.byteLength<8)return 0;var r=t.getUint32(4)+8;if(e.byteLength=16&&"\0KvmDataChannel"==o.substring(0,15)){0==a.kvmDataSupported&&(a.kvmDataSupported=!0),(-1==a.onKvmDataAck&&16==o.length||0!=o.charCodeAt(15))&&(a.onKvmDataAck=!0);try{urlvars&&urlvars.kvmdatatrace&&console.log("KVM-DataChannel-Recv("+(o.length-16)+"): "+o.substring(16))}catch(e){}o.length>=16&&a.onKvmData(o.substring(16)),1==a.onKvmDataAck&&a.onKvmDataPending.length>0&&a.sendKvmData(a.onKvmDataPending.shift())}else if(o.length>=13&&"\0KvmExtCmd\0"==o.substring(0,11)){var i=o.charCodeAt(11),s=o.charCodeAt(12);1==i&&(a.kvmExt.decimationMode=s,o.length>13&&(a.kvmExt.decimationState=o.charCodeAt(13)),null!=a.kvmExtChanged&&a.kvmExtChanged(1,a.kvmExt,a.kvmExt)),2==i&&a.sendKvmExtCmd(1),3==i&&(a.kvmExt.compression=s,null!=a.kvmExtChanged&&a.kvmExtChanged(3,a.kvmExt)),4==i&&a.sendKvmExtCmd(3)}else{console.log("Got KVM clipboard data:",o);try{urlvars&&urlvars.kvmdatatrace&&console.log("KVM-ClipBoard-Recv("+o.length+"): "+rstr2hex(o)+", "+o)}catch(e){}}}return r}a.sendkey=function(e,t){if("object"==typeof e){var n="";for(var r in e)n+=String.fromCharCode(4,e[r][1],0,0)+IntToStr(e[r][0]);a.send(n)}else a.send(String.fromCharCode(4,t,0,0)+IntToStr(e))},a.sendKvmExtCmd=function(e,t){var n="\0KvmExtCmd\0"+String.fromCharCode(e)+(null!=t?String.fromCharCode(t):"");a.send(String.fromCharCode(6,0,0,0)+IntToStr(n.length)+n)},a.sendKvmData=function(e){if(!0!==a.onKvmDataAck)a.onKvmDataPending.push(e);else{try{urlvars&&urlvars.kvmdatatrace&&console.log("KVM-DataChannel-Send("+e.length+"): "+e)}catch(e){}e="\0KvmDataChannel\0"+e,a.send(String.fromCharCode(6,0,0,0)+IntToStr(e.length)+e),a.onKvmDataAck=!1}},a.sendKeepAlive=function(){a.lastKeepAlive>32)+IntToStr(32&r)):(a.recordedSize+=n.length,ShortToStr(e)+ShortToStr(t)+IntToStr(n.length)+IntToStr(r>>32)+IntToStr(32&r)+n)}return a.GrabMouseInput=function(){if(1!=S){var e=a.canvas.canvas;e.onmouseup=a.mouseup,e.onmousedown=a.mousedown,e.onmousemove=a.mousemove,e.onwheel=a.mousewheel,S=!0}},a.UnGrabMouseInput=function(){if(0!=S){var e=a.canvas.canvas;e.onmousemove=null,e.onmouseup=null,e.onmousedown=null,e.onwheel=null,S=!1}},a.GrabKeyInput=function(){1!=w&&(document.onkeyup=a.handleKeyUp,document.onkeydown=a.handleKeyDown,document.onkeypress=a.handleKeys,w=!0)},a.UnGrabKeyInput=function(){0!=w&&(document.onkeyup=null,document.onkeydown=null,document.onkeypress=null,w=!1)},a.handleKeys=function(e){return a.haltEvent(e)},a.handleKeyUp=function(e){return g(0,e)},a.handleKeyDown=function(e){return g(1,e)},a.haltEvent=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},a.mousedblclick=function(e){},a.mousewheel=function(e){var t=0;if("number"==typeof e.deltaY?t=-1*e.deltaY:"number"==typeof e.detail?t=-1*e.detail:"number"==typeof e.wheelDelta&&(t=e.wheelDelta),0!=t){a.ReverseMouseWheel&&(t*=-1);var n=a.buttonmask;return a.buttonmask|=1<<(t>0?3:4),a.mousemove(e,1),a.buttonmask=n,a.mousemove(e,1)}},a.mousedown=function(e){return a.buttonmask|=1<>8,255&a.width,a.height>>8,255&a.height)+a.DeskRecordServerInit.substring(4),a.recordedData.push(C(2,1,a.DeskRecordServerInit)),a.recordedData.push(C(3,0,atob(a.CanvasId.toDataURL("image/png").split(",")[1]))),!0)},a.StopRecording=function(){if(null!=a.recordedData){var e=a.recordedData;return e.push(C(3,0,"MeshCentralMCREC")),delete a.recordedData,delete a.recordedStart,delete a.recordedSize,e}},a} \ No newline at end of file +var CreateAmtRemoteDesktop=function(e,t){var a={};function n(e){return String.fromCharCode.apply(null,e)}function r(e){for(var t=new Uint8Array(e.length),a=0,n=e.length;a>8&248)+","+(S>>3&252)+","+((31&S)<<3))+")");var x=l(n,r);r=v(n,r),n=x,a.canvas.fillRect(n,r,o,f)}else if(y>1&&y<17){var T=4,K=15;if(2==a.bpp){for(C=0;C=0;C-=T)c(b[S>>C&K],D++)}else{for(C=0;C=0;C-=T)s(b[S>>C&K],D++)}i(a.spare,n,r)}else if(128==y){if(2==a.bpp)for(;D=0;)c(S,D++)}else for(;D=0;)s(S,D++)}i(a.spare,n,r)}else if(y>129){if(2==a.bpp)for(C=0;C127)do{k+=w=e[t++]}while(255==w);if(0==a.rotation)2==a.bpp?(d(S,D,k),D+=k):(h(S,D,k),D+=k);else if(2==a.bpp)for(;--k>=0;)c(S,D++);else for(;--k>=0;)s(S,D++)}i(a.spare,n,r)}}function i(e,t,n){if(1!=a.holding){var r=function(e,t){return 0==a.rotation?e:1==a.rotation?a.canvas.canvas.width-a.sparew2-t:2==a.rotation?a.canvas.canvas.width-a.sparew2-e:3==a.rotation?t:0}(t,n);n=function(e,t){return 0==a.rotation?t:1==a.rotation?e:2==a.rotation?a.canvas.canvas.height-a.spareh2-t:3==a.rotation?a.canvas.canvas.height-a.spareh-e:0}(t,n),t=r,a.canvas.putImageData(e,t,n)}}function s(e,t){var n=t<<2;if(a.rotation>0)if(1==a.rotation){var r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=r*a.sparew2+(a.sparew2-1-o))<<2}else if(2==a.rotation)n=a.sparew*a.spareh*4-4-n;else if(3==a.rotation){r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=(a.sparew2-1-r)*a.sparew2+o)<<2}a.graymode?(a.lowcolor&&(e<<=4),a.spare.data[n]=a.spare.data[n+1]=a.spare.data[n+2]=e):(a.spare.data[n]=224&e,a.spare.data[n+1]=(28&e)<<3,a.spare.data[n+2]=u((3&e)<<6))}function c(e,t){var n=t<<2;if(a.rotation>0)if(1==a.rotation){var r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=r*a.sparew2+(a.sparew2-1-o))<<2}else if(2==a.rotation)n=a.sparew*a.spareh*4-4-n;else if(3==a.rotation){r=t%a.sparew,o=Math.floor(t/a.sparew);n=(t=(a.sparew2-1-r)*a.sparew2+o)<<2}a.spare.data[n]=e>>8&248,a.spare.data[n+1]=e>>3&252,a.spare.data[n+2]=(31&e)<<3}function h(e,t,n){if(a.graymode){var r=t<<2;for(a.lowcolor&&(e<<=4);--n>=0;)a.spare.data[r]=a.spare.data[r+1]=a.spare.data[r+2]=e,r+=4}else{r=t<<2;for(var o=224&e,i=(28&e)<<3,s=u((3&e)<<6);--n>=0;)a.spare.data[r]=o,a.spare.data[r+1]=i,a.spare.data[r+2]=s,r+=4}}function d(e,t,n){for(var r=t<<2,o=e>>8&248,i=e>>3&252,s=(31&e)<<3;--n>=0;)a.spare.data[r]=o,a.spare.data[r+1]=i,a.spare.data[r+2]=s,r+=4}function l(e,t){return 0==a.rotation||1==a.rotation?e:2==a.rotation?e-a.canvas.canvas.width:3==a.rotation?e-a.canvas.canvas.height:0}function v(e,t){return 0==a.rotation?t:1==a.rotation?t-a.canvas.canvas.width:2==a.rotation?t-a.canvas.canvas.height:3==a.rotation?t:0}function u(e){return e>127?e+32:e}function f(){if(1!=a.holding)if(a.focusmode>0){var e=2*a.focusmode;a.send(String.fromCharCode(3,1)+ShortToStr(Math.max(Math.min(a.ox,a.mx)-a.focusmode,0))+ShortToStr(Math.max(Math.min(a.oy,a.my)-a.focusmode,0))+ShortToStr(e+Math.abs(a.ox-a.mx))+ShortToStr(e+Math.abs(a.oy-a.my))),a.ox=a.mx,a.oy=a.my}else a.send(String.fromCharCode(3,1,0,0,0,0)+ShortToStr(a.rwidth)+ShortToStr(a.rheight))}a.canvasid=e,a.CanvasId=Q(e),a.scrolldiv=t,a.canvas=Q(e).getContext("2d"),a.protocol=2,a.state=0,a.acc=null,a.ScreenWidth=960,a.ScreenHeight=700,a.width=0,a.height=0,a.rwidth=0,a.rheight=0,a.bpp=2,a.useRLE=!0,a.showmouse=!0,a.buttonmask=0,a.localKeyMap=!0,a.spare=null,a.sparew=0,a.spareh=0,a.sparew2=0,a.spareh2=0,a.sparecache={},a.onScreenSizeChange=null,a.frameRateDelay=0,a.noMouseRotate=!1,a.rotation=0,a.kvmDataSupported=!1,a.onKvmData=null,a.onKvmDataPending=[],a.onKvmDataAck=-1,a.holding=!1,a.lastKeepAlive=Date.now(),a.kvmExt={},a.kvmExtChanged=null,a.useZLib=!1,a.decimationMode=0,a.graymode=!1,a.lowcolor=!1,a.mNagleTimer=null,a.mx=0,a.my=0,a.ox=-1,a.oy=-1,a.focusmode=0,a.inflate=ZLIB.inflateInit(-15),a.xxStateChange=function(e){0==e?(a.canvas.fillStyle="#000000",a.canvas.fillRect(0,0,a.width,a.height),a.canvas.canvas.width=a.rwidth=a.width=640,a.canvas.canvas.height=a.rheight=a.height=400,QS(a.canvasid).cursor="default"):QS(a.canvasid).cursor=a.showmouse?"default":"none"},a.ProcessBinaryData=function(e){if(null!=a.recordedData&&!0!==a.recordedHolding&&a.recordedData.push(C(2,1,String.fromCharCode.apply(null,new Uint8Array(e)))),null==a.acc)a.acc=new Uint8Array(e);else{var t=new Uint8Array(a.acc.byteLength+e.byteLength);t.set(a.acc,0),t.set(new Uint8Array(e),a.acc.byteLength),a.acc=t}for(;null!=a.acc&&a.acc.byteLength>0;){var h=0,d=new DataView(a.acc.buffer);if(0==a.state&&a.acc.byteLength>=12)h=12,a.state=1,a.parent&&delete a.parent.connectTime,a.send("RFB 003.008\n");else if(1==a.state&&a.acc.byteLength>=1)h=a.acc[0]+1,a.send(String.fromCharCode(1)),a.state=2;else if(2==a.state&&a.acc.byteLength>=4){if(h=4,0!=d.getUint32(0))return a.Stop();a.send(String.fromCharCode(1)),a.state=3,a.parent&&(a.parent.disconnectCode=5e4)}else if(3==a.state&&a.acc.byteLength>=24){a.rotation=0;var l=d.getUint32(20);if(a.acc.byteLength<24+l)return;h=24+l,a.canvas.canvas.width=a.rwidth=a.width=a.ScreenWidth=d.getUint16(0),a.canvas.canvas.height=a.rheight=a.height=a.ScreenHeight=d.getUint16(2),a.DeskRecordServerInit=String.fromCharCode.apply(null,new Uint8Array(a.acc.buffer.slice(0,24+l)));var v="";a.useRLE&&(v+=IntToStr(16)),v+=IntToStr(0),v+=IntToStr(1092),a.send(String.fromCharCode(2,0)+ShortToStr(v.length/4+1)+v+IntToStr(-223)),0==a.graymode?1==a.bpp&&a.send(String.fromCharCode(0,0,0,0,8,8,0,1)+ShortToStr(7)+ShortToStr(7)+ShortToStr(3)+String.fromCharCode(5,2,0,0,0,0)):(2==a.bpp&&(a.bpp=1),0==a.lowcolor?a.send(String.fromCharCode(0,0,0,0,8,8,0,1)+ShortToStr(255)+ShortToStr(0)+ShortToStr(0)+String.fromCharCode(0,0,0,0,0,0)):a.send(String.fromCharCode(0,0,0,0,8,4,0,1)+ShortToStr(15)+ShortToStr(0)+ShortToStr(0)+String.fromCharCode(0,0,0,0,0,0))),a.state=4,a.parent&&(a.parent.connectTime=Date.now(),a.parent.disconnectCode=0,a.parent.xxStateChange(3)),a.ox=-1,null!=a.kvmExtChanged&&(a.decimationMode>0&&a.sendKvmExtCmd(2,a.decimationMode),a.sendKvmExtCmd(4,!0===a.useZLib?1:0)),f(),null!=a.onScreenSizeChange&&a.onScreenSizeChange(a,a.ScreenWidth,a.ScreenHeight),a.parent&&(a.parent.disconnectCode=50001,a.bpp*a.width*a.height>9216e3&&(a.parent.disconnectCode=50002))}else if(4==a.state)switch(a.acc[0]){case 0:if(a.acc.byteLength<4)return;a.state=100+d.getUint16(2),h=4,!0===a.recordedHolding&&(delete a.recordedHolding,a.recordedData.push(C(2,1,String.fromCharCode.apply(null,a.acc))));break;case 2:h=1;break;case 3:if(a.acc.byteLength<8)return;var u=d.getUint32(4)+8;if(a.acc.byteLength100&&a.acc.byteLength>=12){var m=d.getUint16(0),g=d.getUint16(2),S=d.getUint16(4),w=d.getUint16(6),y=S*w,b=d.getUint32(8);if(b<17){if(S<1||S>64||w<1||w>64)return console.log("Invalid tile size ("+S+","+w+"), disconnecting."),a.Stop();if(a.sparew!=S||a.spareh!=w){a.sparew=a.sparew2=S,a.spareh=a.spareh2=w,1!=a.rotation&&3!=a.rotation||(a.sparew2=w,a.spareh2=S);var D=a.sparew2+"x"+a.spareh2;if(a.spare=a.sparecache[D],!a.spare){a.sparecache[D]=a.spare=a.canvas.createImageData(a.sparew2,a.spareh2);for(var k=a.sparew2*a.spareh2<<2,x=3;x9216e3&&(a.parent.disconnectCode=50002);else if(0==b){var T=12,K=12+y*a.bpp;if(a.acc.byteLength5&&0==a.acc[T]&&d.getUint16(T+1,!0)==I-5)o(a.acc,T+5,m,g,S,w,y,I);else{var M=a.inflate.inflate(n(new Uint8Array(a.acc.buffer.slice(T,T+I-0))));M.length>0?o(r(M),0,m,g,S,w,y,M.length):console.log("Invalid deflate data")}h=16+I}100==--a.state&&(a.state=4,0==a.frameRateDelay?f():setTimeout(f,a.frameRateDelay))}if(0==h)return;h!=a.acc.byteLength?a.acc=new Uint8Array(a.acc.buffer.slice(h)):a.acc=null}},a.hold=function(e){a.holding!=e&&(a.holding=e,a.canvas.fillStyle="#000000",a.canvas.fillRect(0,0,a.width,a.height),0==a.holding?(a.canvas.canvas.width==a.width&&a.canvas.canvas.height==a.height||(a.canvas.canvas.width=a.width,a.canvas.canvas.height=a.height,null!=a.onScreenSizeChange&&a.onScreenSizeChange(a,a.ScreenWidth,a.ScreenHeight)),a.send(String.fromCharCode(3,0,0,0,0,0)+ShortToStr(a.width)+ShortToStr(a.height))):(a.UnGrabMouseInput(),a.UnGrabKeyInput()))},a.tcanvas=null,a.setRotation=function(e){for(;e<0;)e+=4;var t=e%4;if(1!=a.holding){if(t==a.rotation)return!0;var n=a.canvas.canvas.width,r=a.canvas.canvas.height;1!=a.rotation&&3!=a.rotation||(n=a.canvas.canvas.height,r=a.canvas.canvas.width),null==a.tcanvas&&(a.tcanvas=document.createElement("canvas"));var o=a.tcanvas.getContext("2d");return o.setTransform(1,0,0,1,0,0),o.canvas.width=n,o.canvas.height=r,o.rotate(-90*a.rotation*Math.PI/180),0==a.rotation&&o.drawImage(a.canvas.canvas,0,0),1==a.rotation&&o.drawImage(a.canvas.canvas,-a.canvas.canvas.width,0),2==a.rotation&&o.drawImage(a.canvas.canvas,-a.canvas.canvas.width,-a.canvas.canvas.height),3==a.rotation&&o.drawImage(a.canvas.canvas,0,-a.canvas.canvas.height),0!=a.rotation&&2!=a.rotation||(a.canvas.canvas.height=n,a.canvas.canvas.width=r),1!=a.rotation&&3!=a.rotation||(a.canvas.canvas.height=r,a.canvas.canvas.width=n),a.canvas.setTransform(1,0,0,1,0,0),a.canvas.rotate(90*t*Math.PI/180),a.rotation=t,a.canvas.drawImage(a.tcanvas,l(0),v(0,0)),a.width=a.canvas.canvas.width,a.height=a.canvas.canvas.height,null!=a.onScreenResize&&a.onScreenResize(a,a.width,a.height,a.CanvasId),!0}a.rotation=t},a.Start=function(){for(var e in a.state=0,a.acc=null,a.inflate.inflateReset(),a.onKvmDataPending=[],a.onKvmDataAck=-1,a.kvmDataSupported=!1,a.kvmExt={},a.sparecache)delete a.sparecache[e]},a.Stop=function(){a.UnGrabMouseInput(),a.UnGrabKeyInput(),a.parent&&a.parent.Stop()},a.send=function(e){a.parent&&a.parent.send(e)};var m={Pause:19,CapsLock:20,Space:32,Quote:39,Minus:45,NumpadMultiply:42,NumpadAdd:43,PrintScreen:44,Comma:44,NumpadSubtract:45,NumpadDecimal:46,Period:46,Slash:47,NumpadDivide:47,Semicolon:59,Equal:61,OSLeft:91,BracketLeft:91,OSRight:91,Backslash:92,BracketRight:93,ContextMenu:93,Backquote:96,NumLock:144,ScrollLock:145,Backspace:65288,Tab:65289,Enter:65293,NumpadEnter:65293,Escape:65307,Delete:65535,Home:65360,PageUp:65365,PageDown:65366,ArrowLeft:65361,ArrowUp:65362,ArrowRight:65363,ArrowDown:65364,End:65367,Insert:65379,F1:65470,F2:65471,F3:65472,F4:65473,F5:65474,F6:65475,F7:65476,F8:65477,F9:65478,F10:65479,F11:65480,F12:65481,ShiftLeft:65505,ShiftRight:65506,ControlLeft:65507,ControlRight:65508,AltLeft:65513,AltRight:65514,MetaLeft:65511,MetaRight:65512};function g(e,t){if(t||(t=window.event),t.code&&0==a.localKeyMap){var n=function(e){return e.code.startsWith("Key")&&4==e.code.length?e.code.charCodeAt(3)+(0==e.shiftKey?32:0):e.code.startsWith("Digit")&&6==e.code.length?e.code.charCodeAt(5):e.code.startsWith("Numpad")&&7==e.code.length?e.code.charCodeAt(6):m[e.code]}(t);null!=n&&a.sendkey(n,e)}else{var r=n=t.keyCode;0==t.shiftKey&&n>=65&&n<=90&&(r=n+32),n>=112&&n<=124&&(r=n+65358),8==n&&(r=65288),9==n&&(r=65289),13==n&&(r=65293),16==n&&(r=65505),17==n&&(r=65507),18==n&&(r=65513),27==n&&(r=65307),33==n&&(r=65365),34==n&&(r=65366),35==n&&(r=65367),36==n&&(r=65360),37==n&&(r=65361),38==n&&(r=65362),39==n&&(r=65363),40==n&&(r=65364),45==n&&(r=65379),46==n&&(r=65535),n>=96&&n<=105&&(r=n-48),106==n&&(r=42),107==n&&(r=43),109==n&&(r=45),110==n&&(r=46),111==n&&(r=47),186==n&&(r=59),187==n&&(r=61),188==n&&(r=44),189==n&&(r=45),190==n&&(r=46),191==n&&(r=47),192==n&&(r=96),219==n&&(r=91),220==n&&(r=92),221==n&&(r=93),222==n&&(r=39),a.sendkey(r,e)}return a.haltEvent(t)}function p(e,t){if(e.byteLength<8)return 0;var r=t.getUint32(4)+8;if(e.byteLength=16&&"\0KvmDataChannel"==o.substring(0,15)){0==a.kvmDataSupported&&(a.kvmDataSupported=!0),(-1==a.onKvmDataAck&&16==o.length||0!=o.charCodeAt(15))&&(a.onKvmDataAck=!0);try{urlvars&&urlvars.kvmdatatrace&&console.log("KVM-DataChannel-Recv("+(o.length-16)+"): "+o.substring(16))}catch(e){}o.length>=16&&a.onKvmData(o.substring(16)),1==a.onKvmDataAck&&a.onKvmDataPending.length>0&&a.sendKvmData(a.onKvmDataPending.shift())}else if(o.length>=13&&"\0KvmExtCmd\0"==o.substring(0,11)){var i=o.charCodeAt(11),s=o.charCodeAt(12);1==i&&(a.kvmExt.decimationMode=s,o.length>13&&(a.kvmExt.decimationState=o.charCodeAt(13)),null!=a.kvmExtChanged&&a.kvmExtChanged(1,a.kvmExt,a.kvmExt)),2==i&&a.sendKvmExtCmd(1),3==i&&(a.kvmExt.compression=s,null!=a.kvmExtChanged&&a.kvmExtChanged(3,a.kvmExt)),4==i&&a.sendKvmExtCmd(3)}else{console.log("Got KVM clipboard data:",o);try{urlvars&&urlvars.kvmdatatrace&&console.log("KVM-ClipBoard-Recv("+o.length+"): "+rstr2hex(o)+", "+o)}catch(e){}}}return r}a.sendkey=function(e,t){if("object"==typeof e){var n="";for(var r in e)n+=String.fromCharCode(4,e[r][1],0,0)+IntToStr(e[r][0]);a.send(n)}else a.send(String.fromCharCode(4,t,0,0)+IntToStr(e))},a.sendKvmExtCmd=function(e,t){var n="\0KvmExtCmd\0"+String.fromCharCode(e)+(null!=t?String.fromCharCode(t):"");a.send(String.fromCharCode(6,0,0,0)+IntToStr(n.length)+n)},a.sendKvmData=function(e){if(!0!==a.onKvmDataAck)a.onKvmDataPending.push(e);else{try{urlvars&&urlvars.kvmdatatrace&&console.log("KVM-DataChannel-Send("+e.length+"): "+e)}catch(e){}e="\0KvmDataChannel\0"+e,a.send(String.fromCharCode(6,0,0,0)+IntToStr(e.length)+e),a.onKvmDataAck=!1}},a.sendKeepAlive=function(){a.lastKeepAlive>32)+IntToStr(32&r)):(a.recordedSize+=n.length,ShortToStr(e)+ShortToStr(t)+IntToStr(n.length)+IntToStr(r>>32)+IntToStr(32&r)+n)}return a.GrabMouseInput=function(){if(1!=S){var e=a.canvas.canvas;e.onmouseup=a.mouseup,e.onmousedown=a.mousedown,e.onmousemove=a.mousemove,e.onwheel=a.mousewheel,S=!0}},a.UnGrabMouseInput=function(){if(0!=S){var e=a.canvas.canvas;e.onmousemove=null,e.onmouseup=null,e.onmousedown=null,e.onwheel=null,S=!1}},a.GrabKeyInput=function(){1!=w&&(document.onkeyup=a.handleKeyUp,document.onkeydown=a.handleKeyDown,document.onkeypress=a.handleKeys,w=!0)},a.UnGrabKeyInput=function(){0!=w&&(document.onkeyup=null,document.onkeydown=null,document.onkeypress=null,w=!1)},a.handleKeys=function(e){return a.haltEvent(e)},a.handleKeyUp=function(e){return g(0,e)},a.handleKeyDown=function(e){return g(1,e)},a.haltEvent=function(e){return e.preventDefault&&e.preventDefault(),e.stopPropagation&&e.stopPropagation(),!1},a.mousedblclick=function(e){},a.mousewheel=function(e){var t=0;if("number"==typeof e.deltaY?t=-1*e.deltaY:"number"==typeof e.detail?t=-1*e.detail:"number"==typeof e.wheelDelta&&(t=e.wheelDelta),0!=t){a.ReverseMouseWheel&&(t*=-1);var n=a.buttonmask;return a.buttonmask|=1<<(t>0?3:4),a.mousemove(e,1),a.buttonmask=n,a.mousemove(e,1)}},a.mousedown=function(e){return a.buttonmask|=1<>8,255&a.width,a.height>>8,255&a.height)+a.DeskRecordServerInit.substring(4),a.recordedData.push(C(2,1,a.DeskRecordServerInit)),a.recordedData.push(C(3,0,atob(a.CanvasId.toDataURL("image/png").split(",")[1]))),!0)},a.StopRecording=function(){if(null!=a.recordedData){var e=a.recordedData;return e.push(C(3,0,"MeshCentralMCREC")),delete a.recordedData,delete a.recordedStart,delete a.recordedSize,e}},a} \ No newline at end of file diff --git a/public/scripts/amt-script-0.2.0-min.js b/public/scripts/amt-script-0.2.0-min.js index 4ba9926e..54e9bdc0 100644 --- a/public/scripts/amt-script-0.2.0-min.js +++ b/public/scripts/amt-script-0.2.0-min.js @@ -1 +1 @@ -function script_setup(e,t){var r={startvars:t};return e.length<6?(console.error("Invalid script length"),null):612182341!=ReadInt(e,0)?(console.error("Invalid binary script"),null):ReadShort(e,4)>1?(console.error("Unsupported script version"),null):(r.script=e.substring(6),r.reset=function(e){r.stop(),r.ip=0,r.variables=t,r.state=1},r.start=function(e){r.stop(),r.stepspeed=e,e>0&&(r.timer=setInterval((function(){r.step()}),e))},r.stop=function(){null!=r.timer&&clearInterval(r.timer),r.timer=null,r.stepspeed=0},r.getVar=function(e){if(null!=e)return r.getVarEx(e.split("."),r.variables)},r.getVarEx=function(e,t){try{if(null==e)return;return 0==e.length?t:r.getVarEx(e.slice(1),t[e[0]])}catch(e){return null}},r.setVar=function(e,t){r.setVarEx(e.split("."),r.variables,t)},r.setVarEx=function(e,t,a){1==e.length?t[e[0]]=a:r.setVarEx(e.slice(1),t[e[0]],a)},r.step=function(){if(1==r.state){if(r.ip1;){var u=l.split("{").pop().split("}").shift();l=l.replace("{"+u+"}",r.getVar(u))}1==c&&(r.variables["__"+i]=decodeURI(l),l="__"+i),s.push(l)}2!=c&&3!=c||(r.variables["__"+i]=ReadSInt(l,0),s.push("__"+i)),n+=2+o}r.ip+=t;var p,d=[];for(i=0;i<10;i++)d.push(r.getVar(s[i]));try{if(e<1e4)switch(e){case 0:break;case 1:d[2]?("<"==d[2]&&d[1]="==d[2]&&d[1]>=d[3]||">"==d[2]&&d[1]>d[3])&&(r.ip=d[0]):r.ip=d[0];break;case 2:null==s[1]?delete r.variables[s[0]]:r.setVar(s[0],d[1]);break;case 3:r.onConsole?r.onConsole(r.toString(d[0]),r):console.log(r.toString(d[0]));break;case 4:r.state=2,r.dialog=!0,setDialogMode(11,d[0],d[2],r.xxStepDialogOk,d[1],r);break;case 5:for(var i in d[1])d[1][i][d[2]]==d[3]&&(p=i);break;case 6:p=d[1].substr(d[2],d[3]);break;case 7:p=d[1].indexOf(d[2]);break;case 8:p=d[1].split(d[2]);break;case 9:p=d[1].join(d[2]);break;case 10:p=d[1].length;break;case 11:p=JSON.parse(d[1]);break;case 12:p=JSON.stringify(d[1]);break;case 13:p=d[1]+d[2];break;case 14:p=d[1]-d[2];break;case 15:p=parseInt(d[1]);break;case 16:r.state=2,r.amtstack.BatchEnum(d[0],d[1],r.xxWsmanReturn,r);break;case 17:r.state=2,r.amtstack.Put(d[0],d[1],r.xxWsmanReturn,r);break;case 18:r.state=2,r.amtstack.Create(d[0],d[1],r.xxWsmanReturn,r);break;case 19:r.state=2,r.amtstack.Delete(d[0],d[1],r.xxWsmanReturn,r);break;case 20:r.state=2,r.amtstack.Exec(d[0],d[1],d[2],r.xxWsmanReturn,r,0,d[3]);break;case 21:r.stepspeed=d[0],null!=r.timer&&(clearInterval(r.timer),r.timer=setInterval((function(){r.step()}),r.stepspeed));break;case 22:r.state=2,r.amtstack.Subscribe(d[0],d[1],d[2],r.xxWsmanReturn,r,0,d[3],d[4],d[5],d[6]);break;case 23:r.state=2,r.amtstack.UnSubscribe(d[0],r.xxWsmanReturn,r,0,d[1]);break;case 24:console.log(d[1],d[2],d[1].charCodeAt(d[2])),p=d[1].charCodeAt(d[2]);break;case 25:r.state=2,amtcert_signWithCaKey(d[0],null,d[1],{CN:"Untrusted Root Certificate"},r.xxSignWithDummyCaReturn);break;default:r.state=9,console.error("Script Error, unknown command: "+e)}else e<2e4?p=script_functionTableX2[e-1e4](d[1],d[2],d[3],d[4],d[5],d[6]):script_functionTableX3&&script_functionTableX3[e-2e4]&&(p=script_functionTableX3[e-2e4](r,d[1],d[2],d[3],d[4],d[5],d[6]));null!=p&&r.setVar(s[0],p)}catch(e){"object"==typeof e&&(e=e.message),r.setVar("_exception",e)}}return 1==r.state&&r.ip>=r.script.length&&(r.state=0,r.stop()),r.onStep&&r.onStep(r),r}},r.xxStepDialogOk=function(e){r.variables.DialogSelect=e,r.state=1,r.dialog=!1,r.onStep&&r.onStep(r)},r.xxWsmanReturnFix=function(e){e&&null!=e&&(e.Header&&(e.Header=e.Header,delete e.Header),e.Body&&(e.Body=e.Body,delete e.Body),e.Responses&&(e.Responses=e.Responses,delete e.Responses),e.Response&&(e.Response=e.Response,delete e.Response),e.ReturnValueStr&&(e.ReturnValueStr=e.ReturnValueStr,delete e.ReturnValueStr))},r.xxWsmanReturn=function(e,t,a,n){if(a)for(var s in r.xxWsmanReturnFix(a),a)for(var i in r.xxWsmanReturnFix(a[s]),a[s])r.xxWsmanReturnFix(a[s][i]);r.setVar(t,a),r.setVar("wsman_result",n),r.setVar("wsman_result_str",httpErrorTable[n]?httpErrorTable[n]:"Error #"+n),r.state=1,r.onStep&&r.onStep(r)},r.xxSignWithDummyCaReturn=function(e){r.setVar("signed_cert",btoa(_arrayBufferToString(e))),r.state=1,r.onStep&&r.onStep(r)},r.toString=function(e){return"object"==typeof e?JSON.stringify(e):e},r.reset(),r)}function script_compile(e,t){var r="",a=e.split("\n"),n={},s=[],i=[];for(var o in a){var l=a[o];if(l.startsWith("##SWAP "))3==(c=l.split(" ")).length&&(i[c[1]]=c[2]);if("#"!=l[0]&&0!=l.length){for(var c in i)l=l.split(c).join(i[c]);var u=l.match(/"[^"]*"|[^\s"]+/g);if(0!=u.length)if(":"!=l[0]){var p=script_functionTable1.indexOf(u[0].toLowerCase());if(-1==p&&(p=script_functionTable2.indexOf(u[0].toLowerCase()))>=0&&(p+=1e4),-1==p&&(p=script_functionTable3.indexOf(u[0].toLowerCase()))>=0&&(p+=2e4),-1==p)return t&&t("Unabled to compile, unknown command: "+u[0]),"";var d=ShortToStr(u.length-1);for(var f in u)if(0!=f)if(":"==u[f][0])s.push([u[f],r.length+d.length+7]),d+=ShortToStr(5)+String.fromCharCode(3)+IntToStr(4294967295);else{var h=parseInt(u[f]);h==u[f]?d+=ShortToStr(5)+String.fromCharCode(2)+IntToStr(h):'"'==u[f][0]&&'"'==u[f][u[f].length-1]?d+=ShortToStr(u[f].length-1)+String.fromCharCode(1)+u[f].substring(1,u[f].length-1):d+=ShortToStr(u[f].length+1)+String.fromCharCode(0)+u[f]}r+=d=ShortToStr(p)+ShortToStr(d.length+4)+d}else n[u[0].toUpperCase()]=r.length}}for(o in s){var b=s[o][0].toUpperCase(),g=s[o][1],S=n[b];if(null==S)return t&&t("Unabled to compile, unknown label: "+b),"";r=r.substr(0,g)+IntToStr(S)+r.substr(g+4)}return IntToStr(612182341)+ShortToStr(1)+r}function script_decompile(e,t){var r="",a=6,n={};if(t>=0)a=t;else{if(e.length<6)return"# Invalid script length";var s=ReadInt(e,0),i=ReadShort(e,4);if(612182341!=s)return"# Invalid binary script: "+s;if(1!=i)return"# Invalid script version"}for(;a=0||(r+=":label"+(a-6)+"\n");for(var d=0;d=2e4?script_functionTable3[o-2e4]+p+"\n":script_functionTable2[o-1e4]+p+"\n",a+=l,t>=0)return r}var m=r.split("\n");for(var d in r="",m){var x=m[d];(":"!=x[0]||n[x])&&(r+=x+"\n")}return r}script_functionTable1=["nop","jump","set","print","dialog","getitem","substr","indexof","split","join","length","jsonparse","jsonstr","add","substract","parseint","wsbatchenum","wsput","wscreate","wsdelete","wsexec","scriptspeed","wssubscribe","wsunsubscribe","readchar","signwithdummyca"],script_functionTable2=["encodeuri","decodeuri","passwordcheck","atob","btoa","hex2str","str2hex","random","md5","maketoarray","readshort","readshortx","readint","readsint","readintx","shorttostr","shorttostrx","inttostr","inttostrx"],script_functionTableX2=[encodeURI,decodeURI,passwordcheck,window.atob.bind(window),window.btoa.bind(window),hex2rstr,rstr2hex,random,rstr_md5,MakeToArray,ReadShort,ReadShortX,ReadInt,ReadSInt,ReadIntX,ShortToStr,ShortToStrX,IntToStr,IntToStrX],script_functionTable3=["pullsystemstatus","pulleventlog","pullauditlog","pullcertificates","pullwatchdog","pullsystemdefense","pullhardware","pulluserinfo","pullremoteaccess","highlightblock","disconnect","getsidstring","getsidbytearray"],script_functionTableX3=[PullSystemStatus,PullEventLog,PullAuditLog,PullCertificates,PullWatchdog,PullSystemDefense,PullHardware,PullUserInfo,PullRemoteAccess,script_HighlightBlock,disconnect,function(e,t){return GetSidString(t)},function(e,t){return GetSidByteArray(t)}] \ No newline at end of file +function script_setup(e,t){var r={startvars:t};return e.length<6?(console.error("Invalid script length"),null):612182341!=ReadInt(e,0)?(console.error("Invalid binary script"),null):ReadShort(e,4)>1?(console.error("Unsupported script version"),null):(r.script=e.substring(6),r.reset=function(e){r.stop(),r.ip=0,r.variables=t,r.state=1},r.start=function(e){r.stop(),r.stepspeed=e,e>0&&(r.timer=setInterval(function(){r.step()},e))},r.stop=function(){null!=r.timer&&clearInterval(r.timer),r.timer=null,r.stepspeed=0},r.getVar=function(e){if(null!=e)return r.getVarEx(e.split("."),r.variables)},r.getVarEx=function(e,t){try{if(null==e)return;return 0==e.length?t:r.getVarEx(e.slice(1),t[e[0]])}catch(e){return null}},r.setVar=function(e,t){r.setVarEx(e.split("."),r.variables,t)},r.setVarEx=function(e,t,a){1==e.length?t[e[0]]=a:r.setVarEx(e.slice(1),t[e[0]],a)},r.step=function(){if(1==r.state){if(r.ip1;){var u=l.split("{").pop().split("}").shift();l=l.replace("{"+u+"}",r.getVar(u))}1==c&&(r.variables["__"+i]=decodeURI(l),l="__"+i),s.push(l)}2!=c&&3!=c||(r.variables["__"+i]=ReadSInt(l,0),s.push("__"+i)),n+=2+o}r.ip+=t;var p,d=[];for(i=0;i<10;i++)d.push(r.getVar(s[i]));try{if(e<1e4)switch(e){case 0:break;case 1:d[2]?("<"==d[2]&&d[1]="==d[2]&&d[1]>=d[3]||">"==d[2]&&d[1]>d[3])&&(r.ip=d[0]):r.ip=d[0];break;case 2:null==s[1]?delete r.variables[s[0]]:r.setVar(s[0],d[1]);break;case 3:r.onConsole?r.onConsole(r.toString(d[0]),r):console.log(r.toString(d[0]));break;case 4:r.state=2,r.dialog=!0,setDialogMode(11,d[0],d[2],r.xxStepDialogOk,d[1],r);break;case 5:for(var i in d[1])d[1][i][d[2]]==d[3]&&(p=i);break;case 6:p=d[1].substr(d[2],d[3]);break;case 7:p=d[1].indexOf(d[2]);break;case 8:p=d[1].split(d[2]);break;case 9:p=d[1].join(d[2]);break;case 10:p=d[1].length;break;case 11:p=JSON.parse(d[1]);break;case 12:p=JSON.stringify(d[1]);break;case 13:p=d[1]+d[2];break;case 14:p=d[1]-d[2];break;case 15:p=parseInt(d[1]);break;case 16:r.state=2,r.amtstack.BatchEnum(d[0],d[1],r.xxWsmanReturn,r);break;case 17:r.state=2,r.amtstack.Put(d[0],d[1],r.xxWsmanReturn,r);break;case 18:r.state=2,r.amtstack.Create(d[0],d[1],r.xxWsmanReturn,r);break;case 19:r.state=2,r.amtstack.Delete(d[0],d[1],r.xxWsmanReturn,r);break;case 20:r.state=2,r.amtstack.Exec(d[0],d[1],d[2],r.xxWsmanReturn,r,0,d[3]);break;case 21:r.stepspeed=d[0],null!=r.timer&&(clearInterval(r.timer),r.timer=setInterval(function(){r.step()},r.stepspeed));break;case 22:r.state=2,r.amtstack.Subscribe(d[0],d[1],d[2],r.xxWsmanReturn,r,0,d[3],d[4],d[5],d[6]);break;case 23:r.state=2,r.amtstack.UnSubscribe(d[0],r.xxWsmanReturn,r,0,d[1]);break;case 24:console.log(d[1],d[2],d[1].charCodeAt(d[2])),p=d[1].charCodeAt(d[2]);break;case 25:r.state=2,amtcert_signWithCaKey(d[0],null,d[1],{CN:"Untrusted Root Certificate"},r.xxSignWithDummyCaReturn);break;default:r.state=9,console.error("Script Error, unknown command: "+e)}else e<2e4?p=script_functionTableX2[e-1e4](d[1],d[2],d[3],d[4],d[5],d[6]):script_functionTableX3&&script_functionTableX3[e-2e4]&&(p=script_functionTableX3[e-2e4](r,d[1],d[2],d[3],d[4],d[5],d[6]));null!=p&&r.setVar(s[0],p)}catch(e){"object"==typeof e&&(e=e.message),r.setVar("_exception",e)}}return 1==r.state&&r.ip>=r.script.length&&(r.state=0,r.stop()),r.onStep&&r.onStep(r),r}},r.xxStepDialogOk=function(e){r.variables.DialogSelect=e,r.state=1,r.dialog=!1,r.onStep&&r.onStep(r)},r.xxWsmanReturnFix=function(e){e&&null!=e&&(e.Header&&(e.Header=e.Header,delete e.Header),e.Body&&(e.Body=e.Body,delete e.Body),e.Responses&&(e.Responses=e.Responses,delete e.Responses),e.Response&&(e.Response=e.Response,delete e.Response),e.ReturnValueStr&&(e.ReturnValueStr=e.ReturnValueStr,delete e.ReturnValueStr))},r.xxWsmanReturn=function(e,t,a,n){if(a)for(var s in r.xxWsmanReturnFix(a),a)for(var i in r.xxWsmanReturnFix(a[s]),a[s])r.xxWsmanReturnFix(a[s][i]);r.setVar(t,a),r.setVar("wsman_result",n),r.setVar("wsman_result_str",httpErrorTable[n]?httpErrorTable[n]:"Error #"+n),r.state=1,r.onStep&&r.onStep(r)},r.xxSignWithDummyCaReturn=function(e){r.setVar("signed_cert",btoa(_arrayBufferToString(e))),r.state=1,r.onStep&&r.onStep(r)},r.toString=function(e){return"object"==typeof e?JSON.stringify(e):e},r.reset(),r)}function script_compile(e,t){var r="",a=e.split("\n"),n={},s=[],i=[];for(var o in a){var l=a[o];if(l.startsWith("##SWAP "))3==(c=l.split(" ")).length&&(i[c[1]]=c[2]);if("#"!=l[0]&&0!=l.length){for(var c in i)l=l.split(c).join(i[c]);var u=l.match(/"[^"]*"|[^\s"]+/g);if(0!=u.length)if(":"!=l[0]){var p=script_functionTable1.indexOf(u[0].toLowerCase());if(-1==p&&(p=script_functionTable2.indexOf(u[0].toLowerCase()))>=0&&(p+=1e4),-1==p&&(p=script_functionTable3.indexOf(u[0].toLowerCase()))>=0&&(p+=2e4),-1==p)return t&&t("Unabled to compile, unknown command: "+u[0]),"";var d=ShortToStr(u.length-1);for(var f in u)if(0!=f)if(":"==u[f][0])s.push([u[f],r.length+d.length+7]),d+=ShortToStr(5)+String.fromCharCode(3)+IntToStr(4294967295);else{var h=parseInt(u[f]);h==u[f]?d+=ShortToStr(5)+String.fromCharCode(2)+IntToStr(h):'"'==u[f][0]&&'"'==u[f][u[f].length-1]?d+=ShortToStr(u[f].length-1)+String.fromCharCode(1)+u[f].substring(1,u[f].length-1):d+=ShortToStr(u[f].length+1)+String.fromCharCode(0)+u[f]}r+=d=ShortToStr(p)+ShortToStr(d.length+4)+d}else n[u[0].toUpperCase()]=r.length}}for(o in s){var b=s[o][0].toUpperCase(),g=s[o][1],S=n[b];if(null==S)return t&&t("Unabled to compile, unknown label: "+b),"";r=r.substr(0,g)+IntToStr(S)+r.substr(g+4)}return IntToStr(612182341)+ShortToStr(1)+r}function script_decompile(e,t){var r="",a=6,n={};if(t>=0)a=t;else{if(e.length<6)return"# Invalid script length";var s=ReadInt(e,0),i=ReadShort(e,4);if(612182341!=s)return"# Invalid binary script: "+s;if(1!=i)return"# Invalid script version"}for(;a=0||(r+=":label"+(a-6)+"\n");for(var d=0;d=2e4?script_functionTable3[o-2e4]+p+"\n":script_functionTable2[o-1e4]+p+"\n",a+=l,t>=0)return r}var m=r.split("\n");for(var d in r="",m){var x=m[d];(":"!=x[0]||n[x])&&(r+=x+"\n")}return r}script_functionTable1=["nop","jump","set","print","dialog","getitem","substr","indexof","split","join","length","jsonparse","jsonstr","add","substract","parseint","wsbatchenum","wsput","wscreate","wsdelete","wsexec","scriptspeed","wssubscribe","wsunsubscribe","readchar","signwithdummyca"],script_functionTable2=["encodeuri","decodeuri","passwordcheck","atob","btoa","hex2str","str2hex","random","md5","maketoarray","readshort","readshortx","readint","readsint","readintx","shorttostr","shorttostrx","inttostr","inttostrx"],script_functionTableX2=[encodeURI,decodeURI,passwordcheck,window.atob.bind(window),window.btoa.bind(window),hex2rstr,rstr2hex,random,rstr_md5,MakeToArray,ReadShort,ReadShortX,ReadInt,ReadSInt,ReadIntX,ShortToStr,ShortToStrX,IntToStr,IntToStrX],script_functionTable3=["pullsystemstatus","pulleventlog","pullauditlog","pullcertificates","pullwatchdog","pullsystemdefense","pullhardware","pulluserinfo","pullremoteaccess","highlightblock","disconnect","getsidstring","getsidbytearray"],script_functionTableX3=[PullSystemStatus,PullEventLog,PullAuditLog,PullCertificates,PullWatchdog,PullSystemDefense,PullHardware,PullUserInfo,PullRemoteAccess,script_HighlightBlock,disconnect,function(e,t){return GetSidString(t)},function(e,t){return GetSidByteArray(t)}] \ No newline at end of file diff --git a/public/scripts/amt-wsman-0.2.0-min.js b/public/scripts/amt-wsman-0.2.0-min.js index 4ce1a145..46914e8f 100644 --- a/public/scripts/amt-wsman-0.2.0-min.js +++ b/public/scripts/amt-wsman-0.2.0-min.js @@ -1 +1 @@ -var WsmanStackCreateService=function(e,s,r,a,o,t){var n={};function l(e){for(var s,r={},a=0;a0){t={Value:s};for(var n=0;n'+e.InstanceID+"";var s="";for(var r in e)if(e.hasOwnProperty(r)){if(s+='',e[r].ReferenceParameters){s+="",s+=""+e[r].Address+""+e[r].ReferenceParameters.ResourceURI+"";var a=e[r].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(a))for(var o=0;o"+a[o].Value+"";else s+=""+a.Value+"";s+=""}else s+=e[r];s+=""}return s+=""}return n.NextMessageId=1,n.Address="/wsman",n.comm=CreateWsmanComm(e,s,r,a,o,t),n.PerformAjax=function(e,s,r,a,o){null==o&&(o=""),n.comm.PerformAjax('
"+e,(function(e,r,a){if(200==r){var o=n.ParseWsman(e);o&&null!=o?s(n,o.Header.ResourceURI,o,200,a):s(n,null,{Header:{HttpError:r}},601,a)}else s(n,null,{Header:{HttpError:r}},r,a)}),r,a)},n.CancelAllQueries=function(e){n.comm.CancelAllQueries(e)},n.GetNameFromUrl=function(e){var s=e.lastIndexOf("/");return-1==s?e:e.substring(s+1)},n.ExecSubscribe=function(e,s,r,a,o,t,l,c,m,i){var u="",p="";null!=m&&null!=i&&(u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken"+m+''+i+"",p=''),c=null!=c&&null!=c?""+c+"":"";var w="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+d(l)+u+'
'+r+""+p+"PT0.000000S";n.PerformAjax(w+"
",a,o,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:se="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:m="http://x.com"')},n.ExecUnSubscribe=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+d(o)+"";n.PerformAjax(t+"",s,r,a,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')},n.ExecPut=function(e,s,r,a,o,t){var l="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+d(t)+""+function(e,s){if(!e||null==s)return"";var r=n.GetNameFromUrl(e),a="';for(var o in s)if(s.hasOwnProperty(o)&&0!==o.indexOf("__")&&0!==o.indexOf("@")&&void 0!==s[o]&&null!==s[o]&&"function"!=typeof s[o])if("object"==typeof s[o]&&s[o].ReferenceParameters){a+=""+s[o].Address+""+s[o].ReferenceParameters.ResourceURI+"";var t=s[o].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(t))for(var l=0;l"+t[l].Value+"";else a+=""+t.Value+"";a+=""}else if(Array.isArray(s[o]))for(l=0;l"+s[o][l].toString()+"";else a+=""+s[o].toString()+"";return a+=""}(e,s);n.PerformAjax(l+"",r,a,o)},n.ExecCreate=function(e,s,r,a,o,t){var l=n.GetNameFromUrl(e),c="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+d(t)+"';for(var m in s)c+=""+s[m]+"";n.PerformAjax(c+"",r,a,o)},n.ExecCreateXml=function(e,s,r,a,o){var t=n.GetNameFromUrl(e);n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S'+s+"",r,a,o)},n.ExecDelete=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+d(s)+"";n.PerformAjax(t,r,a,o)},n.ExecGet=function(e,s,r,a){n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",s,r,a)},n.ExecMethod=function(e,s,r,a,o,t,l){var c="";for(var d in r)if(null!=r[d])if(Array.isArray(r[d]))for(var m in r[d])c+=""+r[d][m]+"";else c+=""+r[d]+"";n.ExecMethodXml(e,s,c,a,o,t,l)},n.ExecMethodXml=function(e,s,r,a,o,t,l){n.PerformAjax(e+"/"+s+""+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+d(l)+"'+r+"",a,o,t)},n.ExecEnum=function(e,s,r,a){n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+n.Address+""+e+""+n.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',s,r,a)},n.ExecPull=function(e,s,r,a,o){n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+n.Address+""+e+""+n.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,a,o)},n.ParseWsman=function(e){try{e.childNodes||(e=function(e){if(window.DOMParser)return(new DOMParser).parseFromString(e,"text/xml");var s=new ActiveXObject("Microsoft.XMLDOM");return s.async=!1,s.loadXML(e),s}(e));var s,r={Header:{}},a=e.getElementsByTagName("Header")[0];if(a||(a=e.getElementsByTagName("a:Header")[0]),!a)return null;for(var o=0;o0){var c=(s=n.childNodes[0].localName).indexOf("_OUTPUT");-1!=c&&c==s.length-7&&(s=s.substring(0,s.length-7)),r.Header.Method=s,r.Body=l(n.childNodes[0])}return r}catch(s){return console.log("Unable to parse XML: "+e),null}},n} \ No newline at end of file +var WsmanStackCreateService=function(e,s,r,a,o,t){var n={};function l(e){for(var s,r={},a=0;a0){t={Value:s};for(var n=0;n'+e.InstanceID+"";var s="";for(var r in e)if(e.hasOwnProperty(r)){if(s+='',e[r].ReferenceParameters){s+="",s+=""+e[r].Address+""+e[r].ReferenceParameters.ResourceURI+"";var a=e[r].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(a))for(var o=0;o"+a[o].Value+"";else s+=""+a.Value+"";s+=""}else s+=e[r];s+=""}return s+=""}return n.NextMessageId=1,n.Address="/wsman",n.comm=CreateWsmanComm(e,s,r,a,o,t),n.PerformAjax=function(e,s,r,a,o){null==o&&(o=""),n.comm.PerformAjax('
"+e,function(e,r,a){if(200==r){var o=n.ParseWsman(e);o&&null!=o?s(n,o.Header.ResourceURI,o,200,a):s(n,null,{Header:{HttpError:r}},601,a)}else s(n,null,{Header:{HttpError:r}},r,a)},r,a)},n.CancelAllQueries=function(e){n.comm.CancelAllQueries(e)},n.GetNameFromUrl=function(e){var s=e.lastIndexOf("/");return-1==s?e:e.substring(s+1)},n.ExecSubscribe=function(e,s,r,a,o,t,l,d,m,i){var u="",p="";null!=m&&null!=i&&(u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken"+m+''+i+"",p=''),d=null!=d&&null!=d?""+d+"":"";var w="http://schemas.xmlsoap.org/ws/2004/08/eventing/Subscribe"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(l)+u+'
'+r+""+p+"PT0.000000S";n.PerformAjax(w+"
",a,o,t,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing" xmlns:t="http://schemas.xmlsoap.org/ws/2005/02/trust" xmlns:se="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:m="http://x.com"')},n.ExecUnSubscribe=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/08/eventing/Unsubscribe"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"+c(o)+"";n.PerformAjax(t+"",s,r,a,'xmlns:e="http://schemas.xmlsoap.org/ws/2004/08/eventing"')},n.ExecPut=function(e,s,r,a,o,t){var l="http://schemas.xmlsoap.org/ws/2004/09/transfer/Put"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S"+c(t)+""+function(e,s){if(!e||null==s)return"";var r=n.GetNameFromUrl(e),a="';for(var o in s)if(s.hasOwnProperty(o)&&0!==o.indexOf("__")&&0!==o.indexOf("@")&&void 0!==s[o]&&null!==s[o]&&"function"!=typeof s[o])if("object"==typeof s[o]&&s[o].ReferenceParameters){a+=""+s[o].Address+""+s[o].ReferenceParameters.ResourceURI+"";var t=s[o].ReferenceParameters.SelectorSet.Selector;if(Array.isArray(t))for(var l=0;l"+t[l].Value+"";else a+=""+t.Value+"";a+=""}else if(Array.isArray(s[o]))for(l=0;l"+s[o][l].toString()+"";else a+=""+s[o].toString()+"";return a+=""}(e,s);n.PerformAjax(l+"",r,a,o)},n.ExecCreate=function(e,s,r,a,o,t){var l=n.GetNameFromUrl(e),d="http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(t)+"';for(var m in s)d+=""+s[m]+"";n.PerformAjax(d+"",r,a,o)},n.ExecCreateXml=function(e,s,r,a,o){var t=n.GetNameFromUrl(e);n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Create"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60.000S'+s+"",r,a,o)},n.ExecDelete=function(e,s,r,a,o){var t="http://schemas.xmlsoap.org/ws/2004/09/transfer/Delete"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(s)+"";n.PerformAjax(t,r,a,o)},n.ExecGet=function(e,s,r,a){n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/transfer/Get"+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S",s,r,a)},n.ExecMethod=function(e,s,r,a,o,t,l){var d="";for(var c in r)if(null!=r[c])if(Array.isArray(r[c]))for(var m in r[c])d+=""+r[c][m]+"";else d+=""+r[c]+"";n.ExecMethodXml(e,s,d,a,o,t,l)},n.ExecMethodXml=function(e,s,r,a,o,t,l){n.PerformAjax(e+"/"+s+""+n.Address+""+e+""+n.NextMessageId+++"http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S"+c(l)+"'+r+"",a,o,t)},n.ExecEnum=function(e,s,r,a){n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Enumerate"+n.Address+""+e+""+n.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S',s,r,a)},n.ExecPull=function(e,s,r,a,o){n.PerformAjax("http://schemas.xmlsoap.org/ws/2004/09/enumeration/Pull"+n.Address+""+e+""+n.NextMessageId+++'http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymousPT60S'+s+"99999999",r,a,o)},n.ParseWsman=function(e){try{e.childNodes||(e=function(e){if(window.DOMParser)return(new DOMParser).parseFromString(e,"text/xml");var s=new ActiveXObject("Microsoft.XMLDOM");return s.async=!1,s.loadXML(e),s}(e));var s,r={Header:{}},a=e.getElementsByTagName("Header")[0];if(a||(a=e.getElementsByTagName("a:Header")[0]),!a)return null;for(var o=0;o0){var d=(s=n.childNodes[0].localName).indexOf("_OUTPUT");-1!=d&&d==s.length-7&&(s=s.substring(0,s.length-7)),r.Header.Method=s,r.Body=l(n.childNodes[0])}return r}catch(s){return console.log("Unable to parse XML: "+e),null}},n} \ No newline at end of file diff --git a/public/scripts/amt-wsman-ws-0.2.0-min.js b/public/scripts/amt-wsman-ws-0.2.0-min.js index c17cee6d..0acd6cd8 100644 --- a/public/scripts/amt-wsman-ws-0.2.0-min.js +++ b/public/scripts/amt-wsman-ws-0.2.0-min.js @@ -1 +1 @@ -var CreateWsmanComm=function(e,t,r,n,a){var o={};function s(e){var t="00000000"+e.toString(16);return t.substring(t.length-8)}function c(){for(i in o.socketState=2,o.pendingAjaxCall)o.sendRequest(o.pendingAjaxCall[i][0],o.pendingAjaxCall[i][3],o.pendingAjaxCall[i][4])}function l(e){var t;for(o.socketAccumulator+=(t=new Uint8Array(e.data),String.fromCharCode.apply(null,t));;){if(0==o.socketParseState){var r=o.socketAccumulator.indexOf("\r\n\r\n");if(r<0)return;if(o.socketHeader=o.socketAccumulator.substring(0,r).split("\r\n"),null==o.amtVersion)for(var n in o.socketHeader)0==o.socketHeader[n].indexOf("Server: Intel(R) Active Management Technology ")&&(o.amtVersion=o.socketHeader[n].substring(46));for(n in o.socketAccumulator=o.socketAccumulator.substring(r+4),o.socketParseState=1,o.socketData="",o.socketXHeader={Directive:o.socketHeader[0].split(" ")},o.socketHeader)if(0!=n){var a=o.socketHeader[n].indexOf(":");o.socketXHeader[o.socketHeader[n].substring(0,a).toLowerCase()]=o.socketHeader[n].substring(a+2)}}if(1==o.socketParseState){var s=-1;if(null==o.socketXHeader.connection||"close"!=o.socketXHeader.connection.toLowerCase()||null!=o.socketXHeader["transfer-encoding"]&&"chunked"==o.socketXHeader["transfer-encoding"].toLowerCase())if(null!=o.socketXHeader["content-length"]){if(s=parseInt(o.socketXHeader["content-length"]),o.socketAccumulator.length=0?o.challengeParams.qop="auth-int":o.challengeParams.qop="auth"}}else{var s=o.pendingAjaxCall.shift();o.authcounter=0,o.ActiveAjaxCount--,o.gotNextMessages(t,"success",{status:r},s),o.PerformNextAjax()}}function g(e){if(o.socketState=0,null!=o.socket&&(o.socket.close(),o.socket=null),o.pendingAjaxCall.length>0){var t=o.pendingAjaxCall.shift(),r=t[5];o.PerformAjaxExNodeJS2(t[0],t[1],t[2],t[3],t[4],--r)}}return o.PendingAjax=[],o.ActiveAjaxCount=0,o.MaxActiveAjaxCount=1,o.FailAllError=0,o.challengeParams=null,o.noncecounter=1,o.authcounter=0,o.socket=null,o.socketState=0,o.host=e,o.port=t,o.user=r,o.pass=n,o.tls=a,o.tlsv1only=1,o.cnonce=Math.random().toString(36).substring(7),o.PerformAjax=function(e,t,r,n,a,s){o.ActiveAjaxCount=o.MaxActiveAjaxCount||0==o.PendingAjax.length)){var e=o.PendingAjax.shift();o.PerformAjaxEx(e[0],e[1],e[2],e[3],e[4]),o.PerformNextAjax()}},o.PerformAjaxEx=function(e,t,r,n,a){if(0==o.FailAllError)return e||(e=""),o.ActiveAjaxCount++,o.PerformAjaxExNodeJS(e,t,r,n,a);o.gotNextMessagesError({status:o.FailAllError},"error",null,[e,t,r,n,a])},o.pendingAjaxCall=[],o.PerformAjaxExNodeJS=function(e,t,r,n,a){o.PerformAjaxExNodeJS2(e,t,r,n,a,3)},o.PerformAjaxExNodeJS2=function(e,t,r,n,a,s){if(s<=0||0!=o.FailAllError)return o.ActiveAjaxCount--,999!=o.FailAllError&&o.gotNextMessages(null,"error",{status:0==o.FailAllError?408:o.FailAllError},[e,t,r,n,a]),void o.PerformNextAjax();o.pendingAjaxCall.push([e,t,r,n,a,s]),0==o.socketState?o.xxConnectHttpSocket():2==o.socketState&&o.sendRequest(e,n,a)},o.sendRequest=function(e,t,r){var n=(r=r||"POST")+" "+(t=t||"/wsman")+" HTTP/1.1\r\n";if(null!=o.challengeParams){var a=hex_md5(hex_md5(o.user+":"+o.challengeParams.realm+":"+o.pass)+":"+o.challengeParams.nonce+":"+s(o.noncecounter)+":"+o.cnonce+":"+o.challengeParams.qop+":"+hex_md5(r+":"+t+("auth-int"==o.challengeParams.qop?":"+hex_md5(e):"")));n+="Authorization: "+o.renderDigest({username:o.user,realm:o.challengeParams.realm,nonce:o.challengeParams.nonce,uri:t,qop:o.challengeParams.qop,response:a,nc:s(o.noncecounter++),cnonce:o.cnonce})+"\r\n"}!function(e){if(2==o.socketState&&null!=o.socket&&o.socket.readyState==WebSocket.OPEN){for(var t=new Uint8Array(e.length),r=0;r0;){var t=o.PendingAjax.shift();t[1](null,e,t[2])}null!=o.websocket&&(o.websocket.close(),o.websocket=null,o.socketState=0)},o} \ No newline at end of file +var CreateWsmanComm=function(e,t,r,n,a){var o={};function s(e){var t="00000000"+e.toString(16);return t.substring(t.length-8)}function c(){for(i in o.socketState=2,o.pendingAjaxCall)o.sendRequest(o.pendingAjaxCall[i][0],o.pendingAjaxCall[i][3],o.pendingAjaxCall[i][4])}function l(e){var t;for(o.socketAccumulator+=(t=new Uint8Array(e.data),String.fromCharCode.apply(null,t));;){if(0==o.socketParseState){var r=o.socketAccumulator.indexOf("\r\n\r\n");if(r<0)return;if(o.socketHeader=o.socketAccumulator.substring(0,r).split("\r\n"),null==o.amtVersion)for(var n in o.socketHeader)0==o.socketHeader[n].indexOf("Server: Intel(R) Active Management Technology ")&&(o.amtVersion=o.socketHeader[n].substring(46));for(n in o.socketAccumulator=o.socketAccumulator.substring(r+4),o.socketParseState=1,o.socketData="",o.socketXHeader={Directive:o.socketHeader[0].split(" ")},o.socketHeader)if(0!=n){var a=o.socketHeader[n].indexOf(":");o.socketXHeader[o.socketHeader[n].substring(0,a).toLowerCase()]=o.socketHeader[n].substring(a+2)}}if(1==o.socketParseState){var s=-1;if(null==o.socketXHeader.connection||"close"!=o.socketXHeader.connection.toLowerCase()||null!=o.socketXHeader["transfer-encoding"]&&"chunked"==o.socketXHeader["transfer-encoding"].toLowerCase())if(null!=o.socketXHeader["content-length"]){if(s=parseInt(o.socketXHeader["content-length"]),o.socketAccumulator.length=0?o.challengeParams.qop="auth-int":o.challengeParams.qop="auth"}}else{var s=o.pendingAjaxCall.shift();o.authcounter=0,o.ActiveAjaxCount--,o.gotNextMessages(t,"success",{status:r},s),o.PerformNextAjax()}}function g(e){if(o.socketState=0,null!=o.socket&&(o.socket.close(),o.socket=null),o.pendingAjaxCall.length>0){var t=o.pendingAjaxCall.shift(),r=t[5];o.PerformAjaxExNodeJS2(t[0],t[1],t[2],t[3],t[4],--r)}}return o.PendingAjax=[],o.ActiveAjaxCount=0,o.MaxActiveAjaxCount=1,o.FailAllError=0,o.challengeParams=null,o.noncecounter=1,o.authcounter=0,o.socket=null,o.socketState=0,o.host=e,o.port=t,o.user=r,o.pass=n,o.tls=a,o.tlsv1only=1,o.cnonce=Math.random().toString(36).substring(7),o.PerformAjax=function(e,t,r,n,a,s){o.ActiveAjaxCount=o.MaxActiveAjaxCount||0==o.PendingAjax.length)){var e=o.PendingAjax.shift();o.PerformAjaxEx(e[0],e[1],e[2],e[3],e[4]),o.PerformNextAjax()}},o.PerformAjaxEx=function(e,t,r,n,a){if(0==o.FailAllError)return e||(e=""),o.ActiveAjaxCount++,o.PerformAjaxExNodeJS(e,t,r,n,a);o.gotNextMessagesError({status:o.FailAllError},"error",null,[e,t,r,n,a])},o.pendingAjaxCall=[],o.PerformAjaxExNodeJS=function(e,t,r,n,a){o.PerformAjaxExNodeJS2(e,t,r,n,a,3)},o.PerformAjaxExNodeJS2=function(e,t,r,n,a,s){if(s<=0||0!=o.FailAllError)return o.ActiveAjaxCount--,999!=o.FailAllError&&o.gotNextMessages(null,"error",{status:0==o.FailAllError?408:o.FailAllError},[e,t,r,n,a]),void o.PerformNextAjax();o.pendingAjaxCall.push([e,t,r,n,a,s]),0==o.socketState?o.xxConnectHttpSocket():2==o.socketState&&o.sendRequest(e,n,a)},o.sendRequest=function(e,t,r){var n=(r=r||"POST")+" "+(t=t||"/wsman")+" HTTP/1.1\r\n";if(null!=o.challengeParams){var a=hex_md5(hex_md5(o.user+":"+o.challengeParams.realm+":"+o.pass)+":"+o.challengeParams.nonce+":"+s(o.noncecounter)+":"+o.cnonce+":"+o.challengeParams.qop+":"+hex_md5(r+":"+t+("auth-int"==o.challengeParams.qop?":"+hex_md5(e):"")));n+="Authorization: "+o.renderDigest({username:o.user,realm:o.challengeParams.realm,nonce:o.challengeParams.nonce,uri:t,qop:o.challengeParams.qop,response:a,nc:s(o.noncecounter++),cnonce:o.cnonce})+"\r\n"}!function(e){if(2==o.socketState&&null!=o.socket&&o.socket.readyState==WebSocket.OPEN){for(var t=new Uint8Array(e.length),r=0;r0;){var t=o.PendingAjax.shift();t[1](null,e,t[2])}null!=o.websocket&&(o.websocket.close(),o.websocket=null,o.socketState=0)},o} \ No newline at end of file diff --git a/public/scripts/common-0.0.1-min.js b/public/scripts/common-0.0.1-min.js index 88c5f947..70b958de 100644 --- a/public/scripts/common-0.0.1-min.js +++ b/public/scripts/common-0.0.1-min.js @@ -1 +1 @@ -function Q(n){return document.getElementById(n)}function QS(n){try{return Q(n).style}catch(n){}}function QE(n,t){try{Q(n).disabled=!t}catch(n){}}function QV(n,t){try{QS(n).display=t?"":"none"}catch(n){}}function QA(n,t){Q(n).innerHTML+=t}function QH(n,t){Q(n).innerHTML=t}function QC(n){try{return Q(n).classList}catch(n){}}function QVH(n,t){try{t?Q(n).classList.remove("visually-hidden"):Q(n).classList.add("visually-hidden")}catch(n){}}function inputBoxFocus(n){Q(n).focus();var t=Q(n).value;Q(n).value="",Q(n).value=t}function ReadShort(n,t){return(n.charCodeAt(t)<<8)+n.charCodeAt(t+1)}function ReadShortX(n,t){return(n.charCodeAt(t+1)<<8)+n.charCodeAt(t)}function ReadInt(n,t){return 16777216*n.charCodeAt(t)+(n.charCodeAt(t+1)<<16)+(n.charCodeAt(t+2)<<8)+n.charCodeAt(t+3)}function ReadSInt(n,t){return(n.charCodeAt(t)<<24)+(n.charCodeAt(t+1)<<16)+(n.charCodeAt(t+2)<<8)+n.charCodeAt(t+3)}function ReadIntX(n,t){return 16777216*n.charCodeAt(t+3)+(n.charCodeAt(t+2)<<16)+(n.charCodeAt(t+1)<<8)+n.charCodeAt(t)}function ShortToStr(n){return String.fromCharCode(n>>8&255,255&n)}function ShortToStrX(n){return String.fromCharCode(255&n,n>>8&255)}function IntToStr(n){return String.fromCharCode(n>>24&255,n>>16&255,n>>8&255,255&n)}function IntToStrX(n){return String.fromCharCode(255&n,n>>8&255,n>>16&255,n>>24&255)}function MakeToArray(n){return n&&null!=n&&"object"!=typeof n?[n]:n}function SplitArray(n){return n.split(",")}function Clone(n){return JSON.parse(JSON.stringify(n))}function EscapeHtml(n){return"string"==typeof n?n.replace(/&/g,"&").replace(/>/g,">").replace(//g,">").replace(/").replace(/\n/g,"").replace(/\t/g,"  "):"boolean"==typeof n||"number"==typeof n?n:void 0}function ArrayElementMove(n,t,e){n.splice(e,0,n.splice(t,1)[0])}function ObjectToStringEx(n,t){var e="";if(0!=n&&(!n||null==n))return"(Null)";if(n instanceof Array)for(var r in n)e+="
"+gap(t)+"Item #"+r+": "+ObjectToStringEx(n[r],t+1);else if(n instanceof Object)for(var r in n)e+="
"+gap(t)+r+" = "+ObjectToStringEx(n[r],t+1);else e+=EscapeHtml(n);return e}function ObjectToStringEx2(n,t){var e="";if(0!=n&&(!n||null==n))return"(Null)";if(n instanceof Array)for(var r in n)e+="\r\n"+gap2(t)+"Item #"+r+": "+ObjectToStringEx2(n[r],t+1);else if(n instanceof Object)for(var r in n)e+="\r\n"+gap2(t)+r+" = "+ObjectToStringEx2(n[r],t+1);else e+=EscapeHtml(n);return e}function gap(n){for(var t="",e=0;e<4*n;e++)t+=" ";return t}function gap2(n){for(var t="",e=0;e<4*n;e++)t+=" ";return t}function ObjectToString(n){return ObjectToStringEx(n,0)}function ObjectToString2(n){return ObjectToStringEx2(n,0)}function hex2rstr(n){if("string"!=typeof n||0==n.length)return"";for(var t,e="",r=(""+n).match(/../g);t=r.shift();)e+=String.fromCharCode("0x"+t);return e}function char2hex(n){return(n+256).toString(16).substr(-2).toUpperCase()}function rstr2hex(n){var t,e="";for(t=0;t")&&-1==n.indexOf("&")&&-1==n.indexOf('"')&&-1==n.indexOf("'")&&-1==n.indexOf("+")&&-1==n.indexOf("(")&&-1==n.indexOf(")")&&-1==n.indexOf("#")&&-1==n.indexOf("%")&&-1==n.indexOf(":")}function isSafeString2(n){return"string"==typeof n&&-1==n.indexOf("<")&&-1==n.indexOf(">")&&-1==n.indexOf("&")&&-1==n.indexOf('"')&&-1==n.indexOf("'")&&-1==n.indexOf("+")&&-1==n.indexOf("(")&&-1==n.indexOf(")")&&-1==n.indexOf("#")&&-1==n.indexOf("%")}function parseUriArgs(n){var t=window.document.location.href;t.endsWith("#")&&(t=t.substring(0,t.length-1));var e,r={},o=t.split(/[\?&|]/);for(var i in o.splice(0,1),o){var a=o[i],c=a.indexOf("=");if(r[e=a.substring(0,c)]=a.substring(c+1),n&&(r[e]=decodeURIComponent(a.substring(c+1))),isSafeString2(r[e])){var u=parseInt(r[e]);u==r[e]&&(r[e]=u)}else delete r[e]}return r}function check_webp_feature(n,t){var e=new Image;e.onload=function(){var r=e.width>0&&e.height>0;t(n,r)},e.onerror=function(){t(n,!1)},e.src="data:image/webp;base64,"+{lossy:"UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"}[n]}function jsonToCamel(n){var t,e,r,o;if(n instanceof Array)return n.map((function(n){return"object"==typeof n&&(n=jsonToCamel(n)),n}));for(e in t={},n)n.hasOwnProperty(e)&&(r=(e.charAt(0).toLowerCase()+e.slice(1)||e).toString(),((o=n[e])instanceof Array||null!==o&&o.constructor===Object)&&(o=jsonToCamel(o)),t[r]=o);return t}String.prototype.startsWith||(String.prototype.startsWith=function(n){return 0===this.lastIndexOf(n,0)}),String.prototype.endsWith||(String.prototype.endsWith=function(n){return-1!==this.indexOf(n,this.length-n.length)}) \ No newline at end of file +function Q(n){return document.getElementById(n)}function QS(n){try{return Q(n).style}catch(n){}}function QE(n,t){try{Q(n).disabled=!t}catch(n){}}function QV(n,t){try{QS(n).display=t?"":"none"}catch(n){}}function QA(n,t){Q(n).innerHTML+=t}function QH(n,t){Q(n).innerHTML=t}function QC(n){try{return Q(n).classList}catch(n){}}function QVH(n,t){try{t?Q(n).classList.remove("visually-hidden"):Q(n).classList.add("visually-hidden")}catch(n){}}function inputBoxFocus(n){Q(n).focus();var t=Q(n).value;Q(n).value="",Q(n).value=t}function ReadShort(n,t){return(n.charCodeAt(t)<<8)+n.charCodeAt(t+1)}function ReadShortX(n,t){return(n.charCodeAt(t+1)<<8)+n.charCodeAt(t)}function ReadInt(n,t){return 16777216*n.charCodeAt(t)+(n.charCodeAt(t+1)<<16)+(n.charCodeAt(t+2)<<8)+n.charCodeAt(t+3)}function ReadSInt(n,t){return(n.charCodeAt(t)<<24)+(n.charCodeAt(t+1)<<16)+(n.charCodeAt(t+2)<<8)+n.charCodeAt(t+3)}function ReadIntX(n,t){return 16777216*n.charCodeAt(t+3)+(n.charCodeAt(t+2)<<16)+(n.charCodeAt(t+1)<<8)+n.charCodeAt(t)}function ShortToStr(n){return String.fromCharCode(n>>8&255,255&n)}function ShortToStrX(n){return String.fromCharCode(255&n,n>>8&255)}function IntToStr(n){return String.fromCharCode(n>>24&255,n>>16&255,n>>8&255,255&n)}function IntToStrX(n){return String.fromCharCode(255&n,n>>8&255,n>>16&255,n>>24&255)}function MakeToArray(n){return n&&null!=n&&"object"!=typeof n?[n]:n}function SplitArray(n){return n.split(",")}function Clone(n){return JSON.parse(JSON.stringify(n))}function EscapeHtml(n){return"string"==typeof n?n.replace(/&/g,"&").replace(/>/g,">").replace(//g,">").replace(/").replace(/\n/g,"").replace(/\t/g,"  "):"boolean"==typeof n||"number"==typeof n?n:void 0}function ArrayElementMove(n,t,e){n.splice(e,0,n.splice(t,1)[0])}function ObjectToStringEx(n,t){var e="";if(0!=n&&(!n||null==n))return"(Null)";if(n instanceof Array)for(var r in n)e+="
"+gap(t)+"Item #"+r+": "+ObjectToStringEx(n[r],t+1);else if(n instanceof Object)for(var r in n)e+="
"+gap(t)+r+" = "+ObjectToStringEx(n[r],t+1);else e+=EscapeHtml(n);return e}function ObjectToStringEx2(n,t){var e="";if(0!=n&&(!n||null==n))return"(Null)";if(n instanceof Array)for(var r in n)e+="\r\n"+gap2(t)+"Item #"+r+": "+ObjectToStringEx2(n[r],t+1);else if(n instanceof Object)for(var r in n)e+="\r\n"+gap2(t)+r+" = "+ObjectToStringEx2(n[r],t+1);else e+=EscapeHtml(n);return e}function gap(n){for(var t="",e=0;e<4*n;e++)t+=" ";return t}function gap2(n){for(var t="",e=0;e<4*n;e++)t+=" ";return t}function ObjectToString(n){return ObjectToStringEx(n,0)}function ObjectToString2(n){return ObjectToStringEx2(n,0)}function hex2rstr(n){if("string"!=typeof n||0==n.length)return"";for(var t,e="",r=(""+n).match(/../g);t=r.shift();)e+=String.fromCharCode("0x"+t);return e}function char2hex(n){return(n+256).toString(16).substr(-2).toUpperCase()}function rstr2hex(n){var t,e="";for(t=0;t")&&-1==n.indexOf("&")&&-1==n.indexOf('"')&&-1==n.indexOf("'")&&-1==n.indexOf("+")&&-1==n.indexOf("(")&&-1==n.indexOf(")")&&-1==n.indexOf("#")&&-1==n.indexOf("%")&&-1==n.indexOf(":")}function isSafeString2(n){return"string"==typeof n&&-1==n.indexOf("<")&&-1==n.indexOf(">")&&-1==n.indexOf("&")&&-1==n.indexOf('"')&&-1==n.indexOf("'")&&-1==n.indexOf("+")&&-1==n.indexOf("(")&&-1==n.indexOf(")")&&-1==n.indexOf("#")&&-1==n.indexOf("%")}function parseUriArgs(n){var t=window.document.location.href;t.endsWith("#")&&(t=t.substring(0,t.length-1));var e,r={},o=t.split(/[\?&|]/);for(var i in o.splice(0,1),o){var a=o[i],c=a.indexOf("=");if(r[e=a.substring(0,c)]=a.substring(c+1),n&&(r[e]=decodeURIComponent(a.substring(c+1))),isSafeString2(r[e])){var u=parseInt(r[e]);u==r[e]&&(r[e]=u)}else delete r[e]}return r}function check_webp_feature(n,t){var e=new Image;e.onload=function(){var r=e.width>0&&e.height>0;t(n,r)},e.onerror=function(){t(n,!1)},e.src="data:image/webp;base64,"+{lossy:"UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"}[n]}function jsonToCamel(n){var t,e,r,o;if(n instanceof Array)return n.map(function(n){return"object"==typeof n&&(n=jsonToCamel(n)),n});for(e in t={},n)n.hasOwnProperty(e)&&(r=(e.charAt(0).toLowerCase()+e.slice(1)||e).toString(),((o=n[e])instanceof Array||null!==o&&o.constructor===Object)&&(o=jsonToCamel(o)),t[r]=o);return t}String.prototype.startsWith||(String.prototype.startsWith=function(n){return 0===this.lastIndexOf(n,0)}),String.prototype.endsWith||(String.prototype.endsWith=function(n){return-1!==this.indexOf(n,this.length-n.length)}) \ No newline at end of file diff --git a/public/scripts/meshcentral-min.js b/public/scripts/meshcentral-min.js index e66c9ae2..d75e7fae 100644 --- a/public/scripts/meshcentral-min.js +++ b/public/scripts/meshcentral-min.js @@ -1 +1 @@ -var MeshServerCreateControl=function(e,t){var n={State:0,connectstate:0,pingTimer:null};return n.authCookie=t,n.xxStateChange=function(e,t){if(n.State!=e){var o=n.State;n.State=e,n.onStateChanged&&n.onStateChanged(n,n.State,o,t)}},n.Start=function(){if(0==n.connectstate){n.connectstate=0;var t=window.location.protocol.replace("http","ws")+"//"+window.location.host+e+"control.ashx"+(urlargs.key?"?key="+urlargs.key:"");n.authCookie&&""!=n.authCookie&&(t+="?moreargs=1"),n.socket=new WebSocket(t),n.socket.onopen=function(e){n.connectstate=1,n.authCookie&&""!=n.authCookie&&n.send({action:"urlargs",args:{auth:n.authCookie}})},n.socket.onmessage=n.xxOnMessage,n.socket.onclose=function(e){n.Stop(e.code)},n.xxStateChange(1,0),null!=n.pingTimer&&clearInterval(n.pingTimer),n.pingTimer=setInterval((function(){n.send({action:"ping"})}),29e3)}},n.Stop=function(e){n.connectstate=0,n.socket&&(n.socket.close(),delete n.socket),null!=n.pingTimer&&(clearInterval(n.pingTimer),n.pingTimer=null),n.xxStateChange(0,e)},n.xxOnMessage=function(e){var t;1==n.State&&n.xxStateChange(2);try{t=JSON.parse(e.data)}catch(e){return}if("object"==typeof t&&"pong"!=t.action){if("ping"==t.action&&n.send({action:"pong"}),"close"==t.action)return t.msg&&console.log(t.msg),void n.Stop(t.cause);1==n.trace?console.log("RECV",t):2==n.trace&&console.log("RECV",JSON.stringify(t)),n.onMessage&&n.onMessage(n,t)}},n.send=function(e){null!=n.socket&&1==n.connectstate&&("ping"!=e.action&&(1==n.trace?console.log("SEND",e):2==n.trace&&console.log("SEND",JSON.stringify(e))),n.socket.send(JSON.stringify(e)))},n} \ No newline at end of file +var MeshServerCreateControl=function(e,t){var n={State:0,connectstate:0,pingTimer:null};return n.authCookie=t,n.xxStateChange=function(e,t){if(n.State!=e){var o=n.State;n.State=e,n.onStateChanged&&n.onStateChanged(n,n.State,o,t)}},n.Start=function(){if(0==n.connectstate){n.connectstate=0;var t=window.location.protocol.replace("http","ws")+"//"+window.location.host+e+"control.ashx"+(urlargs.key?"?key="+urlargs.key:"");n.authCookie&&""!=n.authCookie&&(t+="?moreargs=1"),n.socket=new WebSocket(t),n.socket.onopen=function(e){n.connectstate=1,n.authCookie&&""!=n.authCookie&&n.send({action:"urlargs",args:{auth:n.authCookie}})},n.socket.onmessage=n.xxOnMessage,n.socket.onclose=function(e){n.Stop(e.code)},n.xxStateChange(1,0),null!=n.pingTimer&&clearInterval(n.pingTimer),n.pingTimer=setInterval(function(){n.send({action:"ping"})},29e3)}},n.Stop=function(e){n.connectstate=0,n.socket&&(n.socket.close(),delete n.socket),null!=n.pingTimer&&(clearInterval(n.pingTimer),n.pingTimer=null),n.xxStateChange(0,e)},n.xxOnMessage=function(e){var t;1==n.State&&n.xxStateChange(2);try{t=JSON.parse(e.data)}catch(e){return}if("object"==typeof t&&"pong"!=t.action){if("ping"==t.action&&n.send({action:"pong"}),"close"==t.action)return t.msg&&console.log(t.msg),void n.Stop(t.cause);1==n.trace?console.log("RECV",t):2==n.trace&&console.log("RECV",JSON.stringify(t)),n.onMessage&&n.onMessage(n,t)}},n.send=function(e){null!=n.socket&&1==n.connectstate&&("ping"!=e.action&&(1==n.trace?console.log("SEND",e):2==n.trace&&console.log("SEND",JSON.stringify(e))),n.socket.send(JSON.stringify(e)))},n} \ No newline at end of file diff --git a/public/scripts/u2f-api-min.js b/public/scripts/u2f-api-min.js index 3ddb7f85..1dfd4f20 100644 --- a/public/scripts/u2f-api-min.js +++ b/public/scripts/u2f-api-min.js @@ -1 +1 @@ -"use strict";if(!window.u2f){var js_api_version,u2f=u2f||{};u2f.EXTENSION_ID="kmendfapggjehodndflmmgagdbamhnfd",u2f.MessageTypes={U2F_REGISTER_REQUEST:"u2f_register_request",U2F_REGISTER_RESPONSE:"u2f_register_response",U2F_SIGN_REQUEST:"u2f_sign_request",U2F_SIGN_RESPONSE:"u2f_sign_response",U2F_GET_API_VERSION_REQUEST:"u2f_get_api_version_request",U2F_GET_API_VERSION_RESPONSE:"u2f_get_api_version_response"},u2f.ErrorCodes={OK:0,OTHER_ERROR:1,BAD_REQUEST:2,CONFIGURATION_UNSUPPORTED:3,DEVICE_INELIGIBLE:4,TIMEOUT:5},u2f.U2fRequest,u2f.U2fResponse,u2f.Error,u2f.Transport,u2f.Transports,u2f.SignRequest,u2f.SignResponse,u2f.RegisterRequest,u2f.RegisterResponse,u2f.RegisteredKey,u2f.GetJsApiVersionResponse,u2f.getMessagePort=function(e){if("undefined"!=typeof chrome&&chrome.runtime){var t={type:u2f.MessageTypes.U2F_SIGN_REQUEST,signRequests:[]};chrome.runtime.sendMessage(u2f.EXTENSION_ID,t,(function(){chrome.runtime.lastError?u2f.getIframePort_(e):u2f.getChromeRuntimePort_(e)}))}else u2f.isAndroidChrome_()?u2f.getAuthenticatorPort_(e):u2f.isIosChrome_()?u2f.getIosPort_(e):u2f.getIframePort_(e)},u2f.isAndroidChrome_=function(){var e=navigator.userAgent;return-1!=e.indexOf("Chrome")&&-1!=e.indexOf("Android")},u2f.isIosChrome_=function(){var e=["iPhone","iPad","iPod"];for(var t in e)if(navigator.platform==e[t])return!0;return!1},u2f.getChromeRuntimePort_=function(e){var t=chrome.runtime.connect(u2f.EXTENSION_ID,{includeTlsChannelId:!0});setTimeout((function(){e(new u2f.WrappedChromeRuntimePort_(t))}),0)},u2f.getAuthenticatorPort_=function(e){setTimeout((function(){e(new u2f.WrappedAuthenticatorPort_)}),0)},u2f.getIosPort_=function(e){setTimeout((function(){e(new u2f.WrappedIosPort_)}),0)},u2f.WrappedChromeRuntimePort_=function(e){this.port_=e},u2f.formatSignRequest_=function(e,t,r,o,n){if(void 0===js_api_version||js_api_version<1.1){for(var s=[],u=0;u{"use strict";var e={4567:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AccessibilityManager=void 0;const s=i(9042),r=i(6114),n=i(9924),o=i(3656),a=i(844),h=i(5596),c=i(9631);class l extends a.Disposable{constructor(e,t){super(),this._terminal=e,this._renderService=t,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityTreeRoot=document.createElement("div"),this._accessibilityTreeRoot.classList.add("xterm-accessibility"),this._accessibilityTreeRoot.tabIndex=0,this._rowContainer=document.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let e=0;ethis._onBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._onBoundaryFocus(e,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityTreeRoot.appendChild(this._rowContainer),this._renderRowsDebouncer=new n.TimeBasedDebouncer(this._renderRows.bind(this)),this._refreshRows(),this._liveRegion=document.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityTreeRoot.appendChild(this._liveRegion),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityTreeRoot),this.register(this._renderRowsDebouncer),this.register(this._terminal.onResize((e=>this._onResize(e.rows)))),this.register(this._terminal.onRender((e=>this._refreshRows(e.start,e.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((e=>this._onChar(e)))),this.register(this._terminal.onLineFeed((()=>this._onChar("\n")))),this.register(this._terminal.onA11yTab((e=>this._onTab(e)))),this.register(this._terminal.onKey((e=>this._onKey(e.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this._screenDprMonitor=new h.ScreenDprMonitor(window),this.register(this._screenDprMonitor),this._screenDprMonitor.setListener((()=>this._refreshRowsDimensions())),this.register((0,o.addDisposableDomListener)(window,"resize",(()=>this._refreshRowsDimensions())))}dispose(){super.dispose(),(0,c.removeElementFromParent)(this._accessibilityTreeRoot),this._rowElements.length=0}_onBoundaryFocus(e,t){const i=e.target,s=this._rowElements[0===t?1:this._rowElements.length-2];if(i.getAttribute("aria-posinset")===(0===t?"1":`${this._terminal.buffer.lines.length}`))return;if(e.relatedTarget!==s)return;let r,n;if(0===t?(r=i,n=this._rowElements.pop(),this._rowContainer.removeChild(n)):(r=this._rowElements.shift(),n=i,this._rowContainer.removeChild(r)),r.removeEventListener("focus",this._topBoundaryFocusListener),n.removeEventListener("focus",this._bottomBoundaryFocusListener),0===t){const e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement("afterbegin",e)}else{const e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===t?-1:1),this._rowElements[0===t?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_onResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;ee;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_onTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=s.tooMuchOutput)),r.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout((()=>{this._accessibilityTreeRoot.appendChild(this._liveRegion)}),0))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0,r.isMac&&(0,c.removeElementFromParent)(this._liveRegion)}_onKey(e){this._clearLiveRegion(),this._charsToConsume.push(e)}_refreshRows(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){const e=i.translateBufferLineToString(i.ydisp+r,!0),t=(i.ydisp+r+1).toString(),n=this._rowElements[r];n&&(0===e.length?n.innerText=" ":n.textContent=e,n.setAttribute("aria-posinset",t),n.setAttribute("aria-setsize",s))}this._announceCharacters()}_refreshRowsDimensions(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(let e=0;e{function i(e){return e.replace(/\r?\n/g,"\r")}function s(e,t){return t?"[200~"+e+"[201~":e}function r(e,t,r){e=s(e=i(e),r.decPrivateModes.bracketedPasteMode),r.triggerDataEvent(e,!0),t.value=""}function n(e,t,i){const s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=s,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,i){e.stopPropagation(),e.clipboardData&&r(e.clipboardData.getData("text/plain"),t,i)},t.paste=r,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(e,t,i,s,r){n(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}},7239:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorContrastCache=void 0;const s=i(1505);t.ColorContrastCache=class{constructor(){this._color=new s.TwoKeyMap,this._css=new s.TwoKeyMap}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}}},5680:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorManager=t.DEFAULT_ANSI_COLORS=void 0;const s=i(8055),r=i(7239),n=s.css.toColor("#ffffff"),o=s.css.toColor("#000000"),a=s.css.toColor("#ffffff"),h=s.css.toColor("#000000"),c={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const e=[s.css.toColor("#2e3436"),s.css.toColor("#cc0000"),s.css.toColor("#4e9a06"),s.css.toColor("#c4a000"),s.css.toColor("#3465a4"),s.css.toColor("#75507b"),s.css.toColor("#06989a"),s.css.toColor("#d3d7cf"),s.css.toColor("#555753"),s.css.toColor("#ef2929"),s.css.toColor("#8ae234"),s.css.toColor("#fce94f"),s.css.toColor("#729fcf"),s.css.toColor("#ad7fa8"),s.css.toColor("#34e2e2"),s.css.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){const r=t[i/36%6|0],n=t[i/6%6|0],o=t[i%6];e.push({css:s.channels.toCss(r,n,o),rgba:s.channels.toRgba(r,n,o)})}for(let t=0;t<24;t++){const i=8+10*t;e.push({css:s.channels.toCss(i,i,i),rgba:s.channels.toRgba(i,i,i)})}return e})()),t.ColorManager=class{constructor(e,i){this.allowTransparency=i;const l=e.createElement("canvas");l.width=1,l.height=1;const d=l.getContext("2d");if(!d)throw new Error("Could not get rendering context");this._ctx=d,this._ctx.globalCompositeOperation="copy",this._litmusColor=this._ctx.createLinearGradient(0,0,1,1),this._contrastCache=new r.ColorContrastCache,this.colors={foreground:n,background:o,cursor:a,cursorAccent:h,selectionForeground:void 0,selectionBackgroundTransparent:c,selectionBackgroundOpaque:s.color.blend(o,c),selectionInactiveBackgroundTransparent:c,selectionInactiveBackgroundOpaque:s.color.blend(o,c),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache},this._updateRestoreColors()}onOptionsChange(e,t){switch(e){case"minimumContrastRatio":this._contrastCache.clear();break;case"allowTransparency":this.allowTransparency=t}}setTheme(e={}){this.colors.foreground=this._parseColor(e.foreground,n),this.colors.background=this._parseColor(e.background,o),this.colors.cursor=this._parseColor(e.cursor,a,!0),this.colors.cursorAccent=this._parseColor(e.cursorAccent,h,!0),this.colors.selectionBackgroundTransparent=this._parseColor(e.selectionBackground,c,!0),this.colors.selectionBackgroundOpaque=s.color.blend(this.colors.background,this.colors.selectionBackgroundTransparent),this.colors.selectionInactiveBackgroundTransparent=this._parseColor(e.selectionInactiveBackground,this.colors.selectionBackgroundTransparent,!0),this.colors.selectionInactiveBackgroundOpaque=s.color.blend(this.colors.background,this.colors.selectionInactiveBackgroundTransparent);const i={css:"",rgba:0};if(this.colors.selectionForeground=e.selectionForeground?this._parseColor(e.selectionForeground,i):void 0,this.colors.selectionForeground===i&&(this.colors.selectionForeground=void 0),s.color.isOpaque(this.colors.selectionBackgroundTransparent)){const e=.3;this.colors.selectionBackgroundTransparent=s.color.opacity(this.colors.selectionBackgroundTransparent,e)}if(s.color.isOpaque(this.colors.selectionInactiveBackgroundTransparent)){const e=.3;this.colors.selectionInactiveBackgroundTransparent=s.color.opacity(this.colors.selectionInactiveBackgroundTransparent,e)}if(this.colors.ansi=t.DEFAULT_ANSI_COLORS.slice(),this.colors.ansi[0]=this._parseColor(e.black,t.DEFAULT_ANSI_COLORS[0]),this.colors.ansi[1]=this._parseColor(e.red,t.DEFAULT_ANSI_COLORS[1]),this.colors.ansi[2]=this._parseColor(e.green,t.DEFAULT_ANSI_COLORS[2]),this.colors.ansi[3]=this._parseColor(e.yellow,t.DEFAULT_ANSI_COLORS[3]),this.colors.ansi[4]=this._parseColor(e.blue,t.DEFAULT_ANSI_COLORS[4]),this.colors.ansi[5]=this._parseColor(e.magenta,t.DEFAULT_ANSI_COLORS[5]),this.colors.ansi[6]=this._parseColor(e.cyan,t.DEFAULT_ANSI_COLORS[6]),this.colors.ansi[7]=this._parseColor(e.white,t.DEFAULT_ANSI_COLORS[7]),this.colors.ansi[8]=this._parseColor(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),this.colors.ansi[9]=this._parseColor(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),this.colors.ansi[10]=this._parseColor(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),this.colors.ansi[11]=this._parseColor(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),this.colors.ansi[12]=this._parseColor(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),this.colors.ansi[13]=this._parseColor(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),this.colors.ansi[14]=this._parseColor(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),this.colors.ansi[15]=this._parseColor(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),e.extendedAnsi){const i=Math.min(this.colors.ansi.length-16,e.extendedAnsi.length);for(let s=0;sNumber(e))),h=Math.round(255*a);return{rgba:s.channels.toRgba(r,n,o,h),css:e}}return{css:this._ctx.fillStyle,rgba:s.channels.toRgba(r[0],r[1],r[2],r[3])}}}},9631:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.removeElementFromParent=void 0,t.removeElementFromParent=function(...e){var t;for(const i of e)null===(t=null==i?void 0:i.parentElement)||void 0===t||t.removeChild(i)}},3656:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,i,s){e.addEventListener(t,i,s);let r=!1;return{dispose:()=>{r||(r=!0,e.removeEventListener(t,i,s))}}}},6465:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;const n=i(2585),o=i(8460),a=i(844),h=i(3656);let c=class extends a.Disposable{constructor(e){super(),this._bufferService=e,this._linkProviders=[],this._linkCacheDisposables=[],this._isMouseOut=!0,this._activeLine=-1,this._onShowLinkUnderline=this.register(new o.EventEmitter),this._onHideLinkUnderline=this.register(new o.EventEmitter),this.register((0,a.getDisposeArrayDisposable)(this._linkCacheDisposables))}get currentLink(){return this._currentLink}get onShowLinkUnderline(){return this._onShowLinkUnderline.event}get onHideLinkUnderline(){return this._onHideLinkUnderline.event}dispose(){super.dispose(),this._lastMouseEvent=void 0}registerLinkProvider(e){return this._linkProviders.push(e),{dispose:()=>{const t=this._linkProviders.indexOf(e);-1!==t&&this._linkProviders.splice(t,1)}}}attachToDom(e,t,i){this._element=e,this._mouseService=t,this._renderService=i,this.register((0,h.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,h.addDisposableDomListener)(this._element,"mousemove",this._onMouseMove.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_onMouseMove(e){if(this._lastMouseEvent=e,!this._element||!this._mouseService)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;const i=e.composedPath();for(let e=0;e{null==e||e.forEach((e=>{e.link.dispose&&e.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=e.y);let r=!1;for(const[i,n]of this._linkProviders.entries())t?(null===(s=this._activeProviderReplies)||void 0===s?void 0:s.get(i))&&(r=this._checkLinkProviderResult(i,e,r)):n.provideLinks(e.y,(t=>{var s,n;if(this._isMouseOut)return;const o=null==t?void 0:t.map((e=>({link:e})));null===(s=this._activeProviderReplies)||void 0===s||s.set(i,o),r=this._checkLinkProviderResult(i,e,r),(null===(n=this._activeProviderReplies)||void 0===n?void 0:n.size)===this._linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)}))}_removeIntersectingLinks(e,t){const i=new Set;for(let s=0;se?this._bufferService.cols:s.link.range.end.x;for(let e=n;e<=o;e++){if(i.has(e)){r.splice(t--,1);break}i.add(e)}}}}_checkLinkProviderResult(e,t,i){var s;if(!this._activeProviderReplies)return i;const r=this._activeProviderReplies.get(e);let n=!1;for(let t=0;tthis._linkAtPosition(e.link,t)));e&&(i=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviders.length&&!i)for(let e=0;ethis._linkAtPosition(e.link,t)));if(r){i=!0,this._handleNewLink(r);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._element||!this._mouseService||!this._currentLink)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){this._element&&this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,a.disposeArray)(this._linkCacheDisposables))}_handleNewLink(e){if(!this._element||!this._lastMouseEvent||!this._mouseService)return;const t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var e,t;return null===(t=null===(e=this._currentLink)||void 0===e?void 0:e.state)||void 0===t?void 0:t.decorations.pointerCursor},set:e=>{var t,i;(null===(t=this._currentLink)||void 0===t?void 0:t.state)&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&(null===(i=this._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:()=>{var e,t;return null===(t=null===(e=this._currentLink)||void 0===e?void 0:e.state)||void 0===t?void 0:t.decorations.underline},set:t=>{var i,s,r;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(null===(r=null===(s=this._currentLink)||void 0===s?void 0:s.state)||void 0===r?void 0:r.decorations.underline)!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((e=>{const t=0===e.start?0:e.start+1+this._bufferService.buffer.ydisp;this._clearCurrentLink(t,e.end+1+this._bufferService.buffer.ydisp)}))))}_linkHover(e,t,i){var s;(null===(s=this._currentLink)||void 0===s?void 0:s.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){const i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){var s;(null===(s=this._currentLink)||void 0===s?void 0:s.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){const i=e.range.start.y===e.range.end.y,s=e.range.start.yt.y;return(i&&e.range.start.x<=t.x&&e.range.end.x>=t.x||s&&e.range.end.x>=t.x||r&&e.range.start.x<=t.x||s&&r)&&e.range.start.y<=t.y&&e.range.end.y>=t.y}_positionFromMouseEvent(e,t,i){const s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};c=s([r(0,n.IBufferService)],c),t.Linkifier2=c},9042:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},2962:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OscLinkProvider=void 0;const n=i(511),o=i(2585);let a=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){var i;const s=this._bufferService.buffer.lines.get(e-1);if(!s)return void t(void 0);const r=[],o=this._optionsService.rawOptions.linkHandler,a=new n.CellData,c=s.getTrimmedLength();let l=-1,d=-1,_=!1;for(let t=0;to?o.activate(e,t,i):h(0,t),hover:(e,t)=>{var s;return null===(s=null==o?void 0:o.hover)||void 0===s?void 0:s.call(o,e,t,i)},leave:(e,t)=>{var s;return null===(s=null==o?void 0:o.leave)||void 0===s?void 0:s.call(o,e,t,i)}})}_=!1,a.hasExtendedAttrs()&&a.extended.urlId?(d=t,l=a.extended.urlId):(d=-1,l=-1)}}t(r)}};function h(e,t){if(confirm(`Do you want to navigate to ${t}?`)){const i=window.open();if(i){try{i.opener=null}catch(e){}i.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}a=s([r(0,o.IBufferService),r(1,o.IOptionsService),r(2,o.IOscLinkService)],a),t.OscLinkProvider=a},6193:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RenderDebouncer=void 0,t.RenderDebouncer=class{constructor(e,t){this._parentWindow=e,this._renderCallback=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._parentWindow.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}}},5596:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScreenDprMonitor=void 0;const s=i(844);class r extends s.Disposable{constructor(e){super(),this._parentWindow=e,this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio}setListener(e){this._listener&&this.clearListener(),this._listener=e,this._outerListener=()=>{this._listener&&(this._listener(this._parentWindow.devicePixelRatio,this._currentDevicePixelRatio),this._updateDpr())},this._updateDpr()}dispose(){super.dispose(),this.clearListener()}_updateDpr(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)}}t.ScreenDprMonitor=r},3236:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;const s=i(2950),r=i(1680),n=i(3614),o=i(2584),a=i(5435),h=i(9312),c=i(6114),l=i(3656),d=i(9042),_=i(4567),u=i(1296),f=i(7399),v=i(8460),g=i(8437),p=i(5680),S=i(3230),m=i(4725),C=i(428),b=i(8934),y=i(6465),w=i(5114),E=i(8969),L=i(8055),R=i(4269),k=i(5941),D=i(3107),A=i(5744),x=i(9074),B=i(2585),T=i(2962),M="undefined"!=typeof window?window.document:null;class O extends E.CoreTerminal{constructor(e={}){super(e),this.browser=c,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._onCursorMove=new v.EventEmitter,this._onKey=new v.EventEmitter,this._onRender=new v.EventEmitter,this._onSelectionChange=new v.EventEmitter,this._onTitleChange=new v.EventEmitter,this._onBell=new v.EventEmitter,this._onFocus=new v.EventEmitter,this._onBlur=new v.EventEmitter,this._onA11yCharEmitter=new v.EventEmitter,this._onA11yTabEmitter=new v.EventEmitter,this._setup(),this.linkifier2=this.register(this._instantiationService.createInstance(y.Linkifier2)),this.linkifier2.registerLinkProvider(this._instantiationService.createInstance(T.OscLinkProvider)),this._decorationService=this._instantiationService.createInstance(x.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((e,t)=>this.refresh(e,t)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((e=>this._reportWindowsOptions(e)))),this.register(this._inputHandler.onColor((e=>this._handleColorEvent(e)))),this.register((0,v.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,v.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,v.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,v.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((e=>this._afterResize(e.cols,e.rows))))}get onCursorMove(){return this._onCursorMove.event}get onKey(){return this._onKey.event}get onRender(){return this._onRender.event}get onSelectionChange(){return this._onSelectionChange.event}get onTitleChange(){return this._onTitleChange.event}get onBell(){return this._onBell.event}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}_handleColorEvent(e){var t,i;if(this._colorManager){for(const t of e){let e,i="";switch(t.index){case 256:e="foreground",i="10";break;case 257:e="background",i="11";break;case 258:e="cursor",i="12";break;default:e="ansi",i="4;"+t.index}switch(t.type){case 0:const s=L.color.toColorRGB("ansi"===e?this._colorManager.colors.ansi[t.index]:this._colorManager.colors[e]);this.coreService.triggerDataEvent(`${o.C0.ESC}]${i};${(0,k.toRgbString)(s)}${o.C1_ESCAPED.ST}`);break;case 1:"ansi"===e?this._colorManager.colors.ansi[t.index]=L.rgba.toColor(...t.color):this._colorManager.colors[e]=L.rgba.toColor(...t.color);break;case 2:this._colorManager.restoreColor(t.index)}}null===(t=this._renderService)||void 0===t||t.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)}}dispose(){var e,t,i;this._isDisposed||(super.dispose(),null===(e=this._renderService)||void 0===e||e.dispose(),this._customKeyEventHandler=void 0,this.write=()=>{},null===(i=null===(t=this.element)||void 0===t?void 0:t.parentNode)||void 0===i||i.removeChild(this.element))}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_updateOptions(e){var t,i,s,r;switch(super._updateOptions(e),e){case"fontFamily":case"fontSize":null===(t=this._renderService)||void 0===t||t.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"customGlyphs":case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"scrollback":null===(s=this.viewport)||void 0===s||s.syncScrollArea();break;case"screenReaderMode":this.optionsService.rawOptions.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new _.AccessibilityManager(this,this._renderService)):(null===(r=this._accessibilityManager)||void 0===r||r.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.rawOptions.theme)}}_onTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(o.C0.ESC+"[I"),this.updateCursorStyle(e),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()}_onTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(o.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;const i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.actualCellHeight,r=t.getWidth(i),n=this._renderService.dimensions.actualCellWidth*r,o=this.buffer.y*this._renderService.dimensions.actualCellHeight,a=i*this._renderService.dimensions.actualCellWidth;this.textarea.style.left=a+"px",this.textarea.style.top=o+"px",this.textarea.style.width=n+"px",this.textarea.style.height=s+"px",this.textarea.style.lineHeight=s+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,l.addDisposableDomListener)(this.element,"copy",(e=>{this.hasSelection()&&(0,n.copyHandler)(e,this._selectionService)})));const e=e=>(0,n.handlePasteEvent)(e,this.textarea,this.coreService);this.register((0,l.addDisposableDomListener)(this.textarea,"paste",e)),this.register((0,l.addDisposableDomListener)(this.element,"paste",e)),c.isFirefox?this.register((0,l.addDisposableDomListener)(this.element,"mousedown",(e=>{2===e.button&&(0,n.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,l.addDisposableDomListener)(this.element,"contextmenu",(e=>{(0,n.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),c.isLinux&&this.register((0,l.addDisposableDomListener)(this.element,"auxclick",(e=>{1===e.button&&(0,n.moveTextAreaUnderMouseCursor)(e,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,l.addDisposableDomListener)(this.textarea,"keyup",(e=>this._keyUp(e)),!0)),this.register((0,l.addDisposableDomListener)(this.textarea,"keydown",(e=>this._keyDown(e)),!0)),this.register((0,l.addDisposableDomListener)(this.textarea,"keypress",(e=>this._keyPress(e)),!0)),this.register((0,l.addDisposableDomListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this.register((0,l.addDisposableDomListener)(this.textarea,"compositionupdate",(e=>this._compositionHelper.compositionupdate(e)))),this.register((0,l.addDisposableDomListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this.register((0,l.addDisposableDomListener)(this.textarea,"input",(e=>this._inputEvent(e)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(e){var t;if(!e)throw new Error("Terminal requires a parent element.");e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=e.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),e.appendChild(this.element);const i=M.createDocumentFragment();this._viewportElement=M.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),i.appendChild(this._viewportElement),this._viewportScrollArea=M.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=M.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=M.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),i.appendChild(this.screenElement),this.textarea=M.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",d.promptLabel),this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.register((0,l.addDisposableDomListener)(this.textarea,"focus",(e=>this._onTextAreaFocus(e)))),this.register((0,l.addDisposableDomListener)(this.textarea,"blur",(()=>this._onTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._coreBrowserService=this._instantiationService.createInstance(w.CoreBrowserService,this.textarea,null!==(t=this._document.defaultView)&&void 0!==t?t:window),this._instantiationService.setService(m.ICoreBrowserService,this._coreBrowserService),this._charSizeService=this._instantiationService.createInstance(C.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(m.ICharSizeService,this._charSizeService),this._theme=this.options.theme||this._theme,this._colorManager=new p.ColorManager(M,this.options.allowTransparency),this.register(this.optionsService.onOptionChange((e=>this._colorManager.onOptionsChange(e,this.optionsService.rawOptions[e])))),this._colorManager.setTheme(this._theme),this._characterJoinerService=this._instantiationService.createInstance(R.CharacterJoinerService),this._instantiationService.setService(m.ICharacterJoinerService,this._characterJoinerService);const n=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(S.RenderService,n,this.rows,this.screenElement)),this._instantiationService.setService(m.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((e=>this._onRender.fire(e)))),this.onResize((e=>this._renderService.resize(e.cols,e.rows))),this._compositionView=M.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(s.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(i),this._mouseService=this._instantiationService.createInstance(b.MouseService),this._instantiationService.setService(m.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(r.Viewport,(e=>this.scrollLines(e,!0,1)),this._viewportElement,this._viewportScrollArea,this.element),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),this.register(this.onCursorMove((()=>{this._renderService.onCursorMove(),this._syncTextArea()}))),this.register(this.onResize((()=>this._renderService.onResize(this.cols,this.rows)))),this.register(this.onBlur((()=>this._renderService.onBlur()))),this.register(this.onFocus((()=>this._renderService.onFocus()))),this.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(h.SelectionService,this.element,this.screenElement,this.linkifier2)),this._instantiationService.setService(m.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((e=>this._renderService.onSelectionChanged(e.start,e.end,e.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((e=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,l.addDisposableDomListener)(this._viewportElement,"scroll",(()=>this._selectionService.refresh()))),this.linkifier2.attachToDom(this.screenElement,this._mouseService,this._renderService),this.register(this._instantiationService.createInstance(D.BufferDecorationRenderer,this.screenElement)),this.register((0,l.addDisposableDomListener)(this.element,"mousedown",(e=>this._selectionService.onMouseDown(e)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new _.AccessibilityManager(this,this._renderService)),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(A.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onOptionChange((()=>{!this._overviewRulerRenderer&&this.options.overviewRulerWidth&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(A.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(u.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier2)}_setTheme(e){var t,i,s;this._theme=e,null===(t=this._colorManager)||void 0===t||t.setTheme(e),null===(i=this._renderService)||void 0===i||i.setColors(this._colorManager.colors),null===(s=this.viewport)||void 0===s||s.onThemeChange(this._colorManager.colors)}bindMouse(){const e=this,t=this.element;function i(t){const i=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!i)return!1;let s,r;switch(t.overrideType||t.type){case"mousemove":r=32,void 0===t.buttons?(s=3,void 0!==t.button&&(s=t.button<3?t.button:3)):s=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case"mouseup":r=0,s=t.button<3?t.button:3;break;case"mousedown":r=1,s=t.button<3?t.button:3;break;case"wheel":if(0===e.viewport.getLinesScrolled(t))return!1;r=t.deltaY<0?0:1,s=4;break;default:return!1}return!(void 0===r||void 0===s||s>4)&&e.coreMouseService.triggerMouseEvent({col:i.col,row:i.row,x:i.x,y:i.y,button:s,action:r,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}const s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},r={mouseup:e=>(i(e),e.buttons||(this._document.removeEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.removeEventListener("mousemove",s.mousedrag)),this.cancel(e)),wheel:e=>(i(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&i(e)},mousemove:e=>{e.buttons||i(e)}};this.register(this.coreMouseService.onProtocolChange((e=>{e?("debug"===this.optionsService.rawOptions.logLevel&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(e)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&e?s.mousemove||(t.addEventListener("mousemove",r.mousemove),s.mousemove=r.mousemove):(t.removeEventListener("mousemove",s.mousemove),s.mousemove=null),16&e?s.wheel||(t.addEventListener("wheel",r.wheel,{passive:!1}),s.wheel=r.wheel):(t.removeEventListener("wheel",s.wheel),s.wheel=null),2&e?s.mouseup||(s.mouseup=r.mouseup):(this._document.removeEventListener("mouseup",s.mouseup),s.mouseup=null),4&e?s.mousedrag||(s.mousedrag=r.mousedrag):(this._document.removeEventListener("mousemove",s.mousedrag),s.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,l.addDisposableDomListener)(t,"mousedown",(e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return i(e),s.mouseup&&this._document.addEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.addEventListener("mousemove",s.mousedrag),this.cancel(e)}))),this.register((0,l.addDisposableDomListener)(t,"wheel",(e=>{if(!s.wheel){if(!this.buffer.hasScrollback){const t=this.viewport.getLinesScrolled(e);if(0===t)return;const i=o.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(e.deltaY<0?"A":"B");let s="";for(let e=0;e{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.onTouchStart(e),this.cancel(e)}),{passive:!0})),this.register((0,l.addDisposableDomListener)(t,"touchmove",(e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.onTouchMove(e)?void 0:this.cancel(e)}),{passive:!1}))}refresh(e,t){var i;null===(i=this._renderService)||void 0===i||i.refreshRows(e,t)}updateCursorStyle(e){var t;(null===(t=this._selectionService)||void 0===t?void 0:t.shouldColumnSelect(e))?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t,i=0){super.scrollLines(e,t,i),this.refresh(0,this.rows-1)}paste(e){(0,n.paste)(e,this.textarea,this.coreService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}registerLinkProvider(e){return this.linkifier2.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}addMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,t,i){this._selectionService.setSelection(e,t,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var e;null===(e=this._selectionService)||void 0===e||e.clearSelection()}selectAll(){var e;null===(e=this._selectionService)||void 0===e||e.selectAll()}selectLines(e,t){var i;null===(i=this._selectionService)||void 0===i||i.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;const t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.buffer.ybase!==this.buffer.ydisp&&this._bufferService.scrollToBottom(),!1;t||"Dead"!==e.key&&"AltGraph"!==e.key||(this._unprocessedDeadKey=!0);const i=(0,f.evaluateKeyboardEvent)(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===i.type||2===i.type){const t=this.rows-1;return this.scrollLines(2===i.type?-t:t),this.cancel(e,!0)}return 1===i.type&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key||!!(e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&1===e.key.length&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(i.key!==o.C0.ETX&&i.key!==o.C0.CR||(this.textarea.value=""),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),this.optionsService.rawOptions.screenReaderMode?void(this._keyDownHandled=!0):this.cancel(e,!0))))}_isThirdLevelShift(e,t){const i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState("AltGraph");return"keypress"===t.type?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(e){if(e.data&&"insertText"===e.inputType&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e!==this.cols||t!==this.rows?super.resize(e,t):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(e,t){var i,s;null===(i=this._charSizeService)||void 0===i||i.measure(),null===(s=this.viewport)||void 0===s||s.syncScrollArea(!0)}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e{Object.defineProperty(t,"__esModule",{value:!0}),t.TimeBasedDebouncer=void 0,t.TimeBasedDebouncer=class{constructor(e,t=1e3){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t;const s=Date.now();if(s-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){const e=s-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),t)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}}},1680:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;const n=i(844),o=i(3656),a=i(4725),h=i(2585);let c=class extends n.Disposable{constructor(e,t,i,s,r,n,a,h,c){super(),this._scrollLines=e,this._viewportElement=t,this._scrollArea=i,this._element=s,this._bufferService=r,this._optionsService=n,this._charSizeService=a,this._renderService=h,this._coreBrowserService=c,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentScaledCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,o.addDisposableDomListener)(this._viewportElement,"scroll",this._onScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((e=>this._renderDimensions=e))),setTimeout((()=>this.syncScrollArea()),0)}onThemeChange(e){this._viewportElement.style.backgroundColor=e.background.css}_refresh(e){if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/this._coreBrowserService.dpr,this._currentScaledCellHeight=this._renderService.dimensions.scaledCellHeight,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const e=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==e&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=e),this._refreshAnimationFrame=null}syncScrollArea(e=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.scaledCellHeight===this._currentScaledCellHeight||this._refresh(e)}_onScroll(e){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._scrollLines(0);const t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t)}_smoothScroll(){if(this._isDisposed||-1===this._smoothScrollState.origin||-1===this._smoothScrollState.target)return;const e=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(e*(this._smoothScrollState.target-this._smoothScrollState.origin)),e<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(e,t){const i=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&i0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t}_applyScrollModifier(e,t){const i=this._optionsService.rawOptions.fastScrollModifier;return"alt"===i&&t.altKey||"ctrl"===i&&t.ctrlKey||"shift"===i&&t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}onTouchStart(e){this._lastTouchY=e.touches[0].pageY}onTouchMove(e){const t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))}};c=s([r(4,h.IBufferService),r(5,h.IOptionsService),r(6,a.ICharSizeService),r(7,a.IRenderService),r(8,a.ICoreBrowserService)],c),t.Viewport=c},3107:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferDecorationRenderer=void 0;const n=i(3656),o=i(4725),a=i(844),h=i(2585);let c=class extends a.Disposable{constructor(e,t,i,s){super(),this._screenElement=e,this._bufferService=t,this._decorationService=i,this._renderService=s,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this.register((0,n.addDisposableDomListener)(window,"resize",(()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this.register(this._decorationService.onDecorationRemoved((e=>this._removeDecoration(e))))}dispose(){this._container.remove(),this._decorationElements.clear(),super.dispose()}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this.refreshDecorations(),this._animationFrame=void 0})))}refreshDecorations(){for(const e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var t;const i=document.createElement("div");i.classList.add("xterm-decoration"),i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.actualCellWidth)}px`,i.style.height=(e.options.height||1)*this._renderService.dimensions.actualCellHeight+"px",i.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.actualCellHeight+"px",i.style.lineHeight=`${this._renderService.dimensions.actualCellHeight}px`;const s=null!==(t=e.options.x)&&void 0!==t?t:0;return s&&s>this._bufferService.cols&&(i.style.display="none"),this._refreshXPosition(e,i),i}_refreshStyle(e){const t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(e.onDispose((()=>this._removeDecoration(e))),i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i)),i.style.top=t*this._renderService.dimensions.actualCellHeight+"px",i.style.display=this._altBufferIsActive?"none":"block",e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){var i;if(!t)return;const s=null!==(i=e.options.x)&&void 0!==i?i:0;"right"===(e.options.anchor||"left")?t.style.right=s?s*this._renderService.dimensions.actualCellWidth+"px":"":t.style.left=s?s*this._renderService.dimensions.actualCellWidth+"px":""}_removeDecoration(e){var t;null===(t=this._decorationElements.get(e))||void 0===t||t.remove(),this._decorationElements.delete(e)}};c=s([r(1,h.IBufferService),r(2,h.IDecorationService),r(3,o.IRenderService)],c),t.BufferDecorationRenderer=c},5871:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorZoneStore=void 0,t.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(const t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(t,e.marker.line)}if(this._zonePoolIndex=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||"full"]&&t<=e.endBufferLine+this._linePadding[i||"full"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}}},5744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OverviewRulerRenderer=void 0;const n=i(5871),o=i(3656),a=i(4725),h=i(844),c=i(2585),l={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0},_={full:0,left:0,center:0,right:0};let u=class extends h.Disposable{constructor(e,t,i,s,r,o,a){var h;super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=o,this._coreBrowseService=a,this._colorZoneStore=new n.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),null===(h=this._viewportElement.parentElement)||void 0===h||h.insertBefore(this._canvas,this._viewportElement);const c=this._canvas.getContext("2d");if(!c)throw new Error("Ctx cannot be null");this._ctx=c,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners()}get _width(){return this._optionsService.options.overviewRulerWidth||0}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"}))),this.register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onOptionChange((e=>{"overviewRulerWidth"===e&&this._queueRefresh(!0)}))),this.register((0,o.addDisposableDomListener)(this._coreBrowseService.window,"resize",(()=>{this._queueRefresh(!0)}))),this._queueRefresh(!0)}dispose(){var e;null===(e=this._canvas)||void 0===e||e.remove(),super.dispose()}_refreshDrawConstants(){const e=Math.floor(this._canvas.width/3),t=Math.ceil(this._canvas.width/3);d.full=this._canvas.width,d.left=e,d.center=t,d.right=e,this._refreshDrawHeightConstants(),_.full=0,_.left=0,_.center=d.left,_.right=d.left+d.center}_refreshDrawHeightConstants(){l.full=Math.round(2*this._coreBrowseService.dpr);const e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowseService.dpr);l.left=t,l.center=t,l.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowseService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowseService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1;const e=this._colorZoneStore.zones;for(const t of e)"full"!==t.position&&this._renderColorZone(t);for(const t of e)"full"===t.position&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(_[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-l[e.position||"full"]/2),d[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+l[e.position||"full"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowseService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};u=s([r(2,c.IBufferService),r(3,c.IDecorationService),r(4,a.IRenderService),r(5,c.IOptionsService),r(6,a.ICoreBrowserService)],u),t.OverviewRulerRenderer=u},2950:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;const n=i(4725),o=i(2585),a=i(2584);let h=class{constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){const e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let t;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,e.end):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}}),0)}else{this._isSendingComposition=!1;const e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){const e=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const t=this._textarea.value,i=t.replace(e,"");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.lengththis.updateCompositionElements(!0)),0)}}};h=s([r(2,o.IBufferService),r(3,o.IOptionsService),r(4,o.ICoreService),r(5,n.IRenderService)],h),t.CompositionHelper=h},9806:(e,t)=>{function i(e,t,i){const s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue("padding-left")),o=parseInt(r.getPropertyValue("padding-top"));return[t.clientX-s.left-n,t.clientY-s.top-o]}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=i,t.getCoords=function(e,t,s,r,n,o,a,h,c){if(!o)return;const l=i(e,t,s);return l?(l[0]=Math.ceil((l[0]+(c?a/2:0))/a),l[1]=Math.ceil(l[1]/h),l[0]=Math.min(Math.max(l[0],1),r+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l):void 0}},9504:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;const s=i(2584);function r(e,t,i,s){const r=e-n(i,e),a=t-n(i,t),l=Math.abs(r-a)-function(e,t,i){let s=0;const r=e-n(i,e),a=t-n(i,t);for(let n=0;n=0&&tt?"A":"B"}function a(e,t,i,s,r,n){let o=e,a=t,h="";for(;o!==i||a!==s;)o+=r?1:-1,r&&o>n.cols-1?(h+=n.buffer.translateBufferLineToString(a,!1,e,o),o=0,e=0,a++):!r&&o<0&&(h+=n.buffer.translateBufferLineToString(a,!1,0,e+1),o=n.cols-1,e=o,a--);return h+n.buffer.translateBufferLineToString(a,!1,e,o)}function h(e,t){const i=t?"O":"[";return s.C0.ESC+i+e}function c(e,t){e=Math.floor(e);let i="";for(let s=0;s0?s-n(o,s):t;const _=s,u=function(e,t,i,s,o,a){let h;return h=r(i,s,o,a).length>0?s-n(o,s):t,e=i&&he?"D":"C",c(Math.abs(o-e),h(d,s));d=l>t?"D":"C";const _=Math.abs(l-t);return c(function(e,t){return t.cols-e}(l>t?e:o,i)+(_-1)*i.cols+1+((l>t?o:e)-1),h(d,s))}},8036:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;const s=i(6114);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=s.isFirefox||s.isLegacyEdge?"bottom":"ideographic"},1752:(e,t)=>{function i(e){return 57508<=e&&e<=57558}Object.defineProperty(t,"__esModule",{value:!0}),t.excludeFromContrastRatioDemands=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error("value must not be falsy");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.excludeFromContrastRatioDemands=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)}},1296:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;const n=i(3787),o=i(8036),a=i(844),h=i(4725),c=i(2585),l=i(8460),d=i(8055),_=i(9631),u="xterm-dom-renderer-owner-",f="xterm-focus";let v=1,g=class extends a.Disposable{constructor(e,t,i,s,r,o,a,h,c,l){super(),this._colors=e,this._element=t,this._screenElement=i,this._viewportElement=s,this._linkifier2=r,this._charSizeService=a,this._optionsService=h,this._bufferService=c,this._coreBrowserService=l,this._terminalClass=v++,this._rowElements=[],this._rowContainer=document.createElement("div"),this._rowContainer.classList.add("xterm-rows"),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=document.createElement("div"),this._selectionContainer.classList.add("xterm-selection"),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},this._updateDimensions(),this._injectCss(),this._rowFactory=o.createInstance(n.DomRendererRowFactory,document,this._colors),this._element.classList.add(u+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((e=>this._onLinkHover(e)))),this.register(this._linkifier2.onHideLinkUnderline((e=>this._onLinkLeave(e))))}get onRequestRedraw(){return(new l.EventEmitter).event}dispose(){this._element.classList.remove(u+this._terminalClass),(0,_.removeElementFromParent)(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),super.dispose()}_updateDimensions(){const e=this._coreBrowserService.dpr;this.dimensions.scaledCharWidth=this._charSizeService.width*e,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*e),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.rawOptions.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/e),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/e),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(const e of this._rowElements)e.style.width=`${this.dimensions.canvasWidth}px`,e.style.height=`${this.dimensions.actualCellHeight}px`,e.style.lineHeight=`${this.dimensions.actualCellHeight}px`,e.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const t=`${this._terminalSelector} .xterm-rows span { display: inline-block; height: 100%; vertical-align: top; width: ${this.dimensions.actualCellWidth}px}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.canvasWidth}px`,this._screenElement.style.height=`${this.dimensions.canvasHeight}px`}setColors(e){this._colors=e,this._injectCss()}_injectCss(){this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let e=`${this._terminalSelector} .xterm-rows { color: ${this._colors.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px;}`;e+=`${this._terminalSelector} span:not(.${n.BOLD_CLASS}) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.${n.BOLD_CLASS} { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.${n.ITALIC_CLASS} { font-style: italic;}`,e+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { box-shadow: none; }}",e+="@keyframes blink_block_"+this._terminalClass+" { 0% {"+` background-color: ${this._colors.cursor.css};`+` color: ${this._colors.cursorAccent.css}; } 50% {`+` background-color: ${this._colors.cursorAccent.css};`+` color: ${this._colors.cursor.css}; }}`,e+=`${this._terminalSelector} .xterm-rows:not(.xterm-focus) .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_BLOCK_CLASS} { outline: 1px solid ${this._colors.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .xterm-rows.xterm-focus .${n.CURSOR_CLASS}.${n.CURSOR_BLINK_CLASS}:not(.${n.CURSOR_STYLE_BLOCK_CLASS}) { animation: blink_box_shadow_`+this._terminalClass+" 1s step-end infinite;}"+`${this._terminalSelector} .xterm-rows.xterm-focus .${n.CURSOR_CLASS}.${n.CURSOR_BLINK_CLASS}.${n.CURSOR_STYLE_BLOCK_CLASS} { animation: blink_block_`+this._terminalClass+" 1s step-end infinite;}"+`${this._terminalSelector} .xterm-rows.xterm-focus .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_BLOCK_CLASS} {`+` background-color: ${this._colors.cursor.css};`+` color: ${this._colors.cursorAccent.css};}`+`${this._terminalSelector} .xterm-rows .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_BAR_CLASS} {`+` box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${this._colors.cursor.css} inset;}`+`${this._terminalSelector} .xterm-rows .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_UNDERLINE_CLASS} {`+` box-shadow: 0 -1px 0 ${this._colors.cursor.css} inset;}`,e+=`${this._terminalSelector} .xterm-selection { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .xterm-selection div { position: absolute; background-color: ${this._colors.selectionBackgroundOpaque.css};}${this._terminalSelector} .xterm-selection div { position: absolute; background-color: ${this._colors.selectionInactiveBackgroundOpaque.css};}`,this._colors.ansi.forEach(((t,i)=>{e+=`${this._terminalSelector} .xterm-fg-${i} { color: ${t.css}; }${this._terminalSelector} .xterm-bg-${i} { background-color: ${t.css}; }`})),e+=`${this._terminalSelector} .xterm-fg-${o.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(this._colors.background).css}; }${this._terminalSelector} .xterm-bg-${o.INVERTED_DEFAULT_COLOR} { background-color: ${this._colors.foreground.css}; }`,this._themeStyleElement.textContent=e}onDevicePixelRatioChange(){this._updateDimensions()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){const e=document.createElement("div");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}onResize(e,t){this._refreshRowElements(e,t),this._updateDimensions()}onCharSizeChanged(){this._updateDimensions()}onBlur(){this._rowContainer.classList.remove(f)}onFocus(){this._rowContainer.classList.add(f)}onSelectionChanged(e,t,i){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(this._rowFactory.onSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;const s=e[1]-this._bufferService.buffer.ydisp,r=t[1]-this._bufferService.buffer.ydisp,n=Math.max(s,0),o=Math.min(r,this._bufferService.rows-1);if(n>=this._bufferService.rows||o<0)return;const a=document.createDocumentFragment();if(i){const i=e[0]>t[0];a.appendChild(this._createSelectionElement(n,i?t[0]:e[0],i?e[0]:t[0],o-n+1))}else{const i=s===n?e[0]:0,h=n===r?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,i,h));const c=o-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==o){const e=r===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(a)}_createSelectionElement(e,t,i,s=1){const r=document.createElement("div");return r.style.height=s*this.dimensions.actualCellHeight+"px",r.style.top=e*this.dimensions.actualCellHeight+"px",r.style.left=t*this.dimensions.actualCellWidth+"px",r.style.width=this.dimensions.actualCellWidth*(i-t)+"px",r}onCursorMove(){}onOptionsChanged(){this._updateDimensions(),this._injectCss()}clear(){for(const e of this._rowElements)e.innerText=""}renderRows(e,t){const i=this._bufferService.buffer.ybase+this._bufferService.buffer.y,s=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),r=this._optionsService.rawOptions.cursorBlink;for(let n=e;n<=t;n++){const e=this._rowElements[n];e.innerText="";const t=n+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.lines.get(t),a=this._optionsService.rawOptions.cursorStyle;e.appendChild(this._rowFactory.createRow(o,t,t===i,a,s,r,this.dimensions.actualCellWidth,this._bufferService.cols))}}get _terminalSelector(){return`.${u}${this._terminalClass}`}_onLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_onLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){for(;e!==t||i!==s;){const t=this._rowElements[i];if(!t)return;const s=t.children[e];s&&(s.style.textDecoration=n?"underline":"none"),++e>=r&&(e=0,i++)}}};g=s([r(5,c.IInstantiationService),r(6,h.ICharSizeService),r(7,c.IOptionsService),r(8,c.IBufferService),r(9,h.ICoreBrowserService)],g),t.DomRenderer=g},3787:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.STRIKETHROUGH_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;const n=i(8036),o=i(643),a=i(511),h=i(2585),c=i(8055),l=i(4725),d=i(4269),_=i(1752),u=i(3734);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.STRIKETHROUGH_CLASS="xterm-strikethrough",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";let f=class{constructor(e,t,i,s,r,n,o){this._document=e,this._colors=t,this._characterJoinerService=i,this._optionsService=s,this._coreBrowserService=r,this._coreService=n,this._decorationService=o,this._workCell=new a.CellData,this._columnSelectMode=!1}setColors(e){this._colors=e}onSelectionChanged(e,t,i){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=i}createRow(e,i,s,r,a,h,l,_){const f=this._document.createDocumentFragment(),g=this._characterJoinerService.getJoinedCharacters(i);let p=0;for(let t=Math.min(e.length,_)-1;t>=0;t--)if(e.loadCell(t,this._workCell).getCode()!==o.NULL_CELL_CODE||s&&t===a){p=t+1;break}for(let _=0;_0&&_===g[0][0]){S=!0;const t=g.shift();C=new d.JoinedCellData(this._workCell,e.translateToString(!0,t[0],t[1]),t[1]-t[0]),m=t[1]-1,p=C.getWidth()}const b=this._document.createElement("span");if(p>1&&(b.style.width=l*p+"px"),S&&(b.style.display="inline",a>=_&&a<=m&&(a=_)),!this._coreService.isCursorHidden&&s&&_===a)switch(b.classList.add(t.CURSOR_CLASS),h&&b.classList.add(t.CURSOR_BLINK_CLASS),r){case"bar":b.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":b.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:b.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}if(C.isBold()&&b.classList.add(t.BOLD_CLASS),C.isItalic()&&b.classList.add(t.ITALIC_CLASS),C.isDim()&&b.classList.add(t.DIM_CLASS),C.isInvisible()?b.textContent=o.WHITESPACE_CELL_CHAR:b.textContent=C.getChars()||o.WHITESPACE_CELL_CHAR,C.isUnderline()&&(b.classList.add(`${t.UNDERLINE_CLASS}-${C.extended.underlineStyle}`)," "===b.textContent&&(b.innerHTML=" "),!C.isUnderlineColorDefault()))if(C.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${u.AttributeData.toColorRGB(C.getUnderlineColor()).join(",")})`;else{let e=C.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&C.isBold()&&e<8&&(e+=8),b.style.textDecorationColor=this._colors.ansi[e].css}C.isStrikethrough()&&b.classList.add(t.STRIKETHROUGH_CLASS);let y=C.getFgColor(),w=C.getFgColorMode(),E=C.getBgColor(),L=C.getBgColorMode();const R=!!C.isInverse();if(R){const e=y;y=E,E=e;const t=w;w=L,L=t}let k,D,A=!1;this._decorationService.forEachDecorationAtCell(_,i,void 0,(e=>{"top"!==e.options.layer&&A||(e.backgroundColorRGB&&(L=50331648,E=e.backgroundColorRGB.rgba>>8&16777215,k=e.backgroundColorRGB),e.foregroundColorRGB&&(w=50331648,y=e.foregroundColorRGB.rgba>>8&16777215,D=e.foregroundColorRGB),A="top"===e.options.layer)}));const x=this._isCellInSelection(_,i);let B;switch(A||this._colors.selectionForeground&&x&&(w=50331648,y=this._colors.selectionForeground.rgba>>8&16777215,D=this._colors.selectionForeground),x&&(k=this._coreBrowserService.isFocused?this._colors.selectionBackgroundOpaque:this._colors.selectionInactiveBackgroundOpaque,A=!0),A&&b.classList.add("xterm-decoration-top"),L){case 16777216:case 33554432:B=this._colors.ansi[E],b.classList.add(`xterm-bg-${E}`);break;case 50331648:B=c.rgba.toColor(E>>16,E>>8&255,255&E),this._addStyle(b,`background-color:#${v((E>>>0).toString(16),"0",6)}`);break;default:R?(B=this._colors.foreground,b.classList.add(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):B=this._colors.background}switch(k||C.isDim()&&(k=c.color.multiplyOpacity(B,.5)),w){case 16777216:case 33554432:C.isBold()&&y<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(y+=8),this._applyMinimumContrast(b,B,this._colors.ansi[y],C,k,void 0)||b.classList.add(`xterm-fg-${y}`);break;case 50331648:const e=c.rgba.toColor(y>>16&255,y>>8&255,255&y);this._applyMinimumContrast(b,B,e,C,k,D)||this._addStyle(b,`color:#${v(y.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(b,B,this._colors.foreground,C,k,void 0)||R&&b.classList.add(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}f.appendChild(b),_=m}return f}_applyMinimumContrast(e,t,i,s,r,n){if(1===this._optionsService.rawOptions.minimumContrastRatio||(0,_.excludeFromContrastRatioDemands)(s.getCode()))return!1;let o;return r||n||(o=this._colors.contrastCache.getColor(t.rgba,i.rgba)),void 0===o&&(o=c.color.ensureContrastRatio(r||t,n||i,this._optionsService.rawOptions.minimumContrastRatio),this._colors.contrastCache.setColor((r||t).rgba,(n||i).rgba,null!=o?o:null)),!!o&&(this._addStyle(e,`color:${o.css}`),!0)}_addStyle(e,t){e.setAttribute("style",`${e.getAttribute("style")||""}${t};`)}_isCellInSelection(e,t){const i=this._selectionStart,s=this._selectionEnd;return!(!i||!s)&&(this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t=i[0]&&e=i[0])}};function v(e,t,i){for(;e.length{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])}onTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;const n=i(2585),o=i(8460);let a=class{constructor(e,t,i){this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=new o.EventEmitter,this._measureStrategy=new h(e,t,this._optionsService)}get hasValidSize(){return this.width>0&&this.height>0}get onCharSizeChange(){return this._onCharSizeChange.event}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};a=s([r(2,n.IOptionsService)],a),t.CharSizeService=a;class h{constructor(e,t,i){this._document=e,this._parentElement=t,this._optionsService=i,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}measure(){this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`;const e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result}}},4269:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const n=i(3734),o=i(643),a=i(511),h=i(2585);class c extends n.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=c;let l=class e{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new a.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0,t.CoreBrowserService=class{constructor(e,t){this._textarea=e,this.window=t}get dpr(){return this.window.devicePixelRatio}get isFocused(){return(this._textarea.getRootNode?this._textarea.getRootNode():this._textarea.ownerDocument).activeElement===this._textarea&&this._textarea.ownerDocument.hasFocus()}}},8934:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;const n=i(4725),o=i(9806);let a=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return(0,o.getCoords)(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,r)}getMouseReportCoords(e,t){const i=(0,o.getCoordsRelativeToElement)(window,e,t);if(!(!this._charSizeService.hasValidSize||i[0]<0||i[1]<0||i[0]>=this._renderService.dimensions.canvasWidth||i[1]>=this._renderService.dimensions.canvasHeight))return{col:Math.floor(i[0]/this._renderService.dimensions.actualCellWidth),row:Math.floor(i[1]/this._renderService.dimensions.actualCellHeight),x:Math.floor(i[0]),y:Math.floor(i[1])}}};a=s([r(0,n.IRenderService),r(1,n.ICharSizeService)],a),t.MouseService=a},3230:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;const n=i(6193),o=i(8460),a=i(844),h=i(5596),c=i(3656),l=i(2585),d=i(4725);let _=class extends a.Disposable{constructor(e,t,i,s,r,a,l,d){if(super(),this._renderer=e,this._rowCount=t,this._charSizeService=r,this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=new o.EventEmitter,this._onRenderedViewportChange=new o.EventEmitter,this._onRender=new o.EventEmitter,this._onRefreshRequest=new o.EventEmitter,this.register({dispose:()=>this._renderer.dispose()}),this._renderDebouncer=new n.RenderDebouncer(d.window,((e,t)=>this._renderRows(e,t))),this.register(this._renderDebouncer),this._screenDprMonitor=new h.ScreenDprMonitor(d.window),this._screenDprMonitor.setListener((()=>this.onDevicePixelRatioChange())),this.register(this._screenDprMonitor),this.register(l.onResize((()=>this._fullRefresh()))),this.register(l.buffers.onBufferActivate((()=>{var e;return null===(e=this._renderer)||void 0===e?void 0:e.clear()}))),this.register(s.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.onCharSizeChanged()))),this.register(a.onDecorationRegistered((()=>this._fullRefresh()))),this.register(a.onDecorationRemoved((()=>this._fullRefresh()))),this._renderer.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this.register((0,c.addDisposableDomListener)(d.window,"resize",(()=>this.onDevicePixelRatioChange()))),"IntersectionObserver"in d.window){const e=new d.window.IntersectionObserver((e=>this._onIntersectionChange(e[e.length-1])),{threshold:0});e.observe(i),this.register({dispose:()=>e.disconnect()})}}get onDimensionsChange(){return this._onDimensionsChange.event}get onRenderedViewportChange(){return this._onRenderedViewportChange.event}get onRender(){return this._onRender.event}get onRefreshRequest(){return this._onRefreshRequest.event}get dimensions(){return this._renderer.dimensions}_onIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,i=!1){this._isPaused?this._needsFullRefresh=!0:(i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()}_fireOnCanvasResize(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)}dispose(){super.dispose()}setRenderer(e){this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh()}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;null===(t=null===(e=this._renderer)||void 0===e?void 0:e.clearTextureAtlas)||void 0===t||t.call(e),this._fullRefresh()}setColors(e){this._renderer.setColors(e),this._fullRefresh()}onDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)}onResize(e,t){this._renderer.onResize(e,t),this._fullRefresh()}onCharSizeChanged(){this._renderer.onCharSizeChanged()}onBlur(){this._renderer.onBlur()}onFocus(){this._renderer.onFocus()}onSelectionChanged(e,t,i){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,this._renderer.onSelectionChanged(e,t,i)}onCursorMove(){this._renderer.onCursorMove()}clear(){this._renderer.clear()}};_=s([r(3,l.IOptionsService),r(4,d.ICharSizeService),r(5,l.IDecorationService),r(6,l.IBufferService),r(7,d.ICoreBrowserService)],_),t.RenderService=_},9312:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;const n=i(6114),o=i(456),a=i(511),h=i(8460),c=i(4725),l=i(2585),d=i(9806),_=i(9504),u=i(844),f=i(4841),v=String.fromCharCode(160),g=new RegExp(v,"g");let p=class extends u.Disposable{constructor(e,t,i,s,r,n,c,l,d){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=c,this._renderService=l,this._coreBrowserService=d,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new a.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new h.EventEmitter),this._onRedrawRequest=this.register(new h.EventEmitter),this._onSelectionChange=this.register(new h.EventEmitter),this._onRequestScrollLines=this.register(new h.EventEmitter),this._mouseMoveListener=e=>this._onMouseMove(e),this._mouseUpListener=e=>this._onMouseUp(e),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((e=>this._onTrim(e))),this.register(this._bufferService.buffers.onBufferActivate((e=>this._onBufferActivate(e)))),this.enable(),this._model=new o.SelectionModel(this._bufferService),this._activeSelectionMode=0}get onLinuxMouseSelection(){return this._onLinuxMouseSelection.event}get onRequestRedraw(){return this._onRedrawRequest.event}get onSelectionChange(){return this._onSelectionChange.event}get onRequestScrollLines(){return this._onRequestScrollLines.event}dispose(){this._removeMouseDownListeners()}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";const i=this._bufferService.buffer,s=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";const r=e[0]e.replace(g," "))).join(n.isWindows?"\r\n":"\n")}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),n.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})}_isClickInSelection(e){const t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!!(i&&s&&t)&&this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){const i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!(!i||!s)&&this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]}_selectWordAtCursor(e,t){var i,s;const r=null===(s=null===(i=this._linkifier.currentLink)||void 0===i?void 0:i.link)||void 0===s?void 0:s.range;if(r)return this._model.selectionStart=[r.start.x-1,r.start.y-1],this._model.selectionStartLength=(0,f.getRangeLength)(r,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const n=this._getMouseBufferCoords(e);return!!n&&(this._selectWordAt(n,t),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_onTrim(e){this._model.onTrim(e)&&this.refresh()}_getMouseBufferCoords(e){const t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=(0,d.getCoordsRelativeToElement)(this._coreBrowserService.window,e,this._screenElement)[1];const i=this._renderService.dimensions.canvasHeight;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-50),50),t/=50,t/Math.abs(t)+Math.round(14*t))}shouldForceSelection(e){return n.isMac?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}onMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_onIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_onSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_onDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_onTripleClick(e){const t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(n.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_onMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;const t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const i=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_onMouseUp(e){const t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&void 0!==t[0]&&void 0!==t[1]){const e=(0,_.moveToCellSequence)(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,i=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);i?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,i)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,i)}_fireOnSelectionChange(e,t,i){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=i,this._onSelectionChange.fire()}_onBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((e=>this._onTrim(e)))}_convertViewportColToCharacterIndex(e,t){let i=t[0];for(let s=0;t[0]>=s;s++){const r=e.loadCell(s,this._workCell).getChars().length;0===this._workCell.getWidth()?i--:r>1&&t[0]!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;const r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;const o=r.translateBufferLineToString(e[1],!1);let a=this._convertViewportColToCharacterIndex(n,e),h=a;const c=e[0]-a;let l=0,d=0,_=0,u=0;if(" "===o.charAt(a)){for(;a>0&&" "===o.charAt(a-1);)a--;for(;h1&&(u+=s-1,h+=s-1);t>0&&a>0&&!this._isCharWordSeparator(n.loadCell(t-1,this._workCell));){n.loadCell(t-1,this._workCell);const e=this._workCell.getChars().length;0===this._workCell.getWidth()?(l++,t--):e>1&&(_+=e-1,a-=e-1),a--,t--}for(;i1&&(u+=e-1,h+=e-1),h++,i++}}h++;let f=a+c-l+_,v=Math.min(this._bufferService.cols,h-a+l+d-_-u);if(t||""!==o.slice(a,h).trim()){if(i&&0===f&&32!==n.getCodePoint(0)){const t=r.lines.get(e[1]-1);if(t&&n.isWrapped&&32!==t.getCodePoint(this._bufferService.cols-1)){const t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){const e=this._bufferService.cols-t.start;f-=e,v+=e}}}if(s&&f+v===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){const t=r.lines.get(e[1]+1);if((null==t?void 0:t.isWrapped)&&32!==t.getCodePoint(0)){const t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(v+=t.length)}}return{start:f,length:v}}}_selectWordAt(e,t){const i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){const t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){const t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,f.getRangeLength)(i,this._bufferService.cols)}};p=s([r(3,l.IBufferService),r(4,l.ICoreService),r(5,c.IMouseService),r(6,l.IOptionsService),r(7,c.IRenderService),r(8,c.ICoreBrowserService)],p),t.SelectionService=p},4725:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ICharacterJoinerService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;const s=i(8343);t.ICharSizeService=(0,s.createDecorator)("CharSizeService"),t.ICoreBrowserService=(0,s.createDecorator)("CoreBrowserService"),t.IMouseService=(0,s.createDecorator)("MouseService"),t.IRenderService=(0,s.createDecorator)("RenderService"),t.ISelectionService=(0,s.createDecorator)("SelectionService"),t.ICharacterJoinerService=(0,s.createDecorator)("CharacterJoinerService")},6349:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;const s=i(8460);t.CircularList=class{constructor(e){this._maxLength=e,this.onDeleteEmitter=new s.EventEmitter,this.onInsertEmitter=new s.EventEmitter,this.onTrimEmitter=new s.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get onDelete(){return this.onDeleteEmitter.event}get onInsert(){return this.onInsertEmitter.event}get onTrim(){return this.onTrimEmitter.event}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;ithis._length)for(let t=this._length;t=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;tthis._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+i<0)throw new Error("Cannot shift elements in list beyond index 0");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s{Object.defineProperty(t,"__esModule",{value:!0}),t.clone=void 0,t.clone=function e(t,i=5){if("object"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},8055:(e,t)=>{var i,s,r;function n(e){const t=e.toString(16);return t.length<2?"0"+t:t}function o(e,t){return e>>0}}(i=t.channels||(t.channels={})),function(e){function t(e,t){const s=Math.round(255*t),[n,o,a]=r.toChannels(e.rgba);return{css:i.toCss(n,o,a,s),rgba:i.toRgba(n,o,a,s)}}e.blend=function(e,t){const s=(255&t.rgba)/255;if(1===s)return{css:t.css,rgba:t.rgba};const r=t.rgba>>24&255,n=t.rgba>>16&255,o=t.rgba>>8&255,a=e.rgba>>24&255,h=e.rgba>>16&255,c=e.rgba>>8&255,l=a+Math.round((r-a)*s),d=h+Math.round((n-h)*s),_=c+Math.round((o-c)*s);return{css:i.toCss(l,d,_),rgba:i.toRgba(l,d,_)}},e.isOpaque=function(e){return!(255&~e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=r.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return r.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0,[s,n,o]=r.toChannels(t);return{css:i.toCss(s,n,o),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return t(e,(255&e.rgba)*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(t.color||(t.color={})),(t.css||(t.css={})).toColor=function(e){if(e.match(/#[0-9a-f]{3,8}/i))switch(e.length){case 4:{const t=parseInt(e.slice(1,2).repeat(2),16),i=parseInt(e.slice(2,3).repeat(2),16),s=parseInt(e.slice(3,4).repeat(2),16);return r.toColor(t,i,s)}case 5:{const t=parseInt(e.slice(1,2).repeat(2),16),i=parseInt(e.slice(2,3).repeat(2),16),s=parseInt(e.slice(3,4).repeat(2),16),n=parseInt(e.slice(4,5).repeat(2),16);return r.toColor(t,i,s,n)}case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const t=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(t){const e=parseInt(t[1]),i=parseInt(t[2]),s=parseInt(t[3]),n=Math.round(255*(void 0===t[5]?1:parseFloat(t[5])));return r.toColor(e,i,s,n)}throw new Error("css.toColor: Unsupported css format")},function(e){function t(e,t,i){const s=e/255,r=t/255,n=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(s=t.rgb||(t.rgb={})),function(e){function t(e,t,i){const r=e>>24&255,n=e>>16&255,a=e>>8&255;let h=t>>24&255,c=t>>16&255,l=t>>8&255,d=o(s.relativeLuminance2(h,c,l),s.relativeLuminance2(r,n,a));for(;d0||c>0||l>0);)h-=Math.max(0,Math.ceil(.1*h)),c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),d=o(s.relativeLuminance2(h,c,l),s.relativeLuminance2(r,n,a));return(h<<24|c<<16|l<<8|255)>>>0}function r(e,t,i){const r=e>>24&255,n=e>>16&255,a=e>>8&255;let h=t>>24&255,c=t>>16&255,l=t>>8&255,d=o(s.relativeLuminance2(h,c,l),s.relativeLuminance2(r,n,a));for(;d>>0}e.ensureContrastRatio=function(e,i,n){const a=s.relativeLuminance(e>>8),h=s.relativeLuminance(i>>8);if(o(a,h)>8));if(co(a,s.relativeLuminance(t>>8))?h:t}return h}const c=r(e,i,n),l=o(a,s.relativeLuminance(c>>8));if(lo(a,s.relativeLuminance(r>>8))?c:r}return c}},e.reduceLuminance=t,e.increaseLuminance=r,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,s,r){return{css:i.toCss(e,t,s,r),rgba:i.toRgba(e,t,s,r)}}}(r=t.rgba||(t.rgba={})),t.toPaddedHex=n,t.contrastRatio=o},8969:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;const s=i(844),r=i(2585),n=i(4348),o=i(7866),a=i(744),h=i(7302),c=i(6975),l=i(8460),d=i(1753),_=i(3730),u=i(1480),f=i(7994),v=i(9282),g=i(5435),p=i(5981),S=i(2660);let m=!1;class C extends s.Disposable{constructor(e){super(),this._onBinary=new l.EventEmitter,this._onData=new l.EventEmitter,this._onLineFeed=new l.EventEmitter,this._onResize=new l.EventEmitter,this._onScroll=new l.EventEmitter,this._onWriteParsed=new l.EventEmitter,this._instantiationService=new n.InstantiationService,this.optionsService=new h.OptionsService(e),this._instantiationService.setService(r.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(a.BufferService)),this._instantiationService.setService(r.IBufferService,this._bufferService),this._logService=this._instantiationService.createInstance(o.LogService),this._instantiationService.setService(r.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(c.CoreService,(()=>this.scrollToBottom()))),this._instantiationService.setService(r.ICoreService,this.coreService),this.coreMouseService=this._instantiationService.createInstance(d.CoreMouseService),this._instantiationService.setService(r.ICoreMouseService,this.coreMouseService),this._dirtyRowService=this._instantiationService.createInstance(_.DirtyRowService),this._instantiationService.setService(r.IDirtyRowService,this._dirtyRowService),this.unicodeService=this._instantiationService.createInstance(u.UnicodeService),this._instantiationService.setService(r.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(f.CharsetService),this._instantiationService.setService(r.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(S.OscLinkService),this._instantiationService.setService(r.IOscLinkService,this._oscLinkService),this._inputHandler=new g.InputHandler(this._bufferService,this._charsetService,this.coreService,this._dirtyRowService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService),this.register((0,l.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,l.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,l.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,l.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.optionsService.onOptionChange((e=>this._updateOptions(e)))),this.register(this._bufferService.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._dirtyRowService.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._dirtyRowService.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=new p.WriteBuffer(((e,t)=>this._inputHandler.parse(e,t))),this.register((0,l.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onBinary(){return this._onBinary.event}get onData(){return this._onData.event}get onLineFeed(){return this._onLineFeed.event}get onResize(){return this._onResize.event}get onWriteParsed(){return this._onWriteParsed.event}get onScroll(){return this._onScrollApi||(this._onScrollApi=new l.EventEmitter,this.register(this._onScroll.event((e=>{var t;null===(t=this._onScrollApi)||void 0===t||t.fire(e.position)})))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(const t in e)this.optionsService.options[t]=e[t]}dispose(){var e;this._isDisposed||(super.dispose(),null===(e=this._windowsMode)||void 0===e||e.dispose(),this._windowsMode=void 0)}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=r.LogLevelEnum.WARN&&!m&&(this._logService.warn("writeSync is unreliable and will be removed soon."),m=!0),this._writeBuffer.writeSync(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,a.MINIMUM_COLS),t=Math.max(t,a.MINIMUM_ROWS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t,i){this._bufferService.scrollLines(e,t,i)}scrollPages(e){this._bufferService.scrollPages(e)}scrollToTop(){this._bufferService.scrollToTop()}scrollToBottom(){this._bufferService.scrollToBottom()}scrollToLine(e){this._bufferService.scrollToLine(e)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this.optionsService.rawOptions.windowsMode&&this._enableWindowsMode()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_updateOptions(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.rawOptions.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}}_enableWindowsMode(){if(!this._windowsMode){const e=[];e.push(this.onLineFeed(v.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},(()=>((0,v.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsMode={dispose:()=>{for(const t of e)t.dispose()}}}}}t.CoreTerminal=C},8460:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>(this._listeners.push(e),{dispose:()=>{if(!this._disposed)for(let t=0;tt.fire(e)))}},5435:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;const s=i(2584),r=i(7116),n=i(2015),o=i(844),a=i(482),h=i(8437),c=i(8460),l=i(643),d=i(511),_=i(3734),u=i(2585),f=i(6242),v=i(6351),g=i(5941),p={"(":0,")":1,"*":2,"+":3,"-":1,".":2},S=131072;function m(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var C;!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(C=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));class b extends o.Disposable{constructor(e,t,i,o,l,_,u,g,p,S=new n.EscapeSequenceParser){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._dirtyRowService=o,this._logService=l,this._optionsService=_,this._oscLinkService=u,this._coreMouseService=g,this._unicodeService=p,this._parser=S,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new a.StringToUtf32,this._utf8Decoder=new a.Utf8ToUtf32,this._workCell=new d.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=h.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=h.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=new c.EventEmitter,this._onRequestRefreshRows=new c.EventEmitter,this._onRequestReset=new c.EventEmitter,this._onRequestSendFocus=new c.EventEmitter,this._onRequestSyncScrollBar=new c.EventEmitter,this._onRequestWindowsOptionsReport=new c.EventEmitter,this._onA11yChar=new c.EventEmitter,this._onA11yTab=new c.EventEmitter,this._onCursorMove=new c.EventEmitter,this._onLineFeed=new c.EventEmitter,this._onScroll=new c.EventEmitter,this._onTitleChange=new c.EventEmitter,this._onColor=new c.EventEmitter,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._parser.setCsiHandlerFallback(((e,t)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(e),params:t.toArray()})})),this._parser.setEscHandlerFallback((e=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(e)})})),this._parser.setExecuteHandlerFallback((e=>{this._logService.debug("Unknown EXECUTE code: ",{code:e})})),this._parser.setOscHandlerFallback(((e,t,i)=>{this._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:i})})),this._parser.setDcsHandlerFallback(((e,t,i)=>{"HOOK"===t&&(i=i.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(e),action:t,payload:i})})),this._parser.setPrintHandler(((e,t,i)=>this.print(e,t,i))),this._parser.registerCsiHandler({final:"@"},(e=>this.insertChars(e))),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(e=>this.scrollLeft(e))),this._parser.registerCsiHandler({final:"A"},(e=>this.cursorUp(e))),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(e=>this.scrollRight(e))),this._parser.registerCsiHandler({final:"B"},(e=>this.cursorDown(e))),this._parser.registerCsiHandler({final:"C"},(e=>this.cursorForward(e))),this._parser.registerCsiHandler({final:"D"},(e=>this.cursorBackward(e))),this._parser.registerCsiHandler({final:"E"},(e=>this.cursorNextLine(e))),this._parser.registerCsiHandler({final:"F"},(e=>this.cursorPrecedingLine(e))),this._parser.registerCsiHandler({final:"G"},(e=>this.cursorCharAbsolute(e))),this._parser.registerCsiHandler({final:"H"},(e=>this.cursorPosition(e))),this._parser.registerCsiHandler({final:"I"},(e=>this.cursorForwardTab(e))),this._parser.registerCsiHandler({final:"J"},(e=>this.eraseInDisplay(e,!1))),this._parser.registerCsiHandler({prefix:"?",final:"J"},(e=>this.eraseInDisplay(e,!0))),this._parser.registerCsiHandler({final:"K"},(e=>this.eraseInLine(e,!1))),this._parser.registerCsiHandler({prefix:"?",final:"K"},(e=>this.eraseInLine(e,!0))),this._parser.registerCsiHandler({final:"L"},(e=>this.insertLines(e))),this._parser.registerCsiHandler({final:"M"},(e=>this.deleteLines(e))),this._parser.registerCsiHandler({final:"P"},(e=>this.deleteChars(e))),this._parser.registerCsiHandler({final:"S"},(e=>this.scrollUp(e))),this._parser.registerCsiHandler({final:"T"},(e=>this.scrollDown(e))),this._parser.registerCsiHandler({final:"X"},(e=>this.eraseChars(e))),this._parser.registerCsiHandler({final:"Z"},(e=>this.cursorBackwardTab(e))),this._parser.registerCsiHandler({final:"`"},(e=>this.charPosAbsolute(e))),this._parser.registerCsiHandler({final:"a"},(e=>this.hPositionRelative(e))),this._parser.registerCsiHandler({final:"b"},(e=>this.repeatPrecedingCharacter(e))),this._parser.registerCsiHandler({final:"c"},(e=>this.sendDeviceAttributesPrimary(e))),this._parser.registerCsiHandler({prefix:">",final:"c"},(e=>this.sendDeviceAttributesSecondary(e))),this._parser.registerCsiHandler({final:"d"},(e=>this.linePosAbsolute(e))),this._parser.registerCsiHandler({final:"e"},(e=>this.vPositionRelative(e))),this._parser.registerCsiHandler({final:"f"},(e=>this.hVPosition(e))),this._parser.registerCsiHandler({final:"g"},(e=>this.tabClear(e))),this._parser.registerCsiHandler({final:"h"},(e=>this.setMode(e))),this._parser.registerCsiHandler({prefix:"?",final:"h"},(e=>this.setModePrivate(e))),this._parser.registerCsiHandler({final:"l"},(e=>this.resetMode(e))),this._parser.registerCsiHandler({prefix:"?",final:"l"},(e=>this.resetModePrivate(e))),this._parser.registerCsiHandler({final:"m"},(e=>this.charAttributes(e))),this._parser.registerCsiHandler({final:"n"},(e=>this.deviceStatus(e))),this._parser.registerCsiHandler({prefix:"?",final:"n"},(e=>this.deviceStatusPrivate(e))),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(e=>this.softReset(e))),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(e=>this.setCursorStyle(e))),this._parser.registerCsiHandler({final:"r"},(e=>this.setScrollRegion(e))),this._parser.registerCsiHandler({final:"s"},(e=>this.saveCursor(e))),this._parser.registerCsiHandler({final:"t"},(e=>this.windowOptions(e))),this._parser.registerCsiHandler({final:"u"},(e=>this.restoreCursor(e))),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(e=>this.insertColumns(e))),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(e=>this.deleteColumns(e))),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(e=>this.selectProtected(e))),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(e=>this.requestMode(e,!0))),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(e=>this.requestMode(e,!1))),this._parser.setExecuteHandler(s.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(s.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(s.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(s.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(s.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(s.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(s.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(s.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(s.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(s.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(s.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(s.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new f.OscHandler((e=>(this.setTitle(e),this.setIconName(e),!0)))),this._parser.registerOscHandler(1,new f.OscHandler((e=>this.setIconName(e)))),this._parser.registerOscHandler(2,new f.OscHandler((e=>this.setTitle(e)))),this._parser.registerOscHandler(4,new f.OscHandler((e=>this.setOrReportIndexedColor(e)))),this._parser.registerOscHandler(8,new f.OscHandler((e=>this.setHyperlink(e)))),this._parser.registerOscHandler(10,new f.OscHandler((e=>this.setOrReportFgColor(e)))),this._parser.registerOscHandler(11,new f.OscHandler((e=>this.setOrReportBgColor(e)))),this._parser.registerOscHandler(12,new f.OscHandler((e=>this.setOrReportCursorColor(e)))),this._parser.registerOscHandler(104,new f.OscHandler((e=>this.restoreIndexedColor(e)))),this._parser.registerOscHandler(110,new f.OscHandler((e=>this.restoreFgColor(e)))),this._parser.registerOscHandler(111,new f.OscHandler((e=>this.restoreBgColor(e)))),this._parser.registerOscHandler(112,new f.OscHandler((e=>this.restoreCursorColor(e)))),this._parser.registerEscHandler({final:"7"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:"8"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:"D"},(()=>this.index())),this._parser.registerEscHandler({final:"E"},(()=>this.nextLine())),this._parser.registerEscHandler({final:"H"},(()=>this.tabSet())),this._parser.registerEscHandler({final:"M"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:"="},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:">"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:"c"},(()=>this.fullReset())),this._parser.registerEscHandler({final:"n"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"o"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"|"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"}"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"~"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:"%",final:"@"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:"%",final:"G"},(()=>this.selectDefaultCharset()));for(const e in r.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:e},(()=>this.selectCharset("("+e))),this._parser.registerEscHandler({intermediates:")",final:e},(()=>this.selectCharset(")"+e))),this._parser.registerEscHandler({intermediates:"*",final:e},(()=>this.selectCharset("*"+e))),this._parser.registerEscHandler({intermediates:"+",final:e},(()=>this.selectCharset("+"+e))),this._parser.registerEscHandler({intermediates:"-",final:e},(()=>this.selectCharset("-"+e))),this._parser.registerEscHandler({intermediates:".",final:e},(()=>this.selectCharset("."+e))),this._parser.registerEscHandler({intermediates:"/",final:e},(()=>this.selectCharset("/"+e)));this._parser.registerEscHandler({intermediates:"#",final:"8"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((e=>(this._logService.error("Parsing error: ",e),e))),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new v.DcsHandler(((e,t)=>this.requestStatusString(e,t))))}getAttrData(){return this._curAttrData}get onRequestBell(){return this._onRequestBell.event}get onRequestRefreshRows(){return this._onRequestRefreshRows.event}get onRequestReset(){return this._onRequestReset.event}get onRequestSendFocus(){return this._onRequestSendFocus.event}get onRequestSyncScrollBar(){return this._onRequestSyncScrollBar.event}get onRequestWindowsOptionsReport(){return this._onRequestWindowsOptionsReport.event}get onA11yChar(){return this._onA11yChar.event}get onA11yTab(){return this._onA11yTab.event}get onCursorMove(){return this._onCursorMove.event}get onLineFeed(){return this._onLineFeed.event}get onScroll(){return this._onScroll.event}get onTitleChange(){return this._onTitleChange.event}get onColor(){return this._onColor.event}dispose(){super.dispose()}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=u.LogLevelEnum.WARN&&Promise.race([e,new Promise(((e,t)=>setTimeout((()=>t("#SLOW_TIMEOUT")),5e3)))]).catch((e=>{if("#SLOW_TIMEOUT"!==e)throw e;console.warn("async parser handler taking longer than 5000 ms")}))}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0;const o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>S&&(n=this._parseStack.position+S)}if(this._logService.logLevel<=u.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+("string"==typeof e?` "${e}"`:` "${Array.prototype.map.call(e,(e=>String.fromCharCode(e))).join("")}"`),"string"==typeof e?e.split("").map((e=>e.charCodeAt(0))):e),this._parseBuffer.lengthS)for(let t=n;t0&&2===u.getWidth(this._activeBuffer.x-1)&&u.setCellFromCodePoint(this._activeBuffer.x-1,0,1,_.fg,_.bg,_.extended);for(let f=t;f=h)if(c){for(;this._activeBuffer.x=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)}else if(this._activeBuffer.x=h-1,2===r)continue;if(d&&(u.insertCells(this._activeBuffer.x,r,this._activeBuffer.getNullCell(_),_),2===u.getWidth(h-1)&&u.setCellFromCodePoint(h-1,l.NULL_CELL_CODE,l.NULL_CELL_WIDTH,_.fg,_.bg,_.extended)),u.setCellFromCodePoint(this._activeBuffer.x++,s,r,_.fg,_.bg,_.extended),r>0)for(;--r;)u.setCellFromCodePoint(this._activeBuffer.x++,0,0,_.fg,_.bg,_.extended)}else u.getWidth(this._activeBuffer.x-1)?u.addCodepointToCell(this._activeBuffer.x-1,s):u.addCodepointToCell(this._activeBuffer.x-2,s)}i-t>0&&(u.loadCell(this._activeBuffer.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),this._activeBuffer.x0&&0===u.getWidth(this._activeBuffer.x)&&!u.hasContent(this._activeBuffer.x)&&u.setCellFromCodePoint(this._activeBuffer.x,0,1,_.fg,_.bg,_.extended),this._dirtyRowService.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return"t"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(e=>!m(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)))}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new v.DcsHandler(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new f.OscHandler(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowService.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowService.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var e;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&(null===(e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))||void 0===e?void 0:e.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowService.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowService.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){const t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){const t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){const t=e.params[0];return 0===t?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===t&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){const t=e.params[0];return 1===t&&(this._curAttrData.bg|=536870912),2!==t&&0!==t||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){const n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData(),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1}eraseInDisplay(e,t=!1){let i;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowService.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);i=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowService.markDirty(0);break;case 2:for(i=this._bufferService.rows,this._dirtyRowService.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowService.markDirty(0);break;case 3:const e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowService.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+"").indexOf(e)}setMode(e){for(let t=0;te?1:2,u=e.params[0];return f=u,v=t?2===u?3:4===u?_(o.modes.insertMode):12===u?4:20===u?_(d.convertEol):0:1===u?_(i.applicationCursorKeys):3===u?d.windowOptions.setWinLines?80===h?2:132===h?1:0:0:6===u?_(i.origin):7===u?_(i.wraparound):8===u?3:9===u?_("X10"===r):12===u?_(d.cursorBlink):25===u?_(!o.isCursorHidden):45===u?_(i.reverseWraparound):66===u?_(i.applicationKeypad):1e3===u?_("VT200"===r):1002===u?_("DRAG"===r):1003===u?_("ANY"===r):1004===u?_(i.sendFocus):1005===u?4:1006===u?_("SGR"===n):1015===u?4:1016===u?_("SGR_PIXELS"===n):1048===u?1:47===u||1047===u||1049===u?_(c===l):2004===u?_(i.bracketedPasteMode):0,o.triggerDataEvent(`${s.C0.ESC}[${t?"":"?"}${f};${v}$y`),!0;var f,v}_updateAttrColor(e,t,i,s,r){return 2===t?(e|=50331648,e&=-16777216,e|=_.AttributeData.fromColorRGB([i,s,r])):5===t&&(e&=-50331904,e|=33554432|255&i),e}_extractColor(e,t,i){const s=[0,0,-1,0,0,0];let r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){const i=e.getSubParams(t+n);let o=0;do{5===s[1]&&(r=1),s[n+o+1+r]=i[o]}while(++o=2||2===s[1]&&n+r>=5)break;s[1]&&(r=1)}while(++n+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=h.DEFAULT_ATTR_DATA.fg,this._curAttrData.bg=h.DEFAULT_ATTR_DATA.bg,!0;const t=e.length;let i;const s=this._curAttrData;for(let r=0;r=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777224|i-90):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777224|i-100):0===i?(s.fg=h.DEFAULT_ATTR_DATA.fg,s.bg=h.DEFAULT_ATTR_DATA.bg):1===i?s.fg|=134217728:3===i?s.bg|=67108864:4===i?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):5===i?s.fg|=536870912:7===i?s.fg|=67108864:8===i?s.fg|=1073741824:9===i?s.fg|=2147483648:2===i?s.bg|=134217728:21===i?this._processUnderline(2,s):22===i?(s.fg&=-134217729,s.bg&=-134217729):23===i?s.bg&=-67108865:24===i?(s.fg&=-268435457,this._processUnderline(0,s)):25===i?s.fg&=-536870913:27===i?s.fg&=-67108865:28===i?s.fg&=-1073741825:29===i?s.fg&=2147483647:39===i?(s.fg&=-67108864,s.fg|=16777215&h.DEFAULT_ATTR_DATA.fg):49===i?(s.bg&=-67108864,s.bg|=16777215&h.DEFAULT_ATTR_DATA.bg):38===i||48===i||58===i?r+=this._extractColor(e,r,s):59===i?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):100===i?(s.fg&=-67108864,s.fg|=16777215&h.DEFAULT_ATTR_DATA.fg,s.bg&=-67108864,s.bg|=16777215&h.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${s.C0.ESC}[0n`);break;case 6:const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${s.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${s.C0.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=h.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){const t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const i=t%2==1;return this._optionsService.options.cursorBlink=i,!0}setScrollRegion(e){const t=e.params[0]||1;let i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||0===i)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!m(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;const t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(C.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(C.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${s.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){const t=[],i=e.split(";");for(;i.length>1;){const e=i.shift(),s=i.shift();if(/^\d+$/.exec(e)){const i=parseInt(e);if(0<=i&&i<256)if("?"===s)t.push({type:0,index:i});else{const e=(0,g.parseColor)(s);e&&t.push({type:1,index:i,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){const t=e.split(";");return!(t.length<2)&&(t[1]?this._createHyperlink(t[0],t[1]):!t[0]&&this._finishHyperlink())}_createHyperlink(e,t){void 0!==this._currentLinkId&&this._finishHyperlink();const i=e.split(":");let s;const r=i.findIndex((e=>e.startsWith("id=")));return-1!==r&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._currentLinkId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.extended.urlId=this._currentLinkId,this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),this._currentLinkId=void 0,!0}_setOrReportSpecialColor(e,t){const i=e.split(";");for(let e=0;e=this._specialColors.length);++e,++t)if("?"===i[e])this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{const s=(0,g.parseColor)(i[e]);s&&this._onColor.fire([{type:1,index:this._specialColors[t],color:s}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;const t=[],i=e.split(";");for(let e=0;e=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=h.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=h.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){const e=new d.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t(this._coreService.triggerDataEvent(`${s.C0.ESC}${e}${s.C0.ESC}\\`),!0))('"q'===e?`P1$r${this._curAttrData.isProtected()?1:0}"q`:'"p'===e?'P1$r61;1"p':"r"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:"m"===e?"P1$r0m":" q"===e?`P1$r${{block:2,underline:4,bar:6}[r.cursorStyle]-(r.cursorBlink?1:0)} q`:"P0$r")}}t.InputHandler=b},844:(e,t)=>{function i(e){for(const t of e)t.dispose();e.length=0}Object.defineProperty(t,"__esModule",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.toDisposable=t.Disposable=void 0,t.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const e of this._disposables)e.dispose();this._disposables.length=0}register(e){return this._disposables.push(e),e}unregister(e){const t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)}},t.toDisposable=function(e){return{dispose:e}},t.disposeArray=i,t.getDisposeArrayDisposable=function(e){return{dispose:()=>i(e)}}},1505:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,n){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,n)}get(e,t,i,s){var r;return null===(r=this._data.get(e,t))||void 0===r?void 0:r.get(i,s)}clear(){this._data.clear()}}},6114:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isLegacyEdge=t.isFirefox=void 0;const i="undefined"==typeof navigator,s=i?"node":navigator.userAgent,r=i?"node":navigator.platform;t.isFirefox=s.includes("Firefox"),t.isLegacyEdge=s.includes("Edge"),t.isSafari=/^((?!chrome|android).)*safari/i.test(s),t.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(r),t.isIpad="iPad"===r,t.isIphone="iPhone"===r,t.isWindows=["Windows","Win16","Win32","WinCE"].includes(r),t.isLinux=r.indexOf("Linux")>=0},6106:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SortedList=void 0;let i=0;t.SortedList=class{constructor(e){this._getKey=e,this._array=[]}clear(){this._array.length=0}insert(e){0!==this._array.length?(i=this._search(this._getKey(e),0,this._array.length-1),this._array.splice(i,0,e)):this._array.push(e)}delete(e){if(0===this._array.length)return!1;const t=this._getKey(e);if(void 0===t)return!1;if(i=this._search(t,0,this._array.length-1),-1===i)return!1;if(this._getKey(this._array[i])!==t)return!1;do{if(this._array[i]===e)return this._array.splice(i,1),!0}while(++i=this._array.length)&&this._getKey(this._array[i])===e))do{yield this._array[i]}while(++i=this._array.length)&&this._getKey(this._array[i])===e))do{t(this._array[i])}while(++ie)return this._search(e,t,s-1);if(r0&&this._getKey(this._array[s-1])===e;)s--;return s}}},8273:(e,t)=>{function i(e,t,i=0,s=e.length){if(i>=e.length)return e;i=(e.length+i)%e.length,s=s>=e.length?e.length:(e.length+s)%e.length;for(let r=i;r{Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;const s=i(643);t.updateWindowsModeWrappedState=function(e){const t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),i=null==t?void 0:t.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&i&&(r.isWrapped=i[s.CHAR_DATA_CODE_INDEX]!==s.NULL_CELL_CODE&&i[s.CHAR_DATA_CODE_INDEX]!==s.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return!(50331648&~this.fg)}isBgRGB(){return!(50331648&~this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return!(50331648&this.fg)}isBgDefault(){return!(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&~this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}}t.AttributeData=i;class s{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},9092:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;const s=i(6349),r=i(8437),n=i(511),o=i(643),a=i(4634),h=i(4863),c=i(7116),l=i(3734);t.MAX_BUFFER_SIZE=4294967295,t.Buffer=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=r.DEFAULT_ATTR_DATA.clone(),this.savedCharset=c.DEFAULT_CHARSET,this.markers=[],this._nullCell=n.CellData.fromCharData([0,o.NULL_CELL_CHAR,o.NULL_CELL_WIDTH,o.NULL_CELL_CODE]),this._whitespaceCell=n.CellData.fromCharData([0,o.WHITESPACE_CELL_CHAR,o.WHITESPACE_CELL_WIDTH,o.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new l.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new l.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new r.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:i}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=r.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const i=this.getNullCell(r.DEFAULT_ATTR_DATA),s=this._getCorrectBufferLength(t);if(s>this.lines.maxLength&&(this.lines.maxLength=s),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new r.BufferLine(e,i)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(s0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=s}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;tthis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const i=(0,a.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(r.DEFAULT_ATTR_DATA));if(i.length>0){const s=(0,a.reflowLargerCreateNewLayout)(this.lines,i);(0,a.reflowLargerApplyNewLayout)(this.lines,s.layout),this._reflowLargerAdjustViewport(e,t,s.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){const s=this.getNullCell(r.DEFAULT_ATTR_DATA);let n=i;for(;n-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;o--){let h=this.lines.get(o);if(!h||!h.isWrapped&&h.getTrimmedLength()<=e)continue;const c=[h];for(;h.isWrapped&&o>0;)h=this.lines.get(--o),c.unshift(h);const l=this.ybase+this.y;if(l>=o&&l0&&(s.push({start:o+c.length+n,newLines:v}),n+=v.length),c.push(...v);let g=_.length-1,p=_[g];0===p&&(g--,p=_[g]);let S=c.length-u-1,m=d;for(;S>=0;){const e=Math.min(m,p);if(void 0===c[g])break;if(c[g].copyCellsFrom(c[S],m-e,p-e,e,!0),p-=e,0===p&&(g--,p=_[g]),m-=e,0===m){S--;const e=Math.max(S,0);m=(0,a.getWrappedLineTrimmedLength)(c,e,this._cols)}}for(let t=0;t0;)0===this.ybase?this.y0){const e=[],t=[];for(let e=0;e=0;c--)if(a&&a.start>r+h){for(let e=a.newLines.length-1;e>=0;e--)this.lines.set(c--,a.newLines[e]);c++,e.push({index:r+1,amount:a.newLines.length}),h+=a.newLines.length,a=s[++o]}else this.lines.set(c,t[r--]);let c=0;for(let t=e.length-1;t>=0;t--)e[t].index+=c,this.lines.onInsertEmitter.fire(e[t]),c+=e[t].amount;const l=Math.max(0,i+n-this.lines.maxLength);l>0&&this.lines.onTrimEmitter.fire(l)}}stringIndexToBufferIndex(e,t,i=!1){for(;t;){const s=this.lines.get(e);if(!s)return[-1,-1];const r=i?s.getTrimmedLength():s.length;for(let i=0;i0&&this.lines.get(t).isWrapped;)t--;for(;i+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=e,t.line<0&&t.dispose()}))),t.register(this.lines.onInsert((e=>{t.line>=e.index&&(t.line+=e.amount)}))),t.register(this.lines.onDelete((e=>{t.line>=e.index&&t.linee.index&&(t.line-=e.amount)}))),t.register(t.onDispose((()=>this._removeMarker(t)))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}iterator(e,t,i,s,r){return new d(this,e,t,i,s,r)}};class d{constructor(e,t,i=0,s=e.lines.length,r=0,n=0){this._buffer=e,this._trimRight=t,this._startIndex=i,this._endIndex=s,this._startOverscan=r,this._endOverscan=n,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}hasNext(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);let t="";for(let i=e.first;i<=e.last;++i)t+=this._buffer.translateBufferLineToString(i,this._trimRight);return this._current=e.last+1,{range:e,content:t}}}t.BufferStringIterator=d},8437:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;const s=i(482),r=i(643),n=i(511),o=i(3734);t.DEFAULT_ATTR_DATA=Object.freeze(new o.AttributeData);const a={startIndex:0};class h{constructor(e,t,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);const s=t||n.CellData.fromCharData([0,r.NULL_CELL_CHAR,r.NULL_CELL_WIDTH,r.NULL_CELL_CODE]);for(let t=0;t>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,t){this._data[3*e+1]=t[r.CHAR_DATA_ATTR_INDEX],t[r.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[r.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[r.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?(0,s.stringFromCodePoint)(2097151&t):""}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,t){return a.startIndex=3*e,t.content=this._data[a.startIndex+0],t.fg=this._data[a.startIndex+1],t.bg=this._data[a.startIndex+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg}setCellFromCodePoint(e,t,i,s,r,n){268435456&r&&(this._extendedAttrs[e]=n),this._data[3*e+0]=t|i<<22,this._data[3*e+1]=s,this._data[3*e+2]=r}addCodepointToCell(e,t){let i=this._data[3*e+0];2097152&i?this._combined[e]+=(0,s.stringFromCodePoint)(t):(2097151&i?(this._combined[e]=(0,s.stringFromCodePoint)(2097151&i)+(0,s.stringFromCodePoint)(t),i&=-2097152,i|=2097152):i=t|1<<22,this._data[3*e+0]=i)}insertCells(e,t,i,s){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==s?void 0:s.fg)||0,(null==s?void 0:s.bg)||0,(null==s?void 0:s.extended)||new o.ExtendedAttrs),t=0;--i)this.setCell(e+t+i,this.loadCell(e+i,s));for(let s=0;sthis.length){const i=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[s]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}}fill(e,t=!1){if(t)for(let t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,t,i,s,r){const n=e._data;if(r)for(let r=s-1;r>=0;r--){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}else for(let r=0;r=t&&(this._combined[r-t+i]=e._combined[r])}}translateToString(e=!1,t=0,i=this.length){e&&(i=Math.min(i,this.getTrimmedLength()));let n="";for(;t>22||1}return n}}t.BufferLine=h},4841:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}},4634:(e,t)=>{function i(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();const s=!e[t].hasContent(i-1)&&1===e[t].getWidth(i-1),r=2===e[t+1].getWidth(0);return s&&r?i-1:i}Object.defineProperty(t,"__esModule",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,s,r,n){const o=[];for(let a=0;a=a&&r0&&(e>d||0===l[e].getTrimmedLength());e--)v++;v>0&&(o.push(a+l.length-v),o.push(v)),a+=l.length-1}return o},t.reflowLargerCreateNewLayout=function(e,t){const i=[];let s=0,r=t[s],n=0;for(let o=0;oi(e,r,t))).reduce(((e,t)=>e+t));let o=0,a=0,h=0;for(;hc&&(o-=c,a++);const l=2===e[a].getWidth(o-1);l&&o--;const d=l?s-1:s;r.push(d),h+=d}return r},t.getWrappedLineTrimmedLength=i},5295:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;const s=i(9092),r=i(8460),n=i(844);class o extends n.Disposable{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this.register(new r.EventEmitter),this.reset()}get onBufferActivate(){return this._onBufferActivate.event}reset(){this._normal=new s.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new s.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}}t.BufferSet=o},511:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CellData=void 0;const s=i(482),r=i(643),n=i(3734);class o extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=""}static fromCharData(e){const t=new o;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=o},643:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR="",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=" ",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;const s=i(8460),r=i(844);class n extends r.Disposable{constructor(e){super(),this.line=e,this._id=n._nextId++,this.isDisposed=!1,this._onDispose=new s.EventEmitter}get id(){return this._id}get onDispose(){return this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),super.dispose())}}t.Marker=n,n._nextId=1},7116:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},t.CHARSETS.A={"#":"£"},t.CHARSETS.B=void 0,t.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},t.CHARSETS.C=t.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},t.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},t.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},t.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},t.CHARSETS.E=t.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},t.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},t.CHARSETS.H=t.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(e,t)=>{var i,s;Object.defineProperty(t,"__esModule",{value:!0}),t.C1_ESCAPED=t.C1=t.C0=void 0,function(e){e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="",e.BS="\b",e.HT="\t",e.LF="\n",e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""}(i=t.C0||(t.C0={})),(s=t.C1||(t.C1={})).PAD="€",s.HOP="",s.BPH="‚",s.NBH="ƒ",s.IND="„",s.NEL="…",s.SSA="†",s.ESA="‡",s.HTS="ˆ",s.HTJ="‰",s.VTS="Š",s.PLD="‹",s.PLU="Œ",s.RI="",s.SS2="Ž",s.SS3="",s.DCS="",s.PU1="‘",s.PU2="’",s.STS="“",s.CCH="”",s.MW="•",s.SPA="–",s.EPA="—",s.SOS="˜",s.SGCI="™",s.SCI="š",s.CSI="›",s.ST="œ",s.OSC="",s.PM="ž",s.APC="Ÿ",(t.C1_ESCAPED||(t.C1_ESCAPED={})).ST=`${i.ESC}\\`},7399:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateKeyboardEvent=void 0;const s=i(2584),r={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,i,n){const o={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?o.key=t?s.C0.ESC+"OA":s.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?o.key=t?s.C0.ESC+"OD":s.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?o.key=t?s.C0.ESC+"OC":s.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(o.key=t?s.C0.ESC+"OB":s.C0.ESC+"[B");break;case 8:if(e.altKey){o.key=s.C0.ESC+s.C0.DEL;break}o.key=s.C0.DEL;break;case 9:if(e.shiftKey){o.key=s.C0.ESC+"[Z";break}o.key=s.C0.HT,o.cancel=!0;break;case 13:o.key=e.altKey?s.C0.ESC+s.C0.CR:s.C0.CR,o.cancel=!0;break;case 27:o.key=s.C0.ESC,e.altKey&&(o.key=s.C0.ESC+s.C0.ESC),o.cancel=!0;break;case 37:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"D",o.key===s.C0.ESC+"[1;3D"&&(o.key=s.C0.ESC+(i?"b":"[1;5D"))):o.key=t?s.C0.ESC+"OD":s.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"C",o.key===s.C0.ESC+"[1;3C"&&(o.key=s.C0.ESC+(i?"f":"[1;5C"))):o.key=t?s.C0.ESC+"OC":s.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"A",i||o.key!==s.C0.ESC+"[1;3A"||(o.key=s.C0.ESC+"[1;5A")):o.key=t?s.C0.ESC+"OA":s.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"B",i||o.key!==s.C0.ESC+"[1;3B"||(o.key=s.C0.ESC+"[1;5B")):o.key=t?s.C0.ESC+"OB":s.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(o.key=s.C0.ESC+"[2~");break;case 46:o.key=a?s.C0.ESC+"[3;"+(a+1)+"~":s.C0.ESC+"[3~";break;case 36:o.key=a?s.C0.ESC+"[1;"+(a+1)+"H":t?s.C0.ESC+"OH":s.C0.ESC+"[H";break;case 35:o.key=a?s.C0.ESC+"[1;"+(a+1)+"F":t?s.C0.ESC+"OF":s.C0.ESC+"[F";break;case 33:e.shiftKey?o.type=2:e.ctrlKey?o.key=s.C0.ESC+"[5;"+(a+1)+"~":o.key=s.C0.ESC+"[5~";break;case 34:e.shiftKey?o.type=3:e.ctrlKey?o.key=s.C0.ESC+"[6;"+(a+1)+"~":o.key=s.C0.ESC+"[6~";break;case 112:o.key=a?s.C0.ESC+"[1;"+(a+1)+"P":s.C0.ESC+"OP";break;case 113:o.key=a?s.C0.ESC+"[1;"+(a+1)+"Q":s.C0.ESC+"OQ";break;case 114:o.key=a?s.C0.ESC+"[1;"+(a+1)+"R":s.C0.ESC+"OR";break;case 115:o.key=a?s.C0.ESC+"[1;"+(a+1)+"S":s.C0.ESC+"OS";break;case 116:o.key=a?s.C0.ESC+"[15;"+(a+1)+"~":s.C0.ESC+"[15~";break;case 117:o.key=a?s.C0.ESC+"[17;"+(a+1)+"~":s.C0.ESC+"[17~";break;case 118:o.key=a?s.C0.ESC+"[18;"+(a+1)+"~":s.C0.ESC+"[18~";break;case 119:o.key=a?s.C0.ESC+"[19;"+(a+1)+"~":s.C0.ESC+"[19~";break;case 120:o.key=a?s.C0.ESC+"[20;"+(a+1)+"~":s.C0.ESC+"[20~";break;case 121:o.key=a?s.C0.ESC+"[21;"+(a+1)+"~":s.C0.ESC+"[21~";break;case 122:o.key=a?s.C0.ESC+"[23;"+(a+1)+"~":s.C0.ESC+"[23~";break;case 123:o.key=a?s.C0.ESC+"[24;"+(a+1)+"~":s.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(i&&!n||!e.altKey||e.metaKey)!i||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?o.key=e.key:e.key&&e.ctrlKey&&("_"===e.key&&(o.key=s.C0.US),"@"===e.key&&(o.key=s.C0.NUL)):65===e.keyCode&&(o.type=1);else{const t=r[e.keyCode],i=null==t?void 0:t[e.shiftKey?1:0];if(i)o.key=s.C0.ESC+i;else if(e.keyCode>=65&&e.keyCode<=90){const t=e.ctrlKey?e.keyCode-64:e.keyCode+32;let i=String.fromCharCode(t);e.shiftKey&&(i=i.toUpperCase()),o.key=s.C0.ESC+i}else if("Dead"===e.key&&e.code.startsWith("Key")){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),o.key=s.C0.ESC+t,o.cancel=!0}}else e.keyCode>=65&&e.keyCode<=90?o.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?o.key=s.C0.NUL:e.keyCode>=51&&e.keyCode<=55?o.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?o.key=s.C0.DEL:219===e.keyCode?o.key=s.C0.ESC:220===e.keyCode?o.key=s.C0.FS:221===e.keyCode&&(o.key=s.C0.GS)}return o}},482:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s="";for(let r=t;r65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let n=r;n=i)return this._interim=r,s;const o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=1024*(r-55296)+o-56320+65536:(t[s++]=r,t[s++]=o)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,n,o,a=0,h=0,c=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let n,o=0;for(;(n=63&this.interim[++o])&&o<4;)r<<=6,r|=n;const h=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,l=h-o;for(;c=i)return 0;if(n=e[c++],128!=(192&n)){c--,s=!0;break}this.interim[o++]=n,r<<=6,r|=63&n}s||(2===h?r<128?c--:t[a++]=r:3===h?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const l=i-4;let d=c;for(;d=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(h=(31&s)<<6|63&r,h<128){d--;continue}t[a++]=h}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(h=(15&s)<<12|(63&r)<<6|63&n,h<2048||h>=55296&&h<=57343||65279===h)continue;t[a++]=h}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=n,a;if(o=e[d++],128!=(192&o)){d--;continue}if(h=(7&s)<<18|(63&r)<<12|(63&n)<<6|63&o,h<65536||h>1114111)continue;t[a++]=h}}return a}}},225:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;const s=i(8273),r=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],n=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let o;t.UnicodeV6=class{constructor(){if(this.version="6",!o){o=new Uint8Array(65536),(0,s.fill)(o,1),o[0]=0,(0,s.fill)(o,0,1,32),(0,s.fill)(o,0,127,160),(0,s.fill)(o,2,4352,4448),o[9001]=2,o[9002]=2,(0,s.fill)(o,2,11904,42192),o[12351]=1,(0,s.fill)(o,2,44032,55204),(0,s.fill)(o,2,63744,64256),(0,s.fill)(o,2,65040,65050),(0,s.fill)(o,2,65072,65136),(0,s.fill)(o,2,65280,65377),(0,s.fill)(o,2,65504,65511);for(let e=0;et[r][1])return!1;for(;r>=s;)if(i=s+r>>1,e>t[i][1])s=i+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1}}},5981:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;const s=i(8460),r="undefined"==typeof queueMicrotask?e=>{Promise.resolve().then(e)}:queueMicrotask;t.WriteBuffer=class{constructor(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._onWriteParsed=new s.EventEmitter}get onWriteParsed(){return this._onWriteParsed.event}writeSync(e,t){if(void 0!==t&&this._syncCalls>t)return void(this._syncCalls=0);if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i;for(this._isSyncWriting=!0;i=this._writeBuffer.shift();){this._action(i);const e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout((()=>this._innerWrite()))),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){const i=e||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const e=this._writeBuffer[this._bufferOffset],s=this._action(e,t);if(s){const e=e=>Date.now()-i>=12?setTimeout((()=>this._innerWrite(0,e))):this._innerWrite(i,e);return void s.catch((e=>(r((()=>{throw e})),Promise.resolve(!1)))).then(e)}const n=this._callbacks[this._bufferOffset];if(n&&n(),this._bufferOffset++,this._pendingData-=e.length,Date.now()-i>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}},5941:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.toRgbString=t.parseColor=void 0;const i=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,s=/^[\da-f]+$/;function r(e,t){const i=e.toString(16),s=i.length<2?"0"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}t.parseColor=function(e){if(!e)return;let t=e.toLowerCase();if(0===t.indexOf("rgb:")){t=t.slice(4);const e=i.exec(t);if(e){const t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(0===t.indexOf("#")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i=[0,0,0];for(let s=0;s<3;++s){const r=parseInt(t.slice(e*s,e*s+e),16);i[s]=1===e?r<<4:2===e?r:3===e?r>>4:r>>8}return i}},t.toRgbString=function(e,t=16){const[i,s,n]=e;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`}},5770:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;const s=i(482),r=i(8742),n=i(5770),o=[];t.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=o,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=o}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=o,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||o,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t);else this._handlerFb(this._ident,"HOOK",t)}put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._ident,"PUT",(0,s.utf32ToString)(e,t,i))}unhook(e,t=!0){if(this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].unhook(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,"UNHOOK",e);this._active=o,this._ident=0}};const a=new r.Params;a.addParam(0),t.DcsHandler=class{constructor(e){this._handler=e,this._data="",this._params=a,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():a,this._data="",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,s.utf32ToString)(e,t,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then((e=>(this._params=a,this._data="",this._hitLimit=!1,e)));return this._params=a,this._data="",this._hitLimit=!1,t}}},2015:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;const s=i(844),r=i(8273),n=i(8742),o=i(6242),a=i(6351);class h{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){(0,r.fill)(this.table,e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;rt)),i=(e,i)=>t.slice(e,i),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));const n=i(0,14);let o;for(o in e.setDefault(1,0),e.addMany(s,0,2,0),n)e.addMany([24,26,153,154],o,3,0),e.addMany(i(128,144),o,3,0),e.addMany(i(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(c,0,2,0),e.add(c,8,5,8),e.add(c,6,0,6),e.add(c,11,0,11),e.add(c,13,13,13),e}();class l extends s.Disposable{constructor(e=t.VT500_TRANSITION_TABLE){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new n.Params,this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,this._printHandlerFb=(e,t,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser=new o.OscParser,this._dcsParser=new a.DcsParser,this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},(()=>!0))}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error("only one byte as prefix supported");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let t=0;ts||s>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i<<=8,i|=s}}if(1!==e.final.length)throw new Error("final must be a single byte");const s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){const t=[];for(;e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")}dispose(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){const i=this._identifier(e,[48,126]);void 0===this._escHandlers[i]&&(this._escHandlers[i]=[]);const s=this._escHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){const i=this._identifier(e);void 0===this._csiHandlers[i]&&(this._csiHandlers[i]=[]);const s=this._csiHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s,r=0,n=0,o=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(void 0===i||1===this._parseStack.state)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const t=this._parseStack.handlers;let n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](this._params),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 4:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],s=this._dcsParser.unhook(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],s=this._oscParser.end(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(let i=o;i>4){case 2:for(let s=i+1;;++s){if(s>=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=0&&(s=o[a](this._params),!0!==s);a--)if(s instanceof Promise)return this._preserveStack(3,o,a,n,i),s;a<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}}while(++i47&&r<60);i--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:const h=this._escHandlers[this._collect<<8|r];let l=h?h.length-1:-1;for(;l>=0&&(s=h[l](),!0!==s);l--)if(s instanceof Promise)return this._preserveStack(4,h,l,n,i),s;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let s=i+1;;++s)if(s>=t||24===(r=e[s])||26===r||27===r||r>127&&r=t||(r=e[s])<32||r>127&&r{Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;const s=i(5770),r=i(482),n=[];t.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,"START")}_put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._id,"PUT",(0,r.utf32ToString)(e,t,i))}start(){this.reset(),this._state=1}put(e,t,i){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,i)}}end(e,t=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].end(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._id,"END",e);this._active=n,this._id=-1,this._state=0}}},t.OscHandler=class{constructor(e){this._handler=e,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,r.utf32ToString)(e,t,i),this._data.length>s.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then((e=>(this._data="",this._hitLimit=!1,e)));return this._data="",this._hitLimit=!1,t}}},8742:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Params=void 0;const i=2147483647;class s{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(e){const t=new s;if(!e.length)return t;for(let i=Array.isArray(e[0])?1:0;i>8,s=255&this._subParamsIdx[t];s-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>i?i:e}}addSubParam(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>i?i:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){const t=this._subParamsIdx[e]>>8,i=255&this._subParamsIdx[e];return i-t>0?this._subParams.subarray(t,i):null}getSubParamsAll(){const e={};for(let t=0;t>8,s=255&this._subParamsIdx[t];s-i>0&&(e[t]=this._subParams.slice(i,s))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const s=this._digitIsSub?this._subParams:this.params,r=s[t-1];s[t-1]=~r?Math.min(10*r+e,i):e}}t.Params=s},5741:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0,t.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){const i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferApiView=void 0;const s=i(3785),r=i(511);t.BufferApiView=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){const t=this._buffer.lines.get(e);if(t)return new s.BufferLineApiView(t)}getNullCell(){return new r.CellData}}},3785:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLineApiView=void 0;const s=i(511);t.BufferLineApiView=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new s.CellData)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}}},8285:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferNamespaceApi=void 0;const s=i(8771),r=i(8460);t.BufferNamespaceApi=class{constructor(e){this._core=e,this._onBufferChange=new r.EventEmitter,this._normal=new s.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new s.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get onBufferChange(){return this._onBufferChange.event}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}},7975:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ParserApi=void 0,t.ParserApi=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,(e=>t(e.toArray())))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,((e,i)=>t(e,i.toArray())))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}}},7090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeApi=void 0,t.UnicodeApi=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}}},744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;const n=i(2585),o=i(5295),a=i(8460),h=i(844);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;let c=class extends h.Disposable{constructor(e){super(),this.isUserScrolling=!1,this._onResize=new a.EventEmitter,this._onScroll=new a.EventEmitter,this.cols=Math.max(e.rawOptions.cols||0,t.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,t.MINIMUM_ROWS),this.buffers=new o.BufferSet(e,this)}get onResize(){return this._onResize.event}get onScroll(){return this._onScroll.event}get buffer(){return this.buffers.active}dispose(){super.dispose(),this.buffers.dispose()}resize(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){const i=this.buffer;let s;s=this._cachedBlankLine,s&&s.length===this.cols&&s.getFg(0)===e.fg&&s.getBg(0)===e.bg||(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;const r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){const e=i.lines.isFull;n===i.lines.length-1?e?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),e?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{const e=n-r+1;i.lines.shiftElements(r+1,e-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t,i){const s=this.buffer;if(e<0){if(0===s.ydisp)return;this.isUserScrolling=!0}else e+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);const r=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+e,s.ybase),0),r!==s.ydisp&&(t||this._onScroll.fire(s.ydisp))}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this.buffer.ydisp)}scrollToBottom(){this.scrollLines(this.buffer.ybase-this.buffer.ydisp)}scrollToLine(e){const t=e-this.buffer.ydisp;0!==t&&this.scrollLines(t)}};c=s([r(0,n.IOptionsService)],c),t.BufferService=c},7994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0,t.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}}},1753:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;const n=i(2585),o=i(8460),a={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function h(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(i|=64,i|=e.action):(i|=3&e.button,4&e.button&&(i|=64),8&e.button&&(i|=128),32===e.action?i|=32:0!==e.action||t||(i|=3)),i}const c=String.fromCharCode,l={DEFAULT:e=>{const t=[h(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":`${c(t[0])}${c(t[1])}${c(t[2])}`},SGR:e=>{const t=0===e.action&&4!==e.button?"m":"M";return`[<${h(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{const t=0===e.action&&4!==e.button?"m":"M";return`[<${h(e,!0)};${e.x};${e.y}${t}`}};let d=class{constructor(e,t){this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new o.EventEmitter,this._lastEvent=null;for(const e of Object.keys(a))this.addProtocol(e,a[e]);for(const e of Object.keys(l))this.addEncoding(e,l[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}get onProtocolChange(){return this._onProtocolChange.event}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,"SGR_PIXELS"===this._activeEncoding))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;const t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x)return!1;if(e.y!==t.y)return!1}else{if(e.col!==t.col)return!1;if(e.row!==t.row)return!1}return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};d=s([r(0,n.IBufferService),r(1,n.ICoreService)],d),t.CoreMouseService=d},6975:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;const n=i(2585),o=i(8460),a=i(1439),h=i(844),c=Object.freeze({insertMode:!1}),l=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let d=class extends h.Disposable{constructor(e,t,i,s){super(),this._bufferService=t,this._logService=i,this._optionsService=s,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new o.EventEmitter),this._onUserInput=this.register(new o.EventEmitter),this._onBinary=this.register(new o.EventEmitter),this._scrollToBottom=e,this.register({dispose:()=>this._scrollToBottom=void 0}),this.modes=(0,a.clone)(c),this.decPrivateModes=(0,a.clone)(l)}get onData(){return this._onData.event}get onUserInput(){return this._onUserInput.event}get onBinary(){return this._onBinary.event}reset(){this.modes=(0,a.clone)(c),this.decPrivateModes=(0,a.clone)(l)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const i=this._bufferService.buffer;i.ybase!==i.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`,(()=>e.split("").map((e=>e.charCodeAt(0))))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`,(()=>e.split("").map((e=>e.charCodeAt(0))))),this._onBinary.fire(e))}};d=s([r(1,n.IBufferService),r(2,n.ILogService),r(3,n.IOptionsService)],d),t.CoreService=d},9074:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DecorationService=void 0;const s=i(8055),r=i(8460),n=i(844),o=i(6106),a={xmin:0,xmax:0};class h extends n.Disposable{constructor(){super(...arguments),this._decorations=new o.SortedList((e=>null==e?void 0:e.marker.line)),this._onDecorationRegistered=this.register(new r.EventEmitter),this._onDecorationRemoved=this.register(new r.EventEmitter)}get onDecorationRegistered(){return this._onDecorationRegistered.event}get onDecorationRemoved(){return this._onDecorationRemoved.event}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;const t=new c(e);if(t){const e=t.marker.onDispose((()=>t.dispose()));t.onDispose((()=>{t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())})),this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){var s,r,n;let o=0,a=0;for(const h of this._decorations.getKeyIterator(t))o=null!==(s=h.options.x)&&void 0!==s?s:0,a=o+(null!==(r=h.options.width)&&void 0!==r?r:1),e>=o&&e{var r,n,o;a.xmin=null!==(r=t.options.x)&&void 0!==r?r:0,a.xmax=a.xmin+(null!==(n=t.options.width)&&void 0!==n?n:1),e>=a.xmin&&e=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;const n=i(2585);let o=class{constructor(e){this._bufferService=e,this.clearRange()}get start(){return this._start}get end(){return this._end}clearRange(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y}markDirty(e){ethis._end&&(this._end=e)}markRangeDirty(e,t){if(e>t){const i=e;e=t,t=i}ethis._end&&(this._end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};o=s([r(0,n.IBufferService)],o),t.DirtyRowService=o},4348:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;const s=i(2585),r=i(8343);class n{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}forEach(e){this._entries.forEach(((t,i)=>e(i,t)))}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}}t.ServiceCollection=n,t.InstantiationService=class{constructor(){this._services=new n,this._services.set(s.IInstantiationService,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){const i=(0,r.getServiceDependencies)(e).sort(((e,t)=>e.index-t.index)),s=[];for(const t of i){const i=this._services.get(t.id);if(!i)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`);s.push(i)}const n=i.length>0?i[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t,...s])}}},7866:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogService=void 0;const n=i(2585),o={debug:n.LogLevelEnum.DEBUG,info:n.LogLevelEnum.INFO,warn:n.LogLevelEnum.WARN,error:n.LogLevelEnum.ERROR,off:n.LogLevelEnum.OFF};let a=class{constructor(e){this._optionsService=e,this.logLevel=n.LogLevelEnum.OFF,this._updateLogLevel(),this._optionsService.onOptionChange((e=>{"logLevel"===e&&this._updateLogLevel()}))}_updateLogLevel(){this.logLevel=o[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t{Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=void 0;const s=i(8460),r=i(6114);t.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,customGlyphs:!0,drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:r.isMac,windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const n=["normal","bold","100","200","300","400","500","600","700","800","900"];t.OptionsService=class{constructor(e){this._onOptionChange=new s.EventEmitter;const i=Object.assign({},t.DEFAULT_OPTIONS);for(const t in e)if(t in i)try{const s=e[t];i[t]=this._sanitizeAndValidateOption(t,s)}catch(e){console.error(e)}this.rawOptions=i,this.options=Object.assign({},i),this._setupOptions()}get onOptionChange(){return this._onOptionChange.event}_setupOptions(){const e=e=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key "${e}"`);return this.rawOptions[e]},i=(e,i)=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key "${e}"`);i=this._sanitizeAndValidateOption(e,i),this.rawOptions[e]!==i&&(this.rawOptions[e]=i,this._onOptionChange.fire(e))};for(const t in this.rawOptions){const s={get:e.bind(this,t),set:i.bind(this,t)};Object.defineProperty(this.options,t,s)}}_sanitizeAndValidateOption(e,i){switch(e){case"cursorStyle":if(i||(i=t.DEFAULT_OPTIONS[e]),!function(e){return"block"===e||"underline"===e||"bar"===e}(i))throw new Error(`"${i}" is not a valid value for ${e}`);break;case"wordSeparator":i||(i=t.DEFAULT_OPTIONS[e]);break;case"fontWeight":case"fontWeightBold":if("number"==typeof i&&1<=i&&i<=1e3)break;i=n.includes(i)?i:t.DEFAULT_OPTIONS[e];break;case"cursorWidth":i=Math.floor(i);case"lineHeight":case"tabStopWidth":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case"minimumContrastRatio":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case"scrollback":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);case"rows":case"cols":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`)}return i}}},2660:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OscLinkService=void 0;const n=i(2585);let o=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose((()=>this._removeMarkerFromLink(s,i))),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose((()=>this._removeMarkerFromLink(o,n))),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every((e=>e.line!==t))){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose((()=>this._removeMarkerFromLink(i,e)))}}getLinkData(e){var t;return null===(t=this._dataByLinkId.get(e))||void 0===t?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};o=s([r(0,n.IBufferService)],o),t.OscLinkService=o},8343:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const i=function(e,t,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,i){t.di$target===t?t.di$dependencies.push({id:e,index:i}):(t.di$dependencies=[{id:e,index:i}],t.di$target=t)}(i,e,s)};return i.toString=()=>e,t.serviceRegistry.set(e,i),i}},2585:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.IDirtyRowService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(8343);var r;t.IBufferService=(0,s.createDecorator)("BufferService"),t.ICoreMouseService=(0,s.createDecorator)("CoreMouseService"),t.ICoreService=(0,s.createDecorator)("CoreService"),t.ICharsetService=(0,s.createDecorator)("CharsetService"),t.IDirtyRowService=(0,s.createDecorator)("DirtyRowService"),t.IInstantiationService=(0,s.createDecorator)("InstantiationService"),(r=t.LogLevelEnum||(t.LogLevelEnum={}))[r.DEBUG=0]="DEBUG",r[r.INFO=1]="INFO",r[r.WARN=2]="WARN",r[r.ERROR=3]="ERROR",r[r.OFF=4]="OFF",t.ILogService=(0,s.createDecorator)("LogService"),t.IOptionsService=(0,s.createDecorator)("OptionsService"),t.IOscLinkService=(0,s.createDecorator)("OscLinkService"),t.IUnicodeService=(0,s.createDecorator)("UnicodeService"),t.IDecorationService=(0,s.createDecorator)("DecorationService")},1480:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;const s=i(8460),r=i(225);t.UnicodeService=class{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new s.EventEmitter;const e=new r.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}get onChange(){return this._onChange.event}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let t=0;const i=e.length;for(let s=0;s=i)return t+this.wcwidth(r);const n=e.charCodeAt(s);56320<=n&&n<=57343?r=1024*(r-55296)+n-56320+65536:t+=this.wcwidth(n)}t+=this.wcwidth(r)}return t}}}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.Terminal=void 0;const t=i(3236),r=i(9042),n=i(7975),o=i(7090),a=i(5741),h=i(8285),c=["cols","rows"];e.Terminal=class{constructor(e){this._core=new t.Terminal(e),this._addonManager=new a.AddonManager,this._publicOptions=Object.assign({},this._core.options);const i=e=>this._core.options[e],s=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){const t={get:i.bind(this,e),set:s.bind(this,e)};Object.defineProperty(this._publicOptions,e,t)}}_checkReadonlyOptions(e){if(c.includes(e))throw new Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._checkProposedApi(),this._parser||(this._parser=new n.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new o.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._checkProposedApi(),this._buffer||(this._buffer=new h.BufferNamespaceApi(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let t="none";switch(this._core.coreMouseService.activeProtocol){case"X10":t="x10";break;case"VT200":t="vt200";break;case"DRAG":t="drag";break;case"ANY":t="any"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}registerLinkProvider(e){return this._checkProposedApi(),this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.addMarker(e)}registerDecoration(e){var t,i,s;return this._checkProposedApi(),this._verifyPositiveIntegers(null!==(t=e.x)&&void 0!==t?t:0,null!==(i=e.width)&&void 0!==i?i:0,null!==(s=e.height)&&void 0!==s?s:0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){this._addonManager.dispose(),this._core.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write("\r\n",t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){return this._addonManager.loadAddon(this,e)}static get strings(){return r}_verifyIntegers(...e){for(const t of e)if(t===1/0||isNaN(t)||t%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(const t of e)if(t&&(t===1/0||isNaN(t)||t%1!=0||t<0))throw new Error("This API only accepts positive integers")}}})(),s})()})) \ No newline at end of file +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var i=t();for(var s in i)("object"==typeof exports?exports:e)[s]=i[s]}}(self,function(){return(()=>{"use strict";var e={4567:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AccessibilityManager=void 0;const s=i(9042),r=i(6114),n=i(9924),o=i(3656),a=i(844),h=i(5596),c=i(9631);class l extends a.Disposable{constructor(e,t){super(),this._terminal=e,this._renderService=t,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityTreeRoot=document.createElement("div"),this._accessibilityTreeRoot.classList.add("xterm-accessibility"),this._accessibilityTreeRoot.tabIndex=0,this._rowContainer=document.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let e=0;ethis._onBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._onBoundaryFocus(e,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityTreeRoot.appendChild(this._rowContainer),this._renderRowsDebouncer=new n.TimeBasedDebouncer(this._renderRows.bind(this)),this._refreshRows(),this._liveRegion=document.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityTreeRoot.appendChild(this._liveRegion),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityTreeRoot),this.register(this._renderRowsDebouncer),this.register(this._terminal.onResize(e=>this._onResize(e.rows))),this.register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(e=>this._onChar(e))),this.register(this._terminal.onLineFeed(()=>this._onChar("\n"))),this.register(this._terminal.onA11yTab(e=>this._onTab(e))),this.register(this._terminal.onKey(e=>this._onKey(e.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._screenDprMonitor=new h.ScreenDprMonitor(window),this.register(this._screenDprMonitor),this._screenDprMonitor.setListener(()=>this._refreshRowsDimensions()),this.register((0,o.addDisposableDomListener)(window,"resize",()=>this._refreshRowsDimensions()))}dispose(){super.dispose(),(0,c.removeElementFromParent)(this._accessibilityTreeRoot),this._rowElements.length=0}_onBoundaryFocus(e,t){const i=e.target,s=this._rowElements[0===t?1:this._rowElements.length-2];if(i.getAttribute("aria-posinset")===(0===t?"1":`${this._terminal.buffer.lines.length}`))return;if(e.relatedTarget!==s)return;let r,n;if(0===t?(r=i,n=this._rowElements.pop(),this._rowContainer.removeChild(n)):(r=this._rowElements.shift(),n=i,this._rowContainer.removeChild(r)),r.removeEventListener("focus",this._topBoundaryFocusListener),n.removeEventListener("focus",this._bottomBoundaryFocusListener),0===t){const e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement("afterbegin",e)}else{const e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===t?-1:1),this._rowElements[0===t?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_onResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;ee;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=document.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_onTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,"\n"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=s.tooMuchOutput)),r.isMac&&this._liveRegion.textContent&&this._liveRegion.textContent.length>0&&!this._liveRegion.parentNode&&setTimeout(()=>{this._accessibilityTreeRoot.appendChild(this._liveRegion)},0))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0,r.isMac&&(0,c.removeElementFromParent)(this._liveRegion)}_onKey(e){this._clearLiveRegion(),this._charsToConsume.push(e)}_refreshRows(e,t){this._renderRowsDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){const e=i.translateBufferLineToString(i.ydisp+r,!0),t=(i.ydisp+r+1).toString(),n=this._rowElements[r];n&&(0===e.length?n.innerText=" ":n.textContent=e,n.setAttribute("aria-posinset",t),n.setAttribute("aria-setsize",s))}this._announceCharacters()}_refreshRowsDimensions(){if(this._renderService.dimensions.actualCellHeight){this._rowElements.length!==this._terminal.rows&&this._onResize(this._terminal.rows);for(let e=0;e{function i(e){return e.replace(/\r?\n/g,"\r")}function s(e,t){return t?"[200~"+e+"[201~":e}function r(e,t,r){e=s(e=i(e),r.decPrivateModes.bracketedPasteMode),r.triggerDataEvent(e,!0),t.value=""}function n(e,t,i){const s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}Object.defineProperty(t,"__esModule",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=s,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,i){e.stopPropagation(),e.clipboardData&&r(e.clipboardData.getData("text/plain"),t,i)},t.paste=r,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(e,t,i,s,r){n(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}},7239:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorContrastCache=void 0;const s=i(1505);t.ColorContrastCache=class{constructor(){this._color=new s.TwoKeyMap,this._css=new s.TwoKeyMap}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}}},5680:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorManager=t.DEFAULT_ANSI_COLORS=void 0;const s=i(8055),r=i(7239),n=s.css.toColor("#ffffff"),o=s.css.toColor("#000000"),a=s.css.toColor("#ffffff"),h=s.css.toColor("#000000"),c={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const e=[s.css.toColor("#2e3436"),s.css.toColor("#cc0000"),s.css.toColor("#4e9a06"),s.css.toColor("#c4a000"),s.css.toColor("#3465a4"),s.css.toColor("#75507b"),s.css.toColor("#06989a"),s.css.toColor("#d3d7cf"),s.css.toColor("#555753"),s.css.toColor("#ef2929"),s.css.toColor("#8ae234"),s.css.toColor("#fce94f"),s.css.toColor("#729fcf"),s.css.toColor("#ad7fa8"),s.css.toColor("#34e2e2"),s.css.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){const r=t[i/36%6|0],n=t[i/6%6|0],o=t[i%6];e.push({css:s.channels.toCss(r,n,o),rgba:s.channels.toRgba(r,n,o)})}for(let t=0;t<24;t++){const i=8+10*t;e.push({css:s.channels.toCss(i,i,i),rgba:s.channels.toRgba(i,i,i)})}return e})()),t.ColorManager=class{constructor(e,i){this.allowTransparency=i;const l=e.createElement("canvas");l.width=1,l.height=1;const d=l.getContext("2d");if(!d)throw new Error("Could not get rendering context");this._ctx=d,this._ctx.globalCompositeOperation="copy",this._litmusColor=this._ctx.createLinearGradient(0,0,1,1),this._contrastCache=new r.ColorContrastCache,this.colors={foreground:n,background:o,cursor:a,cursorAccent:h,selectionForeground:void 0,selectionBackgroundTransparent:c,selectionBackgroundOpaque:s.color.blend(o,c),selectionInactiveBackgroundTransparent:c,selectionInactiveBackgroundOpaque:s.color.blend(o,c),ansi:t.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache},this._updateRestoreColors()}onOptionsChange(e,t){switch(e){case"minimumContrastRatio":this._contrastCache.clear();break;case"allowTransparency":this.allowTransparency=t}}setTheme(e={}){this.colors.foreground=this._parseColor(e.foreground,n),this.colors.background=this._parseColor(e.background,o),this.colors.cursor=this._parseColor(e.cursor,a,!0),this.colors.cursorAccent=this._parseColor(e.cursorAccent,h,!0),this.colors.selectionBackgroundTransparent=this._parseColor(e.selectionBackground,c,!0),this.colors.selectionBackgroundOpaque=s.color.blend(this.colors.background,this.colors.selectionBackgroundTransparent),this.colors.selectionInactiveBackgroundTransparent=this._parseColor(e.selectionInactiveBackground,this.colors.selectionBackgroundTransparent,!0),this.colors.selectionInactiveBackgroundOpaque=s.color.blend(this.colors.background,this.colors.selectionInactiveBackgroundTransparent);const i={css:"",rgba:0};if(this.colors.selectionForeground=e.selectionForeground?this._parseColor(e.selectionForeground,i):void 0,this.colors.selectionForeground===i&&(this.colors.selectionForeground=void 0),s.color.isOpaque(this.colors.selectionBackgroundTransparent)){const e=.3;this.colors.selectionBackgroundTransparent=s.color.opacity(this.colors.selectionBackgroundTransparent,e)}if(s.color.isOpaque(this.colors.selectionInactiveBackgroundTransparent)){const e=.3;this.colors.selectionInactiveBackgroundTransparent=s.color.opacity(this.colors.selectionInactiveBackgroundTransparent,e)}if(this.colors.ansi=t.DEFAULT_ANSI_COLORS.slice(),this.colors.ansi[0]=this._parseColor(e.black,t.DEFAULT_ANSI_COLORS[0]),this.colors.ansi[1]=this._parseColor(e.red,t.DEFAULT_ANSI_COLORS[1]),this.colors.ansi[2]=this._parseColor(e.green,t.DEFAULT_ANSI_COLORS[2]),this.colors.ansi[3]=this._parseColor(e.yellow,t.DEFAULT_ANSI_COLORS[3]),this.colors.ansi[4]=this._parseColor(e.blue,t.DEFAULT_ANSI_COLORS[4]),this.colors.ansi[5]=this._parseColor(e.magenta,t.DEFAULT_ANSI_COLORS[5]),this.colors.ansi[6]=this._parseColor(e.cyan,t.DEFAULT_ANSI_COLORS[6]),this.colors.ansi[7]=this._parseColor(e.white,t.DEFAULT_ANSI_COLORS[7]),this.colors.ansi[8]=this._parseColor(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),this.colors.ansi[9]=this._parseColor(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),this.colors.ansi[10]=this._parseColor(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),this.colors.ansi[11]=this._parseColor(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),this.colors.ansi[12]=this._parseColor(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),this.colors.ansi[13]=this._parseColor(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),this.colors.ansi[14]=this._parseColor(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),this.colors.ansi[15]=this._parseColor(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),e.extendedAnsi){const i=Math.min(this.colors.ansi.length-16,e.extendedAnsi.length);for(let s=0;sNumber(e)),h=Math.round(255*a);return{rgba:s.channels.toRgba(r,n,o,h),css:e}}return{css:this._ctx.fillStyle,rgba:s.channels.toRgba(r[0],r[1],r[2],r[3])}}}},9631:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.removeElementFromParent=void 0,t.removeElementFromParent=function(...e){var t;for(const i of e)null===(t=null==i?void 0:i.parentElement)||void 0===t||t.removeChild(i)}},3656:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,i,s){e.addEventListener(t,i,s);let r=!1;return{dispose:()=>{r||(r=!0,e.removeEventListener(t,i,s))}}}},6465:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Linkifier2=void 0;const n=i(2585),o=i(8460),a=i(844),h=i(3656);let c=class extends a.Disposable{constructor(e){super(),this._bufferService=e,this._linkProviders=[],this._linkCacheDisposables=[],this._isMouseOut=!0,this._activeLine=-1,this._onShowLinkUnderline=this.register(new o.EventEmitter),this._onHideLinkUnderline=this.register(new o.EventEmitter),this.register((0,a.getDisposeArrayDisposable)(this._linkCacheDisposables))}get currentLink(){return this._currentLink}get onShowLinkUnderline(){return this._onShowLinkUnderline.event}get onHideLinkUnderline(){return this._onHideLinkUnderline.event}dispose(){super.dispose(),this._lastMouseEvent=void 0}registerLinkProvider(e){return this._linkProviders.push(e),{dispose:()=>{const t=this._linkProviders.indexOf(e);-1!==t&&this._linkProviders.splice(t,1)}}}attachToDom(e,t,i){this._element=e,this._mouseService=t,this._renderService=i,this.register((0,h.addDisposableDomListener)(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this.register((0,h.addDisposableDomListener)(this._element,"mousemove",this._onMouseMove.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,h.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_onMouseMove(e){if(this._lastMouseEvent=e,!this._element||!this._mouseService)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;const i=e.composedPath();for(let e=0;e{null==e||e.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let r=!1;for(const[i,n]of this._linkProviders.entries())t?(null===(s=this._activeProviderReplies)||void 0===s?void 0:s.get(i))&&(r=this._checkLinkProviderResult(i,e,r)):n.provideLinks(e.y,t=>{var s,n;if(this._isMouseOut)return;const o=null==t?void 0:t.map(e=>({link:e}));null===(s=this._activeProviderReplies)||void 0===s||s.set(i,o),r=this._checkLinkProviderResult(i,e,r),(null===(n=this._activeProviderReplies)||void 0===n?void 0:n.size)===this._linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){const i=new Set;for(let s=0;se?this._bufferService.cols:s.link.range.end.x;for(let e=n;e<=o;e++){if(i.has(e)){r.splice(t--,1);break}i.add(e)}}}}_checkLinkProviderResult(e,t,i){var s;if(!this._activeProviderReplies)return i;const r=this._activeProviderReplies.get(e);let n=!1;for(let t=0;tthis._linkAtPosition(e.link,t));e&&(i=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviders.length&&!i)for(let e=0;ethis._linkAtPosition(e.link,t));if(r){i=!0,this._handleNewLink(r);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._element||!this._mouseService||!this._currentLink)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){this._element&&this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,a.disposeArray)(this._linkCacheDisposables))}_handleNewLink(e){if(!this._element||!this._lastMouseEvent||!this._mouseService)return;const t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var e,t;return null===(t=null===(e=this._currentLink)||void 0===e?void 0:e.state)||void 0===t?void 0:t.decorations.pointerCursor},set:e=>{var t,i;(null===(t=this._currentLink)||void 0===t?void 0:t.state)&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&(null===(i=this._element)||void 0===i||i.classList.toggle("xterm-cursor-pointer",e)))}},underline:{get:()=>{var e,t;return null===(t=null===(e=this._currentLink)||void 0===e?void 0:e.state)||void 0===t?void 0:t.decorations.underline},set:t=>{var i,s,r;(null===(i=this._currentLink)||void 0===i?void 0:i.state)&&(null===(r=null===(s=this._currentLink)||void 0===s?void 0:s.state)||void 0===r?void 0:r.decorations.underline)!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._renderService&&this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{const t=0===e.start?0:e.start+1+this._bufferService.buffer.ydisp;this._clearCurrentLink(t,e.end+1+this._bufferService.buffer.ydisp)})))}_linkHover(e,t,i){var s;(null===(s=this._currentLink)||void 0===s?void 0:s.state)&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){const i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){var s;(null===(s=this._currentLink)||void 0===s?void 0:s.state)&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){const i=e.range.start.y===e.range.end.y,s=e.range.start.yt.y;return(i&&e.range.start.x<=t.x&&e.range.end.x>=t.x||s&&e.range.end.x>=t.x||r&&e.range.start.x<=t.x||s&&r)&&e.range.start.y<=t.y&&e.range.end.y>=t.y}_positionFromMouseEvent(e,t,i){const s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};c=s([r(0,n.IBufferService)],c),t.Linkifier2=c},9042:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel="Terminal input",t.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},2962:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OscLinkProvider=void 0;const n=i(511),o=i(2585);let a=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){var i;const s=this._bufferService.buffer.lines.get(e-1);if(!s)return void t(void 0);const r=[],o=this._optionsService.rawOptions.linkHandler,a=new n.CellData,c=s.getTrimmedLength();let l=-1,d=-1,_=!1;for(let t=0;to?o.activate(e,t,i):h(0,t),hover:(e,t)=>{var s;return null===(s=null==o?void 0:o.hover)||void 0===s?void 0:s.call(o,e,t,i)},leave:(e,t)=>{var s;return null===(s=null==o?void 0:o.leave)||void 0===s?void 0:s.call(o,e,t,i)}})}_=!1,a.hasExtendedAttrs()&&a.extended.urlId?(d=t,l=a.extended.urlId):(d=-1,l=-1)}}t(r)}};function h(e,t){if(confirm(`Do you want to navigate to ${t}?`)){const i=window.open();if(i){try{i.opener=null}catch(e){}i.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}a=s([r(0,o.IBufferService),r(1,o.IOptionsService),r(2,o.IOscLinkService)],a),t.OscLinkProvider=a},6193:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.RenderDebouncer=void 0,t.RenderDebouncer=class{constructor(e,t){this._parentWindow=e,this._renderCallback=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._parentWindow.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=this._parentWindow.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}}},5596:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ScreenDprMonitor=void 0;const s=i(844);class r extends s.Disposable{constructor(e){super(),this._parentWindow=e,this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio}setListener(e){this._listener&&this.clearListener(),this._listener=e,this._outerListener=()=>{this._listener&&(this._listener(this._parentWindow.devicePixelRatio,this._currentDevicePixelRatio),this._updateDpr())},this._updateDpr()}dispose(){super.dispose(),this.clearListener()}_updateDpr(){var e;this._outerListener&&(null===(e=this._resolutionMediaMatchList)||void 0===e||e.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._listener&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._listener=void 0,this._outerListener=void 0)}}t.ScreenDprMonitor=r},3236:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Terminal=void 0;const s=i(2950),r=i(1680),n=i(3614),o=i(2584),a=i(5435),h=i(9312),c=i(6114),l=i(3656),d=i(9042),_=i(4567),u=i(1296),f=i(7399),v=i(8460),g=i(8437),p=i(5680),S=i(3230),m=i(4725),C=i(428),b=i(8934),y=i(6465),w=i(5114),E=i(8969),L=i(8055),R=i(4269),k=i(5941),D=i(3107),A=i(5744),x=i(9074),B=i(2585),T=i(2962),M="undefined"!=typeof window?window.document:null;class O extends E.CoreTerminal{constructor(e={}){super(e),this.browser=c,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._onCursorMove=new v.EventEmitter,this._onKey=new v.EventEmitter,this._onRender=new v.EventEmitter,this._onSelectionChange=new v.EventEmitter,this._onTitleChange=new v.EventEmitter,this._onBell=new v.EventEmitter,this._onFocus=new v.EventEmitter,this._onBlur=new v.EventEmitter,this._onA11yCharEmitter=new v.EventEmitter,this._onA11yTabEmitter=new v.EventEmitter,this._setup(),this.linkifier2=this.register(this._instantiationService.createInstance(y.Linkifier2)),this.linkifier2.registerLinkProvider(this._instantiationService.createInstance(T.OscLinkProvider)),this._decorationService=this._instantiationService.createInstance(x.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((e,t)=>this.refresh(e,t))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this.register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this.register((0,v.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,v.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,v.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,v.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows)))}get onCursorMove(){return this._onCursorMove.event}get onKey(){return this._onKey.event}get onRender(){return this._onRender.event}get onSelectionChange(){return this._onSelectionChange.event}get onTitleChange(){return this._onTitleChange.event}get onBell(){return this._onBell.event}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}_handleColorEvent(e){var t,i;if(this._colorManager){for(const t of e){let e,i="";switch(t.index){case 256:e="foreground",i="10";break;case 257:e="background",i="11";break;case 258:e="cursor",i="12";break;default:e="ansi",i="4;"+t.index}switch(t.type){case 0:const s=L.color.toColorRGB("ansi"===e?this._colorManager.colors.ansi[t.index]:this._colorManager.colors[e]);this.coreService.triggerDataEvent(`${o.C0.ESC}]${i};${(0,k.toRgbString)(s)}${o.C1_ESCAPED.ST}`);break;case 1:"ansi"===e?this._colorManager.colors.ansi[t.index]=L.rgba.toColor(...t.color):this._colorManager.colors[e]=L.rgba.toColor(...t.color);break;case 2:this._colorManager.restoreColor(t.index)}}null===(t=this._renderService)||void 0===t||t.setColors(this._colorManager.colors),null===(i=this.viewport)||void 0===i||i.onThemeChange(this._colorManager.colors)}}dispose(){var e,t,i;this._isDisposed||(super.dispose(),null===(e=this._renderService)||void 0===e||e.dispose(),this._customKeyEventHandler=void 0,this.write=()=>{},null===(i=null===(t=this.element)||void 0===t?void 0:t.parentNode)||void 0===i||i.removeChild(this.element))}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_updateOptions(e){var t,i,s,r;switch(super._updateOptions(e),e){case"fontFamily":case"fontSize":null===(t=this._renderService)||void 0===t||t.clear(),null===(i=this._charSizeService)||void 0===i||i.measure();break;case"cursorBlink":case"cursorStyle":this.refresh(this.buffer.y,this.buffer.y);break;case"customGlyphs":case"drawBoldTextInBrightColors":case"letterSpacing":case"lineHeight":case"fontWeight":case"fontWeightBold":case"minimumContrastRatio":this._renderService&&(this._renderService.clear(),this._renderService.onResize(this.cols,this.rows),this.refresh(0,this.rows-1));break;case"scrollback":null===(s=this.viewport)||void 0===s||s.syncScrollArea();break;case"screenReaderMode":this.optionsService.rawOptions.screenReaderMode?!this._accessibilityManager&&this._renderService&&(this._accessibilityManager=new _.AccessibilityManager(this,this._renderService)):(null===(r=this._accessibilityManager)||void 0===r||r.dispose(),this._accessibilityManager=void 0);break;case"tabStopWidth":this.buffers.setupTabStops();break;case"theme":this._setTheme(this.optionsService.rawOptions.theme)}}_onTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(o.C0.ESC+"[I"),this.updateCursorStyle(e),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var e;return null===(e=this.textarea)||void 0===e?void 0:e.blur()}_onTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(o.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;const i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.actualCellHeight,r=t.getWidth(i),n=this._renderService.dimensions.actualCellWidth*r,o=this.buffer.y*this._renderService.dimensions.actualCellHeight,a=i*this._renderService.dimensions.actualCellWidth;this.textarea.style.left=a+"px",this.textarea.style.top=o+"px",this.textarea.style.width=n+"px",this.textarea.style.height=s+"px",this.textarea.style.lineHeight=s+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,l.addDisposableDomListener)(this.element,"copy",e=>{this.hasSelection()&&(0,n.copyHandler)(e,this._selectionService)}));const e=e=>(0,n.handlePasteEvent)(e,this.textarea,this.coreService);this.register((0,l.addDisposableDomListener)(this.textarea,"paste",e)),this.register((0,l.addDisposableDomListener)(this.element,"paste",e)),c.isFirefox?this.register((0,l.addDisposableDomListener)(this.element,"mousedown",e=>{2===e.button&&(0,n.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,l.addDisposableDomListener)(this.element,"contextmenu",e=>{(0,n.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),c.isLinux&&this.register((0,l.addDisposableDomListener)(this.element,"auxclick",e=>{1===e.button&&(0,n.moveTextAreaUnderMouseCursor)(e,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,l.addDisposableDomListener)(this.textarea,"keyup",e=>this._keyUp(e),!0)),this.register((0,l.addDisposableDomListener)(this.textarea,"keydown",e=>this._keyDown(e),!0)),this.register((0,l.addDisposableDomListener)(this.textarea,"keypress",e=>this._keyPress(e),!0)),this.register((0,l.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,l.addDisposableDomListener)(this.textarea,"compositionupdate",e=>this._compositionHelper.compositionupdate(e))),this.register((0,l.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,l.addDisposableDomListener)(this.textarea,"input",e=>this._inputEvent(e),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){var t;if(!e)throw new Error("Terminal requires a parent element.");e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),this._document=e.ownerDocument,this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),this.element.setAttribute("tabindex","0"),e.appendChild(this.element);const i=M.createDocumentFragment();this._viewportElement=M.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),i.appendChild(this._viewportElement),this._viewportScrollArea=M.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=M.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._helperContainer=M.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),i.appendChild(this.screenElement),this.textarea=M.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",d.promptLabel),this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this.register((0,l.addDisposableDomListener)(this.textarea,"focus",e=>this._onTextAreaFocus(e))),this.register((0,l.addDisposableDomListener)(this.textarea,"blur",()=>this._onTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._coreBrowserService=this._instantiationService.createInstance(w.CoreBrowserService,this.textarea,null!==(t=this._document.defaultView)&&void 0!==t?t:window),this._instantiationService.setService(m.ICoreBrowserService,this._coreBrowserService),this._charSizeService=this._instantiationService.createInstance(C.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(m.ICharSizeService,this._charSizeService),this._theme=this.options.theme||this._theme,this._colorManager=new p.ColorManager(M,this.options.allowTransparency),this.register(this.optionsService.onOptionChange(e=>this._colorManager.onOptionsChange(e,this.optionsService.rawOptions[e]))),this._colorManager.setTheme(this._theme),this._characterJoinerService=this._instantiationService.createInstance(R.CharacterJoinerService),this._instantiationService.setService(m.ICharacterJoinerService,this._characterJoinerService);const n=this._createRenderer();this._renderService=this.register(this._instantiationService.createInstance(S.RenderService,n,this.rows,this.screenElement)),this._instantiationService.setService(m.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=M.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(s.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this.element.appendChild(i),this._mouseService=this._instantiationService.createInstance(b.MouseService),this._instantiationService.setService(m.IMouseService,this._mouseService),this.viewport=this._instantiationService.createInstance(r.Viewport,e=>this.scrollLines(e,!0,1),this._viewportElement,this._viewportScrollArea,this.element),this.viewport.onThemeChange(this._colorManager.colors),this.register(this._inputHandler.onRequestSyncScrollBar(()=>this.viewport.syncScrollArea())),this.register(this.viewport),this.register(this.onCursorMove(()=>{this._renderService.onCursorMove(),this._syncTextArea()})),this.register(this.onResize(()=>this._renderService.onResize(this.cols,this.rows))),this.register(this.onBlur(()=>this._renderService.onBlur())),this.register(this.onFocus(()=>this._renderService.onFocus())),this.register(this._renderService.onDimensionsChange(()=>this.viewport.syncScrollArea())),this._selectionService=this.register(this._instantiationService.createInstance(h.SelectionService,this.element,this.screenElement,this.linkifier2)),this._instantiationService.setService(m.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(e=>this._renderService.onSelectionChanged(e.start,e.end,e.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(e=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,l.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.linkifier2.attachToDom(this.screenElement,this._mouseService,this._renderService),this.register(this._instantiationService.createInstance(D.BufferDecorationRenderer,this.screenElement)),this.register((0,l.addDisposableDomListener)(this.element,"mousedown",e=>this._selectionService.onMouseDown(e))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager=new _.AccessibilityManager(this,this._renderService)),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(A.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onOptionChange(()=>{!this._overviewRulerRenderer&&this.options.overviewRulerWidth&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(A.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(u.DomRenderer,this._colorManager.colors,this.element,this.screenElement,this._viewportElement,this.linkifier2)}_setTheme(e){var t,i,s;this._theme=e,null===(t=this._colorManager)||void 0===t||t.setTheme(e),null===(i=this._renderService)||void 0===i||i.setColors(this._colorManager.colors),null===(s=this.viewport)||void 0===s||s.onThemeChange(this._colorManager.colors)}bindMouse(){const e=this,t=this.element;function i(t){const i=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!i)return!1;let s,r;switch(t.overrideType||t.type){case"mousemove":r=32,void 0===t.buttons?(s=3,void 0!==t.button&&(s=t.button<3?t.button:3)):s=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case"mouseup":r=0,s=t.button<3?t.button:3;break;case"mousedown":r=1,s=t.button<3?t.button:3;break;case"wheel":if(0===e.viewport.getLinesScrolled(t))return!1;r=t.deltaY<0?0:1,s=4;break;default:return!1}return!(void 0===r||void 0===s||s>4)&&e.coreMouseService.triggerMouseEvent({col:i.col,row:i.row,x:i.x,y:i.y,button:s,action:r,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}const s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},r={mouseup:e=>(i(e),e.buttons||(this._document.removeEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.removeEventListener("mousemove",s.mousedrag)),this.cancel(e)),wheel:e=>(i(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&i(e)},mousemove:e=>{e.buttons||i(e)}};this.register(this.coreMouseService.onProtocolChange(e=>{e?("debug"===this.optionsService.rawOptions.logLevel&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(e)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&e?s.mousemove||(t.addEventListener("mousemove",r.mousemove),s.mousemove=r.mousemove):(t.removeEventListener("mousemove",s.mousemove),s.mousemove=null),16&e?s.wheel||(t.addEventListener("wheel",r.wheel,{passive:!1}),s.wheel=r.wheel):(t.removeEventListener("wheel",s.wheel),s.wheel=null),2&e?s.mouseup||(s.mouseup=r.mouseup):(this._document.removeEventListener("mouseup",s.mouseup),s.mouseup=null),4&e?s.mousedrag||(s.mousedrag=r.mousedrag):(this._document.removeEventListener("mousemove",s.mousedrag),s.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,l.addDisposableDomListener)(t,"mousedown",e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return i(e),s.mouseup&&this._document.addEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.addEventListener("mousemove",s.mousedrag),this.cancel(e)})),this.register((0,l.addDisposableDomListener)(t,"wheel",e=>{if(!s.wheel){if(!this.buffer.hasScrollback){const t=this.viewport.getLinesScrolled(e);if(0===t)return;const i=o.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(e.deltaY<0?"A":"B");let s="";for(let e=0;e{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.onTouchStart(e),this.cancel(e)},{passive:!0})),this.register((0,l.addDisposableDomListener)(t,"touchmove",e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.onTouchMove(e)?void 0:this.cancel(e)},{passive:!1}))}refresh(e,t){var i;null===(i=this._renderService)||void 0===i||i.refreshRows(e,t)}updateCursorStyle(e){var t;(null===(t=this._selectionService)||void 0===t?void 0:t.shouldColumnSelect(e))?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t,i=0){super.scrollLines(e,t,i),this.refresh(0,this.rows-1)}paste(e){(0,n.paste)(e,this.textarea,this.coreService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}registerLinkProvider(e){return this.linkifier2.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}addMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,t,i){this._selectionService.setSelection(e,t,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var e;null===(e=this._selectionService)||void 0===e||e.clearSelection()}selectAll(){var e;null===(e=this._selectionService)||void 0===e||e.selectAll()}selectLines(e,t){var i;null===(i=this._selectionService)||void 0===i||i.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;const t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.buffer.ybase!==this.buffer.ydisp&&this._bufferService.scrollToBottom(),!1;t||"Dead"!==e.key&&"AltGraph"!==e.key||(this._unprocessedDeadKey=!0);const i=(0,f.evaluateKeyboardEvent)(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===i.type||2===i.type){const t=this.rows-1;return this.scrollLines(2===i.type?-t:t),this.cancel(e,!0)}return 1===i.type&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key||!!(e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&1===e.key.length&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(i.key!==o.C0.ETX&&i.key!==o.C0.CR||(this.textarea.value=""),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),this.optionsService.rawOptions.screenReaderMode?void(this._keyDownHandled=!0):this.cancel(e,!0))))}_isThirdLevelShift(e,t){const i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState("AltGraph");return"keypress"===t.type?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(e){if(e.data&&"insertText"===e.inputType&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e!==this.cols||t!==this.rows?super.resize(e,t):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(e,t){var i,s;null===(i=this._charSizeService)||void 0===i||i.measure(),null===(s=this.viewport)||void 0===s||s.syncScrollArea(!0)}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e{Object.defineProperty(t,"__esModule",{value:!0}),t.TimeBasedDebouncer=void 0,t.TimeBasedDebouncer=class{constructor(e,t=1e3){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t;const s=Date.now();if(s-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){const e=s-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}}},1680:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.Viewport=void 0;const n=i(844),o=i(3656),a=i(4725),h=i(2585);let c=class extends n.Disposable{constructor(e,t,i,s,r,n,a,h,c){super(),this._scrollLines=e,this._viewportElement=t,this._scrollArea=i,this._element=s,this._bufferService=r,this._optionsService=n,this._charSizeService=a,this._renderService=h,this._coreBrowserService=c,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentScaledCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,o.addDisposableDomListener)(this._viewportElement,"scroll",this._onScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(e=>this._renderDimensions=e)),setTimeout(()=>this.syncScrollArea(),0)}onThemeChange(e){this._viewportElement.style.backgroundColor=e.background.css}_refresh(e){if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderService.dimensions.scaledCellHeight/this._coreBrowserService.dpr,this._currentScaledCellHeight=this._renderService.dimensions.scaledCellHeight,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderService.dimensions.canvasHeight);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const e=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==e&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=e),this._refreshAnimationFrame=null}syncScrollArea(e=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);this._lastRecordedViewportHeight===this._renderService.dimensions.canvasHeight&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.scaledCellHeight===this._currentScaledCellHeight||this._refresh(e)}_onScroll(e){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._scrollLines(0);const t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._scrollLines(t)}_smoothScroll(){if(this._isDisposed||-1===this._smoothScrollState.origin||-1===this._smoothScrollState.target)return;const e=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(e*(this._smoothScrollState.target-this._smoothScrollState.origin)),e<1?this._coreBrowserService.window.requestAnimationFrame(()=>this._smoothScroll()):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(e,t){const i=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&i0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t}_applyScrollModifier(e,t){const i=this._optionsService.rawOptions.fastScrollModifier;return"alt"===i&&t.altKey||"ctrl"===i&&t.ctrlKey||"shift"===i&&t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}onTouchStart(e){this._lastTouchY=e.touches[0].pageY}onTouchMove(e){const t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))}};c=s([r(4,h.IBufferService),r(5,h.IOptionsService),r(6,a.ICharSizeService),r(7,a.IRenderService),r(8,a.ICoreBrowserService)],c),t.Viewport=c},3107:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferDecorationRenderer=void 0;const n=i(3656),o=i(4725),a=i(844),h=i(2585);let c=class extends a.Disposable{constructor(e,t,i,s){super(),this._screenElement=e,this._bufferService=t,this._decorationService=i,this._renderService=s,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this.register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this.register((0,n.addDisposableDomListener)(window,"resize",()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this.register(this._decorationService.onDecorationRemoved(e=>this._removeDecoration(e)))}dispose(){this._container.remove(),this._decorationElements.clear(),super.dispose()}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this.refreshDecorations(),this._animationFrame=void 0}))}refreshDecorations(){for(const e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var t;const i=document.createElement("div");i.classList.add("xterm-decoration"),i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.actualCellWidth)}px`,i.style.height=(e.options.height||1)*this._renderService.dimensions.actualCellHeight+"px",i.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.actualCellHeight+"px",i.style.lineHeight=`${this._renderService.dimensions.actualCellHeight}px`;const s=null!==(t=e.options.x)&&void 0!==t?t:0;return s&&s>this._bufferService.cols&&(i.style.display="none"),this._refreshXPosition(e,i),i}_refreshStyle(e){const t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(e.onDispose(()=>this._removeDecoration(e)),i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i)),i.style.top=t*this._renderService.dimensions.actualCellHeight+"px",i.style.display=this._altBufferIsActive?"none":"block",e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){var i;if(!t)return;const s=null!==(i=e.options.x)&&void 0!==i?i:0;"right"===(e.options.anchor||"left")?t.style.right=s?s*this._renderService.dimensions.actualCellWidth+"px":"":t.style.left=s?s*this._renderService.dimensions.actualCellWidth+"px":""}_removeDecoration(e){var t;null===(t=this._decorationElements.get(e))||void 0===t||t.remove(),this._decorationElements.delete(e)}};c=s([r(1,h.IBufferService),r(2,h.IDecorationService),r(3,o.IRenderService)],c),t.BufferDecorationRenderer=c},5871:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ColorZoneStore=void 0,t.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(const t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(t,e.marker.line)}if(this._zonePoolIndex=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||"full"]&&t<=e.endBufferLine+this._linePadding[i||"full"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}}},5744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OverviewRulerRenderer=void 0;const n=i(5871),o=i(3656),a=i(4725),h=i(844),c=i(2585),l={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0},_={full:0,left:0,center:0,right:0};let u=class extends h.Disposable{constructor(e,t,i,s,r,o,a){var h;super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=o,this._coreBrowseService=a,this._colorZoneStore=new n.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=document.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),null===(h=this._viewportElement.parentElement)||void 0===h||h.insertBefore(this._canvas,this._viewportElement);const c=this._canvas.getContext("2d");if(!c)throw new Error("Ctx cannot be null");this._ctx=c,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners()}get _width(){return this._optionsService.options.overviewRulerWidth||0}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this.register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0)))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this.register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this.register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())}))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this.register(this._optionsService.onOptionChange(e=>{"overviewRulerWidth"===e&&this._queueRefresh(!0)})),this.register((0,o.addDisposableDomListener)(this._coreBrowseService.window,"resize",()=>{this._queueRefresh(!0)})),this._queueRefresh(!0)}dispose(){var e;null===(e=this._canvas)||void 0===e||e.remove(),super.dispose()}_refreshDrawConstants(){const e=Math.floor(this._canvas.width/3),t=Math.ceil(this._canvas.width/3);d.full=this._canvas.width,d.left=e,d.center=t,d.right=e,this._refreshDrawHeightConstants(),_.full=0,_.left=0,_.center=d.left,_.right=d.left+d.center}_refreshDrawHeightConstants(){l.full=Math.round(2*this._coreBrowseService.dpr);const e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowseService.dpr);l.left=t,l.center=t,l.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*l.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowseService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowseService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1;const e=this._colorZoneStore.zones;for(const t of e)"full"!==t.position&&this._renderColorZone(t);for(const t of e)"full"===t.position&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(_[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-l[e.position||"full"]/2),d[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+l[e.position||"full"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowseService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};u=s([r(2,c.IBufferService),r(3,c.IDecorationService),r(4,a.IRenderService),r(5,c.IOptionsService),r(6,a.ICoreBrowserService)],u),t.OverviewRulerRenderer=u},2950:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CompositionHelper=void 0;const n=i(4725),o=i(2585),a=i(2584);let h=class{constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){const e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let t;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,e.end):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;const e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){const e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const t=this._textarea.value,i=t.replace(e,"");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.lengththis.updateCompositionElements(!0),0)}}};h=s([r(2,o.IBufferService),r(3,o.IOptionsService),r(4,o.ICoreService),r(5,n.IRenderService)],h),t.CompositionHelper=h},9806:(e,t)=>{function i(e,t,i){const s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue("padding-left")),o=parseInt(r.getPropertyValue("padding-top"));return[t.clientX-s.left-n,t.clientY-s.top-o]}Object.defineProperty(t,"__esModule",{value:!0}),t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=i,t.getCoords=function(e,t,s,r,n,o,a,h,c){if(!o)return;const l=i(e,t,s);return l?(l[0]=Math.ceil((l[0]+(c?a/2:0))/a),l[1]=Math.ceil(l[1]/h),l[0]=Math.min(Math.max(l[0],1),r+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l):void 0}},9504:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.moveToCellSequence=void 0;const s=i(2584);function r(e,t,i,s){const r=e-n(i,e),a=t-n(i,t),l=Math.abs(r-a)-function(e,t,i){let s=0;const r=e-n(i,e),a=t-n(i,t);for(let n=0;n=0&&tt?"A":"B"}function a(e,t,i,s,r,n){let o=e,a=t,h="";for(;o!==i||a!==s;)o+=r?1:-1,r&&o>n.cols-1?(h+=n.buffer.translateBufferLineToString(a,!1,e,o),o=0,e=0,a++):!r&&o<0&&(h+=n.buffer.translateBufferLineToString(a,!1,0,e+1),o=n.cols-1,e=o,a--);return h+n.buffer.translateBufferLineToString(a,!1,e,o)}function h(e,t){const i=t?"O":"[";return s.C0.ESC+i+e}function c(e,t){e=Math.floor(e);let i="";for(let s=0;s0?s-n(o,s):t;const _=s,u=function(e,t,i,s,o,a){let h;return h=r(i,s,o,a).length>0?s-n(o,s):t,e=i&&he?"D":"C",c(Math.abs(o-e),h(d,s));d=l>t?"D":"C";const _=Math.abs(l-t);return c(function(e,t){return t.cols-e}(l>t?e:o,i)+(_-1)*i.cols+1+((l>t?o:e)-1),h(d,s))}},8036:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;const s=i(6114);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=s.isFirefox||s.isLegacyEdge?"bottom":"ideographic"},1752:(e,t)=>{function i(e){return 57508<=e&&e<=57558}Object.defineProperty(t,"__esModule",{value:!0}),t.excludeFromContrastRatioDemands=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error("value must not be falsy");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.excludeFromContrastRatioDemands=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)}},1296:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRenderer=void 0;const n=i(3787),o=i(8036),a=i(844),h=i(4725),c=i(2585),l=i(8460),d=i(8055),_=i(9631),u="xterm-dom-renderer-owner-",f="xterm-focus";let v=1,g=class extends a.Disposable{constructor(e,t,i,s,r,o,a,h,c,l){super(),this._colors=e,this._element=t,this._screenElement=i,this._viewportElement=s,this._linkifier2=r,this._charSizeService=a,this._optionsService=h,this._bufferService=c,this._coreBrowserService=l,this._terminalClass=v++,this._rowElements=[],this._rowContainer=document.createElement("div"),this._rowContainer.classList.add("xterm-rows"),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=document.createElement("div"),this._selectionContainer.classList.add("xterm-selection"),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions={scaledCharWidth:0,scaledCharHeight:0,scaledCellWidth:0,scaledCellHeight:0,scaledCharLeft:0,scaledCharTop:0,scaledCanvasWidth:0,scaledCanvasHeight:0,canvasWidth:0,canvasHeight:0,actualCellWidth:0,actualCellHeight:0},this._updateDimensions(),this._injectCss(),this._rowFactory=o.createInstance(n.DomRendererRowFactory,document,this._colors),this._element.classList.add(u+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(e=>this._onLinkHover(e))),this.register(this._linkifier2.onHideLinkUnderline(e=>this._onLinkLeave(e)))}get onRequestRedraw(){return(new l.EventEmitter).event}dispose(){this._element.classList.remove(u+this._terminalClass),(0,_.removeElementFromParent)(this._rowContainer,this._selectionContainer,this._themeStyleElement,this._dimensionsStyleElement),super.dispose()}_updateDimensions(){const e=this._coreBrowserService.dpr;this.dimensions.scaledCharWidth=this._charSizeService.width*e,this.dimensions.scaledCharHeight=Math.ceil(this._charSizeService.height*e),this.dimensions.scaledCellWidth=this.dimensions.scaledCharWidth+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.scaledCellHeight=Math.floor(this.dimensions.scaledCharHeight*this._optionsService.rawOptions.lineHeight),this.dimensions.scaledCharLeft=0,this.dimensions.scaledCharTop=0,this.dimensions.scaledCanvasWidth=this.dimensions.scaledCellWidth*this._bufferService.cols,this.dimensions.scaledCanvasHeight=this.dimensions.scaledCellHeight*this._bufferService.rows,this.dimensions.canvasWidth=Math.round(this.dimensions.scaledCanvasWidth/e),this.dimensions.canvasHeight=Math.round(this.dimensions.scaledCanvasHeight/e),this.dimensions.actualCellWidth=this.dimensions.canvasWidth/this._bufferService.cols,this.dimensions.actualCellHeight=this.dimensions.canvasHeight/this._bufferService.rows;for(const e of this._rowElements)e.style.width=`${this.dimensions.canvasWidth}px`,e.style.height=`${this.dimensions.actualCellHeight}px`,e.style.lineHeight=`${this.dimensions.actualCellHeight}px`,e.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const t=`${this._terminalSelector} .xterm-rows span { display: inline-block; height: 100%; vertical-align: top; width: ${this.dimensions.actualCellWidth}px}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.canvasWidth}px`,this._screenElement.style.height=`${this.dimensions.canvasHeight}px`}setColors(e){this._colors=e,this._injectCss()}_injectCss(){this._themeStyleElement||(this._themeStyleElement=document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let e=`${this._terminalSelector} .xterm-rows { color: ${this._colors.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px;}`;e+=`${this._terminalSelector} span:not(.${n.BOLD_CLASS}) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.${n.BOLD_CLASS} { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.${n.ITALIC_CLASS} { font-style: italic;}`,e+="@keyframes blink_box_shadow_"+this._terminalClass+" { 50% { box-shadow: none; }}",e+="@keyframes blink_block_"+this._terminalClass+" { 0% {"+` background-color: ${this._colors.cursor.css};`+` color: ${this._colors.cursorAccent.css}; } 50% {`+` background-color: ${this._colors.cursorAccent.css};`+` color: ${this._colors.cursor.css}; }}`,e+=`${this._terminalSelector} .xterm-rows:not(.xterm-focus) .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_BLOCK_CLASS} { outline: 1px solid ${this._colors.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .xterm-rows.xterm-focus .${n.CURSOR_CLASS}.${n.CURSOR_BLINK_CLASS}:not(.${n.CURSOR_STYLE_BLOCK_CLASS}) { animation: blink_box_shadow_`+this._terminalClass+" 1s step-end infinite;}"+`${this._terminalSelector} .xterm-rows.xterm-focus .${n.CURSOR_CLASS}.${n.CURSOR_BLINK_CLASS}.${n.CURSOR_STYLE_BLOCK_CLASS} { animation: blink_block_`+this._terminalClass+" 1s step-end infinite;}"+`${this._terminalSelector} .xterm-rows.xterm-focus .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_BLOCK_CLASS} {`+` background-color: ${this._colors.cursor.css};`+` color: ${this._colors.cursorAccent.css};}`+`${this._terminalSelector} .xterm-rows .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_BAR_CLASS} {`+` box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${this._colors.cursor.css} inset;}`+`${this._terminalSelector} .xterm-rows .${n.CURSOR_CLASS}.${n.CURSOR_STYLE_UNDERLINE_CLASS} {`+` box-shadow: 0 -1px 0 ${this._colors.cursor.css} inset;}`,e+=`${this._terminalSelector} .xterm-selection { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .xterm-selection div { position: absolute; background-color: ${this._colors.selectionBackgroundOpaque.css};}${this._terminalSelector} .xterm-selection div { position: absolute; background-color: ${this._colors.selectionInactiveBackgroundOpaque.css};}`,this._colors.ansi.forEach((t,i)=>{e+=`${this._terminalSelector} .xterm-fg-${i} { color: ${t.css}; }${this._terminalSelector} .xterm-bg-${i} { background-color: ${t.css}; }`}),e+=`${this._terminalSelector} .xterm-fg-${o.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(this._colors.background).css}; }${this._terminalSelector} .xterm-bg-${o.INVERTED_DEFAULT_COLOR} { background-color: ${this._colors.foreground.css}; }`,this._themeStyleElement.textContent=e}onDevicePixelRatioChange(){this._updateDimensions()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){const e=document.createElement("div");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}onResize(e,t){this._refreshRowElements(e,t),this._updateDimensions()}onCharSizeChanged(){this._updateDimensions()}onBlur(){this._rowContainer.classList.remove(f)}onFocus(){this._rowContainer.classList.add(f)}onSelectionChanged(e,t,i){for(;this._selectionContainer.children.length;)this._selectionContainer.removeChild(this._selectionContainer.children[0]);if(this._rowFactory.onSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;const s=e[1]-this._bufferService.buffer.ydisp,r=t[1]-this._bufferService.buffer.ydisp,n=Math.max(s,0),o=Math.min(r,this._bufferService.rows-1);if(n>=this._bufferService.rows||o<0)return;const a=document.createDocumentFragment();if(i){const i=e[0]>t[0];a.appendChild(this._createSelectionElement(n,i?t[0]:e[0],i?e[0]:t[0],o-n+1))}else{const i=s===n?e[0]:0,h=n===r?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,i,h));const c=o-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==o){const e=r===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(a)}_createSelectionElement(e,t,i,s=1){const r=document.createElement("div");return r.style.height=s*this.dimensions.actualCellHeight+"px",r.style.top=e*this.dimensions.actualCellHeight+"px",r.style.left=t*this.dimensions.actualCellWidth+"px",r.style.width=this.dimensions.actualCellWidth*(i-t)+"px",r}onCursorMove(){}onOptionsChanged(){this._updateDimensions(),this._injectCss()}clear(){for(const e of this._rowElements)e.innerText=""}renderRows(e,t){const i=this._bufferService.buffer.ybase+this._bufferService.buffer.y,s=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),r=this._optionsService.rawOptions.cursorBlink;for(let n=e;n<=t;n++){const e=this._rowElements[n];e.innerText="";const t=n+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.lines.get(t),a=this._optionsService.rawOptions.cursorStyle;e.appendChild(this._rowFactory.createRow(o,t,t===i,a,s,r,this.dimensions.actualCellWidth,this._bufferService.cols))}}get _terminalSelector(){return`.${u}${this._terminalClass}`}_onLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_onLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){for(;e!==t||i!==s;){const t=this._rowElements[i];if(!t)return;const s=t.children[e];s&&(s.style.textDecoration=n?"underline":"none"),++e>=r&&(e=0,i++)}}};g=s([r(5,c.IInstantiationService),r(6,h.ICharSizeService),r(7,c.IOptionsService),r(8,c.IBufferService),r(9,h.ICoreBrowserService)],g),t.DomRenderer=g},3787:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DomRendererRowFactory=t.CURSOR_STYLE_UNDERLINE_CLASS=t.CURSOR_STYLE_BAR_CLASS=t.CURSOR_STYLE_BLOCK_CLASS=t.CURSOR_BLINK_CLASS=t.CURSOR_CLASS=t.STRIKETHROUGH_CLASS=t.UNDERLINE_CLASS=t.ITALIC_CLASS=t.DIM_CLASS=t.BOLD_CLASS=void 0;const n=i(8036),o=i(643),a=i(511),h=i(2585),c=i(8055),l=i(4725),d=i(4269),_=i(1752),u=i(3734);t.BOLD_CLASS="xterm-bold",t.DIM_CLASS="xterm-dim",t.ITALIC_CLASS="xterm-italic",t.UNDERLINE_CLASS="xterm-underline",t.STRIKETHROUGH_CLASS="xterm-strikethrough",t.CURSOR_CLASS="xterm-cursor",t.CURSOR_BLINK_CLASS="xterm-cursor-blink",t.CURSOR_STYLE_BLOCK_CLASS="xterm-cursor-block",t.CURSOR_STYLE_BAR_CLASS="xterm-cursor-bar",t.CURSOR_STYLE_UNDERLINE_CLASS="xterm-cursor-underline";let f=class{constructor(e,t,i,s,r,n,o){this._document=e,this._colors=t,this._characterJoinerService=i,this._optionsService=s,this._coreBrowserService=r,this._coreService=n,this._decorationService=o,this._workCell=new a.CellData,this._columnSelectMode=!1}setColors(e){this._colors=e}onSelectionChanged(e,t,i){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=i}createRow(e,i,s,r,a,h,l,_){const f=this._document.createDocumentFragment(),g=this._characterJoinerService.getJoinedCharacters(i);let p=0;for(let t=Math.min(e.length,_)-1;t>=0;t--)if(e.loadCell(t,this._workCell).getCode()!==o.NULL_CELL_CODE||s&&t===a){p=t+1;break}for(let _=0;_0&&_===g[0][0]){S=!0;const t=g.shift();C=new d.JoinedCellData(this._workCell,e.translateToString(!0,t[0],t[1]),t[1]-t[0]),m=t[1]-1,p=C.getWidth()}const b=this._document.createElement("span");if(p>1&&(b.style.width=l*p+"px"),S&&(b.style.display="inline",a>=_&&a<=m&&(a=_)),!this._coreService.isCursorHidden&&s&&_===a)switch(b.classList.add(t.CURSOR_CLASS),h&&b.classList.add(t.CURSOR_BLINK_CLASS),r){case"bar":b.classList.add(t.CURSOR_STYLE_BAR_CLASS);break;case"underline":b.classList.add(t.CURSOR_STYLE_UNDERLINE_CLASS);break;default:b.classList.add(t.CURSOR_STYLE_BLOCK_CLASS)}if(C.isBold()&&b.classList.add(t.BOLD_CLASS),C.isItalic()&&b.classList.add(t.ITALIC_CLASS),C.isDim()&&b.classList.add(t.DIM_CLASS),C.isInvisible()?b.textContent=o.WHITESPACE_CELL_CHAR:b.textContent=C.getChars()||o.WHITESPACE_CELL_CHAR,C.isUnderline()&&(b.classList.add(`${t.UNDERLINE_CLASS}-${C.extended.underlineStyle}`)," "===b.textContent&&(b.innerHTML=" "),!C.isUnderlineColorDefault()))if(C.isUnderlineColorRGB())b.style.textDecorationColor=`rgb(${u.AttributeData.toColorRGB(C.getUnderlineColor()).join(",")})`;else{let e=C.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&C.isBold()&&e<8&&(e+=8),b.style.textDecorationColor=this._colors.ansi[e].css}C.isStrikethrough()&&b.classList.add(t.STRIKETHROUGH_CLASS);let y=C.getFgColor(),w=C.getFgColorMode(),E=C.getBgColor(),L=C.getBgColorMode();const R=!!C.isInverse();if(R){const e=y;y=E,E=e;const t=w;w=L,L=t}let k,D,A=!1;this._decorationService.forEachDecorationAtCell(_,i,void 0,e=>{"top"!==e.options.layer&&A||(e.backgroundColorRGB&&(L=50331648,E=e.backgroundColorRGB.rgba>>8&16777215,k=e.backgroundColorRGB),e.foregroundColorRGB&&(w=50331648,y=e.foregroundColorRGB.rgba>>8&16777215,D=e.foregroundColorRGB),A="top"===e.options.layer)});const x=this._isCellInSelection(_,i);let B;switch(A||this._colors.selectionForeground&&x&&(w=50331648,y=this._colors.selectionForeground.rgba>>8&16777215,D=this._colors.selectionForeground),x&&(k=this._coreBrowserService.isFocused?this._colors.selectionBackgroundOpaque:this._colors.selectionInactiveBackgroundOpaque,A=!0),A&&b.classList.add("xterm-decoration-top"),L){case 16777216:case 33554432:B=this._colors.ansi[E],b.classList.add(`xterm-bg-${E}`);break;case 50331648:B=c.rgba.toColor(E>>16,E>>8&255,255&E),this._addStyle(b,`background-color:#${v((E>>>0).toString(16),"0",6)}`);break;default:R?(B=this._colors.foreground,b.classList.add(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):B=this._colors.background}switch(k||C.isDim()&&(k=c.color.multiplyOpacity(B,.5)),w){case 16777216:case 33554432:C.isBold()&&y<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(y+=8),this._applyMinimumContrast(b,B,this._colors.ansi[y],C,k,void 0)||b.classList.add(`xterm-fg-${y}`);break;case 50331648:const e=c.rgba.toColor(y>>16&255,y>>8&255,255&y);this._applyMinimumContrast(b,B,e,C,k,D)||this._addStyle(b,`color:#${v(y.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(b,B,this._colors.foreground,C,k,void 0)||R&&b.classList.add(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}f.appendChild(b),_=m}return f}_applyMinimumContrast(e,t,i,s,r,n){if(1===this._optionsService.rawOptions.minimumContrastRatio||(0,_.excludeFromContrastRatioDemands)(s.getCode()))return!1;let o;return r||n||(o=this._colors.contrastCache.getColor(t.rgba,i.rgba)),void 0===o&&(o=c.color.ensureContrastRatio(r||t,n||i,this._optionsService.rawOptions.minimumContrastRatio),this._colors.contrastCache.setColor((r||t).rgba,(n||i).rgba,null!=o?o:null)),!!o&&(this._addStyle(e,`color:${o.css}`),!0)}_addStyle(e,t){e.setAttribute("style",`${e.getAttribute("style")||""}${t};`)}_isCellInSelection(e,t){const i=this._selectionStart,s=this._selectionEnd;return!(!i||!s)&&(this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t=i[0]&&e=i[0])}};function v(e,t,i){for(;e.length{Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])}onTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharSizeService=void 0;const n=i(2585),o=i(8460);let a=class{constructor(e,t,i){this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=new o.EventEmitter,this._measureStrategy=new h(e,t,this._optionsService)}get hasValidSize(){return this.width>0&&this.height>0}get onCharSizeChange(){return this._onCharSizeChange.event}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};a=s([r(2,n.IOptionsService)],a),t.CharSizeService=a;class h{constructor(e,t,i){this._document=e,this._parentElement=t,this._optionsService=i,this._result={width:0,height:0},this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W",this._measureElement.setAttribute("aria-hidden","true"),this._parentElement.appendChild(this._measureElement)}measure(){this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`;const e=this._measureElement.getBoundingClientRect();return 0!==e.width&&0!==e.height&&(this._result.width=e.width,this._result.height=Math.ceil(e.height)),this._result}}},4269:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const n=i(3734),o=i(643),a=i(511),h=i(2585);class c extends n.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=c;let l=class e{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new a.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreBrowserService=void 0,t.CoreBrowserService=class{constructor(e,t){this._textarea=e,this.window=t}get dpr(){return this.window.devicePixelRatio}get isFocused(){return(this._textarea.getRootNode?this._textarea.getRootNode():this._textarea.ownerDocument).activeElement===this._textarea&&this._textarea.ownerDocument.hasFocus()}}},8934:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.MouseService=void 0;const n=i(4725),o=i(9806);let a=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return(0,o.getCoords)(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.actualCellWidth,this._renderService.dimensions.actualCellHeight,r)}getMouseReportCoords(e,t){const i=(0,o.getCoordsRelativeToElement)(window,e,t);if(!(!this._charSizeService.hasValidSize||i[0]<0||i[1]<0||i[0]>=this._renderService.dimensions.canvasWidth||i[1]>=this._renderService.dimensions.canvasHeight))return{col:Math.floor(i[0]/this._renderService.dimensions.actualCellWidth),row:Math.floor(i[1]/this._renderService.dimensions.actualCellHeight),x:Math.floor(i[0]),y:Math.floor(i[1])}}};a=s([r(0,n.IRenderService),r(1,n.ICharSizeService)],a),t.MouseService=a},3230:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.RenderService=void 0;const n=i(6193),o=i(8460),a=i(844),h=i(5596),c=i(3656),l=i(2585),d=i(4725);let _=class extends a.Disposable{constructor(e,t,i,s,r,a,l,d){if(super(),this._renderer=e,this._rowCount=t,this._charSizeService=r,this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=new o.EventEmitter,this._onRenderedViewportChange=new o.EventEmitter,this._onRender=new o.EventEmitter,this._onRefreshRequest=new o.EventEmitter,this.register({dispose:()=>this._renderer.dispose()}),this._renderDebouncer=new n.RenderDebouncer(d.window,(e,t)=>this._renderRows(e,t)),this.register(this._renderDebouncer),this._screenDprMonitor=new h.ScreenDprMonitor(d.window),this._screenDprMonitor.setListener(()=>this.onDevicePixelRatioChange()),this.register(this._screenDprMonitor),this.register(l.onResize(()=>this._fullRefresh())),this.register(l.buffers.onBufferActivate(()=>{var e;return null===(e=this._renderer)||void 0===e?void 0:e.clear()})),this.register(s.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.onCharSizeChanged())),this.register(a.onDecorationRegistered(()=>this._fullRefresh())),this.register(a.onDecorationRemoved(()=>this._fullRefresh())),this._renderer.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this.register((0,c.addDisposableDomListener)(d.window,"resize",()=>this.onDevicePixelRatioChange())),"IntersectionObserver"in d.window){const e=new d.window.IntersectionObserver(e=>this._onIntersectionChange(e[e.length-1]),{threshold:0});e.observe(i),this.register({dispose:()=>e.disconnect()})}}get onDimensionsChange(){return this._onDimensionsChange.event}get onRenderedViewportChange(){return this._onRenderedViewportChange.event}get onRender(){return this._onRender.event}get onRefreshRequest(){return this._onRefreshRequest.event}get dimensions(){return this._renderer.dimensions}_onIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,i=!1){this._isPaused?this._needsFullRefresh=!0:(i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.onSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.onOptionsChanged(),this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize()}_fireOnCanvasResize(){this._renderer.dimensions.canvasWidth===this._canvasWidth&&this._renderer.dimensions.canvasHeight===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.dimensions)}dispose(){super.dispose()}setRenderer(e){this._renderer.dispose(),this._renderer=e,this._renderer.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh()}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;null===(t=null===(e=this._renderer)||void 0===e?void 0:e.clearTextureAtlas)||void 0===t||t.call(e),this._fullRefresh()}setColors(e){this._renderer.setColors(e),this._fullRefresh()}onDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.onDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1)}onResize(e,t){this._renderer.onResize(e,t),this._fullRefresh()}onCharSizeChanged(){this._renderer.onCharSizeChanged()}onBlur(){this._renderer.onBlur()}onFocus(){this._renderer.onFocus()}onSelectionChanged(e,t,i){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,this._renderer.onSelectionChanged(e,t,i)}onCursorMove(){this._renderer.onCursorMove()}clear(){this._renderer.clear()}};_=s([r(3,l.IOptionsService),r(4,d.ICharSizeService),r(5,l.IDecorationService),r(6,l.IBufferService),r(7,d.ICoreBrowserService)],_),t.RenderService=_},9312:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.SelectionService=void 0;const n=i(6114),o=i(456),a=i(511),h=i(8460),c=i(4725),l=i(2585),d=i(9806),_=i(9504),u=i(844),f=i(4841),v=String.fromCharCode(160),g=new RegExp(v,"g");let p=class extends u.Disposable{constructor(e,t,i,s,r,n,c,l,d){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=c,this._renderService=l,this._coreBrowserService=d,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new a.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new h.EventEmitter),this._onRedrawRequest=this.register(new h.EventEmitter),this._onSelectionChange=this.register(new h.EventEmitter),this._onRequestScrollLines=this.register(new h.EventEmitter),this._mouseMoveListener=e=>this._onMouseMove(e),this._mouseUpListener=e=>this._onMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._onTrim(e)),this.register(this._bufferService.buffers.onBufferActivate(e=>this._onBufferActivate(e))),this.enable(),this._model=new o.SelectionModel(this._bufferService),this._activeSelectionMode=0}get onLinuxMouseSelection(){return this._onLinuxMouseSelection.event}get onRequestRedraw(){return this._onRedrawRequest.event}get onSelectionChange(){return this._onSelectionChange.event}get onRequestScrollLines(){return this._onRequestScrollLines.event}dispose(){this._removeMouseDownListeners()}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";const i=this._bufferService.buffer,s=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return"";const r=e[0]e.replace(g," ")).join(n.isWindows?"\r\n":"\n")}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),n.isLinux&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:3===this._activeSelectionMode})}_isClickInSelection(e){const t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!!(i&&s&&t)&&this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){const i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!(!i||!s)&&this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]}_selectWordAtCursor(e,t){var i,s;const r=null===(s=null===(i=this._linkifier.currentLink)||void 0===i?void 0:i.link)||void 0===s?void 0:s.range;if(r)return this._model.selectionStart=[r.start.x-1,r.start.y-1],this._model.selectionStartLength=(0,f.getRangeLength)(r,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const n=this._getMouseBufferCoords(e);return!!n&&(this._selectWordAt(n,t),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_onTrim(e){this._model.onTrim(e)&&this.refresh()}_getMouseBufferCoords(e){const t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=(0,d.getCoordsRelativeToElement)(this._coreBrowserService.window,e,this._screenElement)[1];const i=this._renderService.dimensions.canvasHeight;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-50),50),t/=50,t/Math.abs(t)+Math.round(14*t))}shouldForceSelection(e){return n.isMac?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}onMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._onIncrementalClick(e):1===e.detail?this._onSingleClick(e):2===e.detail?this._onDoubleClick(e):3===e.detail&&this._onTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_onIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_onSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_onDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_onTripleClick(e){const t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(n.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_onMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;const t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const i=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_onMouseUp(e){const t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&void 0!==t[0]&&void 0!==t[1]){const e=(0,_.moveToCellSequence)(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,i=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);i?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,i)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,i)}_fireOnSelectionChange(e,t,i){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=i,this._onSelectionChange.fire()}_onBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._onTrim(e))}_convertViewportColToCharacterIndex(e,t){let i=t[0];for(let s=0;t[0]>=s;s++){const r=e.loadCell(s,this._workCell).getChars().length;0===this._workCell.getWidth()?i--:r>1&&t[0]!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;const r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;const o=r.translateBufferLineToString(e[1],!1);let a=this._convertViewportColToCharacterIndex(n,e),h=a;const c=e[0]-a;let l=0,d=0,_=0,u=0;if(" "===o.charAt(a)){for(;a>0&&" "===o.charAt(a-1);)a--;for(;h1&&(u+=s-1,h+=s-1);t>0&&a>0&&!this._isCharWordSeparator(n.loadCell(t-1,this._workCell));){n.loadCell(t-1,this._workCell);const e=this._workCell.getChars().length;0===this._workCell.getWidth()?(l++,t--):e>1&&(_+=e-1,a-=e-1),a--,t--}for(;i1&&(u+=e-1,h+=e-1),h++,i++}}h++;let f=a+c-l+_,v=Math.min(this._bufferService.cols,h-a+l+d-_-u);if(t||""!==o.slice(a,h).trim()){if(i&&0===f&&32!==n.getCodePoint(0)){const t=r.lines.get(e[1]-1);if(t&&n.isWrapped&&32!==t.getCodePoint(this._bufferService.cols-1)){const t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){const e=this._bufferService.cols-t.start;f-=e,v+=e}}}if(s&&f+v===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){const t=r.lines.get(e[1]+1);if((null==t?void 0:t.isWrapped)&&32!==t.getCodePoint(0)){const t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(v+=t.length)}}return{start:f,length:v}}}_selectWordAt(e,t){const i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){const t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){const t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,f.getRangeLength)(i,this._bufferService.cols)}};p=s([r(3,l.IBufferService),r(4,l.ICoreService),r(5,c.IMouseService),r(6,l.IOptionsService),r(7,c.IRenderService),r(8,c.ICoreBrowserService)],p),t.SelectionService=p},4725:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ICharacterJoinerService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;const s=i(8343);t.ICharSizeService=(0,s.createDecorator)("CharSizeService"),t.ICoreBrowserService=(0,s.createDecorator)("CoreBrowserService"),t.IMouseService=(0,s.createDecorator)("MouseService"),t.IRenderService=(0,s.createDecorator)("RenderService"),t.ISelectionService=(0,s.createDecorator)("SelectionService"),t.ICharacterJoinerService=(0,s.createDecorator)("CharacterJoinerService")},6349:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CircularList=void 0;const s=i(8460);t.CircularList=class{constructor(e){this._maxLength=e,this.onDeleteEmitter=new s.EventEmitter,this.onInsertEmitter=new s.EventEmitter,this.onTrimEmitter=new s.EventEmitter,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get onDelete(){return this.onDeleteEmitter.event}get onInsert(){return this.onInsertEmitter.event}get onTrim(){return this.onTrimEmitter.event}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;ithis._length)for(let t=this._length;t=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;tthis._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+i<0)throw new Error("Cannot shift elements in list beyond index 0");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s{Object.defineProperty(t,"__esModule",{value:!0}),t.clone=void 0,t.clone=function e(t,i=5){if("object"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},8055:(e,t)=>{var i,s,r;function n(e){const t=e.toString(16);return t.length<2?"0"+t:t}function o(e,t){return e>>0}}(i=t.channels||(t.channels={})),function(e){function t(e,t){const s=Math.round(255*t),[n,o,a]=r.toChannels(e.rgba);return{css:i.toCss(n,o,a,s),rgba:i.toRgba(n,o,a,s)}}e.blend=function(e,t){const s=(255&t.rgba)/255;if(1===s)return{css:t.css,rgba:t.rgba};const r=t.rgba>>24&255,n=t.rgba>>16&255,o=t.rgba>>8&255,a=e.rgba>>24&255,h=e.rgba>>16&255,c=e.rgba>>8&255,l=a+Math.round((r-a)*s),d=h+Math.round((n-h)*s),_=c+Math.round((o-c)*s);return{css:i.toCss(l,d,_),rgba:i.toRgba(l,d,_)}},e.isOpaque=function(e){return!(255&~e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=r.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return r.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0,[s,n,o]=r.toChannels(t);return{css:i.toCss(s,n,o),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return t(e,(255&e.rgba)*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(t.color||(t.color={})),(t.css||(t.css={})).toColor=function(e){if(e.match(/#[0-9a-f]{3,8}/i))switch(e.length){case 4:{const t=parseInt(e.slice(1,2).repeat(2),16),i=parseInt(e.slice(2,3).repeat(2),16),s=parseInt(e.slice(3,4).repeat(2),16);return r.toColor(t,i,s)}case 5:{const t=parseInt(e.slice(1,2).repeat(2),16),i=parseInt(e.slice(2,3).repeat(2),16),s=parseInt(e.slice(3,4).repeat(2),16),n=parseInt(e.slice(4,5).repeat(2),16);return r.toColor(t,i,s,n)}case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const t=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(t){const e=parseInt(t[1]),i=parseInt(t[2]),s=parseInt(t[3]),n=Math.round(255*(void 0===t[5]?1:parseFloat(t[5])));return r.toColor(e,i,s,n)}throw new Error("css.toColor: Unsupported css format")},function(e){function t(e,t,i){const s=e/255,r=t/255,n=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(s=t.rgb||(t.rgb={})),function(e){function t(e,t,i){const r=e>>24&255,n=e>>16&255,a=e>>8&255;let h=t>>24&255,c=t>>16&255,l=t>>8&255,d=o(s.relativeLuminance2(h,c,l),s.relativeLuminance2(r,n,a));for(;d0||c>0||l>0);)h-=Math.max(0,Math.ceil(.1*h)),c-=Math.max(0,Math.ceil(.1*c)),l-=Math.max(0,Math.ceil(.1*l)),d=o(s.relativeLuminance2(h,c,l),s.relativeLuminance2(r,n,a));return(h<<24|c<<16|l<<8|255)>>>0}function r(e,t,i){const r=e>>24&255,n=e>>16&255,a=e>>8&255;let h=t>>24&255,c=t>>16&255,l=t>>8&255,d=o(s.relativeLuminance2(h,c,l),s.relativeLuminance2(r,n,a));for(;d>>0}e.ensureContrastRatio=function(e,i,n){const a=s.relativeLuminance(e>>8),h=s.relativeLuminance(i>>8);if(o(a,h)>8));if(co(a,s.relativeLuminance(t>>8))?h:t}return h}const c=r(e,i,n),l=o(a,s.relativeLuminance(c>>8));if(lo(a,s.relativeLuminance(r>>8))?c:r}return c}},e.reduceLuminance=t,e.increaseLuminance=r,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]},e.toColor=function(e,t,s,r){return{css:i.toCss(e,t,s,r),rgba:i.toRgba(e,t,s,r)}}}(r=t.rgba||(t.rgba={})),t.toPaddedHex=n,t.contrastRatio=o},8969:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CoreTerminal=void 0;const s=i(844),r=i(2585),n=i(4348),o=i(7866),a=i(744),h=i(7302),c=i(6975),l=i(8460),d=i(1753),_=i(3730),u=i(1480),f=i(7994),v=i(9282),g=i(5435),p=i(5981),S=i(2660);let m=!1;class C extends s.Disposable{constructor(e){super(),this._onBinary=new l.EventEmitter,this._onData=new l.EventEmitter,this._onLineFeed=new l.EventEmitter,this._onResize=new l.EventEmitter,this._onScroll=new l.EventEmitter,this._onWriteParsed=new l.EventEmitter,this._instantiationService=new n.InstantiationService,this.optionsService=new h.OptionsService(e),this._instantiationService.setService(r.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(a.BufferService)),this._instantiationService.setService(r.IBufferService,this._bufferService),this._logService=this._instantiationService.createInstance(o.LogService),this._instantiationService.setService(r.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(c.CoreService,()=>this.scrollToBottom())),this._instantiationService.setService(r.ICoreService,this.coreService),this.coreMouseService=this._instantiationService.createInstance(d.CoreMouseService),this._instantiationService.setService(r.ICoreMouseService,this.coreMouseService),this._dirtyRowService=this._instantiationService.createInstance(_.DirtyRowService),this._instantiationService.setService(r.IDirtyRowService,this._dirtyRowService),this.unicodeService=this._instantiationService.createInstance(u.UnicodeService),this._instantiationService.setService(r.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(f.CharsetService),this._instantiationService.setService(r.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(S.OscLinkService),this._instantiationService.setService(r.IOscLinkService,this._oscLinkService),this._inputHandler=new g.InputHandler(this._bufferService,this._charsetService,this.coreService,this._dirtyRowService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService),this.register((0,l.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,l.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,l.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,l.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.optionsService.onOptionChange(e=>this._updateOptions(e))),this.register(this._bufferService.onScroll(e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._dirtyRowService.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll(e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._dirtyRowService.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=new p.WriteBuffer((e,t)=>this._inputHandler.parse(e,t)),this.register((0,l.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onBinary(){return this._onBinary.event}get onData(){return this._onData.event}get onLineFeed(){return this._onLineFeed.event}get onResize(){return this._onResize.event}get onWriteParsed(){return this._onWriteParsed.event}get onScroll(){return this._onScrollApi||(this._onScrollApi=new l.EventEmitter,this.register(this._onScroll.event(e=>{var t;null===(t=this._onScrollApi)||void 0===t||t.fire(e.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(const t in e)this.optionsService.options[t]=e[t]}dispose(){var e;this._isDisposed||(super.dispose(),null===(e=this._windowsMode)||void 0===e||e.dispose(),this._windowsMode=void 0)}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=r.LogLevelEnum.WARN&&!m&&(this._logService.warn("writeSync is unreliable and will be removed soon."),m=!0),this._writeBuffer.writeSync(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,a.MINIMUM_COLS),t=Math.max(t,a.MINIMUM_ROWS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t,i){this._bufferService.scrollLines(e,t,i)}scrollPages(e){this._bufferService.scrollPages(e)}scrollToTop(){this._bufferService.scrollToTop()}scrollToBottom(){this._bufferService.scrollToBottom()}scrollToLine(e){this._bufferService.scrollToLine(e)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this.optionsService.rawOptions.windowsMode&&this._enableWindowsMode()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_updateOptions(e){var t;switch(e){case"scrollback":this.buffers.resize(this.cols,this.rows);break;case"windowsMode":this.optionsService.rawOptions.windowsMode?this._enableWindowsMode():(null===(t=this._windowsMode)||void 0===t||t.dispose(),this._windowsMode=void 0)}}_enableWindowsMode(){if(!this._windowsMode){const e=[];e.push(this.onLineFeed(v.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},()=>((0,v.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsMode={dispose:()=>{for(const t of e)t.dispose()}}}}}t.CoreTerminal=C},8460:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>(this._listeners.push(e),{dispose:()=>{if(!this._disposed)for(let t=0;tt.fire(e))}},5435:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;const s=i(2584),r=i(7116),n=i(2015),o=i(844),a=i(482),h=i(8437),c=i(8460),l=i(643),d=i(511),_=i(3734),u=i(2585),f=i(6242),v=i(6351),g=i(5941),p={"(":0,")":1,"*":2,"+":3,"-":1,".":2},S=131072;function m(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var C;!function(e){e[e.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",e[e.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"}(C=t.WindowsOptionsReportType||(t.WindowsOptionsReportType={}));class b extends o.Disposable{constructor(e,t,i,o,l,_,u,g,p,S=new n.EscapeSequenceParser){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._dirtyRowService=o,this._logService=l,this._optionsService=_,this._oscLinkService=u,this._coreMouseService=g,this._unicodeService=p,this._parser=S,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new a.StringToUtf32,this._utf8Decoder=new a.Utf8ToUtf32,this._workCell=new d.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=h.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=h.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=new c.EventEmitter,this._onRequestRefreshRows=new c.EventEmitter,this._onRequestReset=new c.EventEmitter,this._onRequestSendFocus=new c.EventEmitter,this._onRequestSyncScrollBar=new c.EventEmitter,this._onRequestWindowsOptionsReport=new c.EventEmitter,this._onA11yChar=new c.EventEmitter,this._onA11yTab=new c.EventEmitter,this._onCursorMove=new c.EventEmitter,this._onLineFeed=new c.EventEmitter,this._onScroll=new c.EventEmitter,this._onTitleChange=new c.EventEmitter,this._onColor=new c.EventEmitter,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug("Unknown EXECUTE code: ",{code:e})}),this._parser.setOscHandlerFallback((e,t,i)=>{this._logService.debug("Unknown OSC code: ",{identifier:e,action:t,data:i})}),this._parser.setDcsHandlerFallback((e,t,i)=>{"HOOK"===t&&(i=i.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(e),action:t,payload:i})}),this._parser.setPrintHandler((e,t,i)=>this.print(e,t,i)),this._parser.registerCsiHandler({final:"@"},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:"A"},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:"B"},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:"C"},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:"D"},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:"E"},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:"F"},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:"G"},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:"H"},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:"I"},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:"J"},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:"K"},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:"L"},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:"M"},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:"P"},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:"S"},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:"T"},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:"X"},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:"Z"},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:"a"},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:"b"},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:"c"},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:">",final:"c"},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:"d"},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:"e"},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:"f"},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:"g"},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:"h"},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:"?",final:"h"},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:"l"},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:"?",final:"l"},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:"m"},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:"n"},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:"?",final:"n"},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:"r"},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:"s"},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:"t"},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:"u"},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(s.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(s.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(s.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(s.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(s.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(s.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(s.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(s.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(s.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(s.C1.IND,()=>this.index()),this._parser.setExecuteHandler(s.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(s.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new f.OscHandler(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new f.OscHandler(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new f.OscHandler(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new f.OscHandler(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new f.OscHandler(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new f.OscHandler(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new f.OscHandler(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new f.OscHandler(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new f.OscHandler(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new f.OscHandler(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new f.OscHandler(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new f.OscHandler(e=>this.restoreCursorColor(e))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(const e in r.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:e},()=>this.selectCharset("("+e)),this._parser.registerEscHandler({intermediates:")",final:e},()=>this.selectCharset(")"+e)),this._parser.registerEscHandler({intermediates:"*",final:e},()=>this.selectCharset("*"+e)),this._parser.registerEscHandler({intermediates:"+",final:e},()=>this.selectCharset("+"+e)),this._parser.registerEscHandler({intermediates:"-",final:e},()=>this.selectCharset("-"+e)),this._parser.registerEscHandler({intermediates:".",final:e},()=>this.selectCharset("."+e)),this._parser.registerEscHandler({intermediates:"/",final:e},()=>this.selectCharset("/"+e));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error("Parsing error: ",e),e)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new v.DcsHandler((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}get onRequestBell(){return this._onRequestBell.event}get onRequestRefreshRows(){return this._onRequestRefreshRows.event}get onRequestReset(){return this._onRequestReset.event}get onRequestSendFocus(){return this._onRequestSendFocus.event}get onRequestSyncScrollBar(){return this._onRequestSyncScrollBar.event}get onRequestWindowsOptionsReport(){return this._onRequestWindowsOptionsReport.event}get onA11yChar(){return this._onA11yChar.event}get onA11yTab(){return this._onA11yTab.event}get onCursorMove(){return this._onCursorMove.event}get onLineFeed(){return this._onLineFeed.event}get onScroll(){return this._onScroll.event}get onTitleChange(){return this._onTitleChange.event}get onColor(){return this._onColor.event}dispose(){super.dispose()}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=u.LogLevelEnum.WARN&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t("#SLOW_TIMEOUT"),5e3))]).catch(e=>{if("#SLOW_TIMEOUT"!==e)throw e;console.warn("async parser handler taking longer than 5000 ms")})}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0;const o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>S&&(n=this._parseStack.position+S)}if(this._logService.logLevel<=u.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+("string"==typeof e?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join("")}"`),"string"==typeof e?e.split("").map(e=>e.charCodeAt(0)):e),this._parseBuffer.lengthS)for(let t=n;t0&&2===u.getWidth(this._activeBuffer.x-1)&&u.setCellFromCodePoint(this._activeBuffer.x-1,0,1,_.fg,_.bg,_.extended);for(let f=t;f=h)if(c){for(;this._activeBuffer.x=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)}else if(this._activeBuffer.x=h-1,2===r)continue;if(d&&(u.insertCells(this._activeBuffer.x,r,this._activeBuffer.getNullCell(_),_),2===u.getWidth(h-1)&&u.setCellFromCodePoint(h-1,l.NULL_CELL_CODE,l.NULL_CELL_WIDTH,_.fg,_.bg,_.extended)),u.setCellFromCodePoint(this._activeBuffer.x++,s,r,_.fg,_.bg,_.extended),r>0)for(;--r;)u.setCellFromCodePoint(this._activeBuffer.x++,0,0,_.fg,_.bg,_.extended)}else u.getWidth(this._activeBuffer.x-1)?u.addCodepointToCell(this._activeBuffer.x-1,s):u.addCodepointToCell(this._activeBuffer.x-2,s)}i-t>0&&(u.loadCell(this._activeBuffer.x-1,this._workCell),2===this._workCell.getWidth()||this._workCell.getCode()>65535?this._parser.precedingCodepoint=0:this._workCell.isCombined()?this._parser.precedingCodepoint=this._workCell.getChars().charCodeAt(0):this._parser.precedingCodepoint=this._workCell.content),this._activeBuffer.x0&&0===u.getWidth(this._activeBuffer.x)&&!u.hasContent(this._activeBuffer.x)&&u.setCellFromCodePoint(this._activeBuffer.x,0,1,_.fg,_.bg,_.extended),this._dirtyRowService.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return"t"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,e=>!m(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e))}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new v.DcsHandler(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new f.OscHandler(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowService.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowService.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var e;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&(null===(e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))||void 0===e?void 0:e.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowService.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowService.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowService.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){const t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){const t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){const t=e.params[0];return 0===t?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===t&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){const t=e.params[0];return 1===t&&(this._curAttrData.bg|=536870912),2!==t&&0!==t||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){const n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),this._eraseAttrData(),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1}eraseInDisplay(e,t=!1){let i;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowService.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);i=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowService.markDirty(0);break;case 2:for(i=this._bufferService.rows,this._dirtyRowService.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowService.markDirty(0);break;case 3:const e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowService.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(s.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(s.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(s.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(s.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(s.C0.ESC+"[>83;40003;0c")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+"").indexOf(e)}setMode(e){for(let t=0;te?1:2,u=e.params[0];return f=u,v=t?2===u?3:4===u?_(o.modes.insertMode):12===u?4:20===u?_(d.convertEol):0:1===u?_(i.applicationCursorKeys):3===u?d.windowOptions.setWinLines?80===h?2:132===h?1:0:0:6===u?_(i.origin):7===u?_(i.wraparound):8===u?3:9===u?_("X10"===r):12===u?_(d.cursorBlink):25===u?_(!o.isCursorHidden):45===u?_(i.reverseWraparound):66===u?_(i.applicationKeypad):1e3===u?_("VT200"===r):1002===u?_("DRAG"===r):1003===u?_("ANY"===r):1004===u?_(i.sendFocus):1005===u?4:1006===u?_("SGR"===n):1015===u?4:1016===u?_("SGR_PIXELS"===n):1048===u?1:47===u||1047===u||1049===u?_(c===l):2004===u?_(i.bracketedPasteMode):0,o.triggerDataEvent(`${s.C0.ESC}[${t?"":"?"}${f};${v}$y`),!0;var f,v}_updateAttrColor(e,t,i,s,r){return 2===t?(e|=50331648,e&=-16777216,e|=_.AttributeData.fromColorRGB([i,s,r])):5===t&&(e&=-50331904,e|=33554432|255&i),e}_extractColor(e,t,i){const s=[0,0,-1,0,0,0];let r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){const i=e.getSubParams(t+n);let o=0;do{5===s[1]&&(r=1),s[n+o+1+r]=i[o]}while(++o=2||2===s[1]&&n+r>=5)break;s[1]&&(r=1)}while(++n+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._curAttrData.fg=h.DEFAULT_ATTR_DATA.fg,this._curAttrData.bg=h.DEFAULT_ATTR_DATA.bg,!0;const t=e.length;let i;const s=this._curAttrData;for(let r=0;r=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777224|i-90):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777224|i-100):0===i?(s.fg=h.DEFAULT_ATTR_DATA.fg,s.bg=h.DEFAULT_ATTR_DATA.bg):1===i?s.fg|=134217728:3===i?s.bg|=67108864:4===i?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):5===i?s.fg|=536870912:7===i?s.fg|=67108864:8===i?s.fg|=1073741824:9===i?s.fg|=2147483648:2===i?s.bg|=134217728:21===i?this._processUnderline(2,s):22===i?(s.fg&=-134217729,s.bg&=-134217729):23===i?s.bg&=-67108865:24===i?(s.fg&=-268435457,this._processUnderline(0,s)):25===i?s.fg&=-536870913:27===i?s.fg&=-67108865:28===i?s.fg&=-1073741825:29===i?s.fg&=2147483647:39===i?(s.fg&=-67108864,s.fg|=16777215&h.DEFAULT_ATTR_DATA.fg):49===i?(s.bg&=-67108864,s.bg|=16777215&h.DEFAULT_ATTR_DATA.bg):38===i||48===i||58===i?r+=this._extractColor(e,r,s):59===i?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):100===i?(s.fg&=-67108864,s.fg|=16777215&h.DEFAULT_ATTR_DATA.fg,s.bg&=-67108864,s.bg|=16777215&h.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${s.C0.ESC}[0n`);break;case 6:const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${s.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${s.C0.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=h.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){const t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const i=t%2==1;return this._optionsService.options.cursorBlink=i,!0}setScrollRegion(e){const t=e.params[0]||1;let i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||0===i)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!m(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;const t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(C.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(C.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${s.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){const t=[],i=e.split(";");for(;i.length>1;){const e=i.shift(),s=i.shift();if(/^\d+$/.exec(e)){const i=parseInt(e);if(0<=i&&i<256)if("?"===s)t.push({type:0,index:i});else{const e=(0,g.parseColor)(s);e&&t.push({type:1,index:i,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){const t=e.split(";");return!(t.length<2)&&(t[1]?this._createHyperlink(t[0],t[1]):!t[0]&&this._finishHyperlink())}_createHyperlink(e,t){void 0!==this._currentLinkId&&this._finishHyperlink();const i=e.split(":");let s;const r=i.findIndex(e=>e.startsWith("id="));return-1!==r&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._currentLinkId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.extended.urlId=this._currentLinkId,this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),this._currentLinkId=void 0,!0}_setOrReportSpecialColor(e,t){const i=e.split(";");for(let e=0;e=this._specialColors.length);++e,++t)if("?"===i[e])this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{const s=(0,g.parseColor)(i[e]);s&&this._onColor.fire([{type:1,index:this._specialColors[t],color:s}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;const t=[],i=e.split(";");for(let e=0;e=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowService.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=h.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=h.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){const e=new d.CellData;e.content=1<<22|"E".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t(this._coreService.triggerDataEvent(`${s.C0.ESC}${e}${s.C0.ESC}\\`),!0))('"q'===e?`P1$r${this._curAttrData.isProtected()?1:0}"q`:'"p'===e?'P1$r61;1"p':"r"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:"m"===e?"P1$r0m":" q"===e?`P1$r${{block:2,underline:4,bar:6}[r.cursorStyle]-(r.cursorBlink?1:0)} q`:"P0$r")}}t.InputHandler=b},844:(e,t)=>{function i(e){for(const t of e)t.dispose();e.length=0}Object.defineProperty(t,"__esModule",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.toDisposable=t.Disposable=void 0,t.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const e of this._disposables)e.dispose();this._disposables.length=0}register(e){return this._disposables.push(e),e}unregister(e){const t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)}},t.toDisposable=function(e){return{dispose:e}},t.disposeArray=i,t.getDisposeArrayDisposable=function(e){return{dispose:()=>i(e)}}},1505:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,n){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,n)}get(e,t,i,s){var r;return null===(r=this._data.get(e,t))||void 0===r?void 0:r.get(i,s)}clear(){this._data.clear()}}},6114:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.isSafari=t.isLegacyEdge=t.isFirefox=void 0;const i="undefined"==typeof navigator,s=i?"node":navigator.userAgent,r=i?"node":navigator.platform;t.isFirefox=s.includes("Firefox"),t.isLegacyEdge=s.includes("Edge"),t.isSafari=/^((?!chrome|android).)*safari/i.test(s),t.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(r),t.isIpad="iPad"===r,t.isIphone="iPhone"===r,t.isWindows=["Windows","Win16","Win32","WinCE"].includes(r),t.isLinux=r.indexOf("Linux")>=0},6106:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.SortedList=void 0;let i=0;t.SortedList=class{constructor(e){this._getKey=e,this._array=[]}clear(){this._array.length=0}insert(e){0!==this._array.length?(i=this._search(this._getKey(e),0,this._array.length-1),this._array.splice(i,0,e)):this._array.push(e)}delete(e){if(0===this._array.length)return!1;const t=this._getKey(e);if(void 0===t)return!1;if(i=this._search(t,0,this._array.length-1),-1===i)return!1;if(this._getKey(this._array[i])!==t)return!1;do{if(this._array[i]===e)return this._array.splice(i,1),!0}while(++i=this._array.length)&&this._getKey(this._array[i])===e))do{yield this._array[i]}while(++i=this._array.length)&&this._getKey(this._array[i])===e))do{t(this._array[i])}while(++ie)return this._search(e,t,s-1);if(r0&&this._getKey(this._array[s-1])===e;)s--;return s}}},8273:(e,t)=>{function i(e,t,i=0,s=e.length){if(i>=e.length)return e;i=(e.length+i)%e.length,s=s>=e.length?e.length:(e.length+s)%e.length;for(let r=i;r{Object.defineProperty(t,"__esModule",{value:!0}),t.updateWindowsModeWrappedState=void 0;const s=i(643);t.updateWindowsModeWrappedState=function(e){const t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),i=null==t?void 0:t.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&i&&(r.isWrapped=i[s.CHAR_DATA_CODE_INDEX]!==s.NULL_CELL_CODE&&i[s.CHAR_DATA_CODE_INDEX]!==s.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return!(50331648&~this.fg)}isBgRGB(){return!(50331648&~this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return!(50331648&this.fg)}isBgDefault(){return!(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&~this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?!(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}}t.AttributeData=i;class s{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},9092:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferStringIterator=t.Buffer=t.MAX_BUFFER_SIZE=void 0;const s=i(6349),r=i(8437),n=i(511),o=i(643),a=i(4634),h=i(4863),c=i(7116),l=i(3734);t.MAX_BUFFER_SIZE=4294967295,t.Buffer=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.savedY=0,this.savedX=0,this.savedCurAttrData=r.DEFAULT_ATTR_DATA.clone(),this.savedCharset=c.DEFAULT_CHARSET,this.markers=[],this._nullCell=n.CellData.fromCharData([0,o.NULL_CELL_CHAR,o.NULL_CELL_WIDTH,o.NULL_CELL_CODE]),this._whitespaceCell=n.CellData.fromCharData([0,o.WHITESPACE_CELL_CHAR,o.WHITESPACE_CELL_WIDTH,o.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new l.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new l.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new r.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&et.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:i}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=r.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const i=this.getNullCell(r.DEFAULT_ATTR_DATA),s=this._getCorrectBufferLength(t);if(s>this.lines.maxLength&&(this.lines.maxLength=s),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new r.BufferLine(e,i)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(s0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=s}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;tthis._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const i=(0,a.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(r.DEFAULT_ATTR_DATA));if(i.length>0){const s=(0,a.reflowLargerCreateNewLayout)(this.lines,i);(0,a.reflowLargerApplyNewLayout)(this.lines,s.layout),this._reflowLargerAdjustViewport(e,t,s.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){const s=this.getNullCell(r.DEFAULT_ATTR_DATA);let n=i;for(;n-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length=0;o--){let h=this.lines.get(o);if(!h||!h.isWrapped&&h.getTrimmedLength()<=e)continue;const c=[h];for(;h.isWrapped&&o>0;)h=this.lines.get(--o),c.unshift(h);const l=this.ybase+this.y;if(l>=o&&l0&&(s.push({start:o+c.length+n,newLines:v}),n+=v.length),c.push(...v);let g=_.length-1,p=_[g];0===p&&(g--,p=_[g]);let S=c.length-u-1,m=d;for(;S>=0;){const e=Math.min(m,p);if(void 0===c[g])break;if(c[g].copyCellsFrom(c[S],m-e,p-e,e,!0),p-=e,0===p&&(g--,p=_[g]),m-=e,0===m){S--;const e=Math.max(S,0);m=(0,a.getWrappedLineTrimmedLength)(c,e,this._cols)}}for(let t=0;t0;)0===this.ybase?this.y0){const e=[],t=[];for(let e=0;e=0;c--)if(a&&a.start>r+h){for(let e=a.newLines.length-1;e>=0;e--)this.lines.set(c--,a.newLines[e]);c++,e.push({index:r+1,amount:a.newLines.length}),h+=a.newLines.length,a=s[++o]}else this.lines.set(c,t[r--]);let c=0;for(let t=e.length-1;t>=0;t--)e[t].index+=c,this.lines.onInsertEmitter.fire(e[t]),c+=e[t].amount;const l=Math.max(0,i+n-this.lines.maxLength);l>0&&this.lines.onTrimEmitter.fire(l)}}stringIndexToBufferIndex(e,t,i=!1){for(;t;){const s=this.lines.get(e);if(!s)return[-1,-1];const r=i?s.getTrimmedLength():s.length;for(let i=0;i0&&this.lines.get(t).isWrapped;)t--;for(;i+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.linee.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}iterator(e,t,i,s,r){return new d(this,e,t,i,s,r)}};class d{constructor(e,t,i=0,s=e.lines.length,r=0,n=0){this._buffer=e,this._trimRight=t,this._startIndex=i,this._endIndex=s,this._startOverscan=r,this._endOverscan=n,this._startIndex<0&&(this._startIndex=0),this._endIndex>this._buffer.lines.length&&(this._endIndex=this._buffer.lines.length),this._current=this._startIndex}hasNext(){return this._currentthis._endIndex+this._endOverscan&&(e.last=this._endIndex+this._endOverscan),e.first=Math.max(e.first,0),e.last=Math.min(e.last,this._buffer.lines.length);let t="";for(let i=e.first;i<=e.last;++i)t+=this._buffer.translateBufferLineToString(i,this._trimRight);return this._current=e.last+1,{range:e,content:t}}}t.BufferStringIterator=d},8437:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;const s=i(482),r=i(643),n=i(511),o=i(3734);t.DEFAULT_ATTR_DATA=Object.freeze(new o.AttributeData);const a={startIndex:0};class h{constructor(e,t,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);const s=t||n.CellData.fromCharData([0,r.NULL_CELL_CHAR,r.NULL_CELL_WIDTH,r.NULL_CELL_CODE]);for(let t=0;t>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,t){this._data[3*e+1]=t[r.CHAR_DATA_ATTR_INDEX],t[r.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[r.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[r.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?(0,s.stringFromCodePoint)(2097151&t):""}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,t){return a.startIndex=3*e,t.content=this._data[a.startIndex+0],t.fg=this._data[a.startIndex+1],t.bg=this._data[a.startIndex+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg}setCellFromCodePoint(e,t,i,s,r,n){268435456&r&&(this._extendedAttrs[e]=n),this._data[3*e+0]=t|i<<22,this._data[3*e+1]=s,this._data[3*e+2]=r}addCodepointToCell(e,t){let i=this._data[3*e+0];2097152&i?this._combined[e]+=(0,s.stringFromCodePoint)(t):(2097151&i?(this._combined[e]=(0,s.stringFromCodePoint)(2097151&i)+(0,s.stringFromCodePoint)(t),i&=-2097152,i|=2097152):i=t|1<<22,this._data[3*e+0]=i)}insertCells(e,t,i,s){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodePoint(e-1,0,1,(null==s?void 0:s.fg)||0,(null==s?void 0:s.bg)||0,(null==s?void 0:s.extended)||new o.ExtendedAttrs),t=0;--i)this.setCell(e+t+i,this.loadCell(e+i,s));for(let s=0;sthis.length){const i=new Uint32Array(3*e);this.length&&(3*e=e&&delete this._combined[s]}}else this._data=new Uint32Array(0),this._combined={};this.length=e}}fill(e,t=!1){if(t)for(let t=0;t=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,t,i,s,r){const n=e._data;if(r)for(let r=s-1;r>=0;r--){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}else for(let r=0;r=t&&(this._combined[r-t+i]=e._combined[r])}}translateToString(e=!1,t=0,i=this.length){e&&(i=Math.min(i,this.getTrimmedLength()));let n="";for(;t>22||1}return n}}t.BufferLine=h},4841:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}},4634:(e,t)=>{function i(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();const s=!e[t].hasContent(i-1)&&1===e[t].getWidth(i-1),r=2===e[t+1].getWidth(0);return s&&r?i-1:i}Object.defineProperty(t,"__esModule",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,s,r,n){const o=[];for(let a=0;a=a&&r0&&(e>d||0===l[e].getTrimmedLength());e--)v++;v>0&&(o.push(a+l.length-v),o.push(v)),a+=l.length-1}return o},t.reflowLargerCreateNewLayout=function(e,t){const i=[];let s=0,r=t[s],n=0;for(let o=0;oi(e,r,t)).reduce((e,t)=>e+t);let o=0,a=0,h=0;for(;hc&&(o-=c,a++);const l=2===e[a].getWidth(o-1);l&&o--;const d=l?s-1:s;r.push(d),h+=d}return r},t.getWrappedLineTrimmedLength=i},5295:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferSet=void 0;const s=i(9092),r=i(8460),n=i(844);class o extends n.Disposable{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this.register(new r.EventEmitter),this.reset()}get onBufferActivate(){return this._onBufferActivate.event}reset(){this._normal=new s.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new s.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}}t.BufferSet=o},511:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CellData=void 0;const s=i(482),r=i(643),n=i(3734);class o extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=""}static fromCharData(e){const t=new o;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=o},643:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=256,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR="",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=" ",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Marker=void 0;const s=i(8460),r=i(844);class n extends r.Disposable{constructor(e){super(),this.line=e,this._id=n._nextId++,this.isDisposed=!1,this._onDispose=new s.EventEmitter}get id(){return this._id}get onDispose(){return this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),super.dispose())}}t.Marker=n,n._nextId=1},7116:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},t.CHARSETS.A={"#":"£"},t.CHARSETS.B=void 0,t.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},t.CHARSETS.C=t.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},t.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},t.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},t.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},t.CHARSETS.E=t.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},t.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},t.CHARSETS.H=t.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},t.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(e,t)=>{var i,s;Object.defineProperty(t,"__esModule",{value:!0}),t.C1_ESCAPED=t.C1=t.C0=void 0,function(e){e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="",e.BS="\b",e.HT="\t",e.LF="\n",e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""}(i=t.C0||(t.C0={})),(s=t.C1||(t.C1={})).PAD="€",s.HOP="",s.BPH="‚",s.NBH="ƒ",s.IND="„",s.NEL="…",s.SSA="†",s.ESA="‡",s.HTS="ˆ",s.HTJ="‰",s.VTS="Š",s.PLD="‹",s.PLU="Œ",s.RI="",s.SS2="Ž",s.SS3="",s.DCS="",s.PU1="‘",s.PU2="’",s.STS="“",s.CCH="”",s.MW="•",s.SPA="–",s.EPA="—",s.SOS="˜",s.SGCI="™",s.SCI="š",s.CSI="›",s.ST="œ",s.OSC="",s.PM="ž",s.APC="Ÿ",(t.C1_ESCAPED||(t.C1_ESCAPED={})).ST=`${i.ESC}\\`},7399:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.evaluateKeyboardEvent=void 0;const s=i(2584),r={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};t.evaluateKeyboardEvent=function(e,t,i,n){const o={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:"UIKeyInputUpArrow"===e.key?o.key=t?s.C0.ESC+"OA":s.C0.ESC+"[A":"UIKeyInputLeftArrow"===e.key?o.key=t?s.C0.ESC+"OD":s.C0.ESC+"[D":"UIKeyInputRightArrow"===e.key?o.key=t?s.C0.ESC+"OC":s.C0.ESC+"[C":"UIKeyInputDownArrow"===e.key&&(o.key=t?s.C0.ESC+"OB":s.C0.ESC+"[B");break;case 8:if(e.altKey){o.key=s.C0.ESC+s.C0.DEL;break}o.key=s.C0.DEL;break;case 9:if(e.shiftKey){o.key=s.C0.ESC+"[Z";break}o.key=s.C0.HT,o.cancel=!0;break;case 13:o.key=e.altKey?s.C0.ESC+s.C0.CR:s.C0.CR,o.cancel=!0;break;case 27:o.key=s.C0.ESC,e.altKey&&(o.key=s.C0.ESC+s.C0.ESC),o.cancel=!0;break;case 37:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"D",o.key===s.C0.ESC+"[1;3D"&&(o.key=s.C0.ESC+(i?"b":"[1;5D"))):o.key=t?s.C0.ESC+"OD":s.C0.ESC+"[D";break;case 39:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"C",o.key===s.C0.ESC+"[1;3C"&&(o.key=s.C0.ESC+(i?"f":"[1;5C"))):o.key=t?s.C0.ESC+"OC":s.C0.ESC+"[C";break;case 38:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"A",i||o.key!==s.C0.ESC+"[1;3A"||(o.key=s.C0.ESC+"[1;5A")):o.key=t?s.C0.ESC+"OA":s.C0.ESC+"[A";break;case 40:if(e.metaKey)break;a?(o.key=s.C0.ESC+"[1;"+(a+1)+"B",i||o.key!==s.C0.ESC+"[1;3B"||(o.key=s.C0.ESC+"[1;5B")):o.key=t?s.C0.ESC+"OB":s.C0.ESC+"[B";break;case 45:e.shiftKey||e.ctrlKey||(o.key=s.C0.ESC+"[2~");break;case 46:o.key=a?s.C0.ESC+"[3;"+(a+1)+"~":s.C0.ESC+"[3~";break;case 36:o.key=a?s.C0.ESC+"[1;"+(a+1)+"H":t?s.C0.ESC+"OH":s.C0.ESC+"[H";break;case 35:o.key=a?s.C0.ESC+"[1;"+(a+1)+"F":t?s.C0.ESC+"OF":s.C0.ESC+"[F";break;case 33:e.shiftKey?o.type=2:e.ctrlKey?o.key=s.C0.ESC+"[5;"+(a+1)+"~":o.key=s.C0.ESC+"[5~";break;case 34:e.shiftKey?o.type=3:e.ctrlKey?o.key=s.C0.ESC+"[6;"+(a+1)+"~":o.key=s.C0.ESC+"[6~";break;case 112:o.key=a?s.C0.ESC+"[1;"+(a+1)+"P":s.C0.ESC+"OP";break;case 113:o.key=a?s.C0.ESC+"[1;"+(a+1)+"Q":s.C0.ESC+"OQ";break;case 114:o.key=a?s.C0.ESC+"[1;"+(a+1)+"R":s.C0.ESC+"OR";break;case 115:o.key=a?s.C0.ESC+"[1;"+(a+1)+"S":s.C0.ESC+"OS";break;case 116:o.key=a?s.C0.ESC+"[15;"+(a+1)+"~":s.C0.ESC+"[15~";break;case 117:o.key=a?s.C0.ESC+"[17;"+(a+1)+"~":s.C0.ESC+"[17~";break;case 118:o.key=a?s.C0.ESC+"[18;"+(a+1)+"~":s.C0.ESC+"[18~";break;case 119:o.key=a?s.C0.ESC+"[19;"+(a+1)+"~":s.C0.ESC+"[19~";break;case 120:o.key=a?s.C0.ESC+"[20;"+(a+1)+"~":s.C0.ESC+"[20~";break;case 121:o.key=a?s.C0.ESC+"[21;"+(a+1)+"~":s.C0.ESC+"[21~";break;case 122:o.key=a?s.C0.ESC+"[23;"+(a+1)+"~":s.C0.ESC+"[23~";break;case 123:o.key=a?s.C0.ESC+"[24;"+(a+1)+"~":s.C0.ESC+"[24~";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(i&&!n||!e.altKey||e.metaKey)!i||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?o.key=e.key:e.key&&e.ctrlKey&&("_"===e.key&&(o.key=s.C0.US),"@"===e.key&&(o.key=s.C0.NUL)):65===e.keyCode&&(o.type=1);else{const t=r[e.keyCode],i=null==t?void 0:t[e.shiftKey?1:0];if(i)o.key=s.C0.ESC+i;else if(e.keyCode>=65&&e.keyCode<=90){const t=e.ctrlKey?e.keyCode-64:e.keyCode+32;let i=String.fromCharCode(t);e.shiftKey&&(i=i.toUpperCase()),o.key=s.C0.ESC+i}else if("Dead"===e.key&&e.code.startsWith("Key")){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),o.key=s.C0.ESC+t,o.cancel=!0}}else e.keyCode>=65&&e.keyCode<=90?o.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?o.key=s.C0.NUL:e.keyCode>=51&&e.keyCode<=55?o.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?o.key=s.C0.DEL:219===e.keyCode?o.key=s.C0.ESC:220===e.keyCode?o.key=s.C0.FS:221===e.keyCode&&(o.key=s.C0.GS)}return o}},482:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s="";for(let r=t;r65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let n=r;n=i)return this._interim=r,s;const o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=1024*(r-55296)+o-56320+65536:(t[s++]=r,t[s++]=o)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,n,o,a=0,h=0,c=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let n,o=0;for(;(n=63&this.interim[++o])&&o<4;)r<<=6,r|=n;const h=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,l=h-o;for(;c=i)return 0;if(n=e[c++],128!=(192&n)){c--,s=!0;break}this.interim[o++]=n,r<<=6,r|=63&n}s||(2===h?r<128?c--:t[a++]=r:3===h?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const l=i-4;let d=c;for(;d=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(h=(31&s)<<6|63&r,h<128){d--;continue}t[a++]=h}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(h=(15&s)<<12|(63&r)<<6|63&n,h<2048||h>=55296&&h<=57343||65279===h)continue;t[a++]=h}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=n,a;if(o=e[d++],128!=(192&o)){d--;continue}if(h=(7&s)<<18|(63&r)<<12|(63&n)<<6|63&o,h<65536||h>1114111)continue;t[a++]=h}}return a}}},225:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeV6=void 0;const s=i(8273),r=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],n=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let o;t.UnicodeV6=class{constructor(){if(this.version="6",!o){o=new Uint8Array(65536),(0,s.fill)(o,1),o[0]=0,(0,s.fill)(o,0,1,32),(0,s.fill)(o,0,127,160),(0,s.fill)(o,2,4352,4448),o[9001]=2,o[9002]=2,(0,s.fill)(o,2,11904,42192),o[12351]=1,(0,s.fill)(o,2,44032,55204),(0,s.fill)(o,2,63744,64256),(0,s.fill)(o,2,65040,65050),(0,s.fill)(o,2,65072,65136),(0,s.fill)(o,2,65280,65377),(0,s.fill)(o,2,65504,65511);for(let e=0;et[r][1])return!1;for(;r>=s;)if(i=s+r>>1,e>t[i][1])s=i+1;else{if(!(e=131072&&e<=196605||e>=196608&&e<=262141?2:1}}},5981:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.WriteBuffer=void 0;const s=i(8460),r="undefined"==typeof queueMicrotask?e=>{Promise.resolve().then(e)}:queueMicrotask;t.WriteBuffer=class{constructor(e){this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._onWriteParsed=new s.EventEmitter}get onWriteParsed(){return this._onWriteParsed.event}writeSync(e,t){if(void 0!==t&&this._syncCalls>t)return void(this._syncCalls=0);if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i;for(this._isSyncWriting=!0;i=this._writeBuffer.shift();){this._action(i);const e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");this._writeBuffer.length||(this._bufferOffset=0,setTimeout(()=>this._innerWrite())),this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){const i=e||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const e=this._writeBuffer[this._bufferOffset],s=this._action(e,t);if(s){const e=e=>Date.now()-i>=12?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(i,e);return void s.catch(e=>(r(()=>{throw e}),Promise.resolve(!1))).then(e)}const n=this._callbacks[this._bufferOffset];if(n&&n(),this._bufferOffset++,this._pendingData-=e.length,Date.now()-i>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}},5941:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.toRgbString=t.parseColor=void 0;const i=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,s=/^[\da-f]+$/;function r(e,t){const i=e.toString(16),s=i.length<2?"0"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}t.parseColor=function(e){if(!e)return;let t=e.toLowerCase();if(0===t.indexOf("rgb:")){t=t.slice(4);const e=i.exec(t);if(e){const t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(0===t.indexOf("#")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i=[0,0,0];for(let s=0;s<3;++s){const r=parseInt(t.slice(e*s,e*s+e),16);i[s]=1===e?r<<4:2===e?r:3===e?r>>4:r>>8}return i}},t.toRgbString=function(e,t=16){const[i,s,n]=e;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`}},5770:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DcsHandler=t.DcsParser=void 0;const s=i(482),r=i(8742),n=i(5770),o=[];t.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=o,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=o}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=o,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||o,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t);else this._handlerFb(this._ident,"HOOK",t)}put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._ident,"PUT",(0,s.utf32ToString)(e,t,i))}unhook(e,t=!0){if(this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].unhook(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,"UNHOOK",e);this._active=o,this._ident=0}};const a=new r.Params;a.addParam(0),t.DcsHandler=class{constructor(e){this._handler=e,this._data="",this._params=a,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():a,this._data="",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,s.utf32ToString)(e,t,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=a,this._data="",this._hitLimit=!1,e));return this._params=a,this._data="",this._hitLimit=!1,t}}},2015:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;const s=i(844),r=i(8273),n=i(8742),o=i(6242),a=i(6351);class h{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){(0,r.fill)(this.table,e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;rt),i=(e,i)=>t.slice(e,i),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));const n=i(0,14);let o;for(o in e.setDefault(1,0),e.addMany(s,0,2,0),n)e.addMany([24,26,153,154],o,3,0),e.addMany(i(128,144),o,3,0),e.addMany(i(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(c,0,2,0),e.add(c,8,5,8),e.add(c,6,0,6),e.add(c,11,0,11),e.add(c,13,13,13),e}();class l extends s.Disposable{constructor(e=t.VT500_TRANSITION_TABLE){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new n.Params,this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,this._printHandlerFb=(e,t,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser=new o.OscParser,this._dcsParser=new a.DcsParser,this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error("only one byte as prefix supported");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let t=0;ts||s>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i<<=8,i|=s}}if(1!==e.final.length)throw new Error("final must be a single byte");const s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){const t=[];for(;e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join("")}dispose(){this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null),this._oscParser.dispose(),this._dcsParser.dispose()}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){const i=this._identifier(e,[48,126]);void 0===this._escHandlers[i]&&(this._escHandlers[i]=[]);const s=this._escHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){const i=this._identifier(e);void 0===this._csiHandlers[i]&&(this._csiHandlers[i]=[]);const s=this._csiHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingCodepoint=0,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s,r=0,n=0,o=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(void 0===i||1===this._parseStack.state)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const t=this._parseStack.handlers;let n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](this._params),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 4:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],s=this._dcsParser.unhook(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],s=this._oscParser.end(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingCodepoint=0,this.currentState=15&this._parseStack.transition}for(let i=o;i>4){case 2:for(let s=i+1;;++s){if(s>=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=t||(r=e[s])<32||r>126&&r=0&&(s=o[a](this._params),!0!==s);a--)if(s instanceof Promise)return this._preserveStack(3,o,a,n,i),s;a<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingCodepoint=0;break;case 8:do{switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}}while(++i47&&r<60);i--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:const h=this._escHandlers[this._collect<<8|r];let l=h?h.length-1:-1;for(;l>=0&&(s=h[l](),!0!==s);l--)if(s instanceof Promise)return this._preserveStack(4,h,l,n,i),s;l<0&&this._escHandlerFb(this._collect<<8|r),this.precedingCodepoint=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let s=i+1;;++s)if(s>=t||24===(r=e[s])||26===r||27===r||r>127&&r=t||(r=e[s])<32||r>127&&r{Object.defineProperty(t,"__esModule",{value:!0}),t.OscHandler=t.OscParser=void 0;const s=i(5770),r=i(482),n=[];t.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,"START")}_put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._id,"PUT",(0,r.utf32ToString)(e,t,i))}start(){this.reset(),this._state=1}put(e,t,i){if(3!==this._state){if(1===this._state)for(;t0&&this._put(e,t,i)}}end(e,t=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].end(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._id,"END",e);this._active=n,this._id=-1,this._state=0}}},t.OscHandler=class{constructor(e){this._handler=e,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,r.utf32ToString)(e,t,i),this._data.length>s.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data="",this._hitLimit=!1,e));return this._data="",this._hitLimit=!1,t}}},8742:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.Params=void 0;const i=2147483647;class s{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(e){const t=new s;if(!e.length)return t;for(let i=Array.isArray(e[0])?1:0;i>8,s=255&this._subParamsIdx[t];s-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>i?i:e}}addSubParam(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>i?i:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){const t=this._subParamsIdx[e]>>8,i=255&this._subParamsIdx[e];return i-t>0?this._subParams.subarray(t,i):null}getSubParamsAll(){const e={};for(let t=0;t>8,s=255&this._subParamsIdx[t];s-i>0&&(e[t]=this._subParams.slice(i,s))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const s=this._digitIsSub?this._subParams:this.params,r=s[t-1];s[t-1]=~r?Math.min(10*r+e,i):e}}t.Params=s},5741:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.AddonManager=void 0,t.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){const i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferApiView=void 0;const s=i(3785),r=i(511);t.BufferApiView=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){const t=this._buffer.lines.get(e);if(t)return new s.BufferLineApiView(t)}getNullCell(){return new r.CellData}}},3785:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferLineApiView=void 0;const s=i(511);t.BufferLineApiView=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new s.CellData)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}}},8285:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.BufferNamespaceApi=void 0;const s=i(8771),r=i(8460);t.BufferNamespaceApi=class{constructor(e){this._core=e,this._onBufferChange=new r.EventEmitter,this._normal=new s.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new s.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get onBufferChange(){return this._onBufferChange.event}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}},7975:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.ParserApi=void 0,t.ParserApi=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,i)=>t(e,i.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}}},7090:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeApi=void 0,t.UnicodeApi=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}}},744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;const n=i(2585),o=i(5295),a=i(8460),h=i(844);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;let c=class extends h.Disposable{constructor(e){super(),this.isUserScrolling=!1,this._onResize=new a.EventEmitter,this._onScroll=new a.EventEmitter,this.cols=Math.max(e.rawOptions.cols||0,t.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,t.MINIMUM_ROWS),this.buffers=new o.BufferSet(e,this)}get onResize(){return this._onResize.event}get onScroll(){return this._onScroll.event}get buffer(){return this.buffers.active}dispose(){super.dispose(),this.buffers.dispose()}resize(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this.buffers.setupTabStops(this.cols),this._onResize.fire({cols:e,rows:t})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){const i=this.buffer;let s;s=this._cachedBlankLine,s&&s.length===this.cols&&s.getFg(0)===e.fg&&s.getBg(0)===e.bg||(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;const r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){const e=i.lines.isFull;n===i.lines.length-1?e?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),e?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{const e=n-r+1;i.lines.shiftElements(r+1,e-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t,i){const s=this.buffer;if(e<0){if(0===s.ydisp)return;this.isUserScrolling=!0}else e+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);const r=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+e,s.ybase),0),r!==s.ydisp&&(t||this._onScroll.fire(s.ydisp))}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this.buffer.ydisp)}scrollToBottom(){this.scrollLines(this.buffer.ybase-this.buffer.ydisp)}scrollToLine(e){const t=e-this.buffer.ydisp;0!==t&&this.scrollLines(t)}};c=s([r(0,n.IOptionsService)],c),t.BufferService=c},7994:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.CharsetService=void 0,t.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}}},1753:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreMouseService=void 0;const n=i(2585),o=i(8460),a={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function h(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(i|=64,i|=e.action):(i|=3&e.button,4&e.button&&(i|=64),8&e.button&&(i|=128),32===e.action?i|=32:0!==e.action||t||(i|=3)),i}const c=String.fromCharCode,l={DEFAULT:e=>{const t=[h(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":`${c(t[0])}${c(t[1])}${c(t[2])}`},SGR:e=>{const t=0===e.action&&4!==e.button?"m":"M";return`[<${h(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{const t=0===e.action&&4!==e.button?"m":"M";return`[<${h(e,!0)};${e.x};${e.y}${t}`}};let d=class{constructor(e,t){this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._onProtocolChange=new o.EventEmitter,this._lastEvent=null;for(const e of Object.keys(a))this.addProtocol(e,a[e]);for(const e of Object.keys(l))this.addEncoding(e,l[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}get onProtocolChange(){return this._onProtocolChange.event}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,"SGR_PIXELS"===this._activeEncoding))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;const t=this._encodings[this._activeEncoding](e);return t&&("DEFAULT"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x)return!1;if(e.y!==t.y)return!1}else{if(e.col!==t.col)return!1;if(e.row!==t.row)return!1}return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};d=s([r(0,n.IBufferService),r(1,n.ICoreService)],d),t.CoreMouseService=d},6975:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.CoreService=void 0;const n=i(2585),o=i(8460),a=i(1439),h=i(844),c=Object.freeze({insertMode:!1}),l=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let d=class extends h.Disposable{constructor(e,t,i,s){super(),this._bufferService=t,this._logService=i,this._optionsService=s,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new o.EventEmitter),this._onUserInput=this.register(new o.EventEmitter),this._onBinary=this.register(new o.EventEmitter),this._scrollToBottom=e,this.register({dispose:()=>this._scrollToBottom=void 0}),this.modes=(0,a.clone)(c),this.decPrivateModes=(0,a.clone)(l)}get onData(){return this._onData.event}get onUserInput(){return this._onUserInput.event}get onBinary(){return this._onBinary.event}reset(){this.modes=(0,a.clone)(c),this.decPrivateModes=(0,a.clone)(l)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const i=this._bufferService.buffer;i.ybase!==i.ydisp&&this._scrollToBottom(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`,()=>e.split("").map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`,()=>e.split("").map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};d=s([r(1,n.IBufferService),r(2,n.ILogService),r(3,n.IOptionsService)],d),t.CoreService=d},9074:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.DecorationService=void 0;const s=i(8055),r=i(8460),n=i(844),o=i(6106),a={xmin:0,xmax:0};class h extends n.Disposable{constructor(){super(...arguments),this._decorations=new o.SortedList(e=>null==e?void 0:e.marker.line),this._onDecorationRegistered=this.register(new r.EventEmitter),this._onDecorationRemoved=this.register(new r.EventEmitter)}get onDecorationRegistered(){return this._onDecorationRegistered.event}get onDecorationRemoved(){return this._onDecorationRemoved.event}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;const t=new c(e);if(t){const e=t.marker.onDispose(()=>t.dispose());t.onDispose(()=>{t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())}),this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){var s,r,n;let o=0,a=0;for(const h of this._decorations.getKeyIterator(t))o=null!==(s=h.options.x)&&void 0!==s?s:0,a=o+(null!==(r=h.options.width)&&void 0!==r?r:1),e>=o&&e{var r,n,o;a.xmin=null!==(r=t.options.x)&&void 0!==r?r:0,a.xmax=a.xmin+(null!==(n=t.options.width)&&void 0!==n?n:1),e>=a.xmin&&e=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.DirtyRowService=void 0;const n=i(2585);let o=class{constructor(e){this._bufferService=e,this.clearRange()}get start(){return this._start}get end(){return this._end}clearRange(){this._start=this._bufferService.buffer.y,this._end=this._bufferService.buffer.y}markDirty(e){ethis._end&&(this._end=e)}markRangeDirty(e,t){if(e>t){const i=e;e=t,t=i}ethis._end&&(this._end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};o=s([r(0,n.IBufferService)],o),t.DirtyRowService=o},4348:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;const s=i(2585),r=i(8343);class n{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}forEach(e){this._entries.forEach((t,i)=>e(i,t))}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}}t.ServiceCollection=n,t.InstantiationService=class{constructor(){this._services=new n,this._services.set(s.IInstantiationService,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){const i=(0,r.getServiceDependencies)(e).sort((e,t)=>e.index-t.index),s=[];for(const t of i){const i=this._services.get(t.id);if(!i)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`);s.push(i)}const n=i.length>0?i[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t,...s])}}},7866:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.LogService=void 0;const n=i(2585),o={debug:n.LogLevelEnum.DEBUG,info:n.LogLevelEnum.INFO,warn:n.LogLevelEnum.WARN,error:n.LogLevelEnum.ERROR,off:n.LogLevelEnum.OFF};let a=class{constructor(e){this._optionsService=e,this.logLevel=n.LogLevelEnum.OFF,this._updateLogLevel(),this._optionsService.onOptionChange(e=>{"logLevel"===e&&this._updateLogLevel()})}_updateLogLevel(){this.logLevel=o[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t{Object.defineProperty(t,"__esModule",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=void 0;const s=i(8460),r=i(6114);t.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,customGlyphs:!0,drawBoldTextInBrightColors:!0,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",scrollback:1e3,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rightClickSelectsWord:r.isMac,windowOptions:{},windowsMode:!1,wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const n=["normal","bold","100","200","300","400","500","600","700","800","900"];t.OptionsService=class{constructor(e){this._onOptionChange=new s.EventEmitter;const i=Object.assign({},t.DEFAULT_OPTIONS);for(const t in e)if(t in i)try{const s=e[t];i[t]=this._sanitizeAndValidateOption(t,s)}catch(e){console.error(e)}this.rawOptions=i,this.options=Object.assign({},i),this._setupOptions()}get onOptionChange(){return this._onOptionChange.event}_setupOptions(){const e=e=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key "${e}"`);return this.rawOptions[e]},i=(e,i)=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key "${e}"`);i=this._sanitizeAndValidateOption(e,i),this.rawOptions[e]!==i&&(this.rawOptions[e]=i,this._onOptionChange.fire(e))};for(const t in this.rawOptions){const s={get:e.bind(this,t),set:i.bind(this,t)};Object.defineProperty(this.options,t,s)}}_sanitizeAndValidateOption(e,i){switch(e){case"cursorStyle":if(i||(i=t.DEFAULT_OPTIONS[e]),!function(e){return"block"===e||"underline"===e||"bar"===e}(i))throw new Error(`"${i}" is not a valid value for ${e}`);break;case"wordSeparator":i||(i=t.DEFAULT_OPTIONS[e]);break;case"fontWeight":case"fontWeightBold":if("number"==typeof i&&1<=i&&i<=1e3)break;i=n.includes(i)?i:t.DEFAULT_OPTIONS[e];break;case"cursorWidth":i=Math.floor(i);case"lineHeight":case"tabStopWidth":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case"minimumContrastRatio":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case"scrollback":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);case"rows":case"cols":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`)}return i}}},2660:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,"__esModule",{value:!0}),t.OscLinkService=void 0;const n=i(2585);let o=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose(()=>this._removeMarkerFromLink(s,i)),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(o,n)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every(e=>e.line!==t)){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(i,e))}}getLinkData(e){var t;return null===(t=this._dataByLinkId.get(e))||void 0===t?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};o=s([r(0,n.IBufferService)],o),t.OscLinkService=o},8343:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0,t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e.di$dependencies||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const i=function(e,t,s){if(3!==arguments.length)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");!function(e,t,i){t.di$target===t?t.di$dependencies.push({id:e,index:i}):(t.di$dependencies=[{id:e,index:i}],t.di$target=t)}(i,e,s)};return i.toString=()=>e,t.serviceRegistry.set(e,i),i}},2585:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.IDirtyRowService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(8343);var r;t.IBufferService=(0,s.createDecorator)("BufferService"),t.ICoreMouseService=(0,s.createDecorator)("CoreMouseService"),t.ICoreService=(0,s.createDecorator)("CoreService"),t.ICharsetService=(0,s.createDecorator)("CharsetService"),t.IDirtyRowService=(0,s.createDecorator)("DirtyRowService"),t.IInstantiationService=(0,s.createDecorator)("InstantiationService"),(r=t.LogLevelEnum||(t.LogLevelEnum={}))[r.DEBUG=0]="DEBUG",r[r.INFO=1]="INFO",r[r.WARN=2]="WARN",r[r.ERROR=3]="ERROR",r[r.OFF=4]="OFF",t.ILogService=(0,s.createDecorator)("LogService"),t.IOptionsService=(0,s.createDecorator)("OptionsService"),t.IOscLinkService=(0,s.createDecorator)("OscLinkService"),t.IUnicodeService=(0,s.createDecorator)("UnicodeService"),t.IDecorationService=(0,s.createDecorator)("DecorationService")},1480:(e,t,i)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.UnicodeService=void 0;const s=i(8460),r=i(225);t.UnicodeService=class{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new s.EventEmitter;const e=new r.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}get onChange(){return this._onChange.event}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let t=0;const i=e.length;for(let s=0;s=i)return t+this.wcwidth(r);const n=e.charCodeAt(s);56320<=n&&n<=57343?r=1024*(r-55296)+n-56320+65536:t+=this.wcwidth(n)}t+=this.wcwidth(r)}return t}}}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,"__esModule",{value:!0}),e.Terminal=void 0;const t=i(3236),r=i(9042),n=i(7975),o=i(7090),a=i(5741),h=i(8285),c=["cols","rows"];e.Terminal=class{constructor(e){this._core=new t.Terminal(e),this._addonManager=new a.AddonManager,this._publicOptions=Object.assign({},this._core.options);const i=e=>this._core.options[e],s=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){const t={get:i.bind(this,e),set:s.bind(this,e)};Object.defineProperty(this._publicOptions,e,t)}}_checkReadonlyOptions(e){if(c.includes(e))throw new Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._checkProposedApi(),this._parser||(this._parser=new n.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new o.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._checkProposedApi(),this._buffer||(this._buffer=new h.BufferNamespaceApi(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let t="none";switch(this._core.coreMouseService.activeProtocol){case"X10":t="x10";break;case"VT200":t="vt200";break;case"DRAG":t="drag";break;case"ANY":t="any"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}registerLinkProvider(e){return this._checkProposedApi(),this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.addMarker(e)}registerDecoration(e){var t,i,s;return this._checkProposedApi(),this._verifyPositiveIntegers(null!==(t=e.x)&&void 0!==t?t:0,null!==(i=e.width)&&void 0!==i?i:0,null!==(s=e.height)&&void 0!==s?s:0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){this._addonManager.dispose(),this._core.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write("\r\n",t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){return this._addonManager.loadAddon(this,e)}static get strings(){return r}_verifyIntegers(...e){for(const t of e)if(t===1/0||isNaN(t)||t%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(const t of e)if(t&&(t===1/0||isNaN(t)||t%1!=0||t<0))throw new Error("This API only accepts positive integers")}}})(),s})()}) \ No newline at end of file