iobroker.eos-admin 7.10.4 → 7.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/INSTALL_TEST_V7.10.6.md +8 -0
  2. package/MERGE_UPDATE_README_V7.10.6.md +7 -0
  3. package/NEXOWATT_EOS_BUILD_INFO.json +19 -18
  4. package/NEXOWATT_EOS_PREBUILT_MANIFEST.json +40 -41
  5. package/PUBLISH_STABLE_V7.10.6.md +8 -0
  6. package/README_STABILITY_V7.10.6.md +5 -0
  7. package/RELEASE_ACCEPTANCE_V7.10.6.md +11 -0
  8. package/RELEASE_NOTES_V7.10.6.md +14 -0
  9. package/SECURITY_ROLE_MATRIX_V7.10.6.md +12 -0
  10. package/adminWww/assets/Intro-DkwRiz1n-v84.js +2 -2
  11. package/adminWww/assets/Objects-DPan0bzw-v84.js +1 -1
  12. package/adminWww/assets/bootstrap-COulQZax-v84.js +2 -2
  13. package/adminWww/css/nexowatt-native-shell.css +12 -1
  14. package/adminWww/index.html +14 -15
  15. package/adminWww/js/eos-role-bootstrap.js +5 -5
  16. package/adminWww/js/eos-role-ui.js +211 -17
  17. package/adminWww/js/nexowatt-native-shell.js +1 -1
  18. package/adminWww/static/js/{nexowatt-stable-v7101.js → nexowatt-stable-v7106.js} +1 -1
  19. package/build/lib/web.js +34 -0
  20. package/build/main.js +13 -15
  21. package/io-package.json +32 -5
  22. package/package.json +11 -10
  23. package/tools/nexowatt-account-password-flow-selftest.cjs +3 -3
  24. package/tools/nexowatt-clean-legacy-runtime.cjs +6 -0
  25. package/tools/nexowatt-internal-reserve-selftest.cjs +1 -1
  26. package/tools/nexowatt-login-layout-selftest.cjs +3 -3
  27. package/tools/nexowatt-merge-update-selftest.cjs +1 -1
  28. package/tools/nexowatt-modern-ui-selftest.cjs +2 -2
  29. package/tools/nexowatt-role-security-selftest.cjs +147 -41
  30. package/tools/nexowatt-runtime-cleanup-selftest.cjs +4 -0
  31. package/tools/nexowatt-stable-v7103-selftest.cjs +4 -4
  32. package/tools/nexowatt-ui-overview-runtime-selftest.cjs +2 -2
  33. package/tools/nexowatt-user-area-selftest.cjs +36 -0
  34. package/tools/nexowatt-validate-package.cjs +9 -8
  35. package/INSTALL_TEST_V7.10.4.md +0 -9
  36. package/MERGE_UPDATE_README_V7.10.4.md +0 -3
  37. package/PUBLISH_STABLE_V7.10.4.md +0 -10
  38. package/README_STABILITY_V7.10.4.md +0 -12
  39. package/RELEASE_ACCEPTANCE_V7.10.4.md +0 -3
  40. package/RELEASE_NOTES_V7.10.4.md +0 -11
  41. package/adminWww/nexowatt-role-security.js +0 -336
  42. package/build/lib/eosRoleSecurity.js +0 -310
  43. package/src-admin/README.md +0 -69
  44. package/src-admin/nexowatt-role-security.js +0 -336
@@ -875,4 +875,4 @@ ${e.toString()}`}}class LL{constructor(e=new Nv,t=!1,i,n=c4e){this._services=e,t
875
875
  `:`\r
876
876
  `),await this._clipboardService.writeText(C)})),n.getOption(104)||_.push(new eu("diff.inline.revertChange",w(118,"Revert this change"),void 0,!0,async()=>{this._editor.revert(this._diff)})),_},autoSelectFirstItem:!0})};this._register(pn(this._diffActions,"mousedown",p=>{if(!p.leftButton)return;const{top:m,height:v}=Xr(this._diffActions),_=Math.floor(u/3);p.preventDefault(),g({x:p.posx,y:m+v+_})})),this._register(n.onMouseMove(p=>{(p.target.type===8||p.target.type===5)&&p.target.detail.viewZoneId===this._getViewZoneId()?(d=this._updateLightBulbPosition(this._marginDomNode,p.event.browserEvent.y,u),this.visibility=!0):this.visibility=!1})),this._register(a3e({domNode:this._deletedCodeDomNode,diffEntry:r,originalModel:this._originalTextModel,renderLinesResult:this._renderLinesResult,clipboardService:c}))}_updateLightBulbPosition(e,t,i){const{top:n}=Xr(e),r=t-n,o=Math.floor(r/i),a=o*i;if(this._diffActions.style.top=`${a}px`,this._renderLinesResult.viewLineCounts){let l=0;for(let h=0;h<this._renderLinesResult.viewLineCounts.length;h++)if(l+=this._renderLinesResult.viewLineCounts[h],o<l)return h}return o}}const HU=Su("diffEditorWidget",{createHTML:s=>s});function h3e(s,e,t,i,n=!1){mn(i,e.fontInfo);const r=t.length>0,o=new Tv(1e4);let a=0,l=0;const h=[],c=[];for(let g=0;g<s.lineTokens.length;g++){const p=g+1,m=s.lineTokens[g],v=s.lineBreakData[g],_=Zr.filter(t,p,1,Number.MAX_SAFE_INTEGER);if(v){let b=0;for(const y of v.breakOffsets){const C=m.sliceAndInflate(b,y,0),x=jU(l,C,Zr.extractWrapped(_,b,y),r,s.mightContainNonBasicASCII,s.mightContainRTL,e,o,n);a=Math.max(a,x.maxCharWidth),c.push(new zU(x.output.characterMapping,x.output.containsForeignElements,b)),l++,b=y}h.push(v.breakOffsets.length)}else{h.push(1);const b=jU(l,m,_,r,s.mightContainNonBasicASCII,s.mightContainRTL,e,o,n);a=Math.max(a,b.maxCharWidth),c.push(new zU(b.output.characterMapping,b.output.containsForeignElements,0)),l++}}a+=e.scrollBeyondLastColumn;const u=o.build(),d=HU?HU.createHTML(u):u;i.innerHTML=d;const f=a*e.typicalHalfwidthCharacterWidth;return new u3e(l,f,h,c,s)}class c3e{constructor(e,t=e.map(r=>null),i=!0,n=!0){this.lineTokens=e,this.lineBreakData=t,this.mightContainNonBasicASCII=i,this.mightContainRTL=n}}class J1{static fromEditor(e){var r;const t=e.getOptions(),i=t.get(59),n=t.get(165);return new J1(((r=e.getModel())==null?void 0:r.getOptions().tabSize)||0,i,t.get(40),i.typicalHalfwidthCharacterWidth,t.get(118),t.get(75),n.decorationsWidth,t.get(133),t.get(113),t.get(108),t.get(60),t.get(117).verticalScrollbarSize)}constructor(e,t,i,n,r,o,a,l,h,c,u,d,f=!0){this.tabSize=e,this.fontInfo=t,this.disableMonospaceOptimizations=i,this.typicalHalfwidthCharacterWidth=n,this.scrollBeyondLastColumn=r,this.lineHeight=o,this.lineDecorationsWidth=a,this.stopRenderingLineAfter=l,this.renderWhitespace=h,this.renderControlCharacters=c,this.fontLigatures=u,this.verticalScrollbarSize=d,this.setWidth=f}withSetWidth(e){return new J1(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,this.scrollBeyondLastColumn,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,e)}withScrollBeyondLastColumn(e){return new J1(this.tabSize,this.fontInfo,this.disableMonospaceOptimizations,this.typicalHalfwidthCharacterWidth,e,this.lineHeight,this.lineDecorationsWidth,this.stopRenderingLineAfter,this.renderWhitespace,this.renderControlCharacters,this.fontLigatures,this.verticalScrollbarSize,this.setWidth)}}class u3e{constructor(e,t,i,n,r){this.heightInLines=e,this.minWidthInPx=t,this.viewLineCounts=i,this._renderOutputs=n,this._source=r}getModelPositionAt(e,t){let i=e;for(;i&&!i.classList.contains("view-line");)i=i.parentElement;if(!i)return;const n=i.parentElement;if(!n)return;const r=n.querySelectorAll(".view-line");let o=-1;for(let u=0;u<r.length;u++)if(r[u]===i){o=u;break}if(o===-1||o>=this._renderOutputs.length)return;let a=1,l=o;for(let u=0;u<this.viewLineCounts.length;u++){if(l<this.viewLineCounts[u]){a=u+1;break}l-=this.viewLineCounts[u]}if(a>this._source.lineTokens.length)return;const h=this._renderOutputs[o];if(!h)return;const c=d0(h.characterMapping,e,t)+h.offset;return new H(a,c)}}class zU extends mx{constructor(e,t,i){super(e,t),this.offset=i}}function jU(s,e,t,i,n,r,o,a,l){a.appendString('<div class="view-line'),!l&&!i&&a.appendString(" char-delete"),a.appendString('" style="top:'),a.appendString(String(s*o.lineHeight)),o.setWidth?a.appendString('px;width:1000000px;">'):a.appendString('px;">');const h=e.getLineContent(),c=Ar.isBasicASCII(h,n),u=Ar.containsRTL(h,c,r),d=jD(new Lg(o.fontInfo.isMonospace&&!o.disableMonospaceOptimizations,o.fontInfo.canUseHalfwidthRightwardsArrow,h,!1,c,u,0,e,t,o.tabSize,0,o.fontInfo.spaceWidth,o.fontInfo.middotWidth,o.fontInfo.wsmiddotWidth,o.stopRenderingLineAfter,o.renderWhitespace,o.renderControlCharacters,o.fontLigatures!==uu.OFF,null,null,o.verticalScrollbarSize),a);a.appendString("</div>");const f=d.characterMapping.getHorizontalOffset(d.characterMapping.length);return{output:d,maxCharWidth:f}}var d3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},UU=function(s,e){return function(t,i){e(t,i,s)}};let MO=class extends q{constructor(e,t,i,n,r,o,a,l,h,c){super(),this._targetWindow=e,this._editors=t,this._diffModel=i,this._options=n,this._diffEditorWidget=r,this._canIgnoreViewZoneUpdateEvent=o,this._origViewZonesToIgnore=a,this._modViewZonesToIgnore=l,this._clipboardService=h,this._contextMenuService=c,this._originalTopPadding=ze(this,0),this._originalScrollOffset=ze(this,0),this._originalScrollOffsetAnimated=AU(this._targetWindow,this._originalScrollOffset,this._store),this._modifiedTopPadding=ze(this,0),this._modifiedScrollOffset=ze(this,0),this._modifiedScrollOffsetAnimated=AU(this._targetWindow,this._modifiedScrollOffset,this._store);const u=ze("invalidateAlignmentsState",0),d=this._register(new Sn(()=>{u.set(u.get()+1,void 0)},0));this._register(this._editors.original.onDidChangeViewZones(b=>{this._canIgnoreViewZoneUpdateEvent()||d.schedule()})),this._register(this._editors.modified.onDidChangeViewZones(b=>{this._canIgnoreViewZoneUpdateEvent()||d.schedule()})),this._register(this._editors.original.onDidChangeConfiguration(b=>{(b.hasChanged(166)||b.hasChanged(75))&&d.schedule()})),this._register(this._editors.modified.onDidChangeConfiguration(b=>{(b.hasChanged(166)||b.hasChanged(75))&&d.schedule()}));const f=this._diffModel.map(b=>b?Qt(this,b.model.original.onDidChangeTokens,()=>b.model.original.tokenization.backgroundTokenizationState===2):void 0).map((b,y)=>b==null?void 0:b.read(y)),g=me(b=>{const y=this._diffModel.read(b),C=y==null?void 0:y.diff.read(b);if(!y||!C)return null;u.read(b);const S=this._options.renderSideBySide.read(b);return $U(this._editors.original,this._editors.modified,C.mappings,this._origViewZonesToIgnore,this._modViewZonesToIgnore,S)}),p=me(b=>{var x;const y=(x=this._diffModel.read(b))==null?void 0:x.movedTextToCompare.read(b);if(!y)return null;u.read(b);const C=y.changes.map(S=>new Fte(S));return $U(this._editors.original,this._editors.modified,C,this._origViewZonesToIgnore,this._modViewZonesToIgnore,!0)});function m(){const b=document.createElement("div");return b.className="diagonal-fill",b}const v=this._register(new he);this.viewZones=me(this,b=>{var K,X,ne,oe;v.clear();const y=g.read(b)||[],C=[],x=[],S=this._modifiedTopPadding.read(b);S>0&&x.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:S,showInHiddenAreas:!0,suppressMouseDown:!0});const k=this._originalTopPadding.read(b);k>0&&C.push({afterLineNumber:0,domNode:document.createElement("div"),heightInPx:k,showInHiddenAreas:!0,suppressMouseDown:!0});const T=this._options.renderSideBySide.read(b),I=T||(K=this._editors.modified._getViewModel())==null?void 0:K.createLineBreaksComputer();if(I){const ue=this._editors.original.getModel();for(const de of y)if(de.diff)for(let De=de.originalRange.startLineNumber;De<de.originalRange.endLineNumberExclusive;De++){if(De>ue.getLineCount())return{orig:C,mod:x};I==null||I.addRequest(ue.getLineContent(De),null,null)}}const N=(I==null?void 0:I.finalize())??[];let A=0;const R=this._editors.modified.getOption(75),P=(X=this._diffModel.read(b))==null?void 0:X.movedTextToCompare.read(b),B=((ne=this._editors.original.getModel())==null?void 0:ne.mightContainNonBasicASCII())??!1,z=((oe=this._editors.original.getModel())==null?void 0:oe.mightContainRTL())??!1,U=J1.fromEditor(this._editors.modified);for(const ue of y)if(ue.diff&&!T&&(!this._options.useTrueInlineDiffRendering.read(b)||!m7(ue.diff))){if(!ue.originalRange.isEmpty){f.read(b);const De=document.createElement("div");De.classList.add("view-lines","line-delete","line-delete-selectable","monaco-mouse-cursor-text");const Q=this._editors.original.getModel();if(ue.originalRange.endLineNumberExclusive-1>Q.getLineCount())return{orig:C,mod:x};const Xe=new c3e(ue.originalRange.mapToLineArray(ge=>Q.tokenization.getLineTokens(ge)),ue.originalRange.mapToLineArray(ge=>N[A++]),B,z),Pe=[];for(const ge of ue.diff.innerChanges||[])Pe.push(new V1(ge.originalRange.delta(-(ue.diff.original.startLineNumber-1)),DO.className,0));const tt=h3e(Xe,U,Pe,De),st=document.createElement("div");if(st.className="inline-deleted-margin-view-zone",mn(st,U.fontInfo),this._options.renderIndicators.read(b))for(let ge=0;ge<tt.heightInLines;ge++){const Oe=document.createElement("div");Oe.className=`delete-sign ${Je.asClassName(Rte)}`,Oe.setAttribute("style",`position:absolute;top:${ge*R}px;width:${U.lineDecorationsWidth}px;height:${R}px;right:0;`),st.appendChild(Oe)}let ve;v.add(new l3e(()=>nX(ve),st,De,this._editors.modified,ue.diff,this._diffEditorWidget,tt,this._editors.original.getModel(),this._contextMenuService,this._clipboardService));for(let ge=0;ge<tt.viewLineCounts.length;ge++){const Oe=tt.viewLineCounts[ge];Oe>1&&C.push({afterLineNumber:ue.originalRange.startLineNumber+ge,domNode:m(),heightInPx:(Oe-1)*R,showInHiddenAreas:!0,suppressMouseDown:!0})}x.push({afterLineNumber:ue.modifiedRange.startLineNumber-1,domNode:De,heightInPx:tt.heightInLines*R,minWidthInPx:tt.minWidthInPx,marginDomNode:st,setZoneId(ge){ve=ge},showInHiddenAreas:!0,suppressMouseDown:!1})}const de=document.createElement("div");de.className="gutter-delete",C.push({afterLineNumber:ue.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:ue.modifiedHeightInPx,marginDomNode:de,showInHiddenAreas:!0,suppressMouseDown:!0})}else{const de=ue.modifiedHeightInPx-ue.originalHeightInPx;if(de>0){if(P!=null&&P.lineRangeMapping.original.delta(-1).deltaLength(2).contains(ue.originalRange.endLineNumberExclusive-1))continue;C.push({afterLineNumber:ue.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:de,showInHiddenAreas:!0,suppressMouseDown:!0})}else{let De=function(){const Xe=document.createElement("div");return Xe.className="arrow-revert-change "+Je.asClassName(re.arrowRight),b.store.add(j(Xe,"mousedown",Pe=>Pe.stopPropagation())),b.store.add(j(Xe,"click",Pe=>{Pe.stopPropagation(),r.revert(ue.diff)})),Le("div",{},Xe)};if(P!=null&&P.lineRangeMapping.modified.delta(-1).deltaLength(2).contains(ue.modifiedRange.endLineNumberExclusive-1))continue;let Q;ue.diff&&ue.diff.modified.isEmpty&&this._options.shouldRenderOldRevertArrows.read(b)&&(Q=De()),x.push({afterLineNumber:ue.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-de,marginDomNode:Q,showInHiddenAreas:!0,suppressMouseDown:!0})}}for(const ue of p.read(b)??[]){if(!(P!=null&&P.lineRangeMapping.original.intersect(ue.originalRange))||!(P!=null&&P.lineRangeMapping.modified.intersect(ue.modifiedRange)))continue;const de=ue.modifiedHeightInPx-ue.originalHeightInPx;de>0?C.push({afterLineNumber:ue.originalRange.endLineNumberExclusive-1,domNode:m(),heightInPx:de,showInHiddenAreas:!0,suppressMouseDown:!0}):x.push({afterLineNumber:ue.modifiedRange.endLineNumberExclusive-1,domNode:m(),heightInPx:-de,showInHiddenAreas:!0,suppressMouseDown:!0})}return{orig:C,mod:x}});let _=!1;this._register(this._editors.original.onDidScrollChange(b=>{b.scrollLeftChanged&&!_&&(_=!0,this._editors.modified.setScrollLeft(b.scrollLeft),_=!1)})),this._register(this._editors.modified.onDidScrollChange(b=>{b.scrollLeftChanged&&!_&&(_=!0,this._editors.original.setScrollLeft(b.scrollLeft),_=!1)})),this._originalScrollTop=Qt(this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Qt(this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._register(Qe(b=>{const y=this._originalScrollTop.read(b)-(this._originalScrollOffsetAnimated.read(void 0)-this._modifiedScrollOffsetAnimated.read(b))-(this._originalTopPadding.read(void 0)-this._modifiedTopPadding.read(b));y!==this._editors.modified.getScrollTop()&&this._editors.modified.setScrollTop(y,1)})),this._register(Qe(b=>{const y=this._modifiedScrollTop.read(b)-(this._modifiedScrollOffsetAnimated.read(void 0)-this._originalScrollOffsetAnimated.read(b))-(this._modifiedTopPadding.read(void 0)-this._originalTopPadding.read(b));y!==this._editors.original.getScrollTop()&&this._editors.original.setScrollTop(y,1)})),this._register(Qe(b=>{var x;const y=(x=this._diffModel.read(b))==null?void 0:x.movedTextToCompare.read(b);let C=0;if(y){const S=this._editors.original.getTopForLineNumber(y.lineRangeMapping.original.startLineNumber,!0)-this._originalTopPadding.read(void 0);C=this._editors.modified.getTopForLineNumber(y.lineRangeMapping.modified.startLineNumber,!0)-this._modifiedTopPadding.read(void 0)-S}C>0?(this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(C,void 0)):C<0?(this._modifiedTopPadding.set(-C,void 0),this._originalTopPadding.set(0,void 0)):setTimeout(()=>{this._modifiedTopPadding.set(0,void 0),this._originalTopPadding.set(0,void 0)},400),this._editors.modified.hasTextFocus()?this._originalScrollOffset.set(this._modifiedScrollOffset.read(void 0)-C,void 0,!0):this._modifiedScrollOffset.set(this._originalScrollOffset.read(void 0)+C,void 0,!0)}))}};MO=d3e([UU(8,c7),UU(9,Jh)],MO);function $U(s,e,t,i,n,r){const o=new Uh(GU(s,i)),a=new Uh(GU(e,n)),l=s.getOption(75),h=e.getOption(75),c=[];let u=0,d=0;function f(g,p){for(;;){let m=o.peek(),v=a.peek();if(m&&m.lineNumber>=g&&(m=void 0),v&&v.lineNumber>=p&&(v=void 0),!m&&!v)break;const _=m?m.lineNumber-u:Number.MAX_VALUE,b=v?v.lineNumber-d:Number.MAX_VALUE;_<b?(o.dequeue(),v={lineNumber:m.lineNumber-u+d,heightInPx:0}):_>b?(a.dequeue(),m={lineNumber:v.lineNumber-d+u,heightInPx:0}):(o.dequeue(),a.dequeue()),c.push({originalRange:Ee.ofLength(m.lineNumber,1),modifiedRange:Ee.ofLength(v.lineNumber,1),originalHeightInPx:l+m.heightInPx,modifiedHeightInPx:h+v.heightInPx,diff:void 0})}}for(const g of t){let b=function(y,C,x=!1){var N,A;if(y<_||C<v)return;if(m)m=!1;else if(!x&&(y===_||C===v))return;const S=new Ee(_,y),k=new Ee(v,C);if(S.isEmpty&&k.isEmpty)return;const T=((N=o.takeWhile(R=>R.lineNumber<y))==null?void 0:N.reduce((R,P)=>R+P.heightInPx,0))??0,I=((A=a.takeWhile(R=>R.lineNumber<C))==null?void 0:A.reduce((R,P)=>R+P.heightInPx,0))??0;c.push({originalRange:S,modifiedRange:k,originalHeightInPx:S.length*l+T,modifiedHeightInPx:k.length*h+I,diff:g.lineRangeMapping}),_=y,v=C};const p=g.lineRangeMapping;f(p.original.startLineNumber,p.modified.startLineNumber);let m=!0,v=p.modified.startLineNumber,_=p.original.startLineNumber;if(r)for(const y of p.innerChanges||[]){y.originalRange.startColumn>1&&y.modifiedRange.startColumn>1&&b(y.originalRange.startLineNumber,y.modifiedRange.startLineNumber);const C=s.getModel(),x=y.originalRange.endLineNumber<=C.getLineCount()?C.getLineMaxColumn(y.originalRange.endLineNumber):Number.MAX_SAFE_INTEGER;y.originalRange.endColumn<x&&b(y.originalRange.endLineNumber,y.modifiedRange.endLineNumber)}b(p.original.endLineNumberExclusive,p.modified.endLineNumberExclusive,!0),u=p.original.endLineNumberExclusive,d=p.modified.endLineNumberExclusive}return f(Number.MAX_VALUE,Number.MAX_VALUE),c}function GU(s,e){const t=[],i=[],n=s.getOption(166).wrappingColumn!==-1,r=s._getViewModel().coordinatesConverter,o=s.getOption(75);if(n)for(let l=1;l<=s.getModel().getLineCount();l++){const h=r.getModelLineViewLineCount(l);h>1&&i.push({lineNumber:l,heightInPx:o*(h-1)})}for(const l of s.getWhitespaces()){if(e.has(l.id))continue;const h=l.afterLineNumber===0?0:r.convertViewPositionToModelPosition(new H(l.afterLineNumber,1)).lineNumber;t.push({lineNumber:h,heightInPx:l.height})}return R4e(t,i,l=>l.lineNumber,(l,h)=>({lineNumber:l.lineNumber,heightInPx:l.heightInPx+h.heightInPx}))}function m7(s){return s.innerChanges?s.innerChanges.every(e=>qU(e.modifiedRange)&&qU(e.originalRange)||e.originalRange.equalsRange(new F(1,1,1,1))):!1}function qU(s){return s.startLineNumber===s.endLineNumber}const fb=class fb extends q{constructor(e,t,i,n,r){super(),this._rootElement=e,this._diffModel=t,this._originalEditorLayoutInfo=i,this._modifiedEditorLayoutInfo=n,this._editors=r,this._originalScrollTop=Qt(this,this._editors.original.onDidScrollChange,()=>this._editors.original.getScrollTop()),this._modifiedScrollTop=Qt(this,this._editors.modified.onDidScrollChange,()=>this._editors.modified.getScrollTop()),this._viewZonesChanged=Do("onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this.width=ze(this,0),this._modifiedViewZonesChangedSignal=Do("modified.onDidChangeViewZones",this._editors.modified.onDidChangeViewZones),this._originalViewZonesChangedSignal=Do("original.onDidChangeViewZones",this._editors.original.onDidChangeViewZones),this._state=me(this,c=>{var x;this._element.replaceChildren();const u=this._diffModel.read(c),d=(x=u==null?void 0:u.diff.read(c))==null?void 0:x.movedTexts;if(!d||d.length===0){this.width.set(0,void 0);return}this._viewZonesChanged.read(c);const f=this._originalEditorLayoutInfo.read(c),g=this._modifiedEditorLayoutInfo.read(c);if(!f||!g){this.width.set(0,void 0);return}this._modifiedViewZonesChangedSignal.read(c),this._originalViewZonesChangedSignal.read(c);const p=d.map(S=>{function k(U,K){const X=K.getTopForLineNumber(U.startLineNumber,!0),ne=K.getTopForLineNumber(U.endLineNumberExclusive,!0);return(X+ne)/2}const T=k(S.lineRangeMapping.original,this._editors.original),I=this._originalScrollTop.read(c),N=k(S.lineRangeMapping.modified,this._editors.modified),A=this._modifiedScrollTop.read(c),R=T-I,P=N-A,B=Math.min(T,N),z=Math.max(T,N);return{range:new _e(B,z),from:R,to:P,fromWithoutScroll:T,toWithoutScroll:N,move:S}});p.sort($me(Ir(S=>S.fromWithoutScroll>S.toWithoutScroll,Gme),Ir(S=>S.fromWithoutScroll>S.toWithoutScroll?S.fromWithoutScroll:-S.toWithoutScroll,Fh)));const m=v7.compute(p.map(S=>S.range)),v=10,_=f.verticalScrollbarWidth,b=(m.getTrackCount()-1)*10+v*2,y=_+b+(g.contentLeft-fb.movedCodeBlockPadding);let C=0;for(const S of p){const k=m.getTrack(C),T=_+v+k*10,I=15,N=15,A=y,R=g.glyphMarginWidth+g.lineNumbersWidth,P=18,B=document.createElementNS("http://www.w3.org/2000/svg","rect");B.classList.add("arrow-rectangle"),B.setAttribute("x",`${A-R}`),B.setAttribute("y",`${S.to-P/2}`),B.setAttribute("width",`${R}`),B.setAttribute("height",`${P}`),this._element.appendChild(B);const z=document.createElementNS("http://www.w3.org/2000/svg","g"),U=document.createElementNS("http://www.w3.org/2000/svg","path");U.setAttribute("d",`M 0 ${S.from} L ${T} ${S.from} L ${T} ${S.to} L ${A-N} ${S.to}`),U.setAttribute("fill","none"),z.appendChild(U);const K=document.createElementNS("http://www.w3.org/2000/svg","polygon");K.classList.add("arrow"),c.store.add(Qe(X=>{U.classList.toggle("currentMove",S.move===u.activeMovedText.read(X)),K.classList.toggle("currentMove",S.move===u.activeMovedText.read(X))})),K.setAttribute("points",`${A-N},${S.to-I/2} ${A},${S.to} ${A-N},${S.to+I/2}`),z.appendChild(K),this._element.appendChild(z),C++}this.width.set(b,void 0)}),this._element=document.createElementNS("http://www.w3.org/2000/svg","svg"),this._element.setAttribute("class","moved-blocks-lines"),this._rootElement.appendChild(this._element),this._register(Se(()=>this._element.remove())),this._register(Qe(c=>{const u=this._originalEditorLayoutInfo.read(c),d=this._modifiedEditorLayoutInfo.read(c);!u||!d||(this._element.style.left=`${u.width-u.verticalScrollbarWidth}px`,this._element.style.height=`${u.height}px`,this._element.style.width=`${u.verticalScrollbarWidth+u.contentLeft-fb.movedCodeBlockPadding+this.width.read(c)}px`)})),this._register(xD(this._state));const o=me(c=>{const u=this._diffModel.read(c),d=u==null?void 0:u.diff.read(c);return d?d.movedTexts.map(f=>({move:f,original:new Kp(M0(f.lineRangeMapping.original.startLineNumber-1),18),modified:new Kp(M0(f.lineRangeMapping.modified.startLineNumber-1),18)})):[]});this._register(EL(this._editors.original,o.map(c=>c.map(u=>u.original)))),this._register(EL(this._editors.modified,o.map(c=>c.map(u=>u.modified)))),this._register(fa((c,u)=>{const d=o.read(c);for(const f of d)u.add(new KU(this._editors.original,f.original,f.move,"original",this._diffModel.get())),u.add(new KU(this._editors.modified,f.modified,f.move,"modified",this._diffModel.get()))}));const a=Do("original.onDidFocusEditorWidget",c=>this._editors.original.onDidFocusEditorWidget(()=>setTimeout(()=>c(void 0),0))),l=Do("modified.onDidFocusEditorWidget",c=>this._editors.modified.onDidFocusEditorWidget(()=>setTimeout(()=>c(void 0),0)));let h="modified";this._register(Dv({changeTracker:{createChangeSummary:()=>{},handleChange:(c,u)=>(c.didChange(a)&&(h="original"),c.didChange(l)&&(h="modified"),!0)}},c=>{a.read(c),l.read(c);const u=this._diffModel.read(c);if(!u)return;const d=u.diff.read(c);let f;if(d&&h==="original"){const g=this._editors.originalCursor.read(c);g&&(f=d.movedTexts.find(p=>p.lineRangeMapping.original.contains(g.lineNumber)))}if(d&&h==="modified"){const g=this._editors.modifiedCursor.read(c);g&&(f=d.movedTexts.find(p=>p.lineRangeMapping.modified.contains(g.lineNumber)))}f!==u.movedTextToCompare.read(void 0)&&u.movedTextToCompare.set(void 0,void 0),u.setActiveMovedText(f)}))}};fb.movedCodeBlockPadding=4;let Pm=fb;class v7{static compute(e){const t=[],i=[];for(const n of e){let r=t.findIndex(o=>!o.intersectsStrict(n));r===-1&&(t.length>=6?r=Fwe(t,Ir(a=>a.intersectWithRangeLength(n),Fh)):(r=t.length,t.push(new N3))),t[r].addRange(n),i.push(r)}return new v7(t.length,i)}constructor(e,t){this._trackCount=e,this.trackPerLineIdx=t}getTrack(e){return this.trackPerLineIdx[e]}getTrackCount(){return this._trackCount}}class KU extends d7{constructor(e,t,i,n,r){const o=ot("div.diff-hidden-lines-widget");super(e,t,o.root),this._editor=e,this._move=i,this._kind=n,this._diffModel=r,this._nodes=ot("div.diff-moved-code-block",{style:{marginRight:"4px"}},[ot("div.text-content@textContent"),ot("div.action-bar@actionBar")]),o.root.appendChild(this._nodes.root);const a=Qt(this._editor.onDidLayoutChange,()=>this._editor.getLayoutInfo());this._register(_u(this._nodes.root,{paddingRight:a.map(d=>d.verticalScrollbarWidth)}));let l;i.changes.length>0?l=this._kind==="original"?w(131,"Code moved with changes to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):w(132,"Code moved with changes from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1):l=this._kind==="original"?w(133,"Code moved to line {0}-{1}",this._move.lineRangeMapping.modified.startLineNumber,this._move.lineRangeMapping.modified.endLineNumberExclusive-1):w(134,"Code moved from line {0}-{1}",this._move.lineRangeMapping.original.startLineNumber,this._move.lineRangeMapping.original.endLineNumberExclusive-1);const h=this._register(new pl(this._nodes.actionBar,{highlightToggledItems:!0})),c=new eu("",l,"",!1);h.push(c,{icon:!1,label:!0});const u=new eu("","Compare",Je.asClassName(re.compareChanges),!0,()=>{this._editor.focus(),this._diffModel.movedTextToCompare.set(this._diffModel.movedTextToCompare.get()===i?void 0:this._move,void 0)});this._register(Qe(d=>{const f=this._diffModel.movedTextToCompare.read(d)===i;u.checked=f})),h.push(u,{icon:!1,label:!0})}}class f3e extends q{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._decorations=me(this,r=>{const o=this._diffModel.read(r),a=o==null?void 0:o.diff.read(r);if(!a)return null;const l=this._diffModel.read(r).movedTextToCompare.read(r),h=this._options.renderIndicators.read(r),c=this._options.showEmptyDecorations.read(r),u=[],d=[];if(!l)for(const g of a.mappings)if(g.lineRangeMapping.original.isEmpty||u.push({range:g.lineRangeMapping.original.toInclusiveRange(),options:h?FU:VU}),g.lineRangeMapping.modified.isEmpty||d.push({range:g.lineRangeMapping.modified.toInclusiveRange(),options:h?OU:BU}),g.lineRangeMapping.modified.isEmpty||g.lineRangeMapping.original.isEmpty)g.lineRangeMapping.original.isEmpty||u.push({range:g.lineRangeMapping.original.toInclusiveRange(),options:J4e}),g.lineRangeMapping.modified.isEmpty||d.push({range:g.lineRangeMapping.modified.toInclusiveRange(),options:Z4e});else{const p=this._options.useTrueInlineDiffRendering.read(r)&&m7(g.lineRangeMapping);for(const m of g.lineRangeMapping.innerChanges||[])if(g.lineRangeMapping.original.contains(m.originalRange.startLineNumber)&&u.push({range:m.originalRange,options:m.originalRange.isEmpty()&&c?e3e:DO}),g.lineRangeMapping.modified.contains(m.modifiedRange.startLineNumber)&&d.push({range:m.modifiedRange,options:m.modifiedRange.isEmpty()&&c&&!p?Q4e:WU}),p){const v=o.model.original.getValueInRange(m.originalRange);d.push({range:m.modifiedRange,options:{description:"deleted-text",before:{content:v,inlineClassName:"inline-deleted-text"},zIndex:1e5,showIfCollapsed:!0}})}}if(l)for(const g of l.changes){const p=g.original.toInclusiveRange();p&&u.push({range:p,options:h?FU:VU});const m=g.modified.toInclusiveRange();m&&d.push({range:m,options:h?OU:BU});for(const v of g.innerChanges||[])u.push({range:v.originalRange,options:DO}),d.push({range:v.modifiedRange,options:WU})}const f=this._diffModel.read(r).activeMovedText.read(r);for(const g of a.movedTexts)u.push({range:g.lineRangeMapping.original.toInclusiveRange(),options:{description:"moved",blockClassName:"movedOriginal"+(g===f?" currentMove":""),blockPadding:[Pm.movedCodeBlockPadding,0,Pm.movedCodeBlockPadding,Pm.movedCodeBlockPadding]}}),d.push({range:g.lineRangeMapping.modified.toInclusiveRange(),options:{description:"moved",blockClassName:"movedModified"+(g===f?" currentMove":""),blockPadding:[4,0,4,4]}});return{originalDecorations:u,modifiedDecorations:d}}),this._register(IL(this._editors.original,this._decorations.map(r=>(r==null?void 0:r.originalDecorations)||[]))),this._register(IL(this._editors.modified,this._decorations.map(r=>(r==null?void 0:r.modifiedDecorations)||[])))}}class ra{static equals(e,t){return e.x===t.x&&e.y===t.y}constructor(e,t){this.x=e,this.y=t}add(e){return new ra(this.x+e.x,this.y+e.y)}deltaX(e){return new ra(this.x+e,this.y)}deltaY(e){return new ra(this.x,this.y+e)}toString(){return`(${this.x},${this.y})`}subtract(e){return new ra(this.x-e.x,this.y-e.y)}scale(e){return new ra(this.x*e,this.y*e)}mapComponents(e){return new ra(e(this.x),e(this.y))}isZero(){return this.x===0&&this.y===0}withThreshold(e){return this.mapComponents(t=>t>e?t-e:t<-e?t+e:0)}}function hf(s){return AO.get(s)}const xc=class xc extends q{static get(e){let t=xc._map.get(e);if(!t){t=new xc(e),xc._map.set(e,t);const i=e.onDidDispose(()=>{const n=xc._map.get(e);n&&(xc._map.delete(e),n.dispose(),i.dispose())})}return t}_beginUpdate(){this._updateCounter++,this._updateCounter===1&&(this._currentTransaction=new gw(()=>{}))}_endUpdate(){if(this._updateCounter--,this._updateCounter===0){const e=this._currentTransaction;this._currentTransaction=void 0,e.finish()}}constructor(e){var t;super(),this.editor=e,this._updateCounter=0,this._currentTransaction=void 0,this._model=ze(this,this.editor.getModel()),this.model=this._model,this.isReadonly=Qt(this,this.editor.onDidChangeConfiguration,()=>this.editor.getOption(104)),this._versionId=R1({owner:this,lazy:!0},((t=this.editor.getModel())==null?void 0:t.getVersionId())??null),this.versionId=this._versionId,this._selections=R1({owner:this,equalsFn:j_(lA(nt.selectionsEqual)),lazy:!0},this.editor.getSelections()??null),this.selections=this._selections,this.positions=dl({owner:this,equalsFn:j_(lA(H.equals))},i=>{var n;return((n=this.selections.read(i))==null?void 0:n.map(r=>r.getStartPosition()))??null}),this.isFocused=Qt(this,i=>{const n=this.editor.onDidFocusEditorWidget(i),r=this.editor.onDidBlurEditorWidget(i);return{dispose(){n.dispose(),r.dispose()}}},()=>this.editor.hasWidgetFocus()),this.isTextFocused=Qt(this,i=>{const n=this.editor.onDidFocusEditorText(i),r=this.editor.onDidBlurEditorText(i);return{dispose(){n.dispose(),r.dispose()}}},()=>this.editor.hasTextFocus()),this.inComposition=Qt(this,i=>{const n=this.editor.onDidCompositionStart(()=>{i(void 0)}),r=this.editor.onDidCompositionEnd(()=>{i(void 0)});return{dispose(){n.dispose(),r.dispose()}}},()=>this.editor.inComposition),this.value=g3(this,i=>{var n;return this.versionId.read(i),((n=this.model.read(i))==null?void 0:n.getValue())??""},(i,n)=>{const r=this.model.get();r!==null&&i!==r.getValue()&&r.setValue(i)}),this.valueIsEmpty=me(this,i=>{var n;return this.versionId.read(i),((n=this.editor.getModel())==null?void 0:n.getValueLength())===0}),this.cursorSelection=dl({owner:this,equalsFn:j_(nt.selectionsEqual)},i=>{var n;return((n=this.selections.read(i))==null?void 0:n[0])??null}),this.cursorPosition=dl({owner:this,equalsFn:H.equals},i=>{var n,r;return((r=(n=this.selections.read(i))==null?void 0:n[0])==null?void 0:r.getPosition())??null}),this.cursorLineNumber=me(this,i=>{var n;return((n=this.cursorPosition.read(i))==null?void 0:n.lineNumber)??null}),this.onDidType=C0(this),this.onDidPaste=C0(this),this.scrollTop=Qt(this.editor.onDidScrollChange,()=>this.editor.getScrollTop()),this.scrollLeft=Qt(this.editor.onDidScrollChange,()=>this.editor.getScrollLeft()),this.layoutInfo=Qt(this.editor.onDidLayoutChange,()=>this.editor.getLayoutInfo()),this.layoutInfoContentLeft=this.layoutInfo.map(i=>i.contentLeft),this.layoutInfoDecorationsLeft=this.layoutInfo.map(i=>i.decorationsLeft),this.layoutInfoWidth=this.layoutInfo.map(i=>i.width),this.layoutInfoHeight=this.layoutInfo.map(i=>i.height),this.layoutInfoMinimap=this.layoutInfo.map(i=>i.minimap),this.layoutInfoVerticalScrollbarWidth=this.layoutInfo.map(i=>i.verticalScrollbarWidth),this.contentWidth=Qt(this.editor.onDidContentSizeChange,()=>this.editor.getContentWidth()),this.contentHeight=Qt(this.editor.onDidContentSizeChange,()=>this.editor.getContentHeight()),this._widgetCounter=0,this.openedPeekWidgets=ze(this,0),this._register(this.editor.onBeginUpdate(()=>this._beginUpdate())),this._register(this.editor.onEndUpdate(()=>this._endUpdate())),this._register(this.editor.onDidChangeModel(()=>{this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidType(i=>{this._beginUpdate();try{this._forceUpdate(),this.onDidType.trigger(this._currentTransaction,i)}finally{this._endUpdate()}})),this._register(this.editor.onDidPaste(i=>{this._beginUpdate();try{this._forceUpdate(),this.onDidPaste.trigger(this._currentTransaction,i)}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeModelContent(i=>{var n;this._beginUpdate();try{this._versionId.set(((n=this.editor.getModel())==null?void 0:n.getVersionId())??null,this._currentTransaction,i),this._forceUpdate()}finally{this._endUpdate()}})),this._register(this.editor.onDidChangeCursorSelection(i=>{this._beginUpdate();try{this._selections.set(this.editor.getSelections(),this._currentTransaction,i),this._forceUpdate()}finally{this._endUpdate()}})),this.domNode=me(i=>(this.model.read(i),this.editor.getDomNode()))}forceUpdate(e){this._beginUpdate();try{return this._forceUpdate(),e?e(this._currentTransaction):void 0}finally{this._endUpdate()}}_forceUpdate(){var e;this._beginUpdate();try{this._model.set(this.editor.getModel(),this._currentTransaction),this._versionId.set(((e=this.editor.getModel())==null?void 0:e.getVersionId())??null,this._currentTransaction,void 0),this._selections.set(this.editor.getSelections(),this._currentTransaction,void 0)}finally{this._endUpdate()}}getOption(e,t=Dn.ofCaller()){return Qt(this,i=>this.editor.onDidChangeConfiguration(n=>{n.hasChanged(e)&&i(void 0)}),()=>this.editor.getOption(e),t)}setDecorations(e){const t=new he,i=this.editor.createDecorationsCollection();return t.add(p3({owner:this,debugName:()=>`Apply decorations from ${e.debugName}`},n=>{const r=e.read(n);i.set(r)})),t.add({dispose:()=>{i.clear()}}),t}createOverlayWidget(e){const t="observableOverlayWidget"+this._widgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow,getMinContentWidthInPx:()=>e.minContentWidthInPx.get()};this.editor.addOverlayWidget(i);const n=Qe(r=>{e.position.read(r),e.minContentWidthInPx.read(r),this.editor.layoutOverlayWidget(i)});return Se(()=>{n.dispose(),this.editor.removeOverlayWidget(i)})}createContentWidget(e){const t="observableContentWidget"+this._widgetCounter++,i={getDomNode:()=>e.domNode,getPosition:()=>e.position.get(),getId:()=>t,allowEditorOverflow:e.allowEditorOverflow};this.editor.addContentWidget(i);const n=Qe(r=>{e.position.read(r),this.editor.layoutContentWidget(i)});return Se(()=>{n.dispose(),this.editor.removeContentWidget(i)})}observeLineOffsetRange(e,t){const i=this.observePosition(e.map(r=>new H(r.startLineNumber,1)),t),n=this.observePosition(e.map(r=>new H(r.endLineNumberExclusive+1,1)),t);return me(r=>{var c;i.read(r),n.read(r);const o=e.read(r),a=(c=this.model.read(r))==null?void 0:c.getLineCount(),l=(typeof a<"u"&&o.startLineNumber>a?this.editor.getBottomForLineNumber(a):this.editor.getTopForLineNumber(o.startLineNumber))-this.scrollTop.read(r),h=o.isEmpty?l:this.editor.getBottomForLineNumber(o.endLineNumberExclusive-1)-this.scrollTop.read(r);return new _e(l,h)})}observePosition(e,t){let i=e.get();const n=R1({owner:this,debugName:()=>`topLeftOfPosition${i==null?void 0:i.toString()}`,equalsFn:j_(ra.equals)},new ra(0,0)),r="observablePositionWidget"+this._widgetCounter++,o=document.createElement("div"),a={getDomNode:()=>o,getPosition:()=>i?{preference:[0],position:e.get()}:null,getId:()=>r,allowEditorOverflow:!1,afterRender:(l,h)=>{const c=this._model.get();c&&i&&i.lineNumber>c.getLineCount()?n.set(new ra(0,this.editor.getBottomForLineNumber(c.getLineCount())-this.scrollTop.get()),void 0):n.set(h?new ra(h.left,h.top):null,void 0)}};return this.editor.addContentWidget(a),t.add(Qe(l=>{i=e.read(l),this.editor.layoutContentWidget(a)})),t.add(Se(()=>{this.editor.removeContentWidget(a)})),n}isTargetHovered(e,t){const i=ze("isInjectedTextHovered",!1);return t.add(this.editor.onMouseMove(n=>{const r=e(n);i.set(r,void 0)})),t.add(this.editor.onMouseLeave(n=>{i.set(!1,void 0)})),i}observeLineHeightForPosition(e){return me(t=>{const i=e instanceof H?e:e.read(t);return i===null?null:(this.getOption(75).read(t),this.editor.getLineHeightForPosition(i))})}observeLineHeightForLine(e){return typeof e=="number"?this.observeLineHeightForPosition(new H(e,1)):me(t=>{const i=e.read(t);return i===null?null:this.observeLineHeightForPosition(new H(i,1)).read(t)})}observeLineHeightsForLineRange(e){return me(t=>{const i=e instanceof Ee?e:e.read(t),n=[];for(let r=i.startLineNumber;r<i.endLineNumberExclusive;r++)n.push(this.observeLineHeightForLine(r).read(t));return n})}};xc._map=new Map;let AO=xc;var g3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},p3e=function(s,e){return function(t,i){e(t,i,s)}},qo,Rh;let j0=(Rh=class extends q{constructor(e,t,i,n,r,o,a){super(),this._editors=e,this._rootElement=t,this._diffModel=i,this._rootWidth=n,this._rootHeight=r,this._modifiedEditorLayoutInfo=o,this._themeService=a,this.width=qo.ENTIRE_DIFF_OVERVIEW_WIDTH;const l=Qt(this._themeService.onDidColorThemeChange,()=>this._themeService.getColorTheme()),h=me(d=>{const f=l.read(d),g=f.getColor(FCe)||(f.getColor(PCe)||$A).transparent(2),p=f.getColor(BCe)||(f.getColor(OCe)||GA).transparent(2);return{insertColor:g,removeColor:p}}),c=ht(document.createElement("div"));c.setClassName("diffViewport"),c.setPosition("absolute");const u=ot("div.diffOverview",{style:{position:"absolute",top:"0px",width:qo.ENTIRE_DIFF_OVERVIEW_WIDTH+"px"}}).root;this._register(J_(u,c.domNode)),this._register(pn(u,te.POINTER_DOWN,d=>{this._editors.modified.delegateVerticalScrollbarPointerDown(d)})),this._register(j(u,te.MOUSE_WHEEL,d=>{this._editors.modified.delegateScrollFromMouseWheelEvent(d)},{passive:!1})),this._register(J_(this._rootElement,u)),this._register(fa((d,f)=>{const g=this._diffModel.read(d),p=this._editors.original.createOverviewRuler("original diffOverviewRuler");p&&(f.add(p),f.add(J_(u,p.getDomNode())));const m=this._editors.modified.createOverviewRuler("modified diffOverviewRuler");if(m&&(f.add(m),f.add(J_(u,m.getDomNode()))),!p||!m)return;const v=Do("viewZoneChanged",this._editors.original.onDidChangeViewZones),_=Do("viewZoneChanged",this._editors.modified.onDidChangeViewZones),b=Do("hiddenRangesChanged",this._editors.original.onDidChangeHiddenAreas),y=Do("hiddenRangesChanged",this._editors.modified.onDidChangeHiddenAreas);f.add(Qe(C=>{var N;v.read(C),_.read(C),b.read(C),y.read(C);const x=h.read(C),S=(N=g==null?void 0:g.diff.read(C))==null?void 0:N.mappings;function k(A,R,P){const B=P._getViewModel();return B?A.filter(z=>z.length>0).map(z=>{const U=B.coordinatesConverter.convertModelPositionToViewPosition(new H(z.startLineNumber,1)),K=B.coordinatesConverter.convertModelPositionToViewPosition(new H(z.endLineNumberExclusive,1)),X=K.lineNumber-U.lineNumber;return new QQ(U.lineNumber,K.lineNumber,X,R.toString())}):[]}const T=k((S||[]).map(A=>A.lineRangeMapping.original),x.removeColor,this._editors.original),I=k((S||[]).map(A=>A.lineRangeMapping.modified),x.insertColor,this._editors.modified);p==null||p.setZones(T),m==null||m.setZones(I)})),f.add(Qe(C=>{const x=this._rootHeight.read(C),S=this._rootWidth.read(C),k=this._modifiedEditorLayoutInfo.read(C);if(k){const T=qo.ENTIRE_DIFF_OVERVIEW_WIDTH-2*qo.ONE_OVERVIEW_WIDTH;p.setLayout({top:0,height:x,right:T+qo.ONE_OVERVIEW_WIDTH,width:qo.ONE_OVERVIEW_WIDTH}),m.setLayout({top:0,height:x,right:0,width:qo.ONE_OVERVIEW_WIDTH});const I=this._editors.modifiedScrollTop.read(C),N=this._editors.modifiedScrollHeight.read(C),A=this._editors.modified.getOption(117),R=new cv(A.verticalHasArrows?A.arrowSize:0,A.verticalScrollbarSize,0,k.height,N,I);c.setTop(R.getSliderPosition()),c.setHeight(R.getSliderSize())}else c.setTop(0),c.setHeight(0);u.style.height=x+"px",u.style.left=S-qo.ENTIRE_DIFF_OVERVIEW_WIDTH+"px",c.setWidth(qo.ENTIRE_DIFF_OVERVIEW_WIDTH)}))}))}},qo=Rh,Rh.ONE_OVERVIEW_WIDTH=15,Rh.ENTIRE_DIFF_OVERVIEW_WIDTH=Rh.ONE_OVERVIEW_WIDTH*2,Rh);j0=qo=g3e([p3e(6,tr)],j0);var m3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},yE=function(s,e){return function(t,i){e(t,i,s)}};let RO=class extends q{get onDidContentSizeChange(){return this._onDidContentSizeChange.event}constructor(e,t,i,n,r,o,a,l){super(),this.originalEditorElement=e,this.modifiedEditorElement=t,this._options=i,this._argCodeEditorWidgetOptions=n,this._createInnerEditor=r,this._contextKeyService=o,this._instantiationService=a,this._keybindingService=l,this.original=this._register(this._createLeftHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.originalEditor||{})),this.modified=this._register(this._createRightHandSideEditor(this._options.editorOptions.get(),this._argCodeEditorWidgetOptions.modifiedEditor||{})),this._onDidContentSizeChange=this._register(new W),this.modifiedScrollTop=Qt(this,this.modified.onDidScrollChange,()=>this.modified.getScrollTop()),this.modifiedScrollHeight=Qt(this,this.modified.onDidScrollChange,()=>this.modified.getScrollHeight()),this.modifiedObs=hf(this.modified),this.originalObs=hf(this.original),this.modifiedModel=this.modifiedObs.model,this.modifiedSelections=Qt(this,this.modified.onDidChangeCursorSelection,()=>this.modified.getSelections()??[]),this.modifiedCursor=dl({owner:this,equalsFn:H.equals},h=>{var c;return((c=this.modifiedSelections.read(h)[0])==null?void 0:c.getPosition())??new H(1,1)}),this.originalCursor=Qt(this,this.original.onDidChangeCursorPosition,()=>this.original.getPosition()??new H(1,1)),this.isOriginalFocused=hf(this.original).isFocused,this.isModifiedFocused=hf(this.modified).isFocused,this.isFocused=me(this,h=>this.isOriginalFocused.read(h)||this.isModifiedFocused.read(h)),this._argCodeEditorWidgetOptions=null,this._register(Dv({changeTracker:{createChangeSummary:()=>({}),handleChange:(h,c)=>(h.didChange(i.editorOptions)&&Object.assign(c,h.change.changedOptions),!0)}},(h,c)=>{i.editorOptions.read(h),this._options.renderSideBySide.read(h),this.modified.updateOptions(this._adjustOptionsForRightHandSide(h,c)),this.original.updateOptions(this._adjustOptionsForLeftHandSide(h,c))}))}_createLeftHandSideEditor(e,t){const i=this._adjustOptionsForLeftHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.originalEditorElement,i,t),r=this._contextKeyService.createKey("isInDiffLeftEditor",n.hasWidgetFocus());return this._register(n.onDidFocusEditorWidget(()=>r.set(!0))),this._register(n.onDidBlurEditorWidget(()=>r.set(!1))),n}_createRightHandSideEditor(e,t){const i=this._adjustOptionsForRightHandSide(void 0,e),n=this._constructInnerEditor(this._instantiationService,this.modifiedEditorElement,i,t),r=this._contextKeyService.createKey("isInDiffRightEditor",n.hasWidgetFocus());return this._register(n.onDidFocusEditorWidget(()=>r.set(!0))),this._register(n.onDidBlurEditorWidget(()=>r.set(!1))),n}_constructInnerEditor(e,t,i,n){const r=this._createInnerEditor(e,t,i,n);return this._register(r.onDidContentSizeChange(o=>{const a=this.original.getContentWidth()+this.modified.getContentWidth()+j0.ENTIRE_DIFF_OVERVIEW_WIDTH,l=Math.max(this.modified.getContentHeight(),this.original.getContentHeight());this._onDidContentSizeChange.fire({contentHeight:l,contentWidth:a,contentHeightChanged:o.contentHeightChanged,contentWidthChanged:o.contentWidthChanged})})),r}_adjustOptionsForLeftHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return this._options.renderSideBySide.get()?(i.unicodeHighlight=this._options.editorOptions.get().unicodeHighlight||{},i.wordWrapOverride1=this._options.diffWordWrap.get()):(i.wordWrapOverride1="off",i.wordWrapOverride2="off",i.stickyScroll={enabled:!1},i.unicodeHighlight={nonBasicASCII:!1,ambiguousCharacters:!1,invisibleCharacters:!1}),i.glyphMargin=this._options.renderSideBySide.get(),t.originalAriaLabel&&(i.ariaLabel=t.originalAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.readOnly=!this._options.originalEditable.get(),i.dropIntoEditor={enabled:!i.readOnly},i.extraEditorClassName="original-in-monaco-diff-editor",i}_adjustOptionsForRightHandSide(e,t){const i=this._adjustOptionsForSubEditor(t);return t.modifiedAriaLabel&&(i.ariaLabel=t.modifiedAriaLabel),i.ariaLabel=this._updateAriaLabel(i.ariaLabel),i.wordWrapOverride1=this._options.diffWordWrap.get(),i.revealHorizontalRightPadding=mr.revealHorizontalRightPadding.defaultValue+j0.ENTIRE_DIFF_OVERVIEW_WIDTH,i.scrollbar.verticalHasArrows=!1,i.extraEditorClassName="modified-in-monaco-diff-editor",i}_adjustOptionsForSubEditor(e){const t={...e,dimension:{height:0,width:0}};return t.inDiffEditor=!0,t.automaticLayout=!1,t.allowVariableLineHeights=!1,t.allowVariableFonts=!1,t.allowVariableFontsInAccessibilityMode=!1,t.scrollbar={...t.scrollbar||{}},t.folding=!1,t.codeLens=this._options.diffCodeLens.get(),t.fixedOverflowWidgets=!0,t.minimap={...t.minimap||{}},t.minimap.enabled=!1,this._options.hideUnchangedRegions.get()?t.stickyScroll={enabled:!1}:t.stickyScroll=this._options.editorOptions.get().stickyScroll,t}_updateAriaLabel(e){var i;e||(e="");const t=w(111," use {0} to open the accessibility help.",(i=this._keybindingService.lookupKeybinding("editor.action.accessibilityHelp"))==null?void 0:i.getAriaLabel());return this._options.accessibilityVerbose.get()?e+t:e?e.replaceAll(t,""):""}};RO=m3e([yE(5,vt),yE(6,ft),yE(7,sn)],RO);class v3e{resetSash(){this._sashRatio.set(void 0,void 0)}constructor(e,t){this._options=e,this.dimensions=t,this.sashLeft=g3(this,i=>{const n=this._sashRatio.read(i)??this._options.splitViewDefaultRatio.read(i);return this._computeSashLeft(n,i)},(i,n)=>{const r=this.dimensions.width.get();this._sashRatio.set(i/r,n)}),this._sashRatio=ze(this,void 0)}_computeSashLeft(e,t){const i=this.dimensions.width.read(t),n=Math.floor(this._options.splitViewDefaultRatio.read(t)*i),r=this._options.enableSplitViewResizing.read(t)?Math.floor(e*i):n,o=100;return i<=o*2?n:r<o?o:r>i-o?i-o:r}}class Bte extends q{constructor(e,t,i,n,r,o){super(),this._domNode=e,this._dimensions=t,this._enabled=i,this._boundarySashes=n,this.sashLeft=r,this._resetSash=o,this._sash=this._register(new jr(this._domNode,{getVerticalSashTop:a=>0,getVerticalSashLeft:a=>this.sashLeft.get(),getVerticalSashHeight:a=>this._dimensions.height.get()},{orientation:0})),this._startSashPosition=void 0,this._register(this._sash.onDidStart(()=>{this._startSashPosition=this.sashLeft.get()})),this._register(this._sash.onDidChange(a=>{this.sashLeft.set(this._startSashPosition+(a.currentX-a.startX),void 0)})),this._register(this._sash.onDidEnd(()=>this._sash.layout())),this._register(this._sash.onDidReset(()=>this._resetSash())),this._register(Qe(a=>{const l=this._boundarySashes.read(a);l&&(this._sash.orthogonalEndSash=l.bottom)})),this._register(Qe(a=>{const l=this._enabled.read(a);this._sash.state=l?3:0,this.sashLeft.read(a),this._dimensions.height.read(a),this._sash.layout()}))}}const kk=class kk extends q{constructor(){super(...arguments),this._id=++kk.idCounter,this._onDidDispose=this._register(new W),this.onDidDispose=this._onDidDispose.event}getId(){return this.getEditorType()+":v2:"+this._id}getVisibleColumnFromPosition(e){return this._targetEditor.getVisibleColumnFromPosition(e)}getPosition(){return this._targetEditor.getPosition()}setPosition(e,t="api"){this._targetEditor.setPosition(e,t)}revealLine(e,t=0){this._targetEditor.revealLine(e,t)}revealLineInCenter(e,t=0){this._targetEditor.revealLineInCenter(e,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealLineInCenterIfOutsideViewport(e,t)}revealLineNearTop(e,t=0){this._targetEditor.revealLineNearTop(e,t)}revealPosition(e,t=0){this._targetEditor.revealPosition(e,t)}revealPositionInCenter(e,t=0){this._targetEditor.revealPositionInCenter(e,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealPositionInCenterIfOutsideViewport(e,t)}revealPositionNearTop(e,t=0){this._targetEditor.revealPositionNearTop(e,t)}getSelection(){return this._targetEditor.getSelection()}getSelections(){return this._targetEditor.getSelections()}setSelection(e,t="api"){this._targetEditor.setSelection(e,t)}setSelections(e,t="api"){this._targetEditor.setSelections(e,t)}revealLines(e,t,i=0){this._targetEditor.revealLines(e,t,i)}revealLinesInCenter(e,t,i=0){this._targetEditor.revealLinesInCenter(e,t,i)}revealLinesInCenterIfOutsideViewport(e,t,i=0){this._targetEditor.revealLinesInCenterIfOutsideViewport(e,t,i)}revealLinesNearTop(e,t,i=0){this._targetEditor.revealLinesNearTop(e,t,i)}revealRange(e,t=0,i=!1,n=!0){this._targetEditor.revealRange(e,t,i,n)}revealRangeInCenter(e,t=0){this._targetEditor.revealRangeInCenter(e,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._targetEditor.revealRangeInCenterIfOutsideViewport(e,t)}revealRangeNearTop(e,t=0){this._targetEditor.revealRangeNearTop(e,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._targetEditor.revealRangeNearTopIfOutsideViewport(e,t)}revealRangeAtTop(e,t=0){this._targetEditor.revealRangeAtTop(e,t)}getSupportedActions(){return this._targetEditor.getSupportedActions()}focus(){this._targetEditor.focus()}trigger(e,t,i){this._targetEditor.trigger(e,t,i)}createDecorationsCollection(e){return this._targetEditor.createDecorationsCollection(e)}changeDecorations(e){return this._targetEditor.changeDecorations(e)}};kk.idCounter=0;let PO=kk;function _3e(s,e){return Z1e(s,(t,i)=>i??e(t))}var b3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},w3e=function(s,e){return function(t,i){e(t,i,s)}};let OO=class{get editorOptions(){return this._options}constructor(e,t){this._accessibilityService=t,this._diffEditorWidth=ze(this,0),this._screenReaderMode=Qt(this,this._accessibilityService.onDidChangeScreenReaderOptimized,()=>this._accessibilityService.isScreenReaderOptimized()),this.couldShowInlineViewBecauseOfSize=me(this,n=>this._options.read(n).renderSideBySide&&this._diffEditorWidth.read(n)<=this._options.read(n).renderSideBySideInlineBreakpoint),this.renderOverviewRuler=me(this,n=>this._options.read(n).renderOverviewRuler),this.renderSideBySide=me(this,n=>this.compactMode.read(n)&&this.shouldRenderInlineViewInSmartMode.read(n)?!1:this._options.read(n).renderSideBySide&&!(this._options.read(n).useInlineViewWhenSpaceIsLimited&&this.couldShowInlineViewBecauseOfSize.read(n)&&!this._screenReaderMode.read(n))),this.readOnly=me(this,n=>this._options.read(n).readOnly),this.shouldRenderOldRevertArrows=me(this,n=>!(!this._options.read(n).renderMarginRevertIcon||!this.renderSideBySide.read(n)||this.readOnly.read(n)||this.shouldRenderGutterMenu.read(n))),this.shouldRenderGutterMenu=me(this,n=>this._options.read(n).renderGutterMenu),this.renderIndicators=me(this,n=>this._options.read(n).renderIndicators),this.enableSplitViewResizing=me(this,n=>this._options.read(n).enableSplitViewResizing),this.splitViewDefaultRatio=me(this,n=>this._options.read(n).splitViewDefaultRatio),this.ignoreTrimWhitespace=me(this,n=>this._options.read(n).ignoreTrimWhitespace),this.maxComputationTimeMs=me(this,n=>this._options.read(n).maxComputationTime),this.showMoves=me(this,n=>this._options.read(n).experimental.showMoves&&this.renderSideBySide.read(n)),this.isInEmbeddedEditor=me(this,n=>this._options.read(n).isInEmbeddedEditor),this.diffWordWrap=me(this,n=>this._options.read(n).diffWordWrap),this.originalEditable=me(this,n=>this._options.read(n).originalEditable),this.diffCodeLens=me(this,n=>this._options.read(n).diffCodeLens),this.accessibilityVerbose=me(this,n=>this._options.read(n).accessibilityVerbose),this.diffAlgorithm=me(this,n=>this._options.read(n).diffAlgorithm),this.showEmptyDecorations=me(this,n=>this._options.read(n).experimental.showEmptyDecorations),this.onlyShowAccessibleDiffViewer=me(this,n=>this._options.read(n).onlyShowAccessibleDiffViewer),this.compactMode=me(this,n=>this._options.read(n).compactMode),this.trueInlineDiffRenderingEnabled=me(this,n=>this._options.read(n).experimental.useTrueInlineView),this.useTrueInlineDiffRendering=me(this,n=>!this.renderSideBySide.read(n)&&this.trueInlineDiffRenderingEnabled.read(n)),this.hideUnchangedRegions=me(this,n=>this._options.read(n).hideUnchangedRegions.enabled),this.hideUnchangedRegionsRevealLineCount=me(this,n=>this._options.read(n).hideUnchangedRegions.revealLineCount),this.hideUnchangedRegionsContextLineCount=me(this,n=>this._options.read(n).hideUnchangedRegions.contextLineCount),this.hideUnchangedRegionsMinimumLineCount=me(this,n=>this._options.read(n).hideUnchangedRegions.minimumLineCount),this._model=ze(this,void 0),this.shouldRenderInlineViewInSmartMode=this._model.map(this,n=>_3e(this,r=>{const o=n==null?void 0:n.diff.read(r);return o?y3e(o,this.trueInlineDiffRenderingEnabled.read(r)):void 0})).flatten().map(this,n=>!!n),this.inlineViewHideOriginalLineNumbers=this.compactMode;const i={...e,...YU(e,an)};this._options=ze(this,i)}updateOptions(e){const t=YU(e,this._options.get()),i={...this._options.get(),...e,...t};this._options.set(i,void 0,{changedOptions:e})}setWidth(e){this._diffEditorWidth.set(e,void 0)}setModel(e){this._model.set(e,void 0)}};OO=b3e([w3e(1,Pr)],OO);function y3e(s,e){return s.mappings.every(t=>C3e(t.lineRangeMapping)||S3e(t.lineRangeMapping)||e&&m7(t.lineRangeMapping))}function C3e(s){return s.original.length===0}function S3e(s){return s.modified.length===0}function YU(s,e){var t,i,n,r,o,a,l,h;return{enableSplitViewResizing:ae(s.enableSplitViewResizing,e.enableSplitViewResizing),splitViewDefaultRatio:Eve(s.splitViewDefaultRatio,.5,.1,.9),renderSideBySide:ae(s.renderSideBySide,e.renderSideBySide),renderMarginRevertIcon:ae(s.renderMarginRevertIcon,e.renderMarginRevertIcon),maxComputationTime:ph(s.maxComputationTime,e.maxComputationTime,0,1073741824),maxFileSize:ph(s.maxFileSize,e.maxFileSize,0,1073741824),ignoreTrimWhitespace:ae(s.ignoreTrimWhitespace,e.ignoreTrimWhitespace),renderIndicators:ae(s.renderIndicators,e.renderIndicators),originalEditable:ae(s.originalEditable,e.originalEditable),diffCodeLens:ae(s.diffCodeLens,e.diffCodeLens),renderOverviewRuler:ae(s.renderOverviewRuler,e.renderOverviewRuler),diffWordWrap:Ft(s.diffWordWrap,e.diffWordWrap,["off","on","inherit"]),diffAlgorithm:Ft(s.diffAlgorithm,e.diffAlgorithm,["legacy","advanced"],{smart:"legacy",experimental:"advanced"}),accessibilityVerbose:ae(s.accessibilityVerbose,e.accessibilityVerbose),experimental:{showMoves:ae((t=s.experimental)==null?void 0:t.showMoves,e.experimental.showMoves),showEmptyDecorations:ae((i=s.experimental)==null?void 0:i.showEmptyDecorations,e.experimental.showEmptyDecorations),useTrueInlineView:ae((n=s.experimental)==null?void 0:n.useTrueInlineView,e.experimental.useTrueInlineView)},hideUnchangedRegions:{enabled:ae(((r=s.hideUnchangedRegions)==null?void 0:r.enabled)??((o=s.experimental)==null?void 0:o.collapseUnchangedRegions),e.hideUnchangedRegions.enabled),contextLineCount:ph((a=s.hideUnchangedRegions)==null?void 0:a.contextLineCount,e.hideUnchangedRegions.contextLineCount,0,1073741824),minimumLineCount:ph((l=s.hideUnchangedRegions)==null?void 0:l.minimumLineCount,e.hideUnchangedRegions.minimumLineCount,0,1073741824),revealLineCount:ph((h=s.hideUnchangedRegions)==null?void 0:h.revealLineCount,e.hideUnchangedRegions.revealLineCount,0,1073741824)},isInEmbeddedEditor:ae(s.isInEmbeddedEditor,e.isInEmbeddedEditor),onlyShowAccessibleDiffViewer:ae(s.onlyShowAccessibleDiffViewer,e.onlyShowAccessibleDiffViewer),renderSideBySideInlineBreakpoint:ph(s.renderSideBySideInlineBreakpoint,e.renderSideBySideInlineBreakpoint,0,1073741824),useInlineViewWhenSpaceIsLimited:ae(s.useInlineViewWhenSpaceIsLimited,e.useInlineViewWhenSpaceIsLimited),renderGutterMenu:ae(s.renderGutterMenu,e.renderGutterMenu),compactMode:ae(s.compactMode,e.compactMode)}}const XU=24;class x3e extends q{get onDidChangeDropdownVisibility(){return this._onDidChangeDropdownVisibility.event}constructor(e,t,i={orientation:0}){if(super(),this.submenuActionViewItems=[],this.hasSecondaryActions=!1,this._onDidChangeDropdownVisibility=this._register(new Cve),this.originalPrimaryActions=[],this.originalSecondaryActions=[],this.hiddenActions=[],this.disposables=this._register(new he),i.hoverDelegate=i.hoverDelegate??this._register(Aee()),this.options=i,this.toggleMenuAction=this._register(new U0(()=>{var n;return(n=this.toggleMenuActionViewItem)==null?void 0:n.show()},i.toggleMenuTitle)),this.element=document.createElement("div"),this.element.className="monaco-toolbar",e.appendChild(this.element),this.actionBar=this._register(new pl(this.element,{orientation:i.orientation,ariaLabel:i.ariaLabel,actionRunner:i.actionRunner,allowContextMenu:i.allowContextMenu,highlightToggledItems:i.highlightToggledItems,hoverDelegate:i.hoverDelegate,actionViewItemProvider:(n,r)=>{if(n.id===U0.ID)return this.toggleMenuActionViewItem=new hL(n,{getActions:()=>this.toggleMenuAction.menuActions},t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:Je.asClassNameArray(i.moreIcon??re.toolBarMore),anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,isMenu:!0,hoverDelegate:this.options.hoverDelegate}),this.toggleMenuActionViewItem.setActionContext(this.actionBar.context),this.disposables.add(this._onDidChangeDropdownVisibility.add(this.toggleMenuActionViewItem.onDidChangeVisibility)),this.toggleMenuActionViewItem;if(i.actionViewItemProvider){const o=i.actionViewItemProvider(n,r);if(o)return o}if(n instanceof TD){const o=new hL(n,n.actions,t,{actionViewItemProvider:this.options.actionViewItemProvider,actionRunner:this.actionRunner,keybindingProvider:this.options.getKeyBinding,classNames:n.class,anchorAlignmentProvider:this.options.anchorAlignmentProvider,menuAsChild:!!this.options.renderDropdownAsChildElement,skipTelemetry:this.options.skipTelemetry,hoverDelegate:this.options.hoverDelegate});return o.setActionContext(this.actionBar.context),this.submenuActionViewItems.push(o),this.disposables.add(this._onDidChangeDropdownVisibility.add(o.onDidChangeVisibility)),o}}})),this.options.responsive){this.element.classList.add("responsive");const n=new ResizeObserver(()=>{this.setToolbarMaxWidth(this.element.getBoundingClientRect().width)});n.observe(this.element),this._store.add(Se(()=>n.disconnect()))}}set actionRunner(e){this.actionBar.actionRunner=e}get actionRunner(){return this.actionBar.actionRunner}set context(e){var t;this.actionBar.context=e,(t=this.toggleMenuActionViewItem)==null||t.setActionContext(e);for(const i of this.submenuActionViewItems)i.setActionContext(e)}getElement(){return this.element}getItemAction(e){return this.actionBar.getAction(e)}getItemWidth(e){return this.actionBar.getWidth(e)}setActions(e,t){this.clear(),this.originalPrimaryActions=e?e.slice(0):[],this.originalSecondaryActions=t?t.slice(0):[];const i=e?e.slice(0):[];this.hasSecondaryActions=!!(t&&t.length>0),this.hasSecondaryActions&&t&&(this.toggleMenuAction.menuActions=t.slice(0),i.push(this.toggleMenuAction)),i.length>0&&this.options.trailingSeparator&&i.push(new Ji),i.forEach(n=>{this.actionBar.push(n,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(n)})}),this.options.responsive&&(this.hiddenActions.length=0,this.setToolbarMaxWidth(this.element.getBoundingClientRect().width))}getKeybindingLabel(e){var i,n;const t=(n=(i=this.options).getKeyBinding)==null?void 0:n.call(i,e);return(t==null?void 0:t.getLabel())??void 0}getItemsWidthResponsive(){return this.actionBar.length()*XU}setToolbarMaxWidth(e){if(this.actionBar.isEmpty()||this.getItemsWidthResponsive()<=e&&this.hiddenActions.length===0)return;if(this.getItemsWidthResponsive()>e)for(;this.getItemsWidthResponsive()>e&&this.actionBar.length()>0;){const i=this.originalPrimaryActions.length-this.hiddenActions.length-1;if(i<0)break;const n=Math.min(XU,this.getItemWidth(i)),r=this.originalPrimaryActions[i];this.hiddenActions.unshift({action:r,size:n}),this.actionBar.pull(i),this.originalSecondaryActions.length===0&&this.hiddenActions.length===1&&this.actionBar.push(this.toggleMenuAction,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(this.toggleMenuAction)})}else for(;this.hiddenActions.length>0;){const i=this.hiddenActions.shift();if(this.getItemsWidthResponsive()+i.size>e){this.hiddenActions.unshift(i);break}this.actionBar.push(i.action,{icon:this.options.icon??!0,label:this.options.label??!1,keybinding:this.getKeybindingLabel(i.action),index:this.originalPrimaryActions.length-this.hiddenActions.length-1}),this.originalSecondaryActions.length===0&&this.hiddenActions.length===1&&(this.toggleMenuAction.menuActions=[],this.actionBar.pull(this.actionBar.length()-1))}const t=this.hiddenActions.map(i=>i.action);if(this.originalSecondaryActions.length>0||t.length>0){const i=this.originalSecondaryActions.slice(0);this.toggleMenuAction.menuActions=Ji.join(t,i)}}clear(){this.submenuActionViewItems=[],this.disposables.clear(),this.actionBar.clear()}dispose(){this.clear(),this.disposables.dispose(),super.dispose()}}const Dk=class Dk extends eu{constructor(e,t){t=t||w(17,"More Actions..."),super(Dk.ID,t,void 0,!0),this._menuActions=[],this.toggleDropdownMenu=e}async run(){this.toggleDropdownMenu()}get menuActions(){return this._menuActions}set menuActions(e){this._menuActions=e}};Dk.ID="toolbar.toggle.more";let U0=Dk;const Vte=Ge("IActionViewItemService");class L3e{constructor(){this._providers=new Map,this._onDidChange=new W,this.onDidChange=this._onDidChange.event}dispose(){this._onDidChange.dispose()}lookUp(e,t){return this._providers.get(this._makeKey(e,t))}_makeKey(e,t){return`${e.id}/${t instanceof Ni?t.id:t}`}}et(Vte,L3e,1);var Wte=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},pr=function(s,e){return function(t,i){e(t,i,s)}};let FO=class extends x3e{constructor(e,t,i,n,r,o,a,l){super(e,r,{getKeyBinding:c=>o.lookupKeybinding(c.id)??void 0,...t,allowContextMenu:!0,skipTelemetry:typeof(t==null?void 0:t.telemetrySource)=="string"}),this._options=t,this._menuService=i,this._contextKeyService=n,this._contextMenuService=r,this._keybindingService=o,this._commandService=a,this._sessionDisposables=this._store.add(new he);const h=t==null?void 0:t.telemetrySource;h&&this._store.add(this.actionBar.onDidRun(c=>l.publicLog2("workbenchActionExecuted",{id:c.action.id,from:h})))}setActions(e,t=[],i){var c,u,d;this._sessionDisposables.clear();const n=e.slice(),r=t.slice(),o=[];let a=0;const l=[];let h=!1;if(((c=this._options)==null?void 0:c.hiddenItemStrategy)!==-1)for(let f=0;f<n.length;f++){const g=n[f];!(g instanceof Vh)&&!(g instanceof mm)||g.hideActions&&(o.push(g.hideActions.toggle),g.hideActions.toggle.checked&&a++,g.hideActions.isHidden&&(h=!0,n[f]=void 0,((u=this._options)==null?void 0:u.hiddenItemStrategy)!==0&&(l[f]=g)))}if(((d=this._options)==null?void 0:d.overflowBehavior)!==void 0){const f=IJ(new Set(this._options.overflowBehavior.exempted),lt.map(n,m=>m==null?void 0:m.id)),g=this._options.overflowBehavior.maxItems-f.size;let p=0;for(let m=0;m<n.length;m++){const v=n[m];v&&(p++,!f.has(v.id)&&p>=g&&(n[m]=void 0,l[m]=v))}}fV(n),fV(l),super.setActions(n,Ji.join(l,r)),(o.length>0||n.length>0)&&this._sessionDisposables.add(j(this.getElement(),"contextmenu",f=>{var _,b,y,C,x;const g=new kr(be(this.getElement()),f),p=this.getItemAction(g.target);if(!p)return;g.preventDefault(),g.stopPropagation();const m=[];if(p instanceof Vh&&p.menuKeybinding)m.push(p.menuKeybinding);else if(!(p instanceof mm||p instanceof U0)){const S=!!this._keybindingService.lookupKeybinding(p.id);m.push(Nte(this._commandService,this._keybindingService,p.id,void 0,S))}if(o.length>0){let S=!1;if(a===1&&((_=this._options)==null?void 0:_.hiddenItemStrategy)===0){S=!0;for(let k=0;k<o.length;k++)if(o[k].checked){o[k]=_f({id:p.id,label:p.label,checked:!0,enabled:!1,run(){}});break}}if(!S&&(p instanceof Vh||p instanceof mm)){if(!p.hideActions)return;m.push(p.hideActions.hide)}else m.push(_f({id:"label",label:w(1649,"Hide"),enabled:!1,run(){}}))}const v=Ji.join(m,o);(b=this._options)!=null&&b.resetMenu&&!i&&(i=[this._options.resetMenu]),h&&i&&(v.push(new Ji),v.push(_f({id:"resetThisMenu",label:w(1650,"Reset Menu"),run:()=>this._menuService.resetHiddenStates(i)}))),v.length!==0&&this._contextMenuService.showContextMenu({getAnchor:()=>g,getActions:()=>v,menuId:(y=this._options)==null?void 0:y.contextMenu,menuActionOptions:{renderShortTitle:!0,...(C=this._options)==null?void 0:C.menuOptions},skipTelemetry:typeof((x=this._options)==null?void 0:x.telemetrySource)=="string",contextKeyService:this._contextKeyService})}))}};FO=Wte([pr(2,Sg),pr(3,vt),pr(4,Jh),pr(5,sn),pr(6,Rr),pr(7,Xh)],FO);let ML=class extends FO{get onDidChangeMenuItems(){return this._onDidChangeMenuItems.event}constructor(e,t,i,n,r,o,a,l,h,c,u){super(e,{resetMenu:t,...i,actionViewItemProvider:(g,p)=>{let m=c.lookUp(t,g instanceof mm?g.item.submenu.id:g.id);m||(m=i==null?void 0:i.actionViewItemProvider);const v=m==null?void 0:m(g,p,u,be(e).vscodeWindowId);return v||$ee(u,g,p)}},n,r,o,a,l,h),this._onDidChangeMenuItems=this._store.add(new W);const d=this._store.add(n.createMenu(t,r,{emitEventsForSubmenuChanges:!0,eventDebounceDelay:i==null?void 0:i.eventDebounceDelay})),f=()=>{var m,v,_;const{primary:g,secondary:p}=oPe(d.getActions(i==null?void 0:i.menuOptions),(m=i==null?void 0:i.toolbarOptions)==null?void 0:m.primaryGroup,(v=i==null?void 0:i.toolbarOptions)==null?void 0:v.shouldInlineSubmenu,(_=i==null?void 0:i.toolbarOptions)==null?void 0:_.useSeparatorsInPrimaryActions);e.classList.toggle("has-no-actions",g.length===0&&p.length===0),super.setActions(g,p)};this._store.add(d.onDidChange(()=>{f(),this._onDidChangeMenuItems.fire(this)})),this._store.add(c.onDidChange(g=>{g===t&&f()})),f()}setActions(){throw new Ce("This toolbar is populated from a menu.")}};ML=Wte([pr(3,Sg),pr(4,vt),pr(5,Jh),pr(6,sn),pr(7,Rr),pr(8,Xh),pr(9,Vte),pr(10,ft)],ML);class ZU extends M3{constructor(e){super(),this._textModel=e}getValueOfRange(e){return this._textModel.getValueInRange(e)}getLineLength(e){return this._textModel.getLineLength(e)}get length(){const e=this._textModel.getLineCount(),t=this._textModel.getLineLength(e);return new Qs(e-1,t)}}class Hte extends ig{constructor(e){super(),this._getContext=e}runAction(e,t){const i=this._getContext();return super.runAction(e,i)}}class k3e extends q{constructor(e,t,i){super(),this._editor=e,this._domNode=t,this.itemProvider=i,this.scrollTop=Qt(this,this._editor.onDidScrollChange,o=>this._editor.getScrollTop()),this.isScrollTopZero=this.scrollTop.map(o=>o===0),this.modelAttached=Qt(this,this._editor.onDidChangeModel,o=>this._editor.hasModel()),this.editorOnDidChangeViewZones=Do("onDidChangeViewZones",this._editor.onDidChangeViewZones),this.editorOnDidContentSizeChange=Do("onDidContentSizeChange",this._editor.onDidContentSizeChange),this.domNodeSizeChanged=C0("domNodeSizeChanged"),this.views=new Map,this._domNode.className="gutter monaco-editor";const n=this._domNode.appendChild(ot("div.scroll-decoration",{role:"presentation",ariaHidden:"true",style:{width:"100%"}}).root),r=new ResizeObserver(()=>{vi(o=>{this.domNodeSizeChanged.trigger(o)})});r.observe(this._domNode),this._register(Se(()=>r.disconnect())),this._register(Qe(o=>{n.className=this.isScrollTopZero.read(o)?"":"scroll-decoration"})),this._register(Qe(o=>this.render(o)))}dispose(){super.dispose(),xn(this._domNode)}render(e){if(!this.modelAttached.read(e))return;this.domNodeSizeChanged.read(e),this.editorOnDidChangeViewZones.read(e),this.editorOnDidContentSizeChange.read(e);const t=this.scrollTop.read(e),i=this._editor.getVisibleRanges(),n=new Set(this.views.keys()),r=_e.ofStartAndLength(0,this._domNode.clientHeight);if(!r.isEmpty)for(const o of i){const a=new Ee(o.startLineNumber,o.endLineNumber+1),l=this.itemProvider.getIntersectingGutterItems(a,e);vi(h=>{for(const c of l){if(!c.range.intersect(a))continue;n.delete(c.id);let u=this.views.get(c.id);if(u)u.item.set(c,h);else{const p=document.createElement("div");this._domNode.appendChild(p);const m=ze("item",c),v=this.itemProvider.createView(m,p);u=new D3e(m,v,p),this.views.set(c.id,u)}const d=c.range.startLineNumber<=this._editor.getModel().getLineCount()?this._editor.getTopForLineNumber(c.range.startLineNumber,!0)-t:c.range.startLineNumber>1?this._editor.getBottomForLineNumber(c.range.startLineNumber-1,!1)-t:0,g=(c.range.endLineNumberExclusive===1?Math.max(d,this._editor.getTopForLineNumber(c.range.startLineNumber,!1)-t):Math.max(d,this._editor.getBottomForLineNumber(c.range.endLineNumberExclusive-1,!0)-t))-d;u.domNode.style.top=`${d}px`,u.domNode.style.height=`${g}px`,u.gutterItemView.layout(_e.ofStartAndLength(d,g),r)}})}for(const o of n){const a=this.views.get(o);a.gutterItemView.dispose(),a.domNode.remove(),this.views.delete(o)}}}class D3e{constructor(e,t,i){this.item=e,this.gutterItemView=t,this.domNode=i}}var zte=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},hS=function(s,e){return function(t,i){e(t,i,s)}};const CE=[],bC=35;let BO=class extends q{constructor(e,t,i,n,r,o,a,l,h){super(),this._diffModel=t,this._editors=i,this._options=n,this._sashLayout=r,this._boundarySashes=o,this._instantiationService=a,this._contextKeyService=l,this._menuService=h,this._menu=this._register(this._menuService.createMenu(Ni.DiffEditorHunkToolbar,this._contextKeyService)),this._actions=Qt(this,this._menu.onDidChange,()=>this._menu.getActions()),this._hasActions=this._actions.map(u=>u.length>0),this._showSash=me(this,u=>this._options.renderSideBySide.read(u)&&this._hasActions.read(u)),this.width=me(this,u=>this._hasActions.read(u)?bC:0),this.elements=ot("div.gutter@gutter",{style:{position:"absolute",height:"100%",width:bC+"px"}},[]),this._currentDiff=me(this,u=>{var p;const d=this._diffModel.read(u);if(!d)return;const f=(p=d.diff.read(u))==null?void 0:p.mappings,g=this._editors.modifiedCursor.read(u);if(g)return f==null?void 0:f.find(m=>m.lineRangeMapping.modified.contains(g.lineNumber))}),this._selectedDiffs=me(this,u=>{const d=this._diffModel.read(u),f=d==null?void 0:d.diff.read(u);if(!f)return CE;const g=this._editors.modifiedSelections.read(u);if(g.every(_=>_.isEmpty()))return CE;const p=new Yr(g.map(_=>Ee.fromRangeInclusive(_))),v=f.mappings.filter(_=>_.lineRangeMapping.innerChanges&&p.intersects(_.lineRangeMapping.modified)).map(_=>({mapping:_,rangeMappings:_.lineRangeMapping.innerChanges.filter(b=>g.some(y=>F.areIntersecting(b.modifiedRange,y)))}));return v.length===0||v.every(_=>_.rangeMappings.length===0)?CE:v}),this._register(P4e(e,this.elements.root)),this._register(j(this.elements.root,"click",()=>{this._editors.modified.focus()})),this._register(_u(this.elements.root,{display:this._hasActions.map(u=>u?"block":"none")})),ja(this,u=>this._showSash.read(u)?new Bte(e,this._sashLayout.dimensions,this._options.enableSplitViewResizing,this._boundarySashes,g3(this,f=>this._sashLayout.sashLeft.read(f)-bC,(f,g)=>this._sashLayout.sashLeft.set(f+bC,g)),()=>this._sashLayout.resetSash()):void 0).recomputeInitiallyAndOnChange(this._store);const c=me(this,u=>{const d=this._diffModel.read(u);if(!d)return[];const f=d.diff.read(u);if(!f)return[];const g=this._selectedDiffs.read(u);if(g.length>0){const m=Er.fromRangeMappings(g.flatMap(v=>v.rangeMappings));return[new QU(m,!0,Ni.DiffEditorSelectionToolbar,void 0,d.model.original.uri,d.model.modified.uri)]}const p=this._currentDiff.read(u);return f.mappings.map(m=>new QU(m.lineRangeMapping.withInnerChangesFromLineRanges(),m.lineRangeMapping===(p==null?void 0:p.lineRangeMapping),Ni.DiffEditorHunkToolbar,void 0,d.model.original.uri,d.model.modified.uri))});this._register(new k3e(this._editors.modified,this.elements.root,{getIntersectingGutterItems:(u,d)=>c.read(d),createView:(u,d)=>this._instantiationService.createInstance(VO,u,d,this)})),this._register(j(this.elements.gutter,te.MOUSE_WHEEL,u=>{this._editors.modified.getOption(117).handleMouseWheel&&this._editors.modified.delegateScrollFromMouseWheelEvent(u)},{passive:!1}))}computeStagedValue(e){const t=e.innerChanges??[],i=new ZU(this._editors.modifiedModel.get()),n=new ZU(this._editors.original.getModel());return new n0(t.map(a=>a.toTextEdit(i))).apply(n)}layout(e){this.elements.gutter.style.left=e+"px"}};BO=zte([hS(6,ft),hS(7,vt),hS(8,Sg)],BO);class QU{constructor(e,t,i,n,r,o){this.mapping=e,this.showAlways=t,this.menuId=i,this.rangeOverride=n,this.originalUri=r,this.modifiedUri=o}get id(){return this.mapping.modified.toString()}get range(){return this.rangeOverride??this.mapping.modified}}let VO=class extends q{constructor(e,t,i,n){super(),this._item=e,this._elements=ot("div.gutterItem",{style:{height:"20px",width:"34px"}},[ot("div.background@background",{},[]),ot("div.buttons@buttons",{},[])]),this._showAlways=this._item.map(this,o=>o.showAlways),this._menuId=this._item.map(this,o=>o.menuId),this._isSmall=ze(this,!1),this._lastItemRange=void 0,this._lastViewRange=void 0;const r=this._register(n.createInstance(L0,"element",{instantHover:!0},{position:{hoverPosition:1}}));this._register(J_(t,this._elements.root)),this._register(Qe(o=>{const a=this._showAlways.read(o);this._elements.root.classList.toggle("noTransition",!0),this._elements.root.classList.toggle("showAlways",a),setTimeout(()=>{this._elements.root.classList.toggle("noTransition",!1)},0)})),this._register(fa((o,a)=>{this._elements.buttons.replaceChildren();const l=a.add(n.createInstance(ML,this._elements.buttons,this._menuId.read(o),{orientation:1,hoverDelegate:r,toolbarOptions:{primaryGroup:h=>h.startsWith("primary")},overflowBehavior:{maxItems:this._isSmall.read(o)?1:3},hiddenItemStrategy:0,actionRunner:a.add(new Hte(()=>{const h=this._item.read(void 0),c=h.mapping;return{mapping:c,originalWithModifiedChanges:i.computeStagedValue(c),originalUri:h.originalUri,modifiedUri:h.modifiedUri}})),menuOptions:{shouldForwardArgs:!0}}));a.add(l.onDidChangeMenuItems(()=>{this._lastItemRange&&this.layout(this._lastItemRange,this._lastViewRange)}))}))}layout(e,t){this._lastItemRange=e,this._lastViewRange=t;let i=this._elements.buttons.clientHeight;this._isSmall.set(this._item.get().mapping.original.startLineNumber===1&&e.length<30,void 0),i=this._elements.buttons.clientHeight;const n=e.length/2-i/2,r=i;let o=e.start+n;const a=_e.tryCreate(r,t.endExclusive-r-i),l=_e.tryCreate(e.start+r,e.endExclusive-i-r);l&&a&&l.start<l.endExclusive&&(o=a.clip(o),o=l.clip(o)),this._elements.buttons.style.top=`${o-e.start}px`}};VO=zte([hS(3,ft)],VO);var T3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},I3e=function(s,e){return function(t,i){e(t,i,s)}},WO,ru;let HO=(ru=class extends q{static setBreadcrumbsSourceFactory(e){this._breadcrumbsSourceFactory.set(e,void 0)}get isUpdatingHiddenAreas(){return this._isUpdatingHiddenAreas}constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._instantiationService=n,this._modifiedOutlineSource=ja(this,l=>{const h=this._editors.modifiedModel.read(l),c=WO._breadcrumbsSourceFactory.read(l);return!h||!c?void 0:c(h,this._instantiationService)}),this._isUpdatingHiddenAreas=!1,this._register(this._editors.original.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const h=this._diffModel.get();vi(c=>{for(const u of this._editors.original.getSelections()||[])h==null||h.ensureOriginalLineIsVisible(u.getStartPosition().lineNumber,0,c),h==null||h.ensureOriginalLineIsVisible(u.getEndPosition().lineNumber,0,c)})})),this._register(this._editors.modified.onDidChangeCursorPosition(l=>{if(l.reason===1)return;const h=this._diffModel.get();vi(c=>{for(const u of this._editors.modified.getSelections()||[])h==null||h.ensureModifiedLineIsVisible(u.getStartPosition().lineNumber,0,c),h==null||h.ensureModifiedLineIsVisible(u.getEndPosition().lineNumber,0,c)})}));const r=this._diffModel.map((l,h)=>{var u;const c=(l==null?void 0:l.unchangedRegions.read(h))??[];return c.length===1&&c[0].modifiedLineNumber===1&&c[0].lineCount===((u=this._editors.modifiedModel.read(h))==null?void 0:u.getLineCount())?[]:c});this.viewZones=me(this,l=>{const h=this._modifiedOutlineSource.read(l);if(!h)return{origViewZones:[],modViewZones:[]};const c=[],u=[],d=this._options.renderSideBySide.read(l),f=this._options.compactMode.read(l),g=r.read(l);for(let p=0;p<g.length;p++){const m=g[p];if(!m.shouldHideControls(l)&&!(f&&(p===0||p===g.length-1)))if(f){{const v=me(this,b=>m.getHiddenOriginalRange(b).startLineNumber-1),_=new Kp(v,12);c.push(_),l.store.add(new JU(this._editors.original,_,m,!d))}{const v=me(this,b=>m.getHiddenModifiedRange(b).startLineNumber-1),_=new Kp(v,12);u.push(_),l.store.add(new JU(this._editors.modified,_,m))}}else{{const v=me(this,b=>m.getHiddenOriginalRange(b).startLineNumber-1),_=new Kp(v,24);c.push(_),l.store.add(new e$(this._editors.original,_,m,m.originalUnchangedRange,!d,h,b=>this._diffModel.get().ensureModifiedLineIsVisible(b,2,void 0),this._options))}{const v=me(this,b=>m.getHiddenModifiedRange(b).startLineNumber-1),_=new Kp(v,24);u.push(_),l.store.add(new e$(this._editors.modified,_,m,m.modifiedUnchangedRange,!1,h,b=>this._diffModel.get().ensureModifiedLineIsVisible(b,2,void 0),this._options))}}}return{origViewZones:c,modViewZones:u}});const o={description:"unchanged lines",className:"diff-unchanged-lines",isWholeLine:!0},a={description:"Fold Unchanged",glyphMarginHoverMessage:new nee(void 0,{isTrusted:!0,supportThemeIcons:!0}).appendMarkdown(w(124,"Fold Unchanged Region")),glyphMarginClassName:"fold-unchanged "+Je.asClassName(re.fold),zIndex:10001};this._register(IL(this._editors.original,me(this,l=>{const h=r.read(l),c=h.map(u=>({range:u.originalUnchangedRange.toInclusiveRange(),options:o}));for(const u of h)u.shouldHideControls(l)&&c.push({range:F.fromPositions(new H(u.originalLineNumber,1)),options:a});return c}))),this._register(IL(this._editors.modified,me(this,l=>{const h=r.read(l),c=h.map(u=>({range:u.modifiedUnchangedRange.toInclusiveRange(),options:o}));for(const u of h)u.shouldHideControls(l)&&c.push({range:Ee.ofLength(u.modifiedLineNumber,1).toInclusiveRange(),options:a});return c}))),this._register(Qe(l=>{const h=r.read(l);this._isUpdatingHiddenAreas=!0;try{this._editors.original.setHiddenAreas(h.map(c=>c.getHiddenOriginalRange(l).toInclusiveRange()).filter(qr)),this._editors.modified.setHiddenAreas(h.map(c=>c.getHiddenModifiedRange(l).toInclusiveRange()).filter(qr))}finally{this._isUpdatingHiddenAreas=!1}})),this._register(this._editors.modified.onMouseUp(l=>{var h;if(!l.event.rightButton&&l.target.position&&((h=l.target.element)!=null&&h.className.includes("fold-unchanged"))){const c=l.target.position.lineNumber,u=this._diffModel.get();if(!u)return;const d=u.unchangedRegions.get().find(f=>f.modifiedUnchangedRange.contains(c));if(!d)return;d.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}})),this._register(this._editors.original.onMouseUp(l=>{var h;if(!l.event.rightButton&&l.target.position&&((h=l.target.element)!=null&&h.className.includes("fold-unchanged"))){const c=l.target.position.lineNumber,u=this._diffModel.get();if(!u)return;const d=u.unchangedRegions.get().find(f=>f.originalUnchangedRange.contains(c));if(!d)return;d.collapseAll(void 0),l.event.stopPropagation(),l.event.preventDefault()}}))}},WO=ru,ru._breadcrumbsSourceFactory=ze(ru,()=>({dispose(){},getBreadcrumbItems(e,t){return[]}})),ru);HO=WO=T3e([I3e(3,ft)],HO);class JU extends d7{constructor(e,t,i,n=!1){const r=ot("div.diff-hidden-lines-widget");super(e,t,r.root),this._unchangedRegion=i,this._hide=n,this._nodes=ot("div.diff-hidden-lines-compact",[ot("div.line-left",[]),ot("div.text@text",[]),ot("div.line-right",[])]),r.root.appendChild(this._nodes.root),this._hide&&this._nodes.root.replaceChildren(),this._register(Qe(o=>{if(!this._hide){const a=this._unchangedRegion.getHiddenModifiedRange(o).length,l=w(125,"{0} hidden lines",a);this._nodes.text.innerText=l}}))}}class e$ extends d7{constructor(e,t,i,n,r,o,a,l){const h=ot("div.diff-hidden-lines-widget");super(e,t,h.root),this._editor=e,this._unchangedRegion=i,this._unchangedRegionRange=n,this._hide=r,this._modifiedOutlineSource=o,this._revealModifiedHiddenLine=a,this._options=l,this._nodes=ot("div.diff-hidden-lines",[ot("div.top@top",{title:w(126,"Click or drag to show more above")}),ot("div.center@content",{style:{display:"flex"}},[ot("div@first",{style:{display:"flex",justifyContent:"center",alignItems:"center",flexShrink:"0"}},[Le("a",{title:w(127,"Show Unchanged Region"),role:"button",onclick:()=>{this._unchangedRegion.showAll(void 0)}},...kf("$(unfold)"))]),ot("div@others",{style:{display:"flex",justifyContent:"center",alignItems:"center"}})]),ot("div.bottom@bottom",{title:w(128,"Click or drag to show more below"),role:"button"})]),h.root.appendChild(this._nodes.root),this._hide?xn(this._nodes.first):this._register(_u(this._nodes.first,{width:hf(this._editor).layoutInfoContentLeft})),this._register(Qe(u=>{const d=this._unchangedRegion.visibleLineCountTop.read(u)+this._unchangedRegion.visibleLineCountBottom.read(u)===this._unchangedRegion.lineCount;this._nodes.bottom.classList.toggle("canMoveTop",!d),this._nodes.bottom.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(u)>0),this._nodes.top.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(u)>0),this._nodes.top.classList.toggle("canMoveBottom",!d);const f=this._unchangedRegion.isDragged.read(u),g=this._editor.getDomNode();g&&(g.classList.toggle("draggingUnchangedRegion",!!f),f==="top"?(g.classList.toggle("canMoveTop",this._unchangedRegion.visibleLineCountTop.read(u)>0),g.classList.toggle("canMoveBottom",!d)):f==="bottom"?(g.classList.toggle("canMoveTop",!d),g.classList.toggle("canMoveBottom",this._unchangedRegion.visibleLineCountBottom.read(u)>0)):(g.classList.toggle("canMoveTop",!1),g.classList.toggle("canMoveBottom",!1)))}));const c=this._editor;this._register(j(this._nodes.top,"mousedown",u=>{if(u.button!==0)return;this._nodes.top.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),u.preventDefault();const d=u.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountTop.get();this._unchangedRegion.isDragged.set("top",void 0);const p=be(this._nodes.top),m=j(p,"mousemove",_=>{const y=_.clientY-d;f=f||Math.abs(y)>2;const C=Math.round(y/c.getOption(75)),x=Math.max(0,Math.min(g+C,this._unchangedRegion.getMaxVisibleLineCountTop()));this._unchangedRegion.visibleLineCountTop.set(x,void 0)}),v=j(p,"mouseup",_=>{f||this._unchangedRegion.showMoreAbove(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0),this._nodes.top.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),this._unchangedRegion.isDragged.set(void 0,void 0),m.dispose(),v.dispose()})})),this._register(j(this._nodes.bottom,"mousedown",u=>{if(u.button!==0)return;this._nodes.bottom.classList.toggle("dragging",!0),this._nodes.root.classList.toggle("dragging",!0),u.preventDefault();const d=u.clientY;let f=!1;const g=this._unchangedRegion.visibleLineCountBottom.get();this._unchangedRegion.isDragged.set("bottom",void 0);const p=be(this._nodes.bottom),m=j(p,"mousemove",_=>{const y=_.clientY-d;f=f||Math.abs(y)>2;const C=Math.round(y/c.getOption(75)),x=Math.max(0,Math.min(g-C,this._unchangedRegion.getMaxVisibleLineCountBottom())),S=this._unchangedRegionRange.endLineNumberExclusive>c.getModel().getLineCount()?c.getContentHeight():c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.visibleLineCountBottom.set(x,void 0);const k=this._unchangedRegionRange.endLineNumberExclusive>c.getModel().getLineCount()?c.getContentHeight():c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);c.setScrollTop(c.getScrollTop()+(k-S))}),v=j(p,"mouseup",_=>{if(this._unchangedRegion.isDragged.set(void 0,void 0),!f){const b=c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);this._unchangedRegion.showMoreBelow(this._options.hideUnchangedRegionsRevealLineCount.get(),void 0);const y=c.getTopForLineNumber(this._unchangedRegionRange.endLineNumberExclusive);c.setScrollTop(c.getScrollTop()+(y-b))}this._nodes.bottom.classList.toggle("dragging",!1),this._nodes.root.classList.toggle("dragging",!1),m.dispose(),v.dispose()})})),this._register(Qe(u=>{const d=[];if(!this._hide){const f=i.getHiddenModifiedRange(u).length,g=w(129,"{0} hidden lines",f),p=Le("span",{title:w(130,"Double click to unfold")},g);p.addEventListener("dblclick",_=>{_.button===0&&(_.preventDefault(),this._unchangedRegion.showAll(void 0))}),d.push(p);const m=this._unchangedRegion.getHiddenModifiedRange(u),v=this._modifiedOutlineSource.getBreadcrumbItems(m,u);if(v.length>0){d.push(Le("span",void 0,"  |  "));for(let _=0;_<v.length;_++){const b=v[_],y=tM.toIcon(b.kind),C=ot("div.breadcrumb-item",{style:{display:"flex",alignItems:"center"}},[T0(y)," ",b.name,..._===v.length-1?[]:[T0(re.chevronRight)]]).root;d.push(C),C.onclick=()=>{this._revealModifiedHiddenLine(b.startLineNumber)}}}}xn(this._nodes.others,...d)}))}}const SE=[];class E3e extends q{constructor(e,t,i,n){super(),this._editors=e,this._diffModel=t,this._options=i,this._widget=n,this._selectedDiffs=me(this,r=>{const o=this._diffModel.read(r),a=o==null?void 0:o.diff.read(r);if(!a)return SE;const l=this._editors.modifiedSelections.read(r);if(l.every(d=>d.isEmpty()))return SE;const h=new Yr(l.map(d=>Ee.fromRangeInclusive(d))),u=a.mappings.filter(d=>d.lineRangeMapping.innerChanges&&h.intersects(d.lineRangeMapping.modified)).map(d=>({mapping:d,rangeMappings:d.lineRangeMapping.innerChanges.filter(f=>l.some(g=>F.areIntersecting(f.modifiedRange,g)))}));return u.length===0||u.every(d=>d.rangeMappings.length===0)?SE:u}),this._register(fa((r,o)=>{if(!this._options.shouldRenderOldRevertArrows.read(r))return;const a=this._diffModel.read(r),l=a==null?void 0:a.diff.read(r);if(!a||!l||a.movedTextToCompare.read(r))return;const h=[],c=this._selectedDiffs.read(r),u=new Set(c.map(d=>d.mapping));if(c.length>0){const d=this._editors.modifiedSelections.read(r),f=o.add(new AL(d[d.length-1].positionLineNumber,this._widget,c.flatMap(g=>g.rangeMappings),!0));this._editors.modified.addGlyphMarginWidget(f),h.push(f)}for(const d of l.mappings)if(!u.has(d)&&!d.lineRangeMapping.modified.isEmpty&&d.lineRangeMapping.innerChanges){const f=o.add(new AL(d.lineRangeMapping.modified.startLineNumber,this._widget,d.lineRangeMapping,!1));this._editors.modified.addGlyphMarginWidget(f),h.push(f)}o.add(Se(()=>{for(const d of h)this._editors.modified.removeGlyphMarginWidget(d)}))}))}}const Tk=class Tk extends q{getId(){return this._id}constructor(e,t,i,n){super(),this._lineNumber=e,this._widget=t,this._diffs=i,this._revertSelection=n,this._id=`revertButton${Tk.counter++}`,this._domNode=ot("div.revertButton",{title:this._revertSelection?w(135,"Revert Selected Changes"):w(136,"Revert Change")},[T0(re.arrowRight)]).root,this._register(j(this._domNode,te.MOUSE_DOWN,r=>{r.button!==2&&(r.stopPropagation(),r.preventDefault())})),this._register(j(this._domNode,te.MOUSE_UP,r=>{r.stopPropagation(),r.preventDefault()})),this._register(j(this._domNode,te.CLICK,r=>{this._diffs instanceof Wn?this._widget.revert(this._diffs):this._widget.revertRangeMappings(this._diffs),r.stopPropagation(),r.preventDefault()}))}getDomNode(){return this._domNode}getPosition(){return{lane:fu.Right,range:{startColumn:1,startLineNumber:this._lineNumber,endColumn:1,endLineNumber:this._lineNumber},zIndex:10001}}};Tk.counter=0;let AL=Tk;var N3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},R_=function(s,e){return function(t,i){e(t,i,s)}};let RL=class extends PO{get onDidContentSizeChange(){return this._editors.onDidContentSizeChange}constructor(e,t,i,n,r,o,a,l){super(),this._domElement=e,this._parentContextKeyService=n,this._parentInstantiationService=r,this._codeEditorService=o,this._accessibilitySignalService=a,this._editorProgressService=l,this.elements=ot("div.monaco-diff-editor.side-by-side",{style:{position:"relative",height:"100%"}},[ot("div.editor.original@original",{style:{position:"absolute",height:"100%"}}),ot("div.editor.modified@modified",{style:{position:"absolute",height:"100%"}}),ot("div.accessibleDiffViewer@accessibleDiffViewer",{style:{position:"absolute",height:"100%"}})]),this._diffModelSrc=this._register(YX(this,void 0)),this._diffModel=me(this,y=>{var C;return(C=this._diffModelSrc.read(y))==null?void 0:C.object}),this.onDidChangeModel=J.fromObservableLight(this._diffModel),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._domElement)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new Nv([vt,this._contextKeyService]))),this._boundarySashes=ze(this,void 0),this._accessibleDiffViewerShouldBeVisible=ze(this,!1),this._accessibleDiffViewerVisible=me(this,y=>this._options.onlyShowAccessibleDiffViewer.read(y)?!0:this._accessibleDiffViewerShouldBeVisible.read(y)),this._movedBlocksLinesPart=ze(this,void 0),this._layoutInfo=me(this,y=>{var U,K;const C=this._rootSizeObserver.width.read(y),x=this._rootSizeObserver.height.read(y);this._rootSizeObserver.automaticLayout?this.elements.root.style.height="100%":this.elements.root.style.height=x+"px";const S=this._sash.read(y),k=this._gutter.read(y),T=(k==null?void 0:k.width.read(y))??0,I=((U=this._overviewRulerPart.read(y))==null?void 0:U.width)??0;let N,A,R,P,B;if(!!S){const X=S.sashLeft.read(y),ne=((K=this._movedBlocksLinesPart.read(y))==null?void 0:K.width.read(y))??0;N=0,A=X-T-ne,B=X-T,R=X,P=C-R-I}else{B=0;const X=this._options.inlineViewHideOriginalLineNumbers.read(y);N=T,X?A=0:A=Math.max(5,this._editors.originalObs.layoutInfoDecorationsLeft.read(y)),R=T+A,P=C-R-I}return this.elements.original.style.left=N+"px",this.elements.original.style.width=A+"px",this._editors.original.layout({width:A,height:x},!0),k==null||k.layout(B),this.elements.modified.style.left=R+"px",this.elements.modified.style.width=P+"px",this._editors.modified.layout({width:P,height:x},!0),{modifiedEditor:this._editors.modified.getLayoutInfo(),originalEditor:this._editors.original.getLayoutInfo()}}),this._diffValue=this._diffModel.map((y,C)=>y==null?void 0:y.diff.read(C)),this.onDidUpdateDiff=J.fromObservableLight(this._diffValue),this._codeEditorService.willCreateDiffEditor(),this._contextKeyService.createKey("isInDiffEditor",!0),this._domElement.appendChild(this.elements.root),this._register(Se(()=>this.elements.root.remove())),this._rootSizeObserver=this._register(new Ate(this.elements.root,t.dimension)),this._rootSizeObserver.setAutomaticLayout(t.automaticLayout??!1),this._options=this._instantiationService.createInstance(OO,t),this._register(Qe(y=>{this._options.setWidth(this._rootSizeObserver.width.read(y))})),this._contextKeyService.createKey(le.isEmbeddedDiffEditor.key,!1),this._register(Zl(le.isEmbeddedDiffEditor,this._contextKeyService,y=>this._options.isInEmbeddedEditor.read(y))),this._register(Zl(le.comparingMovedCode,this._contextKeyService,y=>{var C;return!!((C=this._diffModel.read(y))!=null&&C.movedTextToCompare.read(y))})),this._register(Zl(le.diffEditorRenderSideBySideInlineBreakpointReached,this._contextKeyService,y=>this._options.couldShowInlineViewBecauseOfSize.read(y))),this._register(Zl(le.diffEditorInlineMode,this._contextKeyService,y=>!this._options.renderSideBySide.read(y))),this._register(Zl(le.hasChanges,this._contextKeyService,y=>{var C,x;return(((x=(C=this._diffModel.read(y))==null?void 0:C.diff.read(y))==null?void 0:x.mappings.length)??0)>0})),this._editors=this._register(this._instantiationService.createInstance(RO,this.elements.original,this.elements.modified,this._options,i,(y,C,x,S)=>this._createInnerEditor(y,C,x,S))),this._register(Zl(le.diffEditorOriginalWritable,this._contextKeyService,y=>this._options.originalEditable.read(y))),this._register(Zl(le.diffEditorModifiedWritable,this._contextKeyService,y=>!this._options.readOnly.read(y))),this._register(Zl(le.diffEditorOriginalUri,this._contextKeyService,y=>{var C;return((C=this._diffModel.read(y))==null?void 0:C.model.original.uri.toString())??""})),this._register(Zl(le.diffEditorModifiedUri,this._contextKeyService,y=>{var C;return((C=this._diffModel.read(y))==null?void 0:C.model.modified.uri.toString())??""})),this._overviewRulerPart=ja(this,y=>this._options.renderOverviewRuler.read(y)?this._instantiationService.createInstance(eh(j0),this._editors,this.elements.root,this._diffModel,this._rootSizeObserver.width,this._rootSizeObserver.height,this._layoutInfo.map(C=>C.modifiedEditor)):void 0).recomputeInitiallyAndOnChange(this._store);const h={height:this._rootSizeObserver.height,width:this._rootSizeObserver.width.map((y,C)=>{var x;return y-(((x=this._overviewRulerPart.read(C))==null?void 0:x.width)??0)})};this._sashLayout=new v3e(this._options,h),this._sash=ja(this,y=>{const C=this._options.renderSideBySide.read(y);return this.elements.root.classList.toggle("side-by-side",C),C?new Bte(this.elements.root,h,this._options.enableSplitViewResizing,this._boundarySashes,this._sashLayout.sashLeft,()=>this._sashLayout.resetSash()):void 0}).recomputeInitiallyAndOnChange(this._store);const c=ja(this,y=>this._instantiationService.createInstance(eh(HO),this._editors,this._diffModel,this._options)).recomputeInitiallyAndOnChange(this._store);ja(this,y=>this._instantiationService.createInstance(eh(f3e),this._editors,this._diffModel,this._options,this)).recomputeInitiallyAndOnChange(this._store);const u=new Set,d=new Set;let f=!1;const g=ja(this,y=>this._instantiationService.createInstance(eh(MO),be(this._domElement),this._editors,this._diffModel,this._options,this,()=>f||c.read(void 0).isUpdatingHiddenAreas,u,d)).recomputeInitiallyAndOnChange(this._store),p=me(this,y=>{const C=g.read(y).viewZones.read(y).orig,x=c.read(y).viewZones.read(y).origViewZones;return C.concat(x)}),m=me(this,y=>{const C=g.read(y).viewZones.read(y).mod,x=c.read(y).viewZones.read(y).modViewZones;return C.concat(x)});this._register(EL(this._editors.original,p,y=>{f=y},u));let v;this._register(EL(this._editors.modified,m,y=>{f=y,f?v=TL.capture(this._editors.modified):(v==null||v.restore(this._editors.modified),v=void 0)},d)),this._accessibleDiffViewer=ja(this,y=>this._instantiationService.createInstance(eh(lf),this.elements.accessibleDiffViewer,this._accessibleDiffViewerVisible,(C,x)=>this._accessibleDiffViewerShouldBeVisible.set(C,x),this._options.onlyShowAccessibleDiffViewer.map(C=>!C),this._rootSizeObserver.width,this._rootSizeObserver.height,this._diffModel.map((C,x)=>{var S;return(S=C==null?void 0:C.diff.read(x))==null?void 0:S.mappings.map(k=>k.lineRangeMapping)}),new Y4e(this._editors))).recomputeInitiallyAndOnChange(this._store);const _=this._accessibleDiffViewerVisible.map(y=>y?"hidden":"visible");this._register(_u(this.elements.modified,{visibility:_})),this._register(_u(this.elements.original,{visibility:_})),this._createDiffEditorContributions(),this._codeEditorService.addDiffEditor(this),this._register(Se(()=>{this._codeEditorService.removeDiffEditor(this)})),this._gutter=ja(this,y=>this._options.shouldRenderGutterMenu.read(y)?this._instantiationService.createInstance(eh(BO),this.elements.root,this._diffModel,this._editors,this._options,this._sashLayout,this._boundarySashes):void 0),this._register(xD(this._layoutInfo)),ja(this,y=>new(eh(Pm))(this.elements.root,this._diffModel,this._layoutInfo.map(C=>C.originalEditor),this._layoutInfo.map(C=>C.modifiedEditor),this._editors)).recomputeInitiallyAndOnChange(this._store,y=>{this._movedBlocksLinesPart.set(y,void 0)}),this._register(J.runAndSubscribe(this._editors.modified.onDidChangeCursorPosition,y=>this._handleCursorPositionChange(y,!0))),this._register(J.runAndSubscribe(this._editors.original.onDidChangeCursorPosition,y=>this._handleCursorPositionChange(y,!1)));const b=this._diffModel.map(this,(y,C)=>{if(y)return y.diff.read(C)===void 0&&!y.isDiffUpToDate.read(C)});this._register(fa((y,C)=>{if(b.read(y)===!0){const x=this._editorProgressService.show(!0,1e3);C.add(Se(()=>x.done()))}})),this._register(fa((y,C)=>{C.add(new(eh(E3e))(this._editors,this._diffModel,this._options,this))})),this._register(fa((y,C)=>{const x=this._diffModel.read(y);if(x)for(const S of[x.model.original,x.model.modified])C.add(S.onWillDispose(k=>{xt(new Ce("TextModel got disposed before DiffEditorWidget model got reset")),this.setModel(null)}))})),this._register(Qe(y=>{this._options.setModel(this._diffModel.read(y))}))}_createInnerEditor(e,t,i,n){return e.createInstance(Zx,t,i,n)}_createDiffEditorContributions(){const e=vm.getDiffEditorContributions();for(const t of e)try{this._register(this._instantiationService.createInstance(t.ctor,this))}catch(i){xt(i)}}get _targetEditor(){return this._editors.modified}getEditorType(){return zD.IDiffEditor}layout(e){this._rootSizeObserver.observe(e)}hasTextFocus(){return this._editors.original.hasTextFocus()||this._editors.modified.hasTextFocus()}saveViewState(){var i;const e=this._editors.original.saveViewState(),t=this._editors.modified.saveViewState();return{original:e,modified:t,modelState:(i=this._diffModel.get())==null?void 0:i.serializeState()}}restoreViewState(e){var t;if(e&&e.original&&e.modified){const i=e;this._editors.original.restoreViewState(i.original),this._editors.modified.restoreViewState(i.modified),i.modelState&&((t=this._diffModel.get())==null||t.restoreSerializedState(i.modelState))}}handleInitialized(){this._editors.original.handleInitialized(),this._editors.modified.handleInitialized()}createViewModel(e){return this._instantiationService.createInstance(NO,e,this._options)}getModel(){var e;return((e=this._diffModel.get())==null?void 0:e.model)??null}setModel(e){const t=e?"model"in e?NL.create(e).createNewRef(this):NL.create(this.createViewModel(e),this):null;this.setDiffModel(t)}setDiffModel(e,t){const i=this._diffModel.get();!e&&i&&this._accessibleDiffViewer.get().close(),this._diffModel.get()!==(e==null?void 0:e.object)&&m3(t,n=>{var a;const r=e==null?void 0:e.object;Qt.batchEventsGlobally(n,()=>{this._editors.original.setModel(r?r.model.original:null),this._editors.modified.setModel(r?r.model.modified:null)});const o=(a=this._diffModelSrc.get())==null?void 0:a.createNewRef(this);this._diffModelSrc.set(e==null?void 0:e.createNewRef(this),n),setTimeout(()=>{o==null||o.dispose()},0)})}updateOptions(e){this._options.updateOptions(e)}getContainerDomNode(){return this._domElement}getOriginalEditor(){return this._editors.original}getModifiedEditor(){return this._editors.modified}getLineChanges(){var t;const e=(t=this._diffModel.get())==null?void 0:t.diff.get();return e?M3e(e):null}getDiffComputationResult(){var t;const e=(t=this._diffModel.get())==null?void 0:t.diff.get();return e?{changes:this.getLineChanges(),changes2:e.mappings.map(i=>i.lineRangeMapping),identical:e.identical,quitEarly:e.quitEarly}:null}revert(e){const t=this._diffModel.get();!t||!t.isDiffUpToDate.get()||(this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits("diffEditor",[{range:e.modified.toExclusiveRange(),text:t.model.original.getValueInRange(e.original.toExclusiveRange())}]),this._editors.modified.pushUndoStop())}revertRangeMappings(e){const t=this._diffModel.get();if(!t||!t.isDiffUpToDate.get())return;const i=e.map(n=>({range:n.modifiedRange,text:t.model.original.getValueInRange(n.originalRange)}));this._editors.modified.pushUndoStop(),this._editors.modified.executeEdits("diffEditor",i),this._editors.modified.pushUndoStop()}revertFocusedRangeMappings(){var l,h;const e=this._diffModel.get();if(!e||!e.isDiffUpToDate.get())return;const t=(h=(l=this._diffModel.get())==null?void 0:l.diff.get())==null?void 0:h.mappings;if(!t||t.length===0)return;const i=this._editors.modified;if(!i.hasTextFocus())return;const n=i.getPosition().lineNumber,r=i.getSelection(),o=Ee.fromRange(r||new F(n,0,n,0)),a=t.filter(c=>c.lineRangeMapping.modified.intersect(o));i.pushUndoStop(),i.executeEdits("diffEditor",a.map(c=>({range:c.lineRangeMapping.modified.toExclusiveRange(),text:e.model.original.getValueInRange(c.lineRangeMapping.original.toExclusiveRange())}))),i.pushUndoStop()}_goTo(e){this._editors.modified.setPosition(new H(e.lineRangeMapping.modified.startLineNumber,1)),this._editors.modified.revealRangeInCenter(e.lineRangeMapping.modified.toExclusiveRange())}goToDiff(e){var r,o;const t=(o=(r=this._diffModel.get())==null?void 0:r.diff.get())==null?void 0:o.mappings;if(!t||t.length===0)return;const i=this._editors.modified.getPosition().lineNumber;let n;e==="next"?this._editors.modified.getModel().getLineCount()===i?n=t[0]:n=t.find(l=>l.lineRangeMapping.modified.startLineNumber>i)??t[0]:n=cx(t,a=>a.lineRangeMapping.modified.startLineNumber<i)??t[t.length-1],this._goTo(n),n.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(tl.diffLineDeleted,{source:"diffEditor.goToDiff"}):n.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(tl.diffLineInserted,{source:"diffEditor.goToDiff"}):n&&this._accessibilitySignalService.playSignal(tl.diffLineModified,{source:"diffEditor.goToDiff"})}revealFirstDiff(){const e=this._diffModel.get();e&&this.waitForDiff().then(()=>{var i;const t=(i=e.diff.get())==null?void 0:i.mappings;!t||t.length===0||this._goTo(t[0])})}accessibleDiffViewerNext(){this._accessibleDiffViewer.get().next()}accessibleDiffViewerPrev(){this._accessibleDiffViewer.get().prev()}async waitForDiff(){const e=this._diffModel.get();e&&await e.waitForDiff()}mapToOtherSide(){var o,a;const e=this._editors.modified.hasWidgetFocus(),t=e?this._editors.modified:this._editors.original,i=e?this._editors.original:this._editors.modified;let n;const r=t.getSelection();if(r){const l=(a=(o=this._diffModel.get())==null?void 0:o.diff.get())==null?void 0:a.mappings.map(h=>e?h.lineRangeMapping.flip():h.lineRangeMapping);if(l){const h=RU(r.getStartPosition(),l),c=RU(r.getEndPosition(),l);n=F.plusRange(h,c)}}return{destination:i,destinationSelection:n}}switchSide(){const{destination:e,destinationSelection:t}=this.mapToOtherSide();e.focus(),t&&e.setSelection(t)}exitCompareMove(){const e=this._diffModel.get();e&&e.movedTextToCompare.set(void 0,void 0)}collapseAllUnchangedRegions(){var t;const e=(t=this._diffModel.get())==null?void 0:t.unchangedRegions.get();e&&vi(i=>{for(const n of e)n.collapseAll(i)})}showAllUnchangedRegions(){var t;const e=(t=this._diffModel.get())==null?void 0:t.unchangedRegions.get();e&&vi(i=>{for(const n of e)n.showAll(i)})}_handleCursorPositionChange(e,t){var i,n;if((e==null?void 0:e.reason)===3){const r=(n=(i=this._diffModel.get())==null?void 0:i.diff.get())==null?void 0:n.mappings.find(o=>t?o.lineRangeMapping.modified.contains(e.position.lineNumber):o.lineRangeMapping.original.contains(e.position.lineNumber));r!=null&&r.lineRangeMapping.modified.isEmpty?this._accessibilitySignalService.playSignal(tl.diffLineDeleted,{source:"diffEditor.cursorPositionChanged"}):r!=null&&r.lineRangeMapping.original.isEmpty?this._accessibilitySignalService.playSignal(tl.diffLineInserted,{source:"diffEditor.cursorPositionChanged"}):r&&this._accessibilitySignalService.playSignal(tl.diffLineModified,{source:"diffEditor.cursorPositionChanged"})}}};RL=N3e([R_(3,vt),R_(4,ft),R_(5,Fi),R_(6,_T),R_(7,VF)],RL);function M3e(s){return s.mappings.map(e=>{const t=e.lineRangeMapping;let i,n,r,o,a=t.innerChanges;return t.original.isEmpty?(i=t.original.startLineNumber-1,n=0,a=void 0):(i=t.original.startLineNumber,n=t.original.endLineNumberExclusive-1),t.modified.isEmpty?(r=t.modified.startLineNumber-1,o=0,a=void 0):(r=t.modified.startLineNumber,o=t.modified.endLineNumberExclusive-1),{originalStartLineNumber:i,originalEndLineNumber:n,modifiedStartLineNumber:r,modifiedEndLineNumber:o,charChanges:a==null?void 0:a.map(l=>({originalStartLineNumber:l.originalRange.startLineNumber,originalStartColumn:l.originalRange.startColumn,originalEndLineNumber:l.originalRange.endLineNumber,originalEndColumn:l.originalRange.endColumn,modifiedStartLineNumber:l.modifiedRange.startLineNumber,modifiedStartColumn:l.modifiedRange.startColumn,modifiedEndLineNumber:l.modifiedRange.endLineNumber,modifiedEndColumn:l.modifiedRange.endColumn}))}})}function A3e(s){return s&&typeof s.getEditorType=="function"?s.getEditorType()===zD.ICodeEditor:!1}var R3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},t$=function(s,e){return function(t,i){e(t,i,s)}},cS,Vf;let zO=(Vf=class{constructor(e,t){this._configurationService=e,this._languageService=t}async renderCodeBlock(e,t,i){var c;const n=A3e(i.context)?i.context:void 0;let r;e?r=this._languageService.getLanguageIdByLanguageName(e):n&&(r=(c=n.getModel())==null?void 0:c.getLanguageId()),r||(r=No);const o=await OIe(this._languageService,t,r),a=cS._ttpTokenizer?cS._ttpTokenizer.createHTML(o)??o:o,l=document.createElement("span");l.innerHTML=a;const h=l.querySelector(".monaco-tokenized-source");return _i(h)?(mn(h,this.getFontInfo(n)),l):document.createElement("span")}getFontInfo(e){return e?e.getOption(59):hCe({fontFamily:this._configurationService.getValue("editor").fontFamily},1)}},cS=Vf,Vf._ttpTokenizer=Su("tokenizeToString",{createHTML(e){return e}}),Vf);zO=cS=R3e([t$(0,Yt),t$(1,Gi)],zO);var _7=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},It=function(s,e){return function(t,i){e(t,i,s)}};let P3e=0,i$=!1;function O3e(s){if(!s){if(i$)return;i$=!0}iCe(s||Et.document.body)}let PL=class extends Zx{constructor(e,t,i,n,r,o,a,l,h,c,u,d,f,g){const p={...t};p.ariaLabel=p.ariaLabel||gP.editorViewAccessibleLabel,super(e,p,{},i,n,r,o,h,c,u,d,f),l instanceof pv?this._standaloneKeybindingService=l:this._standaloneKeybindingService=null,O3e(p.ariaContainerElement),uRe((m,v)=>i.createInstance(L0,m,{instantHover:v},{})),dRe(a),g.setDefaultCodeBlockRenderer(i.createInstance(zO))}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;const n="DYNAMIC_"+ ++P3e,r=it.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,r),n}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if(typeof e.id!="string"||typeof e.label!="string"||typeof e.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),q.None;const t=e.id,i=e.label,n=it.and(it.equals("editorId",this.getId()),it.deserialize(e.precondition)),r=e.keybindings,o=it.and(n,it.deserialize(e.keybindingContext)),a=e.contextMenuGroupId||null,l=e.contextMenuOrder||0,h=(f,...g)=>Promise.resolve(e.run(this,...g)),c=new he,u=this.getId()+":"+t;if(c.add(Ns.registerCommand(u,h)),a){const f={command:{id:u,title:i},when:n,group:a,order:l};c.add(ev.appendMenuItem(Ni.EditorContext,f))}if(Array.isArray(r))for(const f of r)c.add(this._standaloneKeybindingService.addDynamicKeybinding(u,f,h,o));const d=new lJ(u,i,i,void 0,n,(...f)=>Promise.resolve(e.run(this,...f)),this._contextKeyService);return this._actions.set(t,d),c.add(Se(()=>{this._actions.delete(t)})),c}_triggerCommand(e,t){if(this._codeEditorService instanceof Qx)try{this._codeEditorService.setActiveCodeEditor(this),super._triggerCommand(e,t)}finally{this._codeEditorService.setActiveCodeEditor(null)}else super._triggerCommand(e,t)}};PL=_7([It(2,ft),It(3,Fi),It(4,Rr),It(5,vt),It(6,Tw),It(7,sn),It(8,tr),It(9,Bo),It(10,Pr),It(11,Ml),It(12,Wt),It(13,rT)],PL);let jO=class extends PL{constructor(e,t,i,n,r,o,a,l,h,c,u,d,f,g,p,m,v){const _={...t};DL(u,_,!1);const b=h.registerEditorContainer(e);typeof _.theme=="string"&&h.setTheme(_.theme),typeof _.autoDetectHighContrast<"u"&&h.setAutoDetectHighContrast(!!_.autoDetectHighContrast);const y=_.model;delete _.model,super(e,_,i,n,r,o,a,l,h,c,d,p,m,v),this._configurationService=u,this._standaloneThemeService=h,this._register(b);let C;if(typeof y>"u"){const x=g.getLanguageIdByMimeType(_.language)||_.language||No;C=jte(f,g,_.value||"",x,void 0),this._ownsModel=!0}else C=y,this._ownsModel=!1;if(this._attachModel(C),C){const x={oldModelUrl:null,newModelUrl:C.uri};this._onDidChangeModel.fire(x)}}dispose(){super.dispose()}updateOptions(e){DL(this._configurationService,e,!1),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};jO=_7([It(2,ft),It(3,Fi),It(4,Rr),It(5,vt),It(6,Tw),It(7,sn),It(8,Vo),It(9,Bo),It(10,Yt),It(11,Pr),It(12,os),It(13,Gi),It(14,Ml),It(15,Wt),It(16,rT)],jO);let UO=class extends RL{constructor(e,t,i,n,r,o,a,l,h,c,u,d){const f={...t};DL(l,f,!0);const g=o.registerEditorContainer(e);typeof f.theme=="string"&&o.setTheme(f.theme),typeof f.autoDetectHighContrast<"u"&&o.setAutoDetectHighContrast(!!f.autoDetectHighContrast),super(e,f,{},n,i,r,d,c),this._configurationService=l,this._standaloneThemeService=o,this._register(g)}dispose(){super.dispose()}updateOptions(e){DL(this._configurationService,e,!0),typeof e.theme=="string"&&this._standaloneThemeService.setTheme(e.theme),typeof e.autoDetectHighContrast<"u"&&this._standaloneThemeService.setAutoDetectHighContrast(!!e.autoDetectHighContrast),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(PL,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};UO=_7([It(2,ft),It(3,vt),It(4,Fi),It(5,Vo),It(6,Bo),It(7,Yt),It(8,Jh),It(9,VF),It(10,c7),It(11,_T)],UO);function jte(s,e,t,i,n){if(t=t||"",!i){const r=t.indexOf(`
877
877
  `);let o=t;return r!==-1&&(o=t.substring(0,r)),n$(s,t,e.createByFilepathOrFirstLine(n||null,o),n)}return n$(s,t,e.createById(i),n)}function n$(s,e,t,i){return s.createModel(e,t,i)}O("multiDiffEditor.headerBackground",{dark:"#262626",light:"tab.inactiveBackground",hcDark:"tab.inactiveBackground",hcLight:"tab.inactiveBackground"},w(142,"The background color of the diff editor's header"));O("multiDiffEditor.background",Ao,w(143,"The background color of the multi file diff editor"));O("multiDiffEditor.border",{dark:"sideBarSectionHeader.border",light:"#cccccc",hcDark:"sideBarSectionHeader.border",hcLight:"#cccccc"},w(144,"The border color of the multi file diff editor"));var F3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},s$=function(s,e){return function(t,i){e(t,i,s)}};class B3e{constructor(e,t){this.viewModel=e,this.deltaScrollVertical=t}getId(){return this.viewModel}}let $O=class extends q{constructor(e,t,i,n,r){super(),this._container=e,this._overflowWidgetsDomNode=t,this._workbenchUIElementFactory=i,this._instantiationService=n,this._viewModel=ze(this,void 0),this._collapsed=me(this,l=>{var h;return(h=this._viewModel.read(l))==null?void 0:h.collapsed.read(l)}),this._editorContentHeight=ze(this,500),this.contentHeight=me(this,l=>(this._collapsed.read(l)?0:this._editorContentHeight.read(l))+this._outerEditorHeight),this._modifiedContentWidth=ze(this,0),this._modifiedWidth=ze(this,0),this._originalContentWidth=ze(this,0),this._originalWidth=ze(this,0),this.maxScroll=me(this,l=>{const h=this._modifiedContentWidth.read(l)-this._modifiedWidth.read(l),c=this._originalContentWidth.read(l)-this._originalWidth.read(l);return h>c?{maxScroll:h,width:this._modifiedWidth.read(l)}:{maxScroll:c,width:this._originalWidth.read(l)}}),this._elements=ot("div.multiDiffEntry",[ot("div.header@header",[ot("div.header-content",[ot("div.collapse-button@collapseButton"),ot("div.file-path",[ot("div.title.modified.show-file-icons@primaryPath",[]),ot("div.status.deleted@status",["R"]),ot("div.title.original.show-file-icons@secondaryPath",[])]),ot("div.actions@actions")])]),ot("div.editorParent",[ot("div.editorContainer@editor")])]),this.editor=this._register(this._instantiationService.createInstance(RL,this._elements.editor,{overflowWidgetsDomNode:this._overflowWidgetsDomNode,fixedOverflowWidgets:!0},{})),this.isModifedFocused=hf(this.editor.getModifiedEditor()).isFocused,this.isOriginalFocused=hf(this.editor.getOriginalEditor()).isFocused,this.isFocused=me(this,l=>this.isModifedFocused.read(l)||this.isOriginalFocused.read(l)),this._resourceLabel=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.primaryPath)):void 0,this._resourceLabel2=this._workbenchUIElementFactory.createResourceLabel?this._register(this._workbenchUIElementFactory.createResourceLabel(this._elements.secondaryPath)):void 0,this._dataStore=this._register(new he),this._headerHeight=40,this._lastScrollTop=-1,this._isSettingScrollTop=!1;const o=new BP(this._elements.collapseButton,{});this._register(Qe(l=>{o.element.className="",o.icon=this._collapsed.read(l)?re.chevronRight:re.chevronDown})),this._register(o.onDidClick(()=>{var l;(l=this._viewModel.get())==null||l.collapsed.set(!this._collapsed.get(),void 0)})),this._register(Qe(l=>{this._elements.editor.style.display=this._collapsed.read(l)?"none":"block"})),this._register(this.editor.getModifiedEditor().onDidLayoutChange(l=>{const h=this.editor.getModifiedEditor().getLayoutInfo().contentWidth;this._modifiedWidth.set(h,void 0)})),this._register(this.editor.getOriginalEditor().onDidLayoutChange(l=>{const h=this.editor.getOriginalEditor().getLayoutInfo().contentWidth;this._originalWidth.set(h,void 0)})),this._register(this.editor.onDidContentSizeChange(l=>{U_(h=>{this._editorContentHeight.set(l.contentHeight,h),this._modifiedContentWidth.set(this.editor.getModifiedEditor().getContentWidth(),h),this._originalContentWidth.set(this.editor.getOriginalEditor().getContentWidth(),h)})})),this._register(this.editor.getOriginalEditor().onDidScrollChange(l=>{if(this._isSettingScrollTop||!l.scrollTopChanged||!this._data)return;const h=l.scrollTop-this._lastScrollTop;this._data.deltaScrollVertical(h)})),this._register(Qe(l=>{var c;const h=(c=this._viewModel.read(l))==null?void 0:c.isActive.read(l);this._elements.root.classList.toggle("active",h)})),this._container.appendChild(this._elements.root),this._outerEditorHeight=this._headerHeight,this._contextKeyService=this._register(r.createScoped(this._elements.actions));const a=this._register(this._instantiationService.createChild(new Nv([vt,this._contextKeyService])));this._register(a.createInstance(ML,this._elements.actions,Ni.MultiDiffEditorFileToolbar,{actionRunner:this._register(new Hte(()=>{var l,h;return((l=this._viewModel.get())==null?void 0:l.modifiedUri)??((h=this._viewModel.get())==null?void 0:h.originalUri)})),menuOptions:{shouldForwardArgs:!0},toolbarOptions:{primaryGroup:l=>l.startsWith("navigation")},actionViewItemProvider:(l,h)=>$ee(a,l,h)}))}setScrollLeft(e){this._modifiedContentWidth.get()-this._modifiedWidth.get()>this._originalContentWidth.get()-this._originalWidth.get()?this.editor.getModifiedEditor().setScrollLeft(e):this.editor.getOriginalEditor().setScrollLeft(e)}setData(e){this._data=e;function t(n){return{...n,scrollBeyondLastLine:!1,hideUnchangedRegions:{enabled:!0},scrollbar:{vertical:"hidden",horizontal:"hidden",handleMouseWheel:!1,useShadows:!1},renderOverviewRuler:!1,fixedOverflowWidgets:!0,overviewRulerBorder:!1}}if(!e){U_(n=>{this._viewModel.set(void 0,n),this.editor.setDiffModel(null,n),this._dataStore.clear()});return}const i=e.viewModel.documentDiffItem;if(U_(n=>{var h,c;(h=this._resourceLabel)==null||h.setUri(e.viewModel.modifiedUri??e.viewModel.originalUri,{strikethrough:e.viewModel.modifiedUri===void 0});let r=!1,o=!1,a=!1,l="";e.viewModel.modifiedUri&&e.viewModel.originalUri&&e.viewModel.modifiedUri.path!==e.viewModel.originalUri.path?(l="R",r=!0):e.viewModel.modifiedUri?e.viewModel.originalUri||(l="A",a=!0):(l="D",o=!0),this._elements.status.classList.toggle("renamed",r),this._elements.status.classList.toggle("deleted",o),this._elements.status.classList.toggle("added",a),this._elements.status.innerText=l,(c=this._resourceLabel2)==null||c.setUri(r?e.viewModel.originalUri:void 0,{strikethrough:!0}),this._dataStore.clear(),this._viewModel.set(e.viewModel,n),this.editor.setDiffModel(e.viewModel.diffEditorViewModelRef,n),this.editor.updateOptions(t(i.options??{}))}),i.onOptionsDidChange&&this._dataStore.add(i.onOptionsDidChange(()=>{this.editor.updateOptions(t(i.options??{}))})),e.viewModel.isAlive.recomputeInitiallyAndOnChange(this._dataStore,n=>{n||this.setData(void 0)}),e.viewModel.documentDiffItem.contextKeys)for(const[n,r]of Object.entries(e.viewModel.documentDiffItem.contextKeys))this._contextKeyService.createKey(n,r)}render(e,t,i,n){this._elements.root.style.visibility="visible",this._elements.root.style.top=`${e.start}px`,this._elements.root.style.height=`${e.length}px`,this._elements.root.style.width=`${t}px`,this._elements.root.style.position="absolute";const r=e.length-this._headerHeight,o=Math.max(0,Math.min(n.start-e.start,r));this._elements.header.style.transform=`translateY(${o}px)`,U_(a=>{this.editor.layout({width:t-16-2,height:e.length-this._outerEditorHeight})});try{this._isSettingScrollTop=!0,this._lastScrollTop=i,this.editor.getOriginalEditor().setScrollTop(i)}finally{this._isSettingScrollTop=!1}this._elements.header.classList.toggle("shadow",o>0||i>0),this._elements.header.classList.toggle("collapsed",o===r)}hide(){this._elements.root.style.top="-100000px",this._elements.root.style.visibility="hidden"}};$O=F3e([s$(3,ft),s$(4,vt)],$O);class V3e{constructor(e){this._create=e,this._unused=new Set,this._used=new Set,this._itemData=new Map}getUnusedObj(e){let t;if(this._unused.size===0)t=this._create(e),this._itemData.set(t,e);else{const i=[...this._unused.values()];t=i.find(n=>this._itemData.get(n).getId()===e.getId())??i[0],this._unused.delete(t),this._itemData.set(t,e),t.setData(e)}return this._used.add(t),{object:t,dispose:()=>{this._used.delete(t),this._unused.size>5?t.dispose():this._unused.add(t)}}}dispose(){for(const e of this._used)e.dispose();for(const e of this._unused)e.dispose();this._used.clear(),this._unused.clear()}}var W3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},r$=function(s,e){return function(t,i){e(t,i,s)}};let GO=class extends q{constructor(e,t,i,n,r,o){super(),this._element=e,this._dimension=t,this._viewModel=i,this._workbenchUIElementFactory=n,this._parentContextKeyService=r,this._parentInstantiationService=o,this._scrollableElements=ot("div.scrollContent",[ot("div@content",{style:{overflow:"hidden"}}),ot("div.monaco-editor@overflowWidgetsDomNode",{})]),this._scrollable=this._register(new Iv({forceIntegerValues:!1,scheduleAtNextAnimationFrame:h=>Is(be(this._element),h),smoothScrollDuration:100})),this._scrollableElement=this._register(new ZD(this._scrollableElements.root,{vertical:1,horizontal:1,useShadows:!1},this._scrollable)),this._elements=ot("div.monaco-component.multiDiffEditor",{},[ot("div",{},[this._scrollableElement.getDomNode()]),ot("div.placeholder@placeholder",{},[ot("div")])]),this._sizeObserver=this._register(new Ate(this._element,void 0)),this._objectPool=this._register(new V3e(h=>{const c=this._instantiationService.createInstance($O,this._scrollableElements.content,this._scrollableElements.overflowWidgetsDomNode,this._workbenchUIElementFactory);return c.setData(h),c})),this.scrollTop=Qt(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollTop),this.scrollLeft=Qt(this,this._scrollableElement.onScroll,()=>this._scrollableElement.getScrollPosition().scrollLeft),this._viewItemsInfo=me(this,h=>{const c=this._viewModel.read(h);if(!c)return{items:[],getItem:g=>{throw new Ce}};const u=c.items.read(h),d=new Map;return{items:u.map(g=>{var v;const p=h.store.add(new z3e(g,this._objectPool,this.scrollLeft,_=>{this._scrollableElement.setScrollPosition({scrollTop:this._scrollableElement.getScrollPosition().scrollTop+_})})),m=(v=this._lastDocStates)==null?void 0:v[p.getKey()];return m&&vi(_=>{p.setViewState(m,_)}),d.set(g,p),p}),getItem:g=>d.get(g)}}),this._viewItems=this._viewItemsInfo.map(this,h=>h.items),this._spaceBetweenPx=0,this._totalHeight=this._viewItems.map(this,(h,c)=>h.reduce((u,d)=>u+d.contentHeight.read(c)+this._spaceBetweenPx,0)),this.activeControl=me(this,h=>{var d,f;const c=(d=this._viewModel.read(h))==null?void 0:d.activeDiffItem.read(h);return c?(f=this._viewItemsInfo.read(h).getItem(c).template.read(h))==null?void 0:f.editor:void 0}),this._contextKeyService=this._register(this._parentContextKeyService.createScoped(this._element)),this._instantiationService=this._register(this._parentInstantiationService.createChild(new Nv([vt,this._contextKeyService]))),this._contextKeyService.createKey(le.inMultiDiffEditor.key,!0),this._lastDocStates={},this._register(fa((h,c)=>{const u=this._viewModel.read(h);if(u&&u.contextKeys)for(const[d,f]of Object.entries(u.contextKeys)){const g=this._contextKeyService.createKey(d,void 0);g.set(f),c.add(Se(()=>g.reset()))}}));const a=this._parentContextKeyService.createKey(le.multiDiffEditorAllCollapsed.key,!1);this._register(Qe(h=>{const c=this._viewModel.read(h);if(c){const u=c.items.read(h).every(d=>d.collapsed.read(h));a.set(u)}})),this._register(Qe(h=>{const c=this._dimension.read(h);this._sizeObserver.observe(c)}));const l=me(h=>{if(this._viewItems.read(h).length>0)return;const u=this._viewModel.read(h);return!u||u.isLoading.read(h)?w(145,"Loading..."):w(146,"No Changed Files")});this._register(Qe(h=>{const c=l.read(h);this._elements.placeholder.innerText=c??"",this._elements.placeholder.classList.toggle("visible",!!c)})),this._scrollableElements.content.style.position="relative",this._register(Qe(h=>{const c=this._sizeObserver.height.read(h);this._scrollableElements.root.style.height=`${c}px`;const u=this._totalHeight.read(h);this._scrollableElements.content.style.height=`${u}px`;const d=this._sizeObserver.width.read(h);let f=d;const g=this._viewItems.read(h),p=AZ(g,Ir(m=>m.maxScroll.read(h).maxScroll,Fh));if(p){const m=p.maxScroll.read(h);f=d+m.maxScroll}this._scrollableElement.setScrollDimensions({width:d,height:c,scrollHeight:u,scrollWidth:f})})),e.replaceChildren(this._elements.root),this._register(Se(()=>{e.replaceChildren()})),this._register(Qe(h=>{const c=this._viewModel.read(h);if(c&&!c.isLoading.read(h)){if(c.items.read(h).length===0||c.activeDiffItem.read(h))return;this.goToNextChange()}})),this._register(this._register(Qe(h=>{U_(c=>{this.render(h)})})))}reveal(e,t){var h;const i=this._viewItems.get(),n=i.findIndex(c=>{var u,d,f,g;return((u=c.viewModel.originalUri)==null?void 0:u.toString())===((d=e.original)==null?void 0:d.toString())&&((f=c.viewModel.modifiedUri)==null?void 0:f.toString())===((g=e.modified)==null?void 0:g.toString())});if(n===-1)throw new Ce("Resource not found in diff editor");const r=i[n];this._viewModel.get().activeDiffItem.setCache(r.viewModel,void 0);let o=0;for(let c=0;c<n;c++)o+=i[c].contentHeight.get()+this._spaceBetweenPx;this._scrollableElement.setScrollPosition({scrollTop:o});const a=(h=r.template.get())==null?void 0:h.editor,l="original"in e?a==null?void 0:a.getOriginalEditor():a==null?void 0:a.getModifiedEditor();l&&(t!=null&&t.range)&&(l.revealRangeInCenter(t.range),H3e(l,t.range))}goToNextChange(){this._navigateToChange("next")}_navigateToChange(e){var l,h,c,u,d;const t=this._viewItems.get();if(t.length===0)return;const i=(l=this._viewModel.get())==null?void 0:l.activeDiffItem.get(),n=i?t.findIndex(f=>f.viewModel===i):-1;if(n===-1){this._goToFile(0,"first");return}const r=t[n];r.viewModel.collapsed.get()&&r.viewModel.collapsed.set(!1,void 0);const o=(h=r.template.get())==null?void 0:h.editor;if((u=(c=o==null?void 0:o.getDiffComputationResult())==null?void 0:c.changes2)!=null&&u.length){const f=((d=o.getModifiedEditor().getPosition())==null?void 0:d.lineNumber)||1,g=o.getDiffComputationResult().changes2;if(e==="next"?g.some(m=>m.modified.startLineNumber>f):g.some(m=>m.modified.endLineNumberExclusive<=f)){o.goToDiff(e);return}}const a=(n+(e==="next"?1:-1)+t.length)%t.length;this._goToFile(a,e==="next"?"first":"last")}_goToFile(e,t){var r,o,a;const i=this._viewItems.get()[e];i.viewModel.collapsed.get()&&i.viewModel.collapsed.set(!1,void 0),this.reveal({original:i.viewModel.originalUri,modified:i.viewModel.modifiedUri});const n=(r=i.template.get())==null?void 0:r.editor;if((a=(o=n==null?void 0:n.getDiffComputationResult())==null?void 0:o.changes2)!=null&&a.length)if(t==="first")n.revealFirstDiff();else{const l=n.getDiffComputationResult().changes2.at(-1),h=n.getModifiedEditor();h.setPosition({lineNumber:l.modified.startLineNumber,column:1}),h.revealLineInCenter(l.modified.startLineNumber)}n==null||n.focus()}render(e){const t=this.scrollTop.read(e);let i=0,n=0,r=0;const o=this._sizeObserver.height.read(e),a=_e.ofStartAndLength(t,o),l=this._sizeObserver.width.read(e);for(const h of this._viewItems.read(e)){const c=h.contentHeight.read(e),u=Math.min(c,o),d=_e.ofStartAndLength(n,u),f=_e.ofStartAndLength(r,c);if(f.isBefore(a))i-=c-u,h.hide();else if(f.isAfter(a))h.hide();else{const g=Math.max(0,Math.min(a.start-f.start,c-u));i-=g;const p=_e.ofStartAndLength(t+i,o);h.render(d,g,l,p)}n+=u+this._spaceBetweenPx,r+=c+this._spaceBetweenPx}this._scrollableElements.content.style.transform=`translateY(${-(t+i)}px)`}};GO=W3e([r$(4,vt),r$(5,ft)],GO);function H3e(s,e){const t=s.getModel(),i=s.createDecorationsCollection([{range:e,options:{description:"symbol-navigate-action-highlight",className:"symbolHighlight"}}]);setTimeout(()=>{s.getModel()===t&&i.clear()},350)}class z3e extends q{constructor(e,t,i,n){super(),this.viewModel=e,this._objectPool=t,this._scrollLeft=i,this._deltaScrollVertical=n,this._templateRef=this._register(YX(this,void 0)),this.contentHeight=me(this,r=>{var o,a;return((a=(o=this._templateRef.read(r))==null?void 0:o.object.contentHeight)==null?void 0:a.read(r))??this.viewModel.lastTemplateData.read(r).contentHeight}),this.maxScroll=me(this,r=>{var o;return((o=this._templateRef.read(r))==null?void 0:o.object.maxScroll.read(r))??{maxScroll:0,scrollWidth:0}}),this.template=me(this,r=>{var o;return(o=this._templateRef.read(r))==null?void 0:o.object}),this._isHidden=ze(this,!1),this._isFocused=me(this,r=>{var o;return((o=this.template.read(r))==null?void 0:o.isFocused.read(r))??!1}),this.viewModel.setIsFocused(this._isFocused,void 0),this._register(Qe(r=>{var a;const o=this._scrollLeft.read(r);(a=this._templateRef.read(r))==null||a.object.setScrollLeft(o)})),this._register(Qe(r=>{const o=this._templateRef.read(r);!o||!this._isHidden.read(r)||o.object.isFocused.read(r)||this._clear()}))}dispose(){this._clear(),super.dispose()}toString(){var e;return`VirtualViewItem(${(e=this.viewModel.documentDiffItem.modified)==null?void 0:e.uri.toString()})`}getKey(){return this.viewModel.getKey()}setViewState(e,t){var o;this.viewModel.collapsed.set(e.collapsed,t),this._updateTemplateData(t);const i=this.viewModel.lastTemplateData.get(),n=(o=e.selections)==null?void 0:o.map(nt.liftSelection);this.viewModel.lastTemplateData.set({...i,selections:n},t);const r=this._templateRef.get();r&&n&&r.object.editor.setSelections(n)}_updateTemplateData(e){const t=this._templateRef.get();t&&this.viewModel.lastTemplateData.set({contentHeight:t.object.contentHeight.get(),selections:t.object.editor.getSelections()??void 0},e)}_clear(){const e=this._templateRef.get();e&&vi(t=>{this._updateTemplateData(t),e.object.hide(),this._templateRef.set(void 0,t)})}hide(){this._isHidden.set(!0,void 0)}render(e,t,i,n){this._isHidden.set(!1,void 0);let r=this._templateRef.get();if(!r){r=this._objectPool.getUnusedObj(new B3e(this.viewModel,this._deltaScrollVertical)),this._templateRef.set(r,void 0);const o=this.viewModel.lastTemplateData.get().selections;o&&r.object.editor.setSelections(o)}r.object.render(e,i,t,n)}}var j3e=function(s,e,t,i){var n=arguments.length,r=n<3?e:i===null?i=Object.getOwnPropertyDescriptor(e,t):i,o;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(s,e,t,i);else for(var a=s.length-1;a>=0;a--)(o=s[a])&&(r=(n<3?o(r):n>3?o(e,t,r):o(e,t))||r);return n>3&&r&&Object.defineProperty(e,t,r),r},U3e=function(s,e){return function(t,i){e(t,i,s)}};let qO=class extends q{constructor(e,t,i){super(),this._element=e,this._workbenchUIElementFactory=t,this._instantiationService=i,this._dimension=ze(this,void 0),this._viewModel=ze(this,void 0),this._widgetImpl=me(this,n=>n.store.add(this._instantiationService.createInstance(eh(GO),this._element,this._dimension,this._viewModel,this._workbenchUIElementFactory))),this._register(xD(this._widgetImpl))}};qO=j3e([U3e(2,ft)],qO);function $3e(s,e,t){return xe.initialize(t||{}).createInstance(jO,s,e)}function G3e(s){return xe.get(Fi).onCodeEditorAdd(t=>{s(t)})}function q3e(s){return xe.get(Fi).onDiffEditorAdd(t=>{s(t)})}function K3e(){return xe.get(Fi).listCodeEditors()}function Y3e(){return xe.get(Fi).listDiffEditors()}function X3e(s,e,t){return xe.initialize(t||{}).createInstance(UO,s,e)}function Z3e(s,e){const t=xe.initialize(e||{});return new qO(s,{},t)}function Q3e(s){if(typeof s.id!="string"||typeof s.run!="function")throw new Error("Invalid command descriptor, `id` and `run` are required properties!");return Ns.registerCommand(s.id,s.run)}function J3e(s){if(typeof s.id!="string"||typeof s.label!="string"||typeof s.run!="function")throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");const e=it.deserialize(s.precondition),t=(n,...r)=>ng.runEditorCommand(n,r,e,(o,a,l)=>Promise.resolve(s.run(a,...l))),i=new he;if(i.add(Ns.registerCommand(s.id,t)),s.contextMenuGroupId){const n={command:{id:s.id,title:s.label},when:e,group:s.contextMenuGroupId,order:s.contextMenuOrder||0};i.add(ev.appendMenuItem(Ni.EditorContext,n))}if(Array.isArray(s.keybindings)){const n=xe.get(sn);if(!(n instanceof pv))console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService");else{const r=it.and(e,it.deserialize(s.keybindingContext));i.add(n.addDynamicKeybindings(s.keybindings.map(o=>({keybinding:o,command:s.id,when:r}))))}}return i}function eFe(s){return Ute([s])}function Ute(s){const e=xe.get(sn);return e instanceof pv?e.addDynamicKeybindings(s.map(t=>({keybinding:t.keybinding,command:t.command,commandArgs:t.commandArgs,when:it.deserialize(t.when)}))):(console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),q.None)}function tFe(s,e,t){const i=xe.get(Gi),n=i.getLanguageIdByMimeType(e)||e;return jte(xe.get(os),i,s,n,t)}function iFe(s,e){const t=xe.get(Gi),i=t.getLanguageIdByMimeType(e)||e||No;s.setLanguage(t.createById(i))}function nFe(s,e,t){s&&xe.get(Mg).changeOne(e,s.uri,t)}function sFe(s){xe.get(Mg).changeAll(s,[])}function rFe(s){return xe.get(Mg).read(s)}function oFe(s){return xe.get(Mg).onMarkerChanged(s)}function aFe(s){return xe.get(os).getModel(s)}function lFe(){return xe.get(os).getModels()}function hFe(s){return xe.get(os).onModelAdded(s)}function cFe(s){return xe.get(os).onModelRemoved(s)}function uFe(s){return xe.get(os).onModelLanguageChanged(t=>{s({model:t.model,oldLanguage:t.oldLanguageId})})}function dFe(s){return Tye(xe.get(os),s)}function fFe(s,e){const t=xe.get(Gi),i=xe.get(Vo);return V3.colorizeElement(i,t,s,e).then(()=>{i.registerEditorContainer(s)})}function gFe(s,e,t){const i=xe.get(Gi);return xe.get(Vo).registerEditorContainer(Et.document.body),V3.colorize(i,s,e,t)}function pFe(s,e,t=4){return xe.get(Vo).registerEditorContainer(Et.document.body),V3.colorizeModelLine(s,e,t)}function mFe(s){const e=wi.get(s);return e||{getInitialState:()=>r0,tokenize:(t,i,n)=>VZ(s,n)}}function vFe(s,e){wi.getOrCreate(e);const t=mFe(e),i=Sv(s),n=[];let r=t.getInitialState();for(let o=0,a=i.length;o<a;o++){const l=i[o],h=t.tokenize(l,!0,r);n[o]=h.tokens,r=h.endState}return n}function _Fe(s,e){xe.get(Vo).defineTheme(s,e)}function bFe(s){xe.get(Vo).setTheme(s)}function wFe(){mA.clearAllFontInfos()}function yFe(s,e){return Ns.registerCommand({id:s,handler:e})}function CFe(s){return xe.get(sT).registerOpener({async open(t){return typeof t=="string"&&(t=qe.parse(t)),s.open(t)}})}function SFe(s){return xe.get(Fi).registerCodeEditorOpenHandler(async(t,i,n)=>{var a;if(!i)return null;const r=(a=t.options)==null?void 0:a.selection;let o;return r&&typeof r.endLineNumber=="number"&&typeof r.endColumn=="number"?o=r:r&&(o={lineNumber:r.startLineNumber,column:r.startColumn}),await s.openCodeEditor(i,t.resource,o)?i:null})}function xFe(){return{create:$3e,getEditors:K3e,getDiffEditors:Y3e,onDidCreateEditor:G3e,onDidCreateDiffEditor:q3e,createDiffEditor:X3e,addCommand:Q3e,addEditorAction:J3e,addKeybindingRule:eFe,addKeybindingRules:Ute,createModel:tFe,setModelLanguage:iFe,setModelMarkers:nFe,getModelMarkers:rFe,removeAllMarkers:sFe,onDidChangeMarkers:oFe,getModels:lFe,getModel:aFe,onDidCreateModel:hFe,onWillDisposeModel:cFe,onDidChangeModelLanguage:uFe,createWebWorker:dFe,colorizeElement:fFe,colorize:gFe,colorizeModelLine:pFe,tokenize:vFe,defineTheme:_Fe,setTheme:bFe,remeasureFonts:wFe,registerCommand:yFe,registerLinkOpener:CFe,registerEditorOpener:SFe,AccessibilitySupport:nM,ContentWidgetPositionPreference:hM,CursorChangeReason:cM,DefaultEndOfLine:uM,EditorAutoIndentStrategy:fM,EditorOption:gM,EndOfLinePreference:pM,EndOfLineSequence:mM,MinimapPosition:TM,MinimapSectionHeaderStyle:IM,MouseTargetType:EM,OverlayWidgetPositionPreference:AM,OverviewRulerLane:RM,GlyphMarginLane:vM,RenderLineNumbersType:FM,RenderMinimap:BM,ScrollbarVisibility:WM,ScrollType:VM,TextEditorCursorBlinkingStyle:qM,TextEditorCursorStyle:KM,TrackedRangeStickiness:YM,WrappingIndent:XM,InjectedTextCursorStops:wM,PositionAffinity:OM,ShowLightbulbIconMode:zM,TextDirection:GM,ConfigurationChangedEvent:vX,BareFontInfo:Xf,FontInfo:GS,TextModelResolvedOptions:HC,FindMatch:i0,ApplyUpdateResult:m1,EditorZoom:kc,createMultiFileDiffEditor:Z3e,EditorType:zD,EditorOptions:mr}}function LFe(s,e){if(!e||!Array.isArray(e))return!1;for(const t of e)if(!s(t))return!1;return!0}function wC(s,e){return typeof s=="boolean"?s:e}function o$(s,e){return typeof s=="string"?s:e}function kFe(s){const e={};for(const t of s)e[t]=!0;return e}function a$(s,e=!1){e&&(s=s.map(function(i){return i.toLowerCase()}));const t=kFe(s);return e?function(i){return t[i.toLowerCase()]!==void 0&&t.hasOwnProperty(i.toLowerCase())}:function(i){return t[i]!==void 0&&t.hasOwnProperty(i)}}function KO(s,e,t){e=e.replace(/@@/g,"");let i=0,n;do n=!1,e=e.replace(/@(\w+)/g,function(o,a){n=!0;let l="";if(typeof s[a]=="string")l=s[a];else if(s[a]&&s[a]instanceof RegExp)l=s[a].source;else throw s[a]===void 0?jt(s,"language definition does not contain attribute '"+a+"', used at: "+e):jt(s,"attribute reference '"+a+"' must be a string, used at: "+e);return Ld(l)?"":"(?:"+l+")"}),i++;while(n&&i<5);e=e.replace(/\x01/g,"@");const r=(s.ignoreCase?"i":"")+(s.unicode?"u":"");if(t&&e.match(/\$[sS](\d\d?)/g)){let a=null,l=null;return h=>(l&&a===h||(a=h,l=new RegExp(Kye(s,e,h),r)),l)}return new RegExp(e,r)}function DFe(s,e,t,i){if(i<0)return s;if(i<e.length)return e[i];if(i>=100){i=i-100;const n=t.split(".");if(n.unshift(t),i<n.length)return n[i]}return null}function TFe(s,e,t,i){let n=-1,r=t,o=t.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/);o&&(o[3]&&(n=parseInt(o[3]),o[2]&&(n=n+100)),r=o[4]);let a="~",l=r;!r||r.length===0?(a="!=",l=""):/^\w*$/.test(l)?a="==":(o=r.match(/^(@|!@|~|!~|==|!=)(.*)$/),o&&(a=o[1],l=o[2]));let h;if((a==="~"||a==="!~")&&/^(\w|\|)*$/.test(l)){const c=a$(l.split("|"),s.ignoreCase);h=function(u){return a==="~"?c(u):!c(u)}}else if(a==="@"||a==="!@"){const c=s[l];if(!c)throw jt(s,"the @ match target '"+l+"' is not defined, in rule: "+e);if(!LFe(function(d){return typeof d=="string"},c))throw jt(s,"the @ match target '"+l+"' must be an array of strings, in rule: "+e);const u=a$(c,s.ignoreCase);h=function(d){return a==="@"?u(d):!u(d)}}else if(a==="~"||a==="!~")if(l.indexOf("$")<0){const c=KO(s,"^"+l+"$",!1);h=function(u){return a==="~"?c.test(u):!c.test(u)}}else h=function(c,u,d,f){return KO(s,"^"+Dc(s,l,u,d,f)+"$",!1).test(c)};else if(l.indexOf("$")<0){const c=Hh(s,l);h=function(u){return a==="=="?u===c:u!==c}}else{const c=Hh(s,l);h=function(u,d,f,g,p){const m=Dc(s,c,d,f,g);return a==="=="?u===m:u!==m}}return n===-1?{name:t,value:i,test:function(c,u,d,f){return h(c,c,u,d,f)}}:{name:t,value:i,test:function(c,u,d,f){const g=DFe(c,u,d,n);return h(g||"",c,u,d,f)}}}function YO(s,e,t){if(t){if(typeof t=="string")return t;if(t.token||t.token===""){if(typeof t.token!="string")throw jt(s,"a 'token' attribute must be of type string, in rule: "+e);{const i={token:t.token};if(t.token.indexOf("$")>=0&&(i.tokenSubst=!0),typeof t.bracket=="string")if(t.bracket==="@open")i.bracket=1;else if(t.bracket==="@close")i.bracket=-1;else throw jt(s,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+e);if(t.next){if(typeof t.next!="string")throw jt(s,"the next state must be a string value in rule: "+e);{let n=t.next;if(!/^(@pop|@push|@popall)$/.test(n)&&(n[0]==="@"&&(n=n.substr(1)),n.indexOf("$")<0&&!Yye(s,Dc(s,n,"",[],""))))throw jt(s,"the next state '"+t.next+"' is not defined in rule: "+e);i.next=n}}return typeof t.goBack=="number"&&(i.goBack=t.goBack),typeof t.switchTo=="string"&&(i.switchTo=t.switchTo),typeof t.log=="string"&&(i.log=t.log),typeof t.nextEmbedded=="string"&&(i.nextEmbedded=t.nextEmbedded,s.usesEmbedded=!0),i}}else if(Array.isArray(t)){const i=[];for(let n=0,r=t.length;n<r;n++)i[n]=YO(s,e,t[n]);return{group:i}}else if(t.cases){const i=[];let n=!1;for(const o in t.cases)if(t.cases.hasOwnProperty(o)){const a=YO(s,e,t.cases[o]);o==="@default"||o==="@"||o===""?i.push({test:void 0,value:a,name:o}):o==="@eos"?i.push({test:function(l,h,c,u){return u},value:a,name:o}):i.push(TFe(s,e,o,a)),n||(n=!en(a)&&(a.hasEmbeddedEndInCases||["@pop","@popall"].includes(a.nextEmbedded||"")))}const r=s.defaultToken;return{hasEmbeddedEndInCases:n,test:function(o,a,l,h){for(const c of i)if(!c.test||c.test(o,a,l,h))return c.value;return r}}}else throw jt(s,"an action must be a string, an object with a 'token' or 'cases' attribute, or an array of actions; in rule: "+e)}else return{token:""}}class IFe{constructor(e){this.regex=new RegExp(""),this.action={token:""},this.matchOnlyAtLineStart=!1,this.name="",this.name=e}setRegex(e,t){let i;if(typeof t=="string")i=t;else if(t instanceof RegExp)i=t.source;else throw jt(e,"rules must start with a match string or regular expression: "+this.name);this.matchOnlyAtLineStart=i.length>0&&i[0]==="^",this.name=this.name+": "+i,this.regex=KO(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")",!0)}setAction(e,t){this.action=YO(e,this.name,t)}resolveRegex(e){return this.regex instanceof RegExp?this.regex:this.regex(e)}}function $te(s,e){if(!e||typeof e!="object")throw new Error("Monarch: expecting a language definition object");const t={languageId:s,includeLF:wC(e.includeLF,!1),noThrow:!1,maxStack:100,start:typeof e.start=="string"?e.start:null,ignoreCase:wC(e.ignoreCase,!1),unicode:wC(e.unicode,!1),tokenPostfix:o$(e.tokenPostfix,"."+s),defaultToken:o$(e.defaultToken,"source"),usesEmbedded:!1,stateNames:{},tokenizer:{},brackets:[]},i=e;i.languageId=s,i.includeLF=t.includeLF,i.ignoreCase=t.ignoreCase,i.unicode=t.unicode,i.noThrow=t.noThrow,i.usesEmbedded=t.usesEmbedded,i.stateNames=e.tokenizer,i.defaultToken=t.defaultToken;function n(o,a,l){for(const h of l){let c=h.include;if(c){if(typeof c!="string")throw jt(t,"an 'include' attribute must be a string at: "+o);if(c[0]==="@"&&(c=c.substr(1)),!e.tokenizer[c])throw jt(t,"include target '"+c+"' is not defined at: "+o);n(o+"."+c,a,e.tokenizer[c])}else{const u=new IFe(o);if(Array.isArray(h)&&h.length>=1&&h.length<=3)if(u.setRegex(i,h[0]),h.length>=3)if(typeof h[1]=="string")u.setAction(i,{token:h[1],next:h[2]});else if(typeof h[1]=="object"){const d=h[1];d.next=h[2],u.setAction(i,d)}else throw jt(t,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+o);else u.setAction(i,h[1]);else{if(!h.regex)throw jt(t,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+o);h.name&&typeof h.name=="string"&&(u.name=h.name),h.matchOnlyAtStart&&(u.matchOnlyAtLineStart=wC(h.matchOnlyAtLineStart,!1)),u.setRegex(i,h.regex),u.setAction(i,h.action)}a.push(u)}}}if(!e.tokenizer||typeof e.tokenizer!="object")throw jt(t,"a language definition must define the 'tokenizer' attribute as an object");t.tokenizer=[];for(const o in e.tokenizer)if(e.tokenizer.hasOwnProperty(o)){t.start||(t.start=o);const a=e.tokenizer[o];t.tokenizer[o]=new Array,n("tokenizer."+o,t.tokenizer[o],a)}if(t.usesEmbedded=i.usesEmbedded,e.brackets){if(!Array.isArray(e.brackets))throw jt(t,"the 'brackets' attribute must be defined as an array")}else e.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];const r=[];for(const o of e.brackets){let a=o;if(a&&Array.isArray(a)&&a.length===3&&(a={token:a[2],open:a[0],close:a[1]}),a.open===a.close)throw jt(t,"open and close brackets in a 'brackets' attribute must be different: "+a.open+`
878
- hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")r.push({token:a.token+t.tokenPostfix,open:Hh(t,a.open),close:Hh(t,a.close)});else throw jt(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=r,t.noThrow=!0,t}function EFe(s){tv.registerLanguage(s)}function NFe(){let s=[];return s=s.concat(tv.getLanguages()),s}function MFe(s){return xe.get(Gi).languageIdCodec.encodeLanguageId(s)}function AFe(s,e){return xe.withServices(()=>{const i=xe.get(Gi).onDidRequestRichLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function RFe(s,e){return xe.withServices(()=>{const i=xe.get(Gi).onDidRequestBasicLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function PFe(s,e){if(!xe.get(Gi).isRegisteredLanguageId(s))throw new Error(`Cannot set configuration for unknown language ${s}`);return xe.get(Ml).register(s,e,100)}class OFe{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return $0.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new _D(n.tokens,n.endState)}}class $0{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let r=0,o=e.length;r<o;r++){const a=e[r];let l=a.startIndex;r===0?l=0:l<n&&(l=n),i[r]=new Gb(l,a.scopes,t),n=l}return i}static adaptTokenize(e,t,i,n){const r=t.tokenize(i,n),o=$0._toClassicTokens(r.tokens,e);let a;return r.endState.equals(n)?a=n:a=r.endState,new Z4(o,a)}tokenize(e,t,i){return $0.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),n=this._standaloneThemeService.getColorTheme().tokenTheme,r=[];let o=0,a=0;for(let h=0,c=t.length;h<c;h++){const u=t[h],d=n.match(i,u.scopes)|1024;if(o>0&&r[o-1]===d)continue;let f=u.startIndex;h===0?f=0:f<a&&(f=a),r[o++]=f,r[o++]=d,a=f}const l=new Uint32Array(o);for(let h=0;h<o;h++)l[h]=r[h];return l}tokenizeEncoded(e,t,i){const n=this._actual.tokenize(e,i),r=this._toBinaryTokens(this._languageService.languageIdCodec,n.tokens);let o;return n.endState.equals(i)?o=i:o=n.endState,new _D(r,o)}}function FFe(s){return typeof s.getInitialState=="function"}function BFe(s){return"tokenizeEncoded"in s}function Gte(s){return s&&typeof s.then=="function"}function VFe(s){const e=xe.get(Vo);if(s){const t=[null];for(let i=1,n=s.length;i<n;i++)t[i]=Z.fromHex(s[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function qte(s,e){return BFe(e)?new OFe(s,e):new $0(s,e,xe.get(Gi),xe.get(Vo))}function b7(s,e){const t=new q_e(async()=>{const i=await Promise.resolve(e.create());return i?FFe(i)?qte(s,i):new l0(xe.get(Gi),xe.get(Vo),s,$te(s,i),xe.get(Yt)):null});return wi.registerFactory(s,t)}function WFe(s,e){if(!xe.get(Gi).isRegisteredLanguageId(s))throw new Error(`Cannot set tokens provider for unknown language ${s}`);return Gte(e)?b7(s,{create:()=>e}):wi.register(s,qte(s,e))}function HFe(s,e){const t=i=>new l0(xe.get(Gi),xe.get(Vo),s,$te(s,i),xe.get(Yt));return Gte(e)?b7(s,{create:()=>e}):wi.register(s,t(e))}function zFe(s,e){return xe.get(Wt).referenceProvider.register(s,e)}function jFe(s,e){return xe.get(Wt).renameProvider.register(s,e)}function UFe(s,e){return xe.get(Wt).newSymbolNamesProvider.register(s,e)}function $Fe(s,e){return xe.get(Wt).signatureHelpProvider.register(s,e)}function GFe(s,e){return xe.get(Wt).hoverProvider.register(s,{provideHover:async(i,n,r,o)=>{const a=i.getWordAtPosition(n);return Promise.resolve(e.provideHover(i,n,r,o)).then(l=>{if(l)return!l.range&&a&&(l.range=new F(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),l.range||(l.range=new F(n.lineNumber,n.column,n.lineNumber,n.column)),l})}})}function qFe(s,e){return xe.get(Wt).documentSymbolProvider.register(s,e)}function KFe(s,e){return xe.get(Wt).documentHighlightProvider.register(s,e)}function YFe(s,e){return xe.get(Wt).linkedEditingRangeProvider.register(s,e)}function XFe(s,e){return xe.get(Wt).definitionProvider.register(s,e)}function ZFe(s,e){return xe.get(Wt).implementationProvider.register(s,e)}function QFe(s,e){return xe.get(Wt).typeDefinitionProvider.register(s,e)}function JFe(s,e){return xe.get(Wt).codeLensProvider.register(s,e)}function e7e(s,e,t){return xe.get(Wt).codeActionProvider.register(s,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(n,r,o,a)=>{const h=xe.get(Mg).read({resource:n.uri}).filter(c=>F.areIntersectingOrTouching(c,r));return e.provideCodeActions(n,r,{markers:h,only:o.only,trigger:o.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function t7e(s,e){return xe.get(Wt).documentFormattingEditProvider.register(s,e)}function i7e(s,e){return xe.get(Wt).documentRangeFormattingEditProvider.register(s,e)}function n7e(s,e){return xe.get(Wt).onTypeFormattingEditProvider.register(s,e)}function s7e(s,e){return xe.get(Wt).linkProvider.register(s,e)}function r7e(s,e){return xe.get(Wt).completionProvider.register(s,e)}function o7e(s,e){return xe.get(Wt).colorProvider.register(s,e)}function a7e(s,e){return xe.get(Wt).foldingRangeProvider.register(s,e)}function l7e(s,e){return xe.get(Wt).declarationProvider.register(s,e)}function h7e(s,e){return xe.get(Wt).selectionRangeProvider.register(s,e)}function c7e(s,e){return xe.get(Wt).documentSemanticTokensProvider.register(s,e)}function u7e(s,e){return xe.get(Wt).documentRangeSemanticTokensProvider.register(s,e)}function d7e(s,e){return xe.get(Wt).inlineCompletionsProvider.register(s,e)}function f7e(s,e){return xe.get(Wt).inlayHintsProvider.register(s,e)}function g7e(){return{register:EFe,getLanguages:NFe,onLanguage:AFe,onLanguageEncountered:RFe,getEncodedLanguageId:MFe,setLanguageConfiguration:PFe,setColorMap:VFe,registerTokensProviderFactory:b7,setTokensProvider:WFe,setMonarchTokensProvider:HFe,registerReferenceProvider:zFe,registerRenameProvider:jFe,registerNewSymbolNameProvider:UFe,registerCompletionItemProvider:r7e,registerSignatureHelpProvider:$Fe,registerHoverProvider:GFe,registerDocumentSymbolProvider:qFe,registerDocumentHighlightProvider:KFe,registerLinkedEditingRangeProvider:YFe,registerDefinitionProvider:XFe,registerImplementationProvider:ZFe,registerTypeDefinitionProvider:QFe,registerCodeLensProvider:JFe,registerCodeActionProvider:e7e,registerDocumentFormattingEditProvider:t7e,registerDocumentRangeFormattingEditProvider:i7e,registerOnTypeFormattingEditProvider:n7e,registerLinkProvider:s7e,registerColorProvider:o7e,registerFoldingRangeProvider:a7e,registerDeclarationProvider:l7e,registerSelectionRangeProvider:h7e,registerDocumentSemanticTokensProvider:c7e,registerDocumentRangeSemanticTokensProvider:u7e,registerInlineCompletionsProvider:d7e,registerInlayHintsProvider:f7e,DocumentHighlightKind:dM,CompletionItemKind:oM,CompletionItemTag:aM,CompletionItemInsertTextRule:rM,SymbolKind:UM,SymbolTag:$M,IndentAction:bM,CompletionTriggerKind:lM,SignatureHelpTriggerKind:jM,InlayHintKind:yM,InlineCompletionTriggerKind:xM,CodeActionTriggerType:sM,NewSymbolNameTag:NM,NewSymbolNameTriggerKind:MM,PartialAcceptTriggerKind:PM,HoverVerbosityAction:_M,InlineCompletionEndOfLifeReasonKind:CM,InlineCompletionHintStyle:SM,FoldingRangeKind:iM,SelectedSuggestionInfo:G_e,EditDeltaInfo:Gx}}const Kte=Ge("IEditorCancelService"),Yte=new pe("cancellableOperation",!1,w(939,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));et(Kte,class{constructor(){this._tokens=new WeakMap}add(s,e){let t=this._tokens.get(s);t||(t=s.invokeWithinContext(n=>{const r=Yte.bindTo(n.get(vt)),o=new xs;return{key:r,tokens:o}}),this._tokens.set(s,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(s){const e=this._tokens.get(s);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);We(new class extends ng{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:Yte})}runEditorCommand(s,e){s.get(Kte).cancel(e)}});class l${constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class p7e{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(l$.toKey(e))}has(e){return this._set.has(l$.toKey(e))}}function m7e(s,e,t){const i=[],n=new p7e,r=s.ordered(t);for(const a of r)i.push(a),a.extensionId&&n.add(a.extensionId);const o=e.ordered(t);for(const a of o){if(a.extensionId){if(n.has(a.extensionId))continue;n.add(a.extensionId)}i.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits(l,h,c){return a.provideDocumentRangeFormattingEdits(l,l.getFullModelRange(),h,c)}})}return i}const gb=class gb{static setFormatterSelector(e){return{dispose:gb._selectors.unshift(e)}}static async select(e,t,i,n){if(e.length===0)return;const r=lt.first(gb._selectors);if(r)return await r(e,t,i,n)}};gb._selectors=new xs;let XO=gb;async function v7e(s,e,t,i,n,r){const o=e.documentRangeFormattingEditProvider.ordered(t);for(const a of o){const l=await Promise.resolve(a.provideDocumentRangeFormattingEdits(t,i,n,r)).catch(B4);if(fD(l))return await s.computeMoreMinimalEdits(t.uri,l)}}async function _7e(s,e,t,i,n){const r=m7e(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const o of r){const a=await Promise.resolve(o.provideDocumentFormattingEdits(t,i,n)).catch(B4);if(fD(a))return await s.computeMoreMinimalEdits(t.uri,a)}}function b7e(s,e,t,i,n,r,o){const a=e.onTypeFormattingEditProvider.ordered(t);return a.length===0||a[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(t,i,n,r,o)).catch(B4).then(l=>s.computeMoreMinimalEdits(t.uri,l))}Ns.registerCommand("_executeFormatRangeProvider",async function(s,...e){const[t,i,n]=e;Qc(qe.isUri(t)),Qc(F.isIRange(i));const r=s.get(DD),o=s.get(Fw),a=s.get(Wt),l=await r.createModelReference(t);try{return v7e(o,a,l.object.textEditorModel,F.lift(i),n,Mr.None)}finally{l.dispose()}});Ns.registerCommand("_executeFormatDocumentProvider",async function(s,...e){const[t,i]=e;Qc(qe.isUri(t));const n=s.get(DD),r=s.get(Fw),o=s.get(Wt),a=await n.createModelReference(t);try{return _7e(r,o,a.object.textEditorModel,i,Mr.None)}finally{a.dispose()}});Ns.registerCommand("_executeFormatOnTypeProvider",async function(s,...e){const[t,i,n,r]=e;Qc(qe.isUri(t)),Qc(H.isIPosition(i)),Qc(typeof n=="string");const o=s.get(DD),a=s.get(Fw),l=s.get(Wt),h=await o.createModelReference(t);try{return b7e(a,l,h.object.textEditorModel,H.lift(i),n,r,Mr.None)}finally{h.dispose()}});mr.wrappingIndent.defaultValue=0;mr.glyphMargin.defaultValue=!1;mr.autoIndent.defaultValue=3;mr.overviewRulerLanes.defaultValue=2;XO.setFormatterSelector((s,e,t)=>Promise.resolve(s[0]));const cs=EX();cs.editor=xFe();cs.languages=g7e();const Xte=cs.CancellationTokenSource,Zte=cs.Emitter,Qte=cs.KeyCode,Jte=cs.KeyMod,eie=cs.Position,tie=cs.Range,iie=cs.Selection,nie=cs.SelectionDirection,sie=cs.MarkerSeverity,rie=cs.MarkerTag,oie=cs.Uri,aie=cs.Token,Fn=cs.editor,lie=cs.languages,xE=o3(),Om=globalThis;(xE!=null&&xE.globalAPI||typeof Om.define=="function"&&Om.define.amd)&&(Om.monaco=cs);typeof Om.require<"u"&&typeof Om.require.config=="function"&&Om.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const w7e=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:Xte,Emitter:Zte,KeyCode:Qte,KeyMod:Jte,MarkerSeverity:sie,MarkerTag:rie,Position:eie,Range:tie,Selection:iie,SelectionDirection:nie,Token:aie,Uri:oie,editor:Fn,languages:lie},Symbol.toStringTag,{value:"Module"}));function y7e(){return w7e}const LE=globalThis.MonacoEnvironment;LE!=null&&LE.globalAPI&&(globalThis.monaco=y7e());const kh=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:Xte,Emitter:Zte,KeyCode:Qte,KeyMod:Jte,MarkerSeverity:sie,MarkerTag:rie,Position:eie,Range:tie,Selection:iie,SelectionDirection:nie,Token:aie,Uri:oie,editor:Fn,languages:lie},Symbol.toStringTag,{value:"Module"}));function OL(s){return/^\d+$/.test(s)?"".concat(s,"px"):s}function qc(){}var Fd=function(){return Fd=Object.assign||function(s){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=e[n])}return s},Fd.apply(this,arguments)};function C7e(s,e){var t=s.width,i=t===void 0?"100%":t,n=s.height,r=n===void 0?"100%":n,o=s.value,a=o===void 0?null:o,l=s.defaultValue,h=l===void 0?"":l,c=s.language,u=c===void 0?"javascript":c,d=s.theme,f=d===void 0?null:d,g=s.options,p=g===void 0?{}:g,m=s.overrideServices,v=m===void 0?{}:m,_=s.editorWillMount,b=_===void 0?qc:_,y=s.editorDidMount,C=y===void 0?qc:y,x=s.editorWillUnmount,S=x===void 0?qc:x,k=s.onChange,T=k===void 0?qc:k,I=s.className,N=I===void 0?null:I,A=s.original,R=A===void 0?null:A,P=s.originalUri,B=s.modifiedUri,z=Te.useRef(null),U=Te.useRef(null),K=Te.useRef(null),X=Te.useRef(null),ne=OL(i),oe=OL(r),ue=Te.useMemo(function(){return{width:ne,height:oe}},[ne,oe]);Te.useImperativeHandle(e,function(){return{get editor(){return U.current}}});var de=function(){var Pe=b(kh);return Pe||{}},De=function(){C(U.current,kh);var Pe=U.current.getModel().modified;K.current=Pe.onDidChangeContent(function(tt){X.current||T(Pe.getValue(),tt)})},Q=function(){S(U.current,kh)},Xe=function(){var Pe=a??h,tt=P==null?void 0:P(kh),st=B==null?void 0:B(kh),ve=tt&&Fn.getModel(tt),ge=st&&Fn.getModel(st);ve?(ve.setValue(R),Fn.setModelLanguage(ve,u)):ve=Fn.createModel(Pe,u,tt),ge?(ve.setValue(Pe),Fn.setModelLanguage(ge,u)):ge=Fn.createModel(Pe,u,st),U.current.setModel({original:ve,modified:ge})};return Te.useEffect(function(){z.current&&(de(),U.current=Fn.createDiffEditor(z.current,Fd(Fd(Fd({},N?{extraEditorClassName:N}:{}),p),f?{theme:f}:{}),v),Xe(),De())},[]),Te.useEffect(function(){U.current&&U.current.updateOptions(Fd(Fd({},N?{extraEditorClassName:N}:{}),p))},[N,p]),Te.useEffect(function(){U.current&&U.current.layout()},[i,r]),Te.useEffect(function(){if(U.current){var Pe=U.current.getModel(),tt=Pe.original,st=Pe.modified;Fn.setModelLanguage(tt,u),Fn.setModelLanguage(st,u)}},[u]),Te.useEffect(function(){if(U.current){var Pe=U.current.getModel().modified;X.current=!0,U.current.getModifiedEditor().pushUndoStop(),Pe.pushEditOperations([],[{range:Pe.getFullModelRange(),text:a}]),U.current.getModifiedEditor().pushUndoStop(),X.current=!1}},[a]),Te.useEffect(function(){Fn.setTheme(f)},[f]),Te.useEffect(function(){if(U.current){var Pe=U.current.getModel().original;R!==Pe.getValue()&&Pe.setValue(R)}},[R]),Te.useEffect(function(){return function(){if(U.current){Q(),U.current.dispose();var Pe=U.current.getModel(),tt=Pe.original,st=Pe.modified;tt&&tt.dispose(),st&&st.dispose()}K.current&&K.current.dispose()}},[]),Te.createElement("div",{ref:z,style:ue,className:"react-monaco-editor-container"})}var S7e=Te.forwardRef(C7e);S7e.displayName="MonacoDiffEditor";var lh=function(){return lh=Object.assign||function(s){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=e[n])}return s},lh.apply(this,arguments)},x7e=function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};function L7e(s,e){var t=s.width,i=t===void 0?"100%":t,n=s.height,r=n===void 0?"100%":n,o=s.value,a=o===void 0?null:o,l=s.defaultValue,h=l===void 0?"":l,c=s.language,u=c===void 0?"javascript":c,d=s.theme,f=d===void 0?null:d,g=s.options,p=g===void 0?{}:g,m=s.overrideServices,v=m===void 0?{}:m,_=s.editorWillMount,b=_===void 0?qc:_,y=s.editorDidMount,C=y===void 0?qc:y,x=s.editorWillUnmount,S=x===void 0?qc:x,k=s.onChange,T=k===void 0?qc:k,I=s.className,N=I===void 0?null:I,A=s.uri,R=Te.useRef(null),P=Te.useRef(null),B=Te.useRef(null),z=Te.useRef(null),U=OL(i),K=OL(r),X=Te.useRef(T);X.current=T,Te.useImperativeHandle(e,function(){return{get editor(){return P.current}}});var ne=Te.useMemo(function(){return{width:U,height:K}},[U,K]),oe=function(){var Q=b(kh);return Q||{}},ue=function(){C(P.current,kh),B.current=P.current.onDidChangeModelContent(function(Q){var Xe;z.current||(Xe=X.current)===null||Xe===void 0||Xe.call(X,P.current.getValue(),Q)})},de=function(){S(P.current,kh)},De=function(){var Q=a!==null?a:h;if(R.current){var Xe=lh(lh({},p),oe()),Pe=A==null?void 0:A(kh),tt=Pe&&Fn.getModel(Pe);tt?(tt.setValue(Q),Fn.setModelLanguage(tt,u)):tt=Fn.createModel(Q,u,Pe),P.current=Fn.create(R.current,lh(lh(lh({model:tt},N?{extraEditorClassName:N}:{}),Xe),f?{theme:f}:{}),v),ue()}};return Te.useEffect(De,[]),Te.useEffect(function(){if(P.current&&a!==null){if(a===P.current.getValue())return;var Q=P.current.getModel();z.current=!0,P.current.pushUndoStop(),Q.pushEditOperations([],[{range:Q.getFullModelRange(),text:a}],void 0),P.current.pushUndoStop(),z.current=!1}},[a]),Te.useEffect(function(){if(P.current){var Q=P.current.getModel();Fn.setModelLanguage(Q,u)}},[u]),Te.useEffect(function(){if(P.current){p.model;var Q=x7e(p,["model"]);P.current.updateOptions(lh(lh({},N?{extraEditorClassName:N}:{}),Q))}},[N,p]),Te.useEffect(function(){P.current&&P.current.layout()},[i,r]),Te.useEffect(function(){Fn.setTheme(f)},[f]),Te.useEffect(function(){return function(){P.current&&(de(),P.current.dispose()),B.current&&B.current.dispose()}},[]),Te.createElement("div",{ref:R,style:ne,className:"react-monaco-editor-container"})}var hie=Te.forwardRef(L7e);hie.displayName="MonacoEditor";const k7e={dialog:{height:"100%",maxHeight:"100%",maxWidth:"100%"}};function D7e(s){const[e,t]=uS.useState("");let i=!1;try{JSON.parse(e)}catch{i=!0}return L.jsxs(E.Dialog,{style:k7e.dialog,open:!0,maxWidth:"lg",onClose:()=>s.onClose(),fullWidth:!0,children:[L.jsx(E.DialogTitle,{children:s.t("Insert JSON with objects here")}),L.jsx(E.DialogContent,{style:{minHeight:500},children:L.jsx(hie,{width:"100%",height:"500px",language:"json",theme:s.themeType==="dark"?"vs-dark":"vs-light",value:e,options:{selectOnLineNumbers:!0},onChange:n=>t(n),editorDidMount:n=>n.focus()})}),L.jsxs(E.DialogActions,{children:[L.jsx(E.Button,{variant:"contained",disabled:i||!e.trim(),onClick:()=>s.onClose(e),startIcon:L.jsx(Ie.ContentPaste,{}),color:"primary",children:s.t("Import objects")}),L.jsx(E.Button,{variant:"contained",onClick:()=>s.onClose(),startIcon:L.jsx(Ie.Close,{}),color:"grey",children:s.t("Close")})]})]})}const T7e=Ie.Delete,yC={buttonAll:{color:"#FF0000"},id:{fontStyle:"italic"},buttonText:{whiteSpace:"nowrap"}};class m6e extends Te.Component{dialogName;filters;t;wordCache;constructor(e){super(e),this.dialogName="AdminObjects";const t=(window._localStorage||window.localStorage).getItem(`${this.dialogName||"App"}.filters`)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}const i=(window._localStorage||window.localStorage).getItem(`${this.dialogName||"App"}.selected`)||"";this.state={selected:i,name:"",toast:"",deleteObjectShow:null},this.t=this.translate,this.wordCache={}}translate=(e,t,i)=>t!==void 0?this.props.t(e,t,i):(this.wordCache[e]||(this.wordCache[e]=this.props.t(e)),this.wordCache[e]);onDelete(e){const t=this.state.deleteObjectShow.id;e?(this.props.socket.delObjects(t,!0).then(()=>this.setState({toast:this.t("All deleted")})).catch(i=>window.alert(`Cannot delete object: ${i}`)),this.setState({deleteObjectShow:null})):(this.props.socket.delObject(t,!1).catch(i=>window.alert(`Cannot delete object: ${i}`)),this.setState({deleteObjectShow:null}))}renderToast(){return L.jsx(E.Snackbar,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:!!this.state.toast,autoHideDuration:3e3,onClose:()=>this.setState({toast:""}),message:this.state.toast,action:L.jsx(E.IconButton,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""}),children:L.jsx(Ie.Cancel,{fontSize:"small"})})},"toast")}renderDeleteDialog(){return this.state.deleteObjectShow?L.jsxs(E.Dialog,{maxWidth:"md",open:!0,onClose:()=>this.setState({deleteObjectShow:null}),"aria-labelledby":"delete-object-dialog-title","aria-describedby":"delete-object-dialog-description",children:[L.jsxs(E.DialogTitle,{id:"delete-object-dialog-title",children:[this.state.deleteObjectShow.hasChildren?this.t("Delete object(s)"):this.t("Delete object"),":"," ",L.jsx("span",{style:yC.id,children:this.state.deleteObjectShow.id})]}),L.jsx(E.DialogContent,{children:L.jsx(E.DialogContentText,{children:this.t("Are you sure?")})}),L.jsxs(E.DialogActions,{children:[this.state.deleteObjectShow.hasChildren?L.jsx(E.Button,{variant:"contained",color:"grey",sx:{"& .MuiButton-text":yC.buttonText},onClick:()=>this.onDelete(!0),startIcon:L.jsx(T7e,{style:yC.buttonAll}),children:this.t("Delete with children",this.state.deleteObjectShow.childrenCount)}):null,this.state.deleteObjectShow.exists?L.jsx(E.Button,{variant:"contained",sx:{"& .MuiButton-text":yC.buttonText},onClick:()=>this.onDelete(!1),color:"primary",startIcon:L.jsx(Ie.Delete,{}),autoFocus:!0,children:this.t("Delete one item")}):null,L.jsx(E.Button,{variant:"contained",color:"grey",onClick:()=>this.setState({deleteObjectShow:null}),startIcon:L.jsx(Ie.Cancel,{}),children:this.t("ra_Cancel")})]})]},"delete"):null}render(){const e=ee.Router.getLocation(),t=e.tab==="tab-objects"&&e.id?{mode:e.dialog==="view"?"viewFile":e.dialog||"select",id:e.id}:null;return[this.renderToast(),L.jsx(ee.ObjectBrowser,{navigateTo:t,onNavigateTo:i=>{i!=null&&i.id?ee.Router.doNavigate("tab-objects",i.mode==="viewFile"?"view":i.mode,i.id):ee.Router.doNavigate("tab-objects")},dialogName:"admin",objectsWorker:this.props.objectsWorker,prefix:this.props.prefix,defaultFilters:this.filters,statesOnly:this.props.statesOnly,style:{width:"100%",height:"100%"},socket:this.props.socket,selected:(t==null?void 0:t.id)||this.state.selected,name:this.state.name,expertMode:this.props.expertMode,isFloatComma:this.props.isFloatComma,dateFormat:this.props.dateFormat,t:this.t,lang:this.props.lang,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objectCustomDialog:Eme,objectBrowserValue:Ep,objectBrowserEditObject:$n,objectBrowserEditRole:A4,objectBrowserViewFile:Fme,objectBrowserAliasEditor:g1,objectMoveRenameDialog:R4,objectBrowserInsertJsonObjects:D7e,router:ee.Router,enableStateValueEdit:!0,onObjectDelete:(i,n,r,o)=>this.setState({deleteObjectShow:{id:i,hasChildren:n,exists:r,childrenCount:o}}),onFilterChanged:i=>{this.filters=i,(window._localStorage||window.localStorage).setItem(`${this.dialogName||"App"}.filters`,JSON.stringify(i))},onSelect:i=>{Array.isArray(i)?(window._localStorage||window.localStorage).setItem(`${this.dialogName||"App"}.selected`,i[0]||""):(window._localStorage||window.localStorage).setItem(`${this.dialogName||"App"}.selected`,i||"")},objectEditBoolean:!0,objectAddBoolean:!0,objectStatesView:!0,objectImportExport:!0,objectEditOfAccessControl:!0,modalNewObject:i=>L.jsx(Rme,{objects:i.objects,expertMode:this.props.expertMode,setObject:(n,r)=>this.props.socket.setObject(n,r).catch(o=>window.alert(o)),selected:i.state.modalNewObj.id,initialType:i.state.modalNewObj.initialType,initialStateType:i.state.modalNewObj.initialStateType,onClose:()=>i.setState({modalNewObj:null}),onApply:()=>i.setState({modalNewObj:null})}),modalEditOfAccessControl:(i,n)=>L.jsx(Ome,{theme:this.props.theme,themeType:this.props.themeType,extendObject:(r,o)=>{this.props.socket.extendObject(r,o).catch(a=>window.alert(a)),n.aclTooltip=null},selected:i.state.selected[0],modalEmptyId:n.obj?"":n.id,objects:i.objects,t:this.t,onClose:()=>i.setState({modalEditOfAccess:!1,modalEditOfAccessObjData:null}),onApply:()=>i.setState({modalEditOfAccess:!1,modalEditOfAccessObjData:null})})},"browser"),this.renderDeleteDialog()]}}export{m6e as default};
878
+ hint: use the 'bracket' attribute if matching on equal brackets is required.`);if(typeof a.open=="string"&&typeof a.token=="string"&&typeof a.close=="string")r.push({token:a.token+t.tokenPostfix,open:Hh(t,a.open),close:Hh(t,a.close)});else throw jt(t,"every element in the 'brackets' array must be a '{open,close,token}' object or array")}return t.brackets=r,t.noThrow=!0,t}function EFe(s){tv.registerLanguage(s)}function NFe(){let s=[];return s=s.concat(tv.getLanguages()),s}function MFe(s){return xe.get(Gi).languageIdCodec.encodeLanguageId(s)}function AFe(s,e){return xe.withServices(()=>{const i=xe.get(Gi).onDidRequestRichLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function RFe(s,e){return xe.withServices(()=>{const i=xe.get(Gi).onDidRequestBasicLanguageFeatures(n=>{n===s&&(i.dispose(),e())});return i})}function PFe(s,e){if(!xe.get(Gi).isRegisteredLanguageId(s))throw new Error(`Cannot set configuration for unknown language ${s}`);return xe.get(Ml).register(s,e,100)}class OFe{constructor(e,t){this._languageId=e,this._actual=t}dispose(){}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i){if(typeof this._actual.tokenize=="function")return $0.adaptTokenize(this._languageId,this._actual,e,i);throw new Error("Not supported!")}tokenizeEncoded(e,t,i){const n=this._actual.tokenizeEncoded(e,i);return new _D(n.tokens,n.endState)}}class $0{constructor(e,t,i,n){this._languageId=e,this._actual=t,this._languageService=i,this._standaloneThemeService=n}dispose(){}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t){const i=[];let n=0;for(let r=0,o=e.length;r<o;r++){const a=e[r];let l=a.startIndex;r===0?l=0:l<n&&(l=n),i[r]=new Gb(l,a.scopes,t),n=l}return i}static adaptTokenize(e,t,i,n){const r=t.tokenize(i,n),o=$0._toClassicTokens(r.tokens,e);let a;return r.endState.equals(n)?a=n:a=r.endState,new Z4(o,a)}tokenize(e,t,i){return $0.adaptTokenize(this._languageId,this._actual,e,i)}_toBinaryTokens(e,t){const i=e.encodeLanguageId(this._languageId),n=this._standaloneThemeService.getColorTheme().tokenTheme,r=[];let o=0,a=0;for(let h=0,c=t.length;h<c;h++){const u=t[h],d=n.match(i,u.scopes)|1024;if(o>0&&r[o-1]===d)continue;let f=u.startIndex;h===0?f=0:f<a&&(f=a),r[o++]=f,r[o++]=d,a=f}const l=new Uint32Array(o);for(let h=0;h<o;h++)l[h]=r[h];return l}tokenizeEncoded(e,t,i){const n=this._actual.tokenize(e,i),r=this._toBinaryTokens(this._languageService.languageIdCodec,n.tokens);let o;return n.endState.equals(i)?o=i:o=n.endState,new _D(r,o)}}function FFe(s){return typeof s.getInitialState=="function"}function BFe(s){return"tokenizeEncoded"in s}function Gte(s){return s&&typeof s.then=="function"}function VFe(s){const e=xe.get(Vo);if(s){const t=[null];for(let i=1,n=s.length;i<n;i++)t[i]=Z.fromHex(s[i]);e.setColorMapOverride(t)}else e.setColorMapOverride(null)}function qte(s,e){return BFe(e)?new OFe(s,e):new $0(s,e,xe.get(Gi),xe.get(Vo))}function b7(s,e){const t=new q_e(async()=>{const i=await Promise.resolve(e.create());return i?FFe(i)?qte(s,i):new l0(xe.get(Gi),xe.get(Vo),s,$te(s,i),xe.get(Yt)):null});return wi.registerFactory(s,t)}function WFe(s,e){if(!xe.get(Gi).isRegisteredLanguageId(s))throw new Error(`Cannot set tokens provider for unknown language ${s}`);return Gte(e)?b7(s,{create:()=>e}):wi.register(s,qte(s,e))}function HFe(s,e){const t=i=>new l0(xe.get(Gi),xe.get(Vo),s,$te(s,i),xe.get(Yt));return Gte(e)?b7(s,{create:()=>e}):wi.register(s,t(e))}function zFe(s,e){return xe.get(Wt).referenceProvider.register(s,e)}function jFe(s,e){return xe.get(Wt).renameProvider.register(s,e)}function UFe(s,e){return xe.get(Wt).newSymbolNamesProvider.register(s,e)}function $Fe(s,e){return xe.get(Wt).signatureHelpProvider.register(s,e)}function GFe(s,e){return xe.get(Wt).hoverProvider.register(s,{provideHover:async(i,n,r,o)=>{const a=i.getWordAtPosition(n);return Promise.resolve(e.provideHover(i,n,r,o)).then(l=>{if(l)return!l.range&&a&&(l.range=new F(n.lineNumber,a.startColumn,n.lineNumber,a.endColumn)),l.range||(l.range=new F(n.lineNumber,n.column,n.lineNumber,n.column)),l})}})}function qFe(s,e){return xe.get(Wt).documentSymbolProvider.register(s,e)}function KFe(s,e){return xe.get(Wt).documentHighlightProvider.register(s,e)}function YFe(s,e){return xe.get(Wt).linkedEditingRangeProvider.register(s,e)}function XFe(s,e){return xe.get(Wt).definitionProvider.register(s,e)}function ZFe(s,e){return xe.get(Wt).implementationProvider.register(s,e)}function QFe(s,e){return xe.get(Wt).typeDefinitionProvider.register(s,e)}function JFe(s,e){return xe.get(Wt).codeLensProvider.register(s,e)}function e7e(s,e,t){return xe.get(Wt).codeActionProvider.register(s,{providedCodeActionKinds:t==null?void 0:t.providedCodeActionKinds,documentation:t==null?void 0:t.documentation,provideCodeActions:(n,r,o,a)=>{const h=xe.get(Mg).read({resource:n.uri}).filter(c=>F.areIntersectingOrTouching(c,r));return e.provideCodeActions(n,r,{markers:h,only:o.only,trigger:o.trigger},a)},resolveCodeAction:e.resolveCodeAction})}function t7e(s,e){return xe.get(Wt).documentFormattingEditProvider.register(s,e)}function i7e(s,e){return xe.get(Wt).documentRangeFormattingEditProvider.register(s,e)}function n7e(s,e){return xe.get(Wt).onTypeFormattingEditProvider.register(s,e)}function s7e(s,e){return xe.get(Wt).linkProvider.register(s,e)}function r7e(s,e){return xe.get(Wt).completionProvider.register(s,e)}function o7e(s,e){return xe.get(Wt).colorProvider.register(s,e)}function a7e(s,e){return xe.get(Wt).foldingRangeProvider.register(s,e)}function l7e(s,e){return xe.get(Wt).declarationProvider.register(s,e)}function h7e(s,e){return xe.get(Wt).selectionRangeProvider.register(s,e)}function c7e(s,e){return xe.get(Wt).documentSemanticTokensProvider.register(s,e)}function u7e(s,e){return xe.get(Wt).documentRangeSemanticTokensProvider.register(s,e)}function d7e(s,e){return xe.get(Wt).inlineCompletionsProvider.register(s,e)}function f7e(s,e){return xe.get(Wt).inlayHintsProvider.register(s,e)}function g7e(){return{register:EFe,getLanguages:NFe,onLanguage:AFe,onLanguageEncountered:RFe,getEncodedLanguageId:MFe,setLanguageConfiguration:PFe,setColorMap:VFe,registerTokensProviderFactory:b7,setTokensProvider:WFe,setMonarchTokensProvider:HFe,registerReferenceProvider:zFe,registerRenameProvider:jFe,registerNewSymbolNameProvider:UFe,registerCompletionItemProvider:r7e,registerSignatureHelpProvider:$Fe,registerHoverProvider:GFe,registerDocumentSymbolProvider:qFe,registerDocumentHighlightProvider:KFe,registerLinkedEditingRangeProvider:YFe,registerDefinitionProvider:XFe,registerImplementationProvider:ZFe,registerTypeDefinitionProvider:QFe,registerCodeLensProvider:JFe,registerCodeActionProvider:e7e,registerDocumentFormattingEditProvider:t7e,registerDocumentRangeFormattingEditProvider:i7e,registerOnTypeFormattingEditProvider:n7e,registerLinkProvider:s7e,registerColorProvider:o7e,registerFoldingRangeProvider:a7e,registerDeclarationProvider:l7e,registerSelectionRangeProvider:h7e,registerDocumentSemanticTokensProvider:c7e,registerDocumentRangeSemanticTokensProvider:u7e,registerInlineCompletionsProvider:d7e,registerInlayHintsProvider:f7e,DocumentHighlightKind:dM,CompletionItemKind:oM,CompletionItemTag:aM,CompletionItemInsertTextRule:rM,SymbolKind:UM,SymbolTag:$M,IndentAction:bM,CompletionTriggerKind:lM,SignatureHelpTriggerKind:jM,InlayHintKind:yM,InlineCompletionTriggerKind:xM,CodeActionTriggerType:sM,NewSymbolNameTag:NM,NewSymbolNameTriggerKind:MM,PartialAcceptTriggerKind:PM,HoverVerbosityAction:_M,InlineCompletionEndOfLifeReasonKind:CM,InlineCompletionHintStyle:SM,FoldingRangeKind:iM,SelectedSuggestionInfo:G_e,EditDeltaInfo:Gx}}const Kte=Ge("IEditorCancelService"),Yte=new pe("cancellableOperation",!1,w(939,"Whether the editor runs a cancellable operation, e.g. like 'Peek References'"));et(Kte,class{constructor(){this._tokens=new WeakMap}add(s,e){let t=this._tokens.get(s);t||(t=s.invokeWithinContext(n=>{const r=Yte.bindTo(n.get(vt)),o=new xs;return{key:r,tokens:o}}),this._tokens.set(s,t));let i;return t.key.set(!0),i=t.tokens.push(e),()=>{i&&(i(),t.key.set(!t.tokens.isEmpty()),i=void 0)}}cancel(s){const e=this._tokens.get(s);if(!e)return;const t=e.tokens.pop();t&&(t.cancel(),e.key.set(!e.tokens.isEmpty()))}},1);We(new class extends ng{constructor(){super({id:"editor.cancelOperation",kbOpts:{weight:100,primary:9},precondition:Yte})}runEditorCommand(s,e){s.get(Kte).cancel(e)}});class l${constructor(e){this.value=e,this._lower=e.toLowerCase()}static toKey(e){return typeof e=="string"?e.toLowerCase():e._lower}}class p7e{constructor(e){if(this._set=new Set,e)for(const t of e)this.add(t)}add(e){this._set.add(l$.toKey(e))}has(e){return this._set.has(l$.toKey(e))}}function m7e(s,e,t){const i=[],n=new p7e,r=s.ordered(t);for(const a of r)i.push(a),a.extensionId&&n.add(a.extensionId);const o=e.ordered(t);for(const a of o){if(a.extensionId){if(n.has(a.extensionId))continue;n.add(a.extensionId)}i.push({displayName:a.displayName,extensionId:a.extensionId,provideDocumentFormattingEdits(l,h,c){return a.provideDocumentRangeFormattingEdits(l,l.getFullModelRange(),h,c)}})}return i}const gb=class gb{static setFormatterSelector(e){return{dispose:gb._selectors.unshift(e)}}static async select(e,t,i,n){if(e.length===0)return;const r=lt.first(gb._selectors);if(r)return await r(e,t,i,n)}};gb._selectors=new xs;let XO=gb;async function v7e(s,e,t,i,n,r){const o=e.documentRangeFormattingEditProvider.ordered(t);for(const a of o){const l=await Promise.resolve(a.provideDocumentRangeFormattingEdits(t,i,n,r)).catch(B4);if(fD(l))return await s.computeMoreMinimalEdits(t.uri,l)}}async function _7e(s,e,t,i,n){const r=m7e(e.documentFormattingEditProvider,e.documentRangeFormattingEditProvider,t);for(const o of r){const a=await Promise.resolve(o.provideDocumentFormattingEdits(t,i,n)).catch(B4);if(fD(a))return await s.computeMoreMinimalEdits(t.uri,a)}}function b7e(s,e,t,i,n,r,o){const a=e.onTypeFormattingEditProvider.ordered(t);return a.length===0||a[0].autoFormatTriggerCharacters.indexOf(n)<0?Promise.resolve(void 0):Promise.resolve(a[0].provideOnTypeFormattingEdits(t,i,n,r,o)).catch(B4).then(l=>s.computeMoreMinimalEdits(t.uri,l))}Ns.registerCommand("_executeFormatRangeProvider",async function(s,...e){const[t,i,n]=e;Qc(qe.isUri(t)),Qc(F.isIRange(i));const r=s.get(DD),o=s.get(Fw),a=s.get(Wt),l=await r.createModelReference(t);try{return v7e(o,a,l.object.textEditorModel,F.lift(i),n,Mr.None)}finally{l.dispose()}});Ns.registerCommand("_executeFormatDocumentProvider",async function(s,...e){const[t,i]=e;Qc(qe.isUri(t));const n=s.get(DD),r=s.get(Fw),o=s.get(Wt),a=await n.createModelReference(t);try{return _7e(r,o,a.object.textEditorModel,i,Mr.None)}finally{a.dispose()}});Ns.registerCommand("_executeFormatOnTypeProvider",async function(s,...e){const[t,i,n,r]=e;Qc(qe.isUri(t)),Qc(H.isIPosition(i)),Qc(typeof n=="string");const o=s.get(DD),a=s.get(Fw),l=s.get(Wt),h=await o.createModelReference(t);try{return b7e(a,l,h.object.textEditorModel,H.lift(i),n,r,Mr.None)}finally{h.dispose()}});mr.wrappingIndent.defaultValue=0;mr.glyphMargin.defaultValue=!1;mr.autoIndent.defaultValue=3;mr.overviewRulerLanes.defaultValue=2;XO.setFormatterSelector((s,e,t)=>Promise.resolve(s[0]));const cs=EX();cs.editor=xFe();cs.languages=g7e();const Xte=cs.CancellationTokenSource,Zte=cs.Emitter,Qte=cs.KeyCode,Jte=cs.KeyMod,eie=cs.Position,tie=cs.Range,iie=cs.Selection,nie=cs.SelectionDirection,sie=cs.MarkerSeverity,rie=cs.MarkerTag,oie=cs.Uri,aie=cs.Token,Fn=cs.editor,lie=cs.languages,xE=o3(),Om=globalThis;(xE!=null&&xE.globalAPI||typeof Om.define=="function"&&Om.define.amd)&&(Om.monaco=cs);typeof Om.require<"u"&&typeof Om.require.config=="function"&&Om.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]});const w7e=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:Xte,Emitter:Zte,KeyCode:Qte,KeyMod:Jte,MarkerSeverity:sie,MarkerTag:rie,Position:eie,Range:tie,Selection:iie,SelectionDirection:nie,Token:aie,Uri:oie,editor:Fn,languages:lie},Symbol.toStringTag,{value:"Module"}));function y7e(){return w7e}const LE=globalThis.MonacoEnvironment;LE!=null&&LE.globalAPI&&(globalThis.monaco=y7e());const kh=Object.freeze(Object.defineProperty({__proto__:null,CancellationTokenSource:Xte,Emitter:Zte,KeyCode:Qte,KeyMod:Jte,MarkerSeverity:sie,MarkerTag:rie,Position:eie,Range:tie,Selection:iie,SelectionDirection:nie,Token:aie,Uri:oie,editor:Fn,languages:lie},Symbol.toStringTag,{value:"Module"}));function OL(s){return/^\d+$/.test(s)?"".concat(s,"px"):s}function qc(){}var Fd=function(){return Fd=Object.assign||function(s){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=e[n])}return s},Fd.apply(this,arguments)};function C7e(s,e){var t=s.width,i=t===void 0?"100%":t,n=s.height,r=n===void 0?"100%":n,o=s.value,a=o===void 0?null:o,l=s.defaultValue,h=l===void 0?"":l,c=s.language,u=c===void 0?"javascript":c,d=s.theme,f=d===void 0?null:d,g=s.options,p=g===void 0?{}:g,m=s.overrideServices,v=m===void 0?{}:m,_=s.editorWillMount,b=_===void 0?qc:_,y=s.editorDidMount,C=y===void 0?qc:y,x=s.editorWillUnmount,S=x===void 0?qc:x,k=s.onChange,T=k===void 0?qc:k,I=s.className,N=I===void 0?null:I,A=s.original,R=A===void 0?null:A,P=s.originalUri,B=s.modifiedUri,z=Te.useRef(null),U=Te.useRef(null),K=Te.useRef(null),X=Te.useRef(null),ne=OL(i),oe=OL(r),ue=Te.useMemo(function(){return{width:ne,height:oe}},[ne,oe]);Te.useImperativeHandle(e,function(){return{get editor(){return U.current}}});var de=function(){var Pe=b(kh);return Pe||{}},De=function(){C(U.current,kh);var Pe=U.current.getModel().modified;K.current=Pe.onDidChangeContent(function(tt){X.current||T(Pe.getValue(),tt)})},Q=function(){S(U.current,kh)},Xe=function(){var Pe=a??h,tt=P==null?void 0:P(kh),st=B==null?void 0:B(kh),ve=tt&&Fn.getModel(tt),ge=st&&Fn.getModel(st);ve?(ve.setValue(R),Fn.setModelLanguage(ve,u)):ve=Fn.createModel(Pe,u,tt),ge?(ve.setValue(Pe),Fn.setModelLanguage(ge,u)):ge=Fn.createModel(Pe,u,st),U.current.setModel({original:ve,modified:ge})};return Te.useEffect(function(){z.current&&(de(),U.current=Fn.createDiffEditor(z.current,Fd(Fd(Fd({},N?{extraEditorClassName:N}:{}),p),f?{theme:f}:{}),v),Xe(),De())},[]),Te.useEffect(function(){U.current&&U.current.updateOptions(Fd(Fd({},N?{extraEditorClassName:N}:{}),p))},[N,p]),Te.useEffect(function(){U.current&&U.current.layout()},[i,r]),Te.useEffect(function(){if(U.current){var Pe=U.current.getModel(),tt=Pe.original,st=Pe.modified;Fn.setModelLanguage(tt,u),Fn.setModelLanguage(st,u)}},[u]),Te.useEffect(function(){if(U.current){var Pe=U.current.getModel().modified;X.current=!0,U.current.getModifiedEditor().pushUndoStop(),Pe.pushEditOperations([],[{range:Pe.getFullModelRange(),text:a}]),U.current.getModifiedEditor().pushUndoStop(),X.current=!1}},[a]),Te.useEffect(function(){Fn.setTheme(f)},[f]),Te.useEffect(function(){if(U.current){var Pe=U.current.getModel().original;R!==Pe.getValue()&&Pe.setValue(R)}},[R]),Te.useEffect(function(){return function(){if(U.current){Q(),U.current.dispose();var Pe=U.current.getModel(),tt=Pe.original,st=Pe.modified;tt&&tt.dispose(),st&&st.dispose()}K.current&&K.current.dispose()}},[]),Te.createElement("div",{ref:z,style:ue,className:"react-monaco-editor-container"})}var S7e=Te.forwardRef(C7e);S7e.displayName="MonacoDiffEditor";var lh=function(){return lh=Object.assign||function(s){for(var e,t=1,i=arguments.length;t<i;t++){e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(s[n]=e[n])}return s},lh.apply(this,arguments)},x7e=function(s,e){var t={};for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&e.indexOf(i)<0&&(t[i]=s[i]);if(s!=null&&typeof Object.getOwnPropertySymbols=="function")for(var n=0,i=Object.getOwnPropertySymbols(s);n<i.length;n++)e.indexOf(i[n])<0&&Object.prototype.propertyIsEnumerable.call(s,i[n])&&(t[i[n]]=s[i[n]]);return t};function L7e(s,e){var t=s.width,i=t===void 0?"100%":t,n=s.height,r=n===void 0?"100%":n,o=s.value,a=o===void 0?null:o,l=s.defaultValue,h=l===void 0?"":l,c=s.language,u=c===void 0?"javascript":c,d=s.theme,f=d===void 0?null:d,g=s.options,p=g===void 0?{}:g,m=s.overrideServices,v=m===void 0?{}:m,_=s.editorWillMount,b=_===void 0?qc:_,y=s.editorDidMount,C=y===void 0?qc:y,x=s.editorWillUnmount,S=x===void 0?qc:x,k=s.onChange,T=k===void 0?qc:k,I=s.className,N=I===void 0?null:I,A=s.uri,R=Te.useRef(null),P=Te.useRef(null),B=Te.useRef(null),z=Te.useRef(null),U=OL(i),K=OL(r),X=Te.useRef(T);X.current=T,Te.useImperativeHandle(e,function(){return{get editor(){return P.current}}});var ne=Te.useMemo(function(){return{width:U,height:K}},[U,K]),oe=function(){var Q=b(kh);return Q||{}},ue=function(){C(P.current,kh),B.current=P.current.onDidChangeModelContent(function(Q){var Xe;z.current||(Xe=X.current)===null||Xe===void 0||Xe.call(X,P.current.getValue(),Q)})},de=function(){S(P.current,kh)},De=function(){var Q=a!==null?a:h;if(R.current){var Xe=lh(lh({},p),oe()),Pe=A==null?void 0:A(kh),tt=Pe&&Fn.getModel(Pe);tt?(tt.setValue(Q),Fn.setModelLanguage(tt,u)):tt=Fn.createModel(Q,u,Pe),P.current=Fn.create(R.current,lh(lh(lh({model:tt},N?{extraEditorClassName:N}:{}),Xe),f?{theme:f}:{}),v),ue()}};return Te.useEffect(De,[]),Te.useEffect(function(){if(P.current&&a!==null){if(a===P.current.getValue())return;var Q=P.current.getModel();z.current=!0,P.current.pushUndoStop(),Q.pushEditOperations([],[{range:Q.getFullModelRange(),text:a}],void 0),P.current.pushUndoStop(),z.current=!1}},[a]),Te.useEffect(function(){if(P.current){var Q=P.current.getModel();Fn.setModelLanguage(Q,u)}},[u]),Te.useEffect(function(){if(P.current){p.model;var Q=x7e(p,["model"]);P.current.updateOptions(lh(lh({},N?{extraEditorClassName:N}:{}),Q))}},[N,p]),Te.useEffect(function(){P.current&&P.current.layout()},[i,r]),Te.useEffect(function(){Fn.setTheme(f)},[f]),Te.useEffect(function(){return function(){P.current&&(de(),P.current.dispose()),B.current&&B.current.dispose()}},[]),Te.createElement("div",{ref:R,style:ne,className:"react-monaco-editor-container"})}var hie=Te.forwardRef(L7e);hie.displayName="MonacoEditor";const k7e={dialog:{height:"100%",maxHeight:"100%",maxWidth:"100%"}};function D7e(s){const[e,t]=uS.useState("");let i=!1;try{JSON.parse(e)}catch{i=!0}return L.jsxs(E.Dialog,{style:k7e.dialog,open:!0,maxWidth:"lg",onClose:()=>s.onClose(),fullWidth:!0,children:[L.jsx(E.DialogTitle,{children:s.t("Insert JSON with objects here")}),L.jsx(E.DialogContent,{style:{minHeight:500},children:L.jsx(hie,{width:"100%",height:"500px",language:"json",theme:s.themeType==="dark"?"vs-dark":"vs-light",value:e,options:{selectOnLineNumbers:!0},onChange:n=>t(n),editorDidMount:n=>n.focus()})}),L.jsxs(E.DialogActions,{children:[L.jsx(E.Button,{variant:"contained",disabled:i||!e.trim(),onClick:()=>s.onClose(e),startIcon:L.jsx(Ie.ContentPaste,{}),color:"primary",children:s.t("Import objects")}),L.jsx(E.Button,{variant:"contained",onClick:()=>s.onClose(),startIcon:L.jsx(Ie.Close,{}),color:"grey",children:s.t("Close")})]})]})}const T7e=Ie.Delete,yC={buttonAll:{color:"#FF0000"},id:{fontStyle:"italic"},buttonText:{whiteSpace:"nowrap"}};class m6e extends Te.Component{dialogName;filters;t;wordCache;constructor(e){super(e),this.dialogName="AdminObjects";const t=(window._localStorage||window.localStorage).getItem(`${this.dialogName||"App"}.filters`)||"{}";try{this.filters=JSON.parse(t)}catch{this.filters={}}const i=(window._localStorage||window.localStorage).getItem(`${this.dialogName||"App"}.selected`)||"";this.state={selected:i,name:"",toast:"",deleteObjectShow:null},this.t=this.translate,this.wordCache={}}translate=(e,t,i)=>t!==void 0?this.props.t(e,t,i):(this.wordCache[e]||(this.wordCache[e]=this.props.t(e)),this.wordCache[e]);onDelete(e){const t=this.state.deleteObjectShow.id;e?(this.props.socket.delObjects(t,!0).then(()=>this.setState({toast:this.t("All deleted")})).catch(i=>window.alert(`Cannot delete object: ${i}`)),this.setState({deleteObjectShow:null})):(this.props.socket.delObject(t,!1).catch(i=>window.alert(`Cannot delete object: ${i}`)),this.setState({deleteObjectShow:null}))}renderToast(){return L.jsx(E.Snackbar,{anchorOrigin:{vertical:"bottom",horizontal:"right"},open:!!this.state.toast,autoHideDuration:3e3,onClose:()=>this.setState({toast:""}),message:this.state.toast,action:L.jsx(E.IconButton,{size:"small","aria-label":"close",color:"inherit",onClick:()=>this.setState({toast:""}),children:L.jsx(Ie.Cancel,{fontSize:"small"})})},"toast")}renderDeleteDialog(){return this.state.deleteObjectShow?L.jsxs(E.Dialog,{maxWidth:"md",open:!0,onClose:()=>this.setState({deleteObjectShow:null}),"aria-labelledby":"delete-object-dialog-title","aria-describedby":"delete-object-dialog-description",children:[L.jsxs(E.DialogTitle,{id:"delete-object-dialog-title",children:[this.state.deleteObjectShow.hasChildren?this.t("Delete object(s)"):this.t("Delete object"),":"," ",L.jsx("span",{style:yC.id,children:this.state.deleteObjectShow.id})]}),L.jsx(E.DialogContent,{children:L.jsx(E.DialogContentText,{children:this.t("Are you sure?")})}),L.jsxs(E.DialogActions,{children:[this.state.deleteObjectShow.hasChildren?L.jsx(E.Button,{variant:"contained",color:"grey",sx:{"& .MuiButton-text":yC.buttonText},onClick:()=>this.onDelete(!0),startIcon:L.jsx(T7e,{style:yC.buttonAll}),children:this.t("Delete with children",this.state.deleteObjectShow.childrenCount)}):null,this.state.deleteObjectShow.exists?L.jsx(E.Button,{variant:"contained",sx:{"& .MuiButton-text":yC.buttonText},onClick:()=>this.onDelete(!1),color:"primary",startIcon:L.jsx(Ie.Delete,{}),autoFocus:!0,children:this.t("Delete one item")}):null,L.jsx(E.Button,{variant:"contained",color:"grey",onClick:()=>this.setState({deleteObjectShow:null}),startIcon:L.jsx(Ie.Cancel,{}),children:this.t("ra_Cancel")})]})]},"delete"):null}render(){const _eosRole=String(window.NEXOWATT_EOS_ACCESS_ROLE||"unknown").toLowerCase(),_eosReadOnly=_eosRole==="enduser",e=ee.Router.getLocation(),t=e.tab==="tab-objects"&&e.id?{mode:e.dialog==="view"?"viewFile":e.dialog||"select",id:e.id}:null;return[this.renderToast(),L.jsx(ee.ObjectBrowser,{navigateTo:t,onNavigateTo:i=>{i!=null&&i.id?ee.Router.doNavigate("tab-objects",i.mode==="viewFile"?"view":i.mode,i.id):ee.Router.doNavigate("tab-objects")},dialogName:"admin",objectsWorker:this.props.objectsWorker,prefix:this.props.prefix,defaultFilters:this.filters,statesOnly:this.props.statesOnly,style:{width:"100%",height:"100%"},socket:this.props.socket,selected:(t==null?void 0:t.id)||this.state.selected,name:this.state.name,expertMode:this.props.expertMode,isFloatComma:this.props.isFloatComma,dateFormat:this.props.dateFormat,t:this.t,lang:this.props.lang,themeName:this.props.themeName,themeType:this.props.themeType,theme:this.props.theme,objectCustomDialog:Eme,objectBrowserValue:Ep,objectBrowserEditObject:$n,objectBrowserEditRole:A4,objectBrowserViewFile:Fme,objectBrowserAliasEditor:g1,objectMoveRenameDialog:R4,objectBrowserInsertJsonObjects:D7e,router:ee.Router,enableStateValueEdit:!_eosReadOnly,onObjectDelete:_eosReadOnly?void 0:(i,n,r,o)=>this.setState({deleteObjectShow:{id:i,hasChildren:n,exists:r,childrenCount:o}}),onFilterChanged:i=>{this.filters=i,(window._localStorage||window.localStorage).setItem(`${this.dialogName||"App"}.filters`,JSON.stringify(i))},onSelect:i=>{Array.isArray(i)?(window._localStorage||window.localStorage).setItem(`${this.dialogName||"App"}.selected`,i[0]||""):(window._localStorage||window.localStorage).setItem(`${this.dialogName||"App"}.selected`,i||"")},objectEditBoolean:!_eosReadOnly,objectAddBoolean:!_eosReadOnly,objectStatesView:!0,objectImportExport:!_eosReadOnly,objectEditOfAccessControl:!_eosReadOnly,modalNewObject:i=>L.jsx(Rme,{objects:i.objects,expertMode:this.props.expertMode,setObject:(n,r)=>this.props.socket.setObject(n,r).catch(o=>window.alert(o)),selected:i.state.modalNewObj.id,initialType:i.state.modalNewObj.initialType,initialStateType:i.state.modalNewObj.initialStateType,onClose:()=>i.setState({modalNewObj:null}),onApply:()=>i.setState({modalNewObj:null})}),modalEditOfAccessControl:(i,n)=>L.jsx(Ome,{theme:this.props.theme,themeType:this.props.themeType,extendObject:(r,o)=>{this.props.socket.extendObject(r,o).catch(a=>window.alert(a)),n.aclTooltip=null},selected:i.state.selected[0],modalEmptyId:n.obj?"":n.id,objects:i.objects,t:this.t,onClose:()=>i.setState({modalEditOfAccess:!1,modalEditOfAccessObjData:null}),onApply:()=>i.setState({modalEditOfAccess:!1,modalEditOfAccessObjData:null})})},"browser"),_eosReadOnly?null:this.renderDeleteDialog()]}}export{m6e as default};