@xbzbing/dsh-git-panel 0.1.1 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -16
- package/README_EN.md +17 -16
- package/cordis.patch.yml +1 -0
- package/lib/client.js +105 -44
- package/lib/host/actions.d.ts +2 -3
- package/lib/host/core.d.ts +47 -2
- package/lib/host/git.d.ts +6 -1
- package/lib/host/index.d.ts +7 -4
- package/lib/host/index.js +469 -151
- package/lib/host/parser.d.ts +8 -1
- package/lib/host/types.d.ts +60 -4
- package/lib/host/validate.d.ts +10 -0
- package/lib/host/version.d.ts +6 -4
- package/package.json +4 -7
package/lib/client.js
CHANGED
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
window.__ModuleLoader__.load({ id: "@xbzbing/dsh-git-panel", factory: (require) => {
|
|
2
2
|
var module = { exports: {} }; var exports = module.exports;
|
|
3
|
-
"use strict";var Da=Object.create;var je=Object.defineProperty;var La=Object.getOwnPropertyDescriptor;var Pa=Object.getOwnPropertyNames;var Ba=Object.getPrototypeOf,Ga=Object.prototype.hasOwnProperty;var X=(e,t)=>()=>(e&&(t=e(e=0)),t);var Fa=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Vt=(e,t)=>{for(var n in t)je(e,n,{get:t[n],enumerable:!0})},Zt=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Pa(t))!Ga.call(e,o)&&o!==n&&je(e,o,{get:()=>t[o],enumerable:!(r=La(t,o))||r.enumerable});return e};var Ua=(e,t,n)=>(n=e!=null?Da(Ba(e)):{},Zt(t||!e||!e.__esModule?je(n,"default",{value:e,enumerable:!0}):n,e)),za=e=>Zt(je({},"__esModule",{value:!0}),e);var Wn=Fa((bs,qn)=>{function In(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let n=e[t],r=typeof n;(r==="object"||r==="function")&&!Object.isFrozen(n)&&In(n)}),e}var ot=class{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function Dn(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Ne(e,...t){let n=Object.create(null);for(let r in e)n[r]=e[r];return t.forEach(function(r){for(let o in r)n[o]=r[o]}),n}var Qa="</span>",Tn=e=>!!e.scope,ja=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){let n=e.split(".");return[`${t}${n.shift()}`,...n.map((r,o)=>`${r}${"_".repeat(o+1)}`)].join(" ")}return`${t}${e}`},Ot=class{constructor(t,n){this.buffer="",this.classPrefix=n.classPrefix,t.walk(this)}addText(t){this.buffer+=Dn(t)}openNode(t){if(!Tn(t))return;let n=ja(t.scope,{prefix:this.classPrefix});this.span(n)}closeNode(t){Tn(t)&&(this.buffer+=Qa)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}},Rn=(e={})=>{let t={children:[]};return Object.assign(t,e),t},Mt=class e{constructor(){this.rootNode=Rn(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){let n=Rn({scope:t});this.add(n),this.stack.push(n)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,n){return typeof n=="string"?t.addText(n):n.children&&(t.openNode(n),n.children.forEach(r=>this._walk(t,r)),t.closeNode(n)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(n=>typeof n=="string")?t.children=[t.children.join("")]:t.children.forEach(n=>{e._collapse(n)}))}},It=class extends Mt{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,n){let r=t.root;n&&(r.scope=`language:${n}`),this.add(r)}toHTML(){return new Ot(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function Xe(e){return e?typeof e=="string"?e:e.source:null}function Ln(e){return Oe("(?=",e,")")}function ei(e){return Oe("(?:",e,")*")}function ti(e){return Oe("(?:",e,")?")}function Oe(...e){return e.map(n=>Xe(n)).join("")}function ni(e){let t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function Lt(...e){return"("+(ni(e).capture?"":"?:")+e.map(r=>Xe(r)).join("|")+")"}function Pn(e){return new RegExp(e.toString()+"|").exec("").length-1}function ri(e,t){let n=e&&e.exec(t);return n&&n.index===0}var ai=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Pt(e,{joinWith:t}){let n=0;return e.map(r=>{n+=1;let o=n,s=Xe(r),i="";for(;s.length>0;){let a=ai.exec(s);if(!a){i+=s;break}i+=s.substring(0,a.index),s=s.substring(a.index+a[0].length),a[0][0]==="\\"&&a[1]?i+="\\"+String(Number(a[1])+o):(i+=a[0],a[0]==="("&&n++)}return i}).map(r=>`(${r})`).join(t)}var ii=/\b\B/,Bn="[a-zA-Z]\\w*",Bt="[a-zA-Z_]\\w*",Gn="\\b\\d+(\\.\\d+)?",Fn="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Un="\\b(0b[01]+)",oi="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",si=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=Oe(t,/.*\b/,e.binary,/\b.*/)),Ne({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(n,r)=>{n.index!==0&&r.ignoreMatch()}},e)},Ve={begin:"\\\\[\\s\\S]",relevance:0},li={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Ve]},ci={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Ve]},di={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},lt=function(e,t,n={}){let r=Ne({scope:"comment",begin:e,end:t,contains:[]},n);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let o=Lt("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:Oe(/[ ]+/,"(",o,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},pi=lt("//","$"),gi=lt("/\\*","\\*/"),ui=lt("#","$"),mi={scope:"number",begin:Gn,relevance:0},fi={scope:"number",begin:Fn,relevance:0},bi={scope:"number",begin:Un,relevance:0},hi={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Ve,{begin:/\[/,end:/\]/,relevance:0,contains:[Ve]}]},yi={scope:"title",begin:Bn,relevance:0},_i={scope:"title",begin:Bt,relevance:0},vi={begin:"\\.\\s*"+Bt,relevance:0},Ei=function(e){return Object.assign(e,{"on:begin":(t,n)=>{n.data._beginMatch=t[1]},"on:end":(t,n)=>{n.data._beginMatch!==t[1]&&n.ignoreMatch()}})},it=Object.freeze({__proto__:null,APOS_STRING_MODE:li,BACKSLASH_ESCAPE:Ve,BINARY_NUMBER_MODE:bi,BINARY_NUMBER_RE:Un,COMMENT:lt,C_BLOCK_COMMENT_MODE:gi,C_LINE_COMMENT_MODE:pi,C_NUMBER_MODE:fi,C_NUMBER_RE:Fn,END_SAME_AS_BEGIN:Ei,HASH_COMMENT_MODE:ui,IDENT_RE:Bn,MATCH_NOTHING_RE:ii,METHOD_GUARD:vi,NUMBER_MODE:mi,NUMBER_RE:Gn,PHRASAL_WORDS_MODE:di,QUOTE_STRING_MODE:ci,REGEXP_MODE:hi,RE_STARTERS_RE:oi,SHEBANG:si,TITLE_MODE:yi,UNDERSCORE_IDENT_RE:Bt,UNDERSCORE_TITLE_MODE:_i});function wi(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function xi(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function ki(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=wi,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Ni(e,t){Array.isArray(e.illegal)&&(e.illegal=Lt(...e.illegal))}function Si(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Ti(e,t){e.relevance===void 0&&(e.relevance=1)}var Ri=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");let n=Object.assign({},e);Object.keys(e).forEach(r=>{delete e[r]}),e.keywords=n.keywords,e.begin=Oe(n.beforeMatch,Ln(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},Ci=["of","and","for","in","not","or","if","then","parent","list","value"],Ai="keyword";function zn(e,t,n=Ai){let r=Object.create(null);return typeof e=="string"?o(n,e.split(" ")):Array.isArray(e)?o(n,e):Object.keys(e).forEach(function(s){Object.assign(r,zn(e[s],t,s))}),r;function o(s,i){t&&(i=i.map(a=>a.toLowerCase())),i.forEach(function(a){let l=a.split("|");r[l[0]]=[s,Oi(l[0],l[1])]})}}function Oi(e,t){return t?Number(t):Mi(e)?0:1}function Mi(e){return Ci.includes(e.toLowerCase())}var Cn={},Ae=e=>{console.error(e)},An=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Le=(e,t)=>{Cn[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Cn[`${e}/${t}`]=!0)},st=new Error;function $n(e,t,{key:n}){let r=0,o=e[n],s={},i={};for(let a=1;a<=t.length;a++)i[a+r]=o[a],s[a+r]=!0,r+=Pn(t[a-1]);e[n]=i,e[n]._emit=s,e[n]._multi=!0}function Ii(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Ae("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),st;if(typeof e.beginScope!="object"||e.beginScope===null)throw Ae("beginScope must be object"),st;$n(e,e.begin,{key:"beginScope"}),e.begin=Pt(e.begin,{joinWith:""})}}function Di(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Ae("skip, excludeEnd, returnEnd not compatible with endScope: {}"),st;if(typeof e.endScope!="object"||e.endScope===null)throw Ae("endScope must be object"),st;$n(e,e.end,{key:"endScope"}),e.end=Pt(e.end,{joinWith:""})}}function Li(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Pi(e){Li(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Ii(e),Di(e)}function Bi(e){function t(i,a){return new RegExp(Xe(i),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(a?"g":""))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(a,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,a]),this.matchAt+=Pn(a)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);let a=this.regexes.map(l=>l[1]);this.matcherRe=t(Pt(a,{joinWith:"|"}),!0),this.lastIndex=0}exec(a){this.matcherRe.lastIndex=this.lastIndex;let l=this.matcherRe.exec(a);if(!l)return null;let c=l.findIndex((b,f)=>f>0&&b!==void 0),d=this.matchIndexes[c];return l.splice(0,c),Object.assign(l,d)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(a){if(this.multiRegexes[a])return this.multiRegexes[a];let l=new n;return this.rules.slice(a).forEach(([c,d])=>l.addRule(c,d)),l.compile(),this.multiRegexes[a]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(a,l){this.rules.push([a,l]),l.type==="begin"&&this.count++}exec(a){let l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let c=l.exec(a);if(this.resumingScanAtSamePosition()&&!(c&&c.index===this.lastIndex)){let d=this.getMatcher(0);d.lastIndex=this.lastIndex+1,c=d.exec(a)}return c&&(this.regexIndex+=c.position+1,this.regexIndex===this.count&&this.considerAll()),c}}function o(i){let a=new r;return i.contains.forEach(l=>a.addRule(l.begin,{rule:l,type:"begin"})),i.terminatorEnd&&a.addRule(i.terminatorEnd,{type:"end"}),i.illegal&&a.addRule(i.illegal,{type:"illegal"}),a}function s(i,a){let l=i;if(i.isCompiled)return l;[xi,Si,Pi,Ri].forEach(d=>d(i,a)),e.compilerExtensions.forEach(d=>d(i,a)),i.__beforeBegin=null,[ki,Ni,Ti].forEach(d=>d(i,a)),i.isCompiled=!0;let c=null;return typeof i.keywords=="object"&&i.keywords.$pattern&&(i.keywords=Object.assign({},i.keywords),c=i.keywords.$pattern,delete i.keywords.$pattern),c=c||/\w+/,i.keywords&&(i.keywords=zn(i.keywords,e.case_insensitive)),l.keywordPatternRe=t(c,!0),a&&(i.begin||(i.begin=/\B|\b/),l.beginRe=t(l.begin),!i.end&&!i.endsWithParent&&(i.end=/\B|\b/),i.end&&(l.endRe=t(l.end)),l.terminatorEnd=Xe(l.end)||"",i.endsWithParent&&a.terminatorEnd&&(l.terminatorEnd+=(i.end?"|":"")+a.terminatorEnd)),i.illegal&&(l.illegalRe=t(i.illegal)),i.contains||(i.contains=[]),i.contains=[].concat(...i.contains.map(function(d){return Gi(d==="self"?i:d)})),i.contains.forEach(function(d){s(d,l)}),i.starts&&s(i.starts,a),l.matcher=o(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Ne(e.classNameAliases||{}),s(e)}function Kn(e){return e?e.endsWithParent||Kn(e.starts):!1}function Gi(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return Ne(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Kn(e)?Ne(e,{starts:e.starts?Ne(e.starts):null}):Object.isFrozen(e)?Ne(e):e}var Fi="11.11.1",Dt=class extends Error{constructor(t,n){super(t),this.name="HTMLInjectionError",this.html=n}},At=Dn,On=Ne,Mn=Symbol("nomatch"),Ui=7,Hn=function(e){let t=Object.create(null),n=Object.create(null),r=[],o=!0,s="Could not find the language '{}', did you forget to load/include a language module?",i={disableAutodetect:!0,name:"Plain text",contains:[]},a={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:It};function l(g){return a.noHighlightRe.test(g)}function c(g){let w=g.className+" ";w+=g.parentNode?g.parentNode.className:"";let v=a.languageDetectRe.exec(w);if(v){let M=F(v[1]);return M||(An(s.replace("{}",v[1])),An("Falling back to no-highlight mode for this block.",g)),M?v[1]:"no-highlight"}return w.split(/\s+/).find(M=>l(M)||F(M))}function d(g,w,v){let M="",L="";typeof w=="object"?(M=g,v=w.ignoreIllegals,L=w.language):(Le("10.7.0","highlight(lang, code, ...args) has been deprecated."),Le("10.7.0",`Please use highlight(code, options) instead.
|
|
4
|
-
https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(v=!0);let U={code:M,language:L};ee("before:highlight",U);let z=U.result?U.result:b(U.language,U.code,v);return z.code=U.code,ee("after:highlight",z),z}function b(g,w,v,M){let L=Object.create(null);function U(_,S){return _.keywords[S]}function z(){if(!C.keywords){ae.addText(q);return}let _=0;C.keywordPatternRe.lastIndex=0;let S=C.keywordPatternRe.exec(q),P="";for(;S;){P+=q.substring(_,S.index);let u=de.case_insensitive?S[0].toLowerCase():S[0],A=U(C,u);if(A){let[K,pe]=A;if(ae.addText(P),P="",L[u]=(L[u]||0)+1,L[u]<=Ui&&(Ce+=pe),K.startsWith("_"))P+=S[0];else{let ie=de.classNameAliases[K]||K;R(S[0],ie)}}else P+=S[0];_=C.keywordPatternRe.lastIndex,S=C.keywordPatternRe.exec(q)}P+=q.substring(_),ae.addText(P)}function te(){if(q==="")return;let _=null;if(typeof C.subLanguage=="string"){if(!t[C.subLanguage]){ae.addText(q);return}_=b(C.subLanguage,q,!0,Re[C.subLanguage]),Re[C.subLanguage]=_._top}else _=m(q,C.subLanguage.length?C.subLanguage:null);C.relevance>0&&(Ce+=_.relevance),ae.__addSublanguage(_._emitter,_.language)}function E(){C.subLanguage!=null?te():z(),q=""}function R(_,S){_!==""&&(ae.startScope(S),ae.addText(_),ae.endScope())}function Y(_,S){let P=1,u=S.length-1;for(;P<=u;){if(!_._emit[P]){P++;continue}let A=de.classNameAliases[_[P]]||_[P],K=S[P];A?R(K,A):(q=K,z(),q=""),P++}}function me(_,S){return _.scope&&typeof _.scope=="string"&&ae.openNode(de.classNameAliases[_.scope]||_.scope),_.beginScope&&(_.beginScope._wrap?(R(q,de.classNameAliases[_.beginScope._wrap]||_.beginScope._wrap),q=""):_.beginScope._multi&&(Y(_.beginScope,S),q="")),C=Object.create(_,{parent:{value:C}}),C}function ce(_,S,P){let u=ri(_.endRe,P);if(u){if(_["on:end"]){let A=new ot(_);_["on:end"](S,A),A.isMatchIgnored&&(u=!1)}if(u){for(;_.endsParent&&_.parent;)_=_.parent;return _}}if(_.endsWithParent)return ce(_.parent,S,P)}function ze(_){return C.matcher.regexIndex===0?(q+=_[0],1):(Ee=!0,0)}function Me(_){let S=_[0],P=_.rule,u=new ot(P),A=[P.__beforeBegin,P["on:begin"]];for(let K of A)if(K&&(K(_,u),u.isMatchIgnored))return ze(S);return P.skip?q+=S:(P.excludeBegin&&(q+=S),E(),!P.returnBegin&&!P.excludeBegin&&(q=S)),me(P,_),P.returnBegin?0:S.length}function Se(_){let S=_[0],P=w.substring(_.index),u=ce(C,_,P);if(!u)return Mn;let A=C;C.endScope&&C.endScope._wrap?(E(),R(S,C.endScope._wrap)):C.endScope&&C.endScope._multi?(E(),Y(C.endScope,_)):A.skip?q+=S:(A.returnEnd||A.excludeEnd||(q+=S),E(),A.excludeEnd&&(q=S));do C.scope&&ae.closeNode(),!C.skip&&!C.subLanguage&&(Ce+=C.relevance),C=C.parent;while(C!==u.parent);return u.starts&&me(u.starts,_),A.returnEnd?0:S.length}function fe(){let _=[];for(let S=C;S!==de;S=S.parent)S.scope&&_.unshift(S.scope);_.forEach(S=>ae.openNode(S))}let be={};function Te(_,S){let P=S&&S[0];if(q+=_,P==null)return E(),0;if(be.type==="begin"&&S.type==="end"&&be.index===S.index&&P===""){if(q+=w.slice(S.index,S.index+1),!o){let u=new Error(`0 width match regex (${g})`);throw u.languageName=g,u.badRule=be.rule,u}return 1}if(be=S,S.type==="begin")return Me(S);if(S.type==="illegal"&&!v){let u=new Error('Illegal lexeme "'+P+'" for mode "'+(C.scope||"<unnamed>")+'"');throw u.mode=C,u}else if(S.type==="end"){let u=Se(S);if(u!==Mn)return u}if(S.type==="illegal"&&P==="")return q+=`
|
|
5
|
-
`,1;if(ve>1e5&&ve>S.index*3)throw new Error("potential infinite loop, way more iterations than matches");return q+=P,P.length}let de=F(g);if(!de)throw Ae(s.replace("{}",g)),new Error('Unknown language: "'+g+'"');let $=Bi(de),he="",C=M||$,Re={},ae=new a.__emitter(a);fe();let q="",Ce=0,_e=0,ve=0,Ee=!1;try{if(de.__emitTokens)de.__emitTokens(w,ae);else{for(C.matcher.considerAll();;){ve++,Ee?Ee=!1:C.matcher.considerAll(),C.matcher.lastIndex=_e;let _=C.matcher.exec(w);if(!_)break;let S=w.substring(_e,_.index),P=Te(S,_);_e=_.index+P}Te(w.substring(_e))}return ae.finalize(),he=ae.toHTML(),{language:g,value:he,relevance:Ce,illegal:!1,_emitter:ae,_top:C}}catch(_){if(_.message&&_.message.includes("Illegal"))return{language:g,value:At(w),illegal:!0,relevance:0,_illegalBy:{message:_.message,index:_e,context:w.slice(_e-100,_e+100),mode:_.mode,resultSoFar:he},_emitter:ae};if(o)return{language:g,value:At(w),illegal:!1,relevance:0,errorRaised:_,_emitter:ae,_top:C};throw _}}function f(g){let w={value:At(g),illegal:!1,relevance:0,_top:i,_emitter:new a.__emitter(a)};return w._emitter.addText(g),w}function m(g,w){w=w||a.languages||Object.keys(t);let v=f(g),M=w.filter(F).filter(j).map(E=>b(E,g,!1));M.unshift(v);let L=M.sort((E,R)=>{if(E.relevance!==R.relevance)return R.relevance-E.relevance;if(E.language&&R.language){if(F(E.language).supersetOf===R.language)return 1;if(F(R.language).supersetOf===E.language)return-1}return 0}),[U,z]=L,te=U;return te.secondBest=z,te}function y(g,w,v){let M=w&&n[w]||v;g.classList.add("hljs"),g.classList.add(`language-${M}`)}function h(g){let w=null,v=c(g);if(l(v))return;if(ee("before:highlightElement",{el:g,language:v}),g.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",g);return}if(g.children.length>0&&(a.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(g)),a.throwUnescapedHTML))throw new Dt("One of your code blocks includes unescaped HTML.",g.innerHTML);w=g;let M=w.textContent,L=v?d(M,{language:v,ignoreIllegals:!0}):m(M);g.innerHTML=L.value,g.dataset.highlighted="yes",y(g,v,L.language),g.result={language:L.language,re:L.relevance,relevance:L.relevance},L.secondBest&&(g.secondBest={language:L.secondBest.language,relevance:L.secondBest.relevance}),ee("after:highlightElement",{el:g,result:L,text:M})}function x(g){a=On(a,g)}let N=()=>{T(),Le("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function D(){T(),Le("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let B=!1;function T(){function g(){T()}if(document.readyState==="loading"){B||window.addEventListener("DOMContentLoaded",g,!1),B=!0;return}document.querySelectorAll(a.cssSelector).forEach(h)}function I(g,w){let v=null;try{v=w(e)}catch(M){if(Ae("Language definition for '{}' could not be registered.".replace("{}",g)),o)Ae(M);else throw M;v=i}v.name||(v.name=g),t[g]=v,v.rawDefinition=w.bind(null,e),v.aliases&&H(v.aliases,{languageName:g})}function O(g){delete t[g];for(let w of Object.keys(n))n[w]===g&&delete n[w]}function Q(){return Object.keys(t)}function F(g){return g=(g||"").toLowerCase(),t[g]||t[n[g]]}function H(g,{languageName:w}){typeof g=="string"&&(g=[g]),g.forEach(v=>{n[v.toLowerCase()]=w})}function j(g){let w=F(g);return w&&!w.disableAutodetect}function ue(g){g["before:highlightBlock"]&&!g["before:highlightElement"]&&(g["before:highlightElement"]=w=>{g["before:highlightBlock"](Object.assign({block:w.el},w))}),g["after:highlightBlock"]&&!g["after:highlightElement"]&&(g["after:highlightElement"]=w=>{g["after:highlightBlock"](Object.assign({block:w.el},w))})}function oe(g){ue(g),r.push(g)}function se(g){let w=r.indexOf(g);w!==-1&&r.splice(w,1)}function ee(g,w){let v=g;r.forEach(function(M){M[v]&&M[v](w)})}function Z(g){return Le("10.7.0","highlightBlock will be removed entirely in v12.0"),Le("10.7.0","Please use highlightElement now."),h(g)}Object.assign(e,{highlight:d,highlightAuto:m,highlightAll:T,highlightElement:h,highlightBlock:Z,configure:x,initHighlighting:N,initHighlightingOnLoad:D,registerLanguage:I,unregisterLanguage:O,listLanguages:Q,getLanguage:F,registerAliases:H,autoDetection:j,inherit:On,addPlugin:oe,removePlugin:se}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=Fi,e.regex={concat:Oe,lookahead:Ln,either:Lt,optional:ti,anyNumberOfTimes:ei};for(let g in it)typeof it[g]=="object"&&In(it[g]);return Object.assign(e,it),e},Pe=Hn({});Pe.newInstance=()=>Hn({});qn.exports=Pe;Pe.HighlightJS=Pe;Pe.default=Pe});var Xn,ct,Vn=X(()=>{Xn=Ua(Wn(),1),ct=Xn.default});function Zn(e){let t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},r]});let o={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},s=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),i={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},a={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,o]};o.contains.push(a);let l={match:/\\"/},c={className:"string",begin:/'/,end:/'/},d={match:/\\'/},b={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},f=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],m=e.SHEBANG({binary:`(${f.join("|")})`,relevance:10}),y={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},h=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],x=["true","false"],N={match:/(\/[a-z._-]+)+/},D=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],B=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],T=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],I=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:h,literal:x,built_in:[...D,...B,"set","shopt",...T,...I]},contains:[m,e.SHEBANG(),y,b,s,i,N,a,l,c,d,n]}}var Yn=X(()=>{});function Jn(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",i="("+r+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",a={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{match:/\b(0b[01']+)/},{match:/(-?)\b([\d']+(\.[\d']*)?|\.[\d']+)((ll|LL|l|L)(u|U)?|(u|U)(ll|LL|l|L)?|f|F|b|B)/},{match:/(-?)\b(0[xX][a-fA-F0-9]+(?:'[a-fA-F0-9]+)*(?:\.[a-fA-F0-9]*(?:'[a-fA-F0-9]*)*)?(?:[pP][-+]?[0-9]+)?(l|L)?(u|U)?)/},{match:/(-?)\b\d+(?:'\d+)*(?:\.\d*(?:'\d*)*)?(?:[eE][-+]?\d+)?/}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef elifdef elifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},f={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},m=t.optional(o)+e.IDENT_RE+"\\s*\\(",x={keyword:["asm","auto","break","case","continue","default","do","else","enum","extern","for","fortran","goto","if","inline","register","restrict","return","sizeof","typeof","typeof_unqual","struct","switch","typedef","union","volatile","while","_Alignas","_Alignof","_Atomic","_Generic","_Noreturn","_Static_assert","_Thread_local","alignas","alignof","noreturn","static_assert","thread_local","_Pragma"],type:["float","double","signed","unsigned","int","short","long","char","void","_Bool","_BitInt","_Complex","_Imaginary","_Decimal32","_Decimal64","_Decimal96","_Decimal128","_Decimal64x","_Decimal128x","_Float16","_Float32","_Float64","_Float128","_Float32x","_Float64x","_Float128x","const","static","constexpr","complex","bool","imaginary"],literal:"true false NULL",built_in:"std string wstring cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set pair bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap priority_queue make_pair array shared_ptr abort terminate abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf future isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr"},N=[b,a,n,e.C_BLOCK_COMMENT_MODE,d,c],D={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:x,contains:N.concat([{begin:/\(/,end:/\)/,keywords:x,contains:N.concat(["self"]),relevance:0}]),relevance:0},B={begin:"("+i+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:x,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:x,relevance:0},{begin:m,returnBegin:!0,contains:[e.inherit(f,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,c,d,a,{begin:/\(/,end:/\)/,keywords:x,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,c,d,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,b]};return{name:"C",aliases:["h"],keywords:x,disableAutodetect:!0,illegal:"</",contains:[].concat(D,B,N,[b,{begin:e.IDENT_RE+"::",keywords:x},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:b,strings:c,keywords:x}}}var Qn=X(()=>{});function jn(e){let t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),r="decltype\\(auto\\)",o="[a-zA-Z_]\\w*::",i="(?!struct)("+r+"|"+t.optional(o)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",a={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},c={className:"string",variants:[{begin:'(u8?|U|L)?"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]},{begin:"(u8?|U|L)?'("+"\\\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\\S)"+"|.)",end:"'",illegal:"."},e.END_SAME_AS_BEGIN({begin:/(?:u8?|U|L)?R"([^()\\ ]{0,16})\(/,end:/\)([^()\\ ]{0,16})"/})]},d={className:"number",variants:[{begin:"[+-]?(?:(?:[0-9](?:'?[0-9])*\\.(?:[0-9](?:'?[0-9])*)?|\\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)"},{begin:"[+-]?\\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)"}],relevance:0},b={className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(c,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},f={className:"title",begin:t.optional(o)+e.IDENT_RE,relevance:0},m=t.optional(o)+e.IDENT_RE+"\\s*\\(",y=["alignas","alignof","and","and_eq","asm","atomic_cancel","atomic_commit","atomic_noexcept","auto","bitand","bitor","break","case","catch","class","co_await","co_return","co_yield","compl","concept","const_cast|10","consteval","constexpr","constinit","continue","decltype","default","delete","do","dynamic_cast|10","else","enum","explicit","export","extern","false","final","for","friend","goto","if","import","inline","module","mutable","namespace","new","noexcept","not","not_eq","nullptr","operator","or","or_eq","override","private","protected","public","reflexpr","register","reinterpret_cast|10","requires","return","sizeof","static_assert","static_cast|10","struct","switch","synchronized","template","this","thread_local","throw","transaction_safe","transaction_safe_dynamic","true","try","typedef","typeid","typename","union","using","virtual","volatile","while","xor","xor_eq"],h=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],x=["any","auto_ptr","barrier","binary_semaphore","bitset","complex","condition_variable","condition_variable_any","counting_semaphore","deque","false_type","flat_map","flat_set","future","imaginary","initializer_list","istringstream","jthread","latch","lock_guard","multimap","multiset","mutex","optional","ostringstream","packaged_task","pair","promise","priority_queue","queue","recursive_mutex","recursive_timed_mutex","scoped_lock","set","shared_future","shared_lock","shared_mutex","shared_timed_mutex","shared_ptr","stack","string_view","stringstream","timed_mutex","thread","true_type","tuple","unique_lock","unique_ptr","unordered_map","unordered_multimap","unordered_multiset","unordered_set","variant","vector","weak_ptr","wstring","wstring_view"],N=["abort","abs","acos","apply","as_const","asin","atan","atan2","calloc","ceil","cerr","cin","clog","cos","cosh","cout","declval","endl","exchange","exit","exp","fabs","floor","fmod","forward","fprintf","fputs","free","frexp","fscanf","future","invoke","isalnum","isalpha","iscntrl","isdigit","isgraph","islower","isprint","ispunct","isspace","isupper","isxdigit","labs","launder","ldexp","log","log10","make_pair","make_shared","make_shared_for_overwrite","make_tuple","make_unique","malloc","memchr","memcmp","memcpy","memset","modf","move","pow","printf","putchar","puts","realloc","scanf","sin","sinh","snprintf","sprintf","sqrt","sscanf","std","stderr","stdin","stdout","strcat","strchr","strcmp","strcpy","strcspn","strlen","strncat","strncmp","strncpy","strpbrk","strrchr","strspn","strstr","swap","tan","tanh","terminate","to_underlying","tolower","toupper","vfprintf","visit","vprintf","vsprintf"],T={type:h,keyword:y,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:x},I={className:"function.dispatch",relevance:0,keywords:{_hint:N},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},O=[I,b,a,n,e.C_BLOCK_COMMENT_MODE,d,c],Q={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:T,contains:O.concat([{begin:/\(/,end:/\)/,keywords:T,contains:O.concat(["self"]),relevance:0}]),relevance:0},F={className:"function",begin:"("+i+"[\\*&\\s]+)+"+m,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:T,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:r,keywords:T,relevance:0},{begin:m,returnBegin:!0,contains:[f],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[c,d]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,c,d,a,{begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,c,d,a]}]},a,n,e.C_BLOCK_COMMENT_MODE,b]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:T,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(Q,F,I,O,[b,{begin:"\\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\\s*<(?!<)",end:">",keywords:T,contains:["self",a]},{begin:e.IDENT_RE+"::",keywords:T},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}var er=X(()=>{});function tr(e){let t=["bool","byte","char","decimal","delegate","double","dynamic","enum","float","int","long","nint","nuint","object","sbyte","short","string","ulong","uint","ushort"],n=["public","private","protected","static","internal","protected","abstract","async","extern","override","unsafe","virtual","new","sealed","partial"],r=["default","false","null","true"],o=["abstract","as","base","break","case","catch","class","const","continue","do","else","event","explicit","extern","finally","fixed","for","foreach","goto","if","implicit","in","interface","internal","is","lock","namespace","new","operator","out","override","params","private","protected","public","readonly","record","ref","return","scoped","sealed","sizeof","stackalloc","static","struct","switch","this","throw","try","typeof","unchecked","unsafe","using","virtual","void","volatile","while"],s=["add","alias","and","ascending","args","async","await","by","descending","dynamic","equals","file","from","get","global","group","init","into","join","let","nameof","not","notnull","on","or","orderby","partial","record","remove","required","scoped","select","set","unmanaged","value|0","var","when","where","with","yield"],i={keyword:o.concat(s),built_in:t,literal:r},a=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),l={className:"number",variants:[{begin:"\\b(0b[01']+)"},{begin:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{begin:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],relevance:0},c={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},d={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},b=e.inherit(d,{illegal:/\n/}),f={className:"subst",begin:/\{/,end:/\}/,keywords:i},m=e.inherit(f,{illegal:/\n/}),y={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,m]},h={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},f]},x=e.inherit(h,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},m]});f.contains=[h,y,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.C_BLOCK_COMMENT_MODE],m.contains=[x,y,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,l,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];let N={variants:[c,h,y,d,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},D={begin:"<",end:">",contains:[{beginKeywords:"in out"},a]},B=e.IDENT_RE+"(<"+e.IDENT_RE+"(\\s*,\\s*"+e.IDENT_RE+")*>)?(\\[\\])?",T={begin:"@"+e.IDENT_RE,relevance:0};return{name:"C#",aliases:["cs","c#"],keywords:i,illegal:/::/,contains:[e.COMMENT("///","$",{returnBegin:!0,contains:[{className:"doctag",variants:[{begin:"///",relevance:0},{begin:"<!--|-->"},{begin:"</?",end:">"}]}]}),e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"meta",begin:"#",end:"$",keywords:{keyword:"if else elif endif define undef warning error line region endregion pragma checksum"}},N,l,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},a,D,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[a,D,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"meta",begin:"^\\s*\\[(?=[\\w])",excludeBegin:!0,end:"\\]",excludeEnd:!0,contains:[{className:"string",begin:/"/,end:/"/}]},{beginKeywords:"new return throw await else",relevance:0},{className:"function",begin:"("+B+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:i,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,D],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,relevance:0,contains:[N,l,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},T]}}var nr=X(()=>{});function rr(e){let t=e.regex,n=zi(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},o="and or not only",s=/@-?\w[\w]*(-\w+)*/,i="[a-zA-Z-][a-zA-Z0-9_-]*",a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+i,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Wi.join("|")+")"},{begin:":(:)?("+Xi.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+Vi.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...a,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:s},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:o,attribute:qi.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...a,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Hi.join("|")+")\\b"}]}}var zi,$i,Ki,Hi,qi,Wi,Xi,Vi,ar=X(()=>{zi=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),$i=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],Ki=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],Hi=[...$i,...Ki],qi=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),Wi=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),Xi=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),Vi=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse()});function ir(e){let s={keyword:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"],type:["bool","byte","complex64","complex128","error","float32","float64","int8","int16","int32","int64","string","uint8","uint16","uint32","uint64","int","uint","uintptr","rune"],literal:["true","false","iota","nil"],built_in:["append","cap","close","complex","copy","imag","len","make","new","panic","print","println","real","recover","delete"]};return{name:"Go",aliases:["golang"],keywords:s,illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{className:"string",variants:[e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{begin:"`",end:"`"}]},{className:"number",variants:[{match:/-?\b0[xX]\.[a-fA-F0-9](_?[a-fA-F0-9])*[pP][+-]?\d(_?\d)*i?/,relevance:0},{match:/-?\b0[xX](_?[a-fA-F0-9])+((\.([a-fA-F0-9](_?[a-fA-F0-9])*)?)?[pP][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b0[oO](_?[0-7])*i?/,relevance:0},{match:/-?\.\d(_?\d)*([eE][+-]?\d(_?\d)*)?i?/,relevance:0},{match:/-?\b\d(_?\d)*(\.(\d(_?\d)*)?)?([eE][+-]?\d(_?\d)*)?i?/,relevance:0}]},{begin:/:=/},{className:"function",beginKeywords:"func",end:"\\s*(\\{|$)",excludeEnd:!0,contains:[e.TITLE_MODE,{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:s,illegal:/["']/}]}]}}var or=X(()=>{});function sr(e){let t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},r=e.COMMENT();r.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];let o={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},s={className:"literal",begin:/\bon|off|true|false|yes|no\b/},i={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},a={begin:/\[/,end:/\]/,contains:[r,s,o,i,n,"self"],relevance:0},l=/[A-Za-z0-9_-]+/,c=/"(\\"|[^"])*"/,d=/'[^']*'/,b=t.either(l,c,d),f=t.concat(b,"(\\s*\\.\\s*",b,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[r,{className:"section",begin:/\[+/,end:/\]+/},{begin:f,className:"attr",starts:{end:/$/,contains:[r,a,s,o,i,n]}}]}}var lr=X(()=>{});function dr(e,t,n){return n===-1?"":e.replace(t,r=>dr(e,t,n-1))}function pr(e){let t=e.regex,n="[\xC0-\u02B8a-zA-Z_$][\xC0-\u02B8a-zA-Z_$0-9]*",r=n+dr("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),l={keyword:["synchronized","abstract","private","var","static","if","const ","for","while","strictfp","finally","protected","import","native","final","void","enum","else","break","transient","catch","instanceof","volatile","case","assert","package","default","public","try","switch","continue","throws","protected","public","private","module","requires","exports","do","sealed","yield","permits","goto","when"],literal:["false","true","null"],type:["char","boolean","long","float","int","byte","short","double"],built_in:["super","this"]},c={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},d={className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:l,illegal:/<\/|#/,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{begin:/\w+@/,relevance:0},{className:"doctag",begin:"@[A-Za-z]+"}]}),{begin:/import java\.[a-z]+\./,keywords:"import",relevance:2},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,{begin:/"""/,end:/"""/,className:"string",contains:[e.BACKSLASH_ESCAPE]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{match:[/\b(?:class|interface|enum|extends|implements|new)/,/\s+/,n],className:{1:"keyword",3:"title.class"}},{match:/non-sealed/,scope:"keyword"},{begin:[t.concat(/(?!else)/,n),/\s+/,n,/\s+/,/=(?!=)/],className:{1:"type",3:"variable",5:"operator"}},{begin:[/record/,/\s+/,n],className:{1:"keyword",3:"title.class"},contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+r+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:l,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:l,relevance:0,contains:[c,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,cr,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},cr,c]}}var Be,dt,pt,cr,gr=X(()=>{Be="[0-9](_*[0-9])*",dt=`\\.(${Be})`,pt="[0-9a-fA-F](_*[0-9a-fA-F])*",cr={className:"number",variants:[{begin:`(\\b(${Be})((${dt})|\\.)?|(${dt}))[eE][+-]?(${Be})[fFdD]?\\b`},{begin:`\\b(${Be})((${dt})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${dt})[fFdD]?\\b`},{begin:`\\b(${Be})[fFdD]\\b`},{begin:`\\b0[xX]((${pt})\\.?|(${pt})?\\.(${pt}))[pP][+-]?(${Be})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${pt})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0}});function hr(e){let t=e.regex,n=(v,{after:M})=>{let L="</"+v[0].slice(1);return v.input.indexOf(L,M)!==-1},r=ur,o={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(v,M)=>{let L=v[0].length+v.index,U=v.input[L];if(U==="<"||U===","){M.ignoreMatch();return}U===">"&&(n(v,{after:L})||M.ignoreMatch());let z,te=v.input.substring(L);if(z=te.match(/^\s*=/)){M.ignoreMatch();return}if((z=te.match(/^\s+extends\s+/))&&z.index===0){M.ignoreMatch();return}}},a={$pattern:ur,keyword:Zi,literal:Yi,built_in:Qi,"variable.language":Ji},l="[0-9](_?[0-9])*",c=`\\.(${l})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${d})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${d})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},y={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"css"}},h={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},D={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},B=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,y,h,x,{match:/\$\d+/},b];f.contains=B.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(B)});let T=[].concat(D,f.contains),I=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(T)}]),O={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:I},Q={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},F={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...mr,...fr]}},H={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},j={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[O],illegal:/%/},ue={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function oe(v){return t.concat("(?!",v.join("|"),")")}let se={match:t.concat(/\b/,oe([...br,"super","import"].map(v=>`${v}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},ee={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Z={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},O]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",w={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[O]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:I,CLASS_REFERENCE:F},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),H,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,y,h,x,D,{match:/\$\d+/},b,F,{scope:"attr",match:r+t.lookahead(":"),relevance:0},w,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[D,e.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:I}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:s},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},j,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[O,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},ee,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[O]},se,ue,Q,Z,{match:/\$[(.]/}]}}var ur,Zi,Yi,mr,fr,br,Ji,Qi,yr=X(()=>{ur="[A-Za-z$_][0-9A-Za-z$_]*",Zi=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Yi=["true","false","null","undefined","NaN","Infinity"],mr=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],fr=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],br=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Ji=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Qi=[].concat(br,mr,fr)});function _r(e){let t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},r=["true","false","null"],o={scope:"literal",beginKeywords:r.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,o,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var vr=X(()=>{});function Er(e){let t={keyword:"abstract as val var vararg get set class object open private protected public noinline crossinline dynamic final enum if else do while for when throw try catch finally import package is in fun override companion reified inline lateinit init interface annotation data sealed internal infix operator out by constructor super tailrec where const inner suspend typealias external expect actual",built_in:"Byte Short Char Int Long Boolean Float Double Void Unit Nothing",literal:"true false null"},n={className:"keyword",begin:/\b(break|continue|return|this)\b/,starts:{contains:[{className:"symbol",begin:/@\w+/}]}},r={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},o={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},s={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},i={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[s,o]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,s,o]}]};o.contains.push(i);let a={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},l={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(i,{className:"string"}),"self"]}]},c=ji,d=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),b={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},f=b;return f.variants[1].contains=[b],b.variants[1].contains=[f],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,d,n,r,a,l,{className:"function",beginKeywords:"fun",end:"[(]|$",returnBegin:!0,excludeEnd:!0,keywords:t,relevance:5,contains:[{begin:e.UNDERSCORE_IDENT_RE+"\\s*\\(",returnBegin:!0,relevance:0,contains:[e.UNDERSCORE_TITLE_MODE]},{className:"type",begin:/</,end:/>/,keywords:"reified",relevance:0},{className:"params",begin:/\(/,end:/\)/,endsParent:!0,keywords:t,relevance:0,contains:[{begin:/:/,end:/[=,\/]/,endsWithParent:!0,contains:[b,e.C_LINE_COMMENT_MODE,d],relevance:0},e.C_LINE_COMMENT_MODE,d,a,l,i,e.C_NUMBER_MODE]},d]},{begin:[/class|interface|trait/,/\s+/,e.UNDERSCORE_IDENT_RE],beginScope:{3:"title.class"},keywords:"class interface trait",end:/[:\{(]|$/,excludeEnd:!0,illegal:"extends implements",contains:[{beginKeywords:"public protected internal private constructor"},e.UNDERSCORE_TITLE_MODE,{className:"type",begin:/</,end:/>/,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:/[,:]\s*/,end:/[<\(,){\s]|$/,excludeBegin:!0,returnEnd:!0},a,l]},i,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
6
|
-
`},c]}}var Ge,gt,ut,ji,wr=X(()=>{Ge="[0-9](_*[0-9])*",gt=`\\.(${Ge})`,ut="[0-9a-fA-F](_*[0-9a-fA-F])*",ji={className:"number",variants:[{begin:`(\\b(${Ge})((${gt})|\\.)?|(${gt}))[eE][+-]?(${Ge})[fFdD]?\\b`},{begin:`\\b(${Ge})((${gt})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${gt})[fFdD]?\\b`},{begin:`\\b(${Ge})[fFdD]\\b`},{begin:`\\b0[xX]((${ut})\\.?|(${ut})?\\.(${ut}))[pP][+-]?(${Ge})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${ut})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0}});function Nr(e){let t=eo(e),n=oo,r="and or not only",o="[\\w-]+",s="("+o+"|@\\{"+o+"\\})",i=[],a=[],l=function(B){return{className:"string",begin:"~?"+B+".*?"+B}},c=function(B,T,I){return{className:B,begin:T,relevance:I}},d={$pattern:/[a-z-]+/,keyword:r,attribute:ao.join(" ")},b={begin:"\\(",end:"\\)",contains:a,keywords:d,relevance:0};a.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,l("'"),l('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,b,c("variable","@@?"+o,10),c("variable","@\\{"+o+"\\}"),c("built_in","~?`[^`]*?`"),{className:"attribute",begin:o+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);let f=a.concat({begin:/\{/,end:/\}/,contains:i}),m={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(a)},y={begin:s+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+io.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:a}}]},h={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:d,returnEnd:!0,contains:a,relevance:0}},x={className:"variable",variants:[{begin:"@"+o+"\\s*:",relevance:15},{begin:"@"+o}],starts:{end:"[;}]",returnEnd:!0,contains:f}},N={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:s,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,m,c("keyword","all\\b"),c("variable","@\\{"+o+"\\}"),{begin:"\\b("+ro.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,c("selector-tag",s,0),c("selector-id","#"+s),c("selector-class","\\."+s,0),c("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+xr.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+kr.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:f},{begin:"!important"},t.FUNCTION_DISPATCH]},D={begin:o+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[N]};return i.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,h,x,D,y,N,m,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:i}}var eo,to,no,ro,ao,xr,kr,io,oo,Sr=X(()=>{eo=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),to=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],no=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],ro=[...to,...no],ao=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),xr=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),kr=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),io=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse(),oo=xr.concat(kr).sort().reverse()});function Tr(e){let t="\\[=*\\[",n="\\]=*\\]",r={begin:t,end:n,contains:["self"]},o=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[r],relevance:10})];return{name:"Lua",aliases:["pluto"],keywords:{$pattern:e.UNDERSCORE_IDENT_RE,literal:"true false nil",keyword:"and break do else elseif end for goto if in local not or repeat return then until while",built_in:"_G _ENV _VERSION __index __newindex __mode __call __metatable __tostring __len __gc __add __sub __mul __div __mod __pow __concat __unm __eq __lt __le assert collectgarbage dofile error getfenv getmetatable ipairs load loadfile loadstring module next pairs pcall print rawequal rawget rawset require select setfenv setmetatable tonumber tostring type unpack xpcall arg self coroutine resume yield status wrap create running debug getupvalue debug sethook getmetatable gethook setmetatable setlocal traceback setfenv getinfo setupvalue getlocal getregistry getfenv io lines write close flush open output type read stderr stdin input stdout popen tmpfile math log max acos huge ldexp pi cos tanh pow deg tan cosh sinh random randomseed frexp ceil floor rad abs sqrt modf asin min mod fmod log10 atan2 exp sin atan os exit setlocale date getenv difftime remove time clock tmpname rename execute package preload loadlib loaded loaders cpath config path seeall string sub upper len gfind rep find match char dump gmatch reverse byte format gsub lower table setn insert getn foreachi maxn foreach concat sort remove"},contains:o.concat([{className:"function",beginKeywords:"function",end:"\\)",contains:[e.inherit(e.TITLE_MODE,{begin:"([_a-zA-Z]\\w*\\.)*([_a-zA-Z]\\w*:)?[_a-zA-Z]\\w*"}),{className:"params",begin:"\\(",endsWithParent:!0,contains:o}].concat(o)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[r],relevance:5}])}}var Rr=X(()=>{});function Cr(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},r={begin:"^[-\\*]{3,}",end:"$"},o={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},s={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},i={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},a=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,a,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},c={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},d={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},b=e.inherit(c,{contains:[]}),f=e.inherit(d,{contains:[]});c.contains.push(f),d.contains.push(b);let m=[n,l];return[c,d,b,f].forEach(N=>{N.contains=N.contains.concat(m)}),m=m.concat(c,d),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:m},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:m}]}]},n,s,c,d,{className:"quote",begin:"^>\\s+",contains:m,end:"$"},o,r,l,i,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}var Ar=X(()=>{});function Or(e){let t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,r=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),o=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),s=t.concat(/[A-Z]+/,n),i={scope:"variable",match:"\\$+"+r},a={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},l={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},c=e.inherit(e.APOS_STRING_MODE,{illegal:null}),d=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(l)}),b={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(l),"on:begin":(ee,Z)=>{Z.data._beginMatch=ee[1]||ee[2]},"on:end":(ee,Z)=>{Z.data._beginMatch!==ee[1]&&Z.ignoreMatch()}},f=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),m=`[
|
|
7
|
-
]`,y={scope:"string",variants:[d,c,b,f]},h={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},x=["false","null","true"],N=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],D=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],T={keyword:N,literal:(ee=>{let Z=[];return ee.forEach(g=>{Z.push(g),g.toLowerCase()===g?Z.push(g.toUpperCase()):Z.push(g.toLowerCase())}),Z})(x),built_in:D},I=ee=>ee.map(Z=>Z.replace(/\|\d+$/,"")),O={variants:[{match:[/new/,t.concat(m,"+"),t.concat("(?!",I(D).join("\\b|"),"\\b)"),o],scope:{1:"keyword",4:"title.class"}}]},Q=t.concat(r,"\\b(?!\\()"),F={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),Q],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[o,t.concat(/::/,t.lookahead(/(?!class\b)/)),Q],scope:{1:"title.class",3:"variable.constant"}},{match:[o,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[o,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},H={scope:"attr",match:t.concat(r,t.lookahead(":"),t.lookahead(/(?!::)/))},j={relevance:0,begin:/\(/,end:/\)/,keywords:T,contains:[H,i,F,e.C_BLOCK_COMMENT_MODE,y,h,O]},ue={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",I(N).join("\\b|"),"|",I(D).join("\\b|"),"\\b)"),r,t.concat(m,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[j]};j.contains.push(ue);let oe=[H,F,e.C_BLOCK_COMMENT_MODE,y,h,O],se={begin:t.concat(/#\[\s*\\?/,t.either(o,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:x,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:x,keyword:["new","array"]},contains:["self",...oe]},...oe,{scope:"meta",variants:[{match:o},{match:s}]}]};return{case_insensitive:!1,keywords:T,contains:[se,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},a,{scope:"variable.language",match:/\$this\b/},i,ue,F,{match:[/const/,/\s/,r],scope:{1:"keyword",3:"variable.constant"}},O,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:T,contains:["self",se,i,F,e.C_BLOCK_COMMENT_MODE,y,h]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},y,h]}}var Mr=X(()=>{});function Ir(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],a={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},c={className:"subst",begin:/\{/,end:/\}/,keywords:a,illegal:/#/},d={begin:/\{\{/,relevance:0},b={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,d,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,d,c]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,d,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,d,c]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",m=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,y=`\\b|${r.join("|")}`,h={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${m}))[eE][+-]?(${f})[jJ]?(?=${y})`},{begin:`(${m})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${y})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${y})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${y})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${y})`},{begin:`\\b(${f})[jJ](?=${y})`}]},x={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:a,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},N={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:["self",l,h,b,e.HASH_COMMENT_MODE]}]};return c.contains=[b,h,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:a,illegal:/(<\/|\?)|=>/,contains:[l,h,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},b,x,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[N]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[h,N,b]}]}}var Dr=X(()=>{});function Lr(e){let t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",r=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),o=t.concat(r,/(::\w+)*/),i={"variable.constant":["__FILE__","__LINE__","__ENCODING__"],"variable.language":["self","super"],keyword:["alias","and","begin","BEGIN","break","case","class","defined","do","else","elsif","end","END","ensure","for","if","in","module","next","not","or","redo","require","rescue","retry","return","then","undef","unless","until","when","while","yield",...["include","extend","prepend","public","private","protected","raise","throw"]],built_in:["proc","lambda","attr_accessor","attr_reader","attr_writer","define_method","private_constant","module_function"],literal:["true","false","nil"]},a={className:"doctag",begin:"@[A-Za-z]+"},l={begin:"#<",end:">"},c=[e.COMMENT("#","$",{contains:[a]}),e.COMMENT("^=begin","^=end",{contains:[a],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],d={className:"subst",begin:/#\{/,end:/\}/,keywords:i},b={className:"string",contains:[e.BACKSLASH_ESCAPE,d],variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/`/,end:/`/},{begin:/%[qQwWx]?\(/,end:/\)/},{begin:/%[qQwWx]?\[/,end:/\]/},{begin:/%[qQwWx]?\{/,end:/\}/},{begin:/%[qQwWx]?</,end:/>/},{begin:/%[qQwWx]?\//,end:/\//},{begin:/%[qQwWx]?%/,end:/%/},{begin:/%[qQwWx]?-/,end:/-/},{begin:/%[qQwWx]?\|/,end:/\|/},{begin:/\B\?(\\\d{1,3})/},{begin:/\B\?(\\x[A-Fa-f0-9]{1,2})/},{begin:/\B\?(\\u\{?[A-Fa-f0-9]{1,6}\}?)/},{begin:/\B\?(\\M-\\C-|\\M-\\c|\\c\\M-|\\M-|\\C-\\M-)[\x20-\x7e]/},{begin:/\B\?\\(c|C-)[\x20-\x7e]/},{begin:/\B\?\\?\S/},{begin:t.concat(/<<[-~]?'?/,t.lookahead(/(\w+)(?=\W)[^\n]*\n(?:[^\n]*\n)*?\s*\1\b/)),contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,contains:[e.BACKSLASH_ESCAPE,d]})]}]},f="[1-9](_?[0-9])*|0",m="[0-9](_?[0-9])*",y={className:"number",relevance:0,variants:[{begin:`\\b(${f})(\\.(${m}))?([eE][+-]?(${m})|r)?i?\\b`},{begin:"\\b0[dD][0-9](_?[0-9])*r?i?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*r?i?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*r?i?\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*r?i?\\b"},{begin:"\\b0(_?[0-7])+r?i?\\b"}]},h={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:i}]},O=[b,{variants:[{match:[/class\s+/,o,/\s+<\s+/,o]},{match:[/\b(class|module)\s+/,o]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:i},{match:[/(include|extend)\s+/,o],scope:{2:"title.class"},keywords:i},{relevance:0,match:[o,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:r,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[h]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[b,{begin:n}],relevance:0},y,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:i},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,d],illegal:/\n/,variants:[{begin:"/",end:"/[a-z]*"},{begin:/%r\{/,end:/\}[a-z]*/},{begin:"%r\\(",end:"\\)[a-z]*"},{begin:"%r!",end:"![a-z]*"},{begin:"%r\\[",end:"\\][a-z]*"}]}].concat(l,c),relevance:0}].concat(l,c);d.contains=O,h.contains=O;let j=[{begin:/^\s*=>/,starts:{end:"$",contains:O}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:i,contains:O}}];return c.unshift(l),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:i,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(j).concat(c).concat(O)}}var Pr=X(()=>{});function Br(e){let t=e.regex,n=/(r#)?/,r=t.concat(n,e.UNDERSCORE_IDENT_RE),o=t.concat(n,e.IDENT_RE),s={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,o,t.lookahead(/\s*\(/))},i="([ui](8|16|32|64|128|size)|f(32|64))?",a=["abstract","as","async","await","become","box","break","const","continue","crate","do","dyn","else","enum","extern","false","final","fn","for","if","impl","in","let","loop","macro","match","mod","move","mut","override","priv","pub","ref","return","self","Self","static","struct","super","trait","true","try","type","typeof","union","unsafe","unsized","use","virtual","where","while","yield"],l=["true","false","Some","None","Ok","Err"],c=["drop ","Copy","Send","Sized","Sync","Drop","Fn","FnMut","FnOnce","ToOwned","Clone","Debug","PartialEq","PartialOrd","Eq","Ord","AsRef","AsMut","Into","From","Default","Iterator","Extend","IntoIterator","DoubleEndedIterator","ExactSizeIterator","SliceConcatExt","ToString","assert!","assert_eq!","bitflags!","bytes!","cfg!","col!","concat!","concat_idents!","debug_assert!","debug_assert_eq!","env!","eprintln!","panic!","file!","format!","format_args!","include_bytes!","include_str!","line!","local_data_key!","module_path!","option_env!","print!","println!","select!","stringify!","try!","unimplemented!","unreachable!","vec!","write!","writeln!","macro_rules!","assert_ne!","debug_assert_ne!"],d=["i8","i16","i32","i64","i128","isize","u8","u16","u32","u64","u128","usize","f32","f64","str","char","bool","Box","Option","Result","String","Vec"];return{name:"Rust",aliases:["rs"],keywords:{$pattern:e.IDENT_RE+"!?",type:d,keyword:a,literal:l,built_in:c},illegal:"</",contains:[e.C_LINE_COMMENT_MODE,e.COMMENT("/\\*","\\*/",{contains:["self"]}),e.inherit(e.QUOTE_STRING_MODE,{begin:/b?"/,illegal:null}),{className:"symbol",begin:/'[a-zA-Z_][a-zA-Z0-9_]*(?!')/},{scope:"string",variants:[{begin:/b?r(#*)"(.|\n)*?"\1(?!#)/},{begin:/b?'/,end:/'/,contains:[{scope:"char.escape",match:/\\('|\w|x\w{2}|u\w{4}|U\w{8})/}]}]},{className:"number",variants:[{begin:"\\b0b([01_]+)"+i},{begin:"\\b0o([0-7_]+)"+i},{begin:"\\b0x([A-Fa-f0-9_]+)"+i},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+i}],relevance:0},{begin:[/fn/,/\s+/,r],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,r],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,r,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,r],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:c,type:d}},{className:"punctuation",begin:"->"},s]}}var Gr=X(()=>{});function Fr(e){let t=so(e),n=mo,r=uo,o="@[a-z-]+",s="and or not only",a={className:"variable",begin:"(\\$"+"[a-zA-Z-][a-zA-Z0-9_-]*"+")\\b",relevance:0};return{name:"SCSS",case_insensitive:!0,illegal:"[=/|']",contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,t.CSS_NUMBER_MODE,{className:"selector-id",begin:"#[A-Za-z0-9_-]+",relevance:0},{className:"selector-class",begin:"\\.[A-Za-z0-9_-]+",relevance:0},t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-tag",begin:"\\b("+po.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+r.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},a,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+fo.join("|")+")\\b"},{begin:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{begin:/:/,end:/[;}{]/,relevance:0,contains:[t.BLOCK_COMMENT,a,t.HEXCOLOR,t.CSS_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.IMPORTANT,t.FUNCTION_DISPATCH]},{begin:"@(page|font-face)",keywords:{$pattern:o,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:go.join(" ")},contains:[{begin:o,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},a,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}var so,lo,co,po,go,uo,mo,fo,Ur=X(()=>{so=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),lo=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],co=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],po=[...lo,...co],go=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),uo=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),mo=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),fo=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse()});function zr(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}var $r=X(()=>{});function Kr(e){let t=e.regex,n=e.COMMENT("--","$"),r={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},o={begin:/"/,end:/"/,contains:[{match:/""/}]},s=["true","false","unknown"],i=["double precision","large object","with timezone","without timezone"],a=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],c=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],d=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],b=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],m=d,y=[...c,...l].filter(I=>!d.includes(I)),h={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},x={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},N={match:t.concat(/\b/,t.either(...m),/\s*\(/),relevance:0,keywords:{built_in:m}};function D(I){return t.concat(/\b/,t.either(...I.map(O=>O.replace(/\s+/,"\\s+"))),/\b/)}let B={scope:"keyword",match:D(f),relevance:0};function T(I,{exceptions:O,when:Q}={}){let F=Q;return O=O||[],I.map(H=>H.match(/\|\d+$/)||O.includes(H)?H:F(H)?`${H}|0`:H)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:T(y,{when:I=>I.length<3}),literal:s,type:a,built_in:b},contains:[{scope:"type",match:D(i)},B,N,h,r,o,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,x]}}var Hr=X(()=>{});function Vr(e){return e?typeof e=="string"?e:e.source:null}function Ze(e){return W("(?=",e,")")}function W(...e){return e.map(n=>Vr(n)).join("")}function bo(e){let t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function ge(...e){return"("+(bo(e).capture?"":"?:")+e.map(r=>Vr(r)).join("|")+")"}function Qr(e){let t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),r=[e.C_LINE_COMMENT_MODE,n],o={match:[/\./,ge(...ho,...qr)],className:{2:"keyword"}},s={match:W(/\./,ge(...Gt)),relevance:0},i=Gt.filter($=>typeof $=="string").concat(["_|0"]),a=Gt.filter($=>typeof $!="string").concat(yo).map(Ut),l={variants:[{className:"keyword",match:ge(...a,...qr)}]},c={$pattern:ge(/\b\w+/,/#\w+/),keyword:i.concat(vo),literal:Wr},d=[o,s,l],b={match:W(/\./,ge(...Xr)),relevance:0},f={className:"built_in",match:W(/\b/,ge(...Xr),/(?=\()/)},m=[b,f],y={match:/->/,relevance:0},h={className:"operator",relevance:0,variants:[{match:Ft},{match:`\\.(\\.|${Yr})+`}]},x=[y,h],N="([0-9]_*)+",D="([0-9a-fA-F]_*)+",B={className:"number",relevance:0,variants:[{match:`\\b(${N})(\\.(${N}))?([eE][+-]?(${N}))?\\b`},{match:`\\b0x(${D})(\\.(${D}))?([pP][+-]?(${N}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},T=($="")=>({className:"subst",variants:[{match:W(/\\/,$,/[0\\tnr"']/)},{match:W(/\\/,$,/u\{[0-9a-fA-F]{1,8}\}/)}]}),I=($="")=>({className:"subst",match:W(/\\/,$,/[\t ]*(?:[\r\n]|\r\n)/)}),O=($="")=>({className:"subst",label:"interpol",begin:W(/\\/,$,/\(/),end:/\)/}),Q=($="")=>({begin:W($,/"""/),end:W(/"""/,$),contains:[T($),I($),O($)]}),F=($="")=>({begin:W($,/"/),end:W(/"/,$),contains:[T($),O($)]}),H={className:"string",variants:[Q(),Q("#"),Q("##"),Q("###"),F(),F("#"),F("##"),F("###")]},j=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],ue={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:j},oe=$=>{let he=W($,/\//),C=W(/\//,$);return{begin:he,end:C,contains:[...j,{scope:"comment",begin:`#(?!.*${C})`,end:/$/}]}},se={scope:"regexp",variants:[oe("###"),oe("##"),oe("#"),ue]},ee={match:W(/`/,ye,/`/)},Z={className:"variable",match:/\$\d+/},g={className:"variable",match:`\\$${ft}+`},w=[ee,Z,g],v={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:wo,contains:[...x,B,H]}]}},M={scope:"keyword",match:W(/@/,ge(...Eo),Ze(ge(/\(/,/\s+/)))},L={scope:"meta",match:W(/@/,ye)},U=[v,M,L],z={match:Ze(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:W(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,ft,"+")},{className:"type",match:mt,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:W(/\s+&\s+/,Ze(mt)),relevance:0}]},te={begin:/</,end:/>/,keywords:c,contains:[...r,...d,...U,y,z]};z.contains.push(te);let E={match:W(ye,/\s*:/),keywords:"_|0",relevance:0},R={begin:/\(/,end:/\)/,relevance:0,keywords:c,contains:["self",E,...r,se,...d,...m,...x,B,H,...w,...U,z]},Y={begin:/</,end:/>/,keywords:"repeat each",contains:[...r,z]},me={begin:ge(Ze(W(ye,/\s*:/)),Ze(W(ye,/\s+/,ye,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:ye}]},ce={begin:/\(/,end:/\)/,keywords:c,contains:[me,...r,...d,...x,B,H,...U,z,R],endsParent:!0,illegal:/["']/},ze={match:[/(func|macro)/,/\s+/,ge(ee.match,ye,Ft)],className:{1:"keyword",3:"title.function"},contains:[Y,ce,t],illegal:[/\[/,/%/]},Me={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[Y,ce,t],illegal:/\[|%/},Se={match:[/operator/,/\s+/,Ft],className:{1:"keyword",3:"title"}},fe={begin:[/precedencegroup/,/\s+/,mt],className:{1:"keyword",3:"title"},contains:[z],keywords:[..._o,...Wr],end:/}/},be={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Te={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},de={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,ye,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:c,contains:[Y,...d,{begin:/:/,end:/\{/,keywords:c,contains:[{scope:"title.class.inherited",match:mt},...d],relevance:0}]};for(let $ of H.variants){let he=$.contains.find(Re=>Re.label==="interpol");he.keywords=c;let C=[...d,...m,...x,B,H,...w];he.contains=[...C,{begin:/\(/,end:/\)/,contains:["self",...C]}]}return{name:"Swift",keywords:c,contains:[...r,ze,Me,be,Te,de,Se,fe,{beginKeywords:"import",end:/$/,contains:[...r],relevance:0},se,...d,...m,...x,B,H,...w,...U,z,R]}}var Ut,ho,qr,yo,Gt,Wr,_o,vo,Xr,Zr,Yr,Ft,Jr,ft,ye,mt,Eo,wo,jr=X(()=>{Ut=e=>W(/\b/,e,/\w$/.test(e)?/\b/:/\B/),ho=["Protocol","Type"].map(Ut),qr=["init","self"].map(Ut),yo=["Any","Self"],Gt=["actor","any","associatedtype","async","await",/as\?/,/as!/,"as","borrowing","break","case","catch","class","consume","consuming","continue","convenience","copy","default","defer","deinit","didSet","distributed","do","dynamic","each","else","enum","extension","fallthrough",/fileprivate\(set\)/,"fileprivate","final","for","func","get","guard","if","import","indirect","infix",/init\?/,/init!/,"inout",/internal\(set\)/,"internal","in","is","isolated","nonisolated","lazy","let","macro","mutating","nonmutating",/open\(set\)/,"open","operator","optional","override","package","postfix","precedencegroup","prefix",/private\(set\)/,"private","protocol",/public\(set\)/,"public","repeat","required","rethrows","return","set","some","static","struct","subscript","super","switch","throws","throw",/try\?/,/try!/,"try","typealias",/unowned\(safe\)/,/unowned\(unsafe\)/,"unowned","var","weak","where","while","willSet"],Wr=["false","nil","true"],_o=["assignment","associativity","higherThan","left","lowerThan","none","right"],vo=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],Xr=["abs","all","any","assert","assertionFailure","debugPrint","dump","fatalError","getVaList","isKnownUniquelyReferenced","max","min","numericCast","pointwiseMax","pointwiseMin","precondition","preconditionFailure","print","readLine","repeatElement","sequence","stride","swap","swift_unboxFromSwiftValueWithType","transcode","type","unsafeBitCast","unsafeDowncast","withExtendedLifetime","withUnsafeMutablePointer","withUnsafePointer","withVaList","withoutActuallyEscaping","zip"],Zr=ge(/[/=\-+!*%<>&|^~?]/,/[\u00A1-\u00A7]/,/[\u00A9\u00AB]/,/[\u00AC\u00AE]/,/[\u00B0\u00B1]/,/[\u00B6\u00BB\u00BF\u00D7\u00F7]/,/[\u2016-\u2017]/,/[\u2020-\u2027]/,/[\u2030-\u203E]/,/[\u2041-\u2053]/,/[\u2055-\u205E]/,/[\u2190-\u23FF]/,/[\u2500-\u2775]/,/[\u2794-\u2BFF]/,/[\u2E00-\u2E7F]/,/[\u3001-\u3003]/,/[\u3008-\u3020]/,/[\u3030]/),Yr=ge(Zr,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),Ft=W(Zr,Yr,"*"),Jr=ge(/[a-zA-Z_]/,/[\u00A8\u00AA\u00AD\u00AF\u00B2-\u00B5\u00B7-\u00BA]/,/[\u00BC-\u00BE\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF]/,/[\u0100-\u02FF\u0370-\u167F\u1681-\u180D\u180F-\u1DBF]/,/[\u1E00-\u1FFF]/,/[\u200B-\u200D\u202A-\u202E\u203F-\u2040\u2054\u2060-\u206F]/,/[\u2070-\u20CF\u2100-\u218F\u2460-\u24FF\u2776-\u2793]/,/[\u2C00-\u2DFF\u2E80-\u2FFF]/,/[\u3004-\u3007\u3021-\u302F\u3031-\u303F\u3040-\uD7FF]/,/[\uF900-\uFD3D\uFD40-\uFDCF\uFDF0-\uFE1F\uFE30-\uFE44]/,/[\uFE47-\uFEFE\uFF00-\uFFFD]/),ft=ge(Jr,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),ye=W(Jr,ft,"*"),mt=W(/[A-Z]/,ft,"*"),Eo=["attached","autoclosure",W(/convention\(/,ge("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",W(/objc\(/,ye,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],wo=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"]});function xo(e){let t=e.regex,n=(v,{after:M})=>{let L="</"+v[0].slice(1);return v.input.indexOf(L,M)!==-1},r=bt,o={begin:"<>",end:"</>"},s=/<[A-Za-z0-9\\._:-]+\s*\/>/,i={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(v,M)=>{let L=v[0].length+v.index,U=v.input[L];if(U==="<"||U===","){M.ignoreMatch();return}U===">"&&(n(v,{after:L})||M.ignoreMatch());let z,te=v.input.substring(L);if(z=te.match(/^\s*=/)){M.ignoreMatch();return}if((z=te.match(/^\s+extends\s+/))&&z.index===0){M.ignoreMatch();return}}},a={$pattern:bt,keyword:ea,literal:ta,built_in:oa,"variable.language":ia},l="[0-9](_?[0-9])*",c=`\\.(${l})`,d="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",b={className:"number",variants:[{begin:`(\\b(${d})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${d})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:a,contains:[]},m={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},y={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"css"}},h={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"graphql"}},x={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},D={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:r+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},B=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,y,h,x,{match:/\$\d+/},b];f.contains=B.concat({begin:/\{/,end:/\}/,keywords:a,contains:["self"].concat(B)});let T=[].concat(D,f.contains),I=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:a,contains:["self"].concat(T)}]),O={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:I},Q={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,"(",t.concat(/\./,r),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,r],scope:{1:"keyword",3:"title.class"}}]},F={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...na,...ra]}},H={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},j={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[O],illegal:/%/},ue={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function oe(v){return t.concat("(?!",v.join("|"),")")}let se={match:t.concat(/\b/,oe([...aa,"super","import"].map(v=>`${v}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},ee={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},Z={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},O]},g="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",w={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(g)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[O]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:a,exports:{PARAMS_CONTAINS:I,CLASS_REFERENCE:F},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),H,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,m,y,h,x,D,{match:/\$\d+/},b,F,{scope:"attr",match:r+t.lookahead(":"),relevance:0},w,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[D,e.REGEXP_MODE,{className:"function",begin:g,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:a,contains:I}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:o.begin,end:o.end},{match:s},{begin:i.begin,"on:begin":i.isTrulyOpeningTag,end:i.end}],subLanguage:"xml",contains:[{begin:i.begin,end:i.end,skip:!0,contains:["self"]}]}]},j,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[O,e.inherit(e.TITLE_MODE,{begin:r,className:"title.function"})]},{match:/\.\.\./,relevance:0},ee,{match:"\\$"+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[O]},se,ue,Q,Z,{match:/\$[(.]/}]}}function sa(e){let t=e.regex,n=xo(e),r=bt,o=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],s={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},i={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:o},contains:[n.exports.CLASS_REFERENCE]},a={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],c={$pattern:bt,keyword:ea.concat(l),literal:ta,built_in:oa.concat(o),"variable.language":ia},d={className:"meta",begin:"@"+r},b=(h,x,N)=>{let D=h.contains.findIndex(B=>B.label===x);if(D===-1)throw new Error("can not find mode to replace");h.contains.splice(D,1,N)};Object.assign(n.keywords,c),n.exports.PARAMS_CONTAINS.push(d);let f=n.contains.find(h=>h.scope==="attr"),m=Object.assign({},f,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,f,m]),n.contains=n.contains.concat([d,s,i,m]),b(n,"shebang",e.SHEBANG()),b(n,"use_strict",a);let y=n.contains.find(h=>h.label==="func.def");return y.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}var bt,ea,ta,na,ra,aa,ia,oa,la=X(()=>{bt="[A-Za-z$_][0-9A-Za-z$_]*",ea=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],ta=["true","false","null","undefined","NaN","Infinity"],na=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],ra=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],aa=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],ia=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],oa=[].concat(aa,na,ra)});function ca(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,o={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},s={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(s,{begin:/\(/,end:/\)/}),a=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),c={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[o]},{begin:/'/,end:/'/,contains:[o]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[s,l,a,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[s,i,l,a]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},o,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:n,relevance:0,starts:c}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}var da=X(()=>{});function pa(e){let t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",r={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},o={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},s={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},i={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,o]},a=e.inherit(i,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),f={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},m={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},y={begin:/\{/,end:/\}/,contains:[m],illegal:"\\n",relevance:0},h={begin:"\\[",end:"\\]",contains:[m],illegal:"\\n",relevance:0},x=[r,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+n},{className:"type",begin:"!<"+n+">"},{className:"type",begin:"!"+n},{className:"type",begin:"!!"+n},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},f,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},y,h,s,i],N=[...x];return N.pop(),N.push(a),m.contains=N,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:x}}var ga=X(()=>{});var ua={};Vt(ua,{highlighter:()=>ko});function No(e){return e.replace(/[&<>]/g,t=>t==="&"?"&":t==="<"?"<":">")}var ko,ma=X(()=>{"use strict";Vn();Yn();Qn();er();nr();ar();or();lr();gr();yr();vr();wr();Sr();Rr();Ar();Mr();Dr();Pr();Gr();Ur();$r();Hr();jr();la();da();ga();for(let[e,t]of Object.entries({bash:Zn,c:Jn,cpp:jn,csharp:tr,css:rr,go:ir,ini:sr,java:pr,javascript:hr,json:_r,kotlin:Er,less:Nr,lua:Tr,markdown:Cr,php:Or,python:Ir,ruby:Lr,rust:Br,scss:Fr,shell:zr,sql:Kr,swift:Qr,typescript:sa,xml:ca,yaml:pa}))ct.registerLanguage(e,t);ko={supports:e=>ct.getLanguage(e)!==void 0,line:(e,t)=>{try{return ct.highlight(e,{language:t,ignoreIllegals:!0}).value}catch{return No(e)}}}});var Jo={};Vt(Jo,{apply:()=>Ia,inject:()=>Oa,name:()=>Ma});module.exports=za(Jo);var wt=require("react");var $a=`
|
|
3
|
+
"use strict";var Ve=require("react");var tn=`
|
|
8
4
|
.gp-panel{display:flex;flex-direction:column;height:100%;min-height:0;color:var(--dsw-alias-label-primary);font-size:13px;position:relative}
|
|
5
|
+
.gp-panel[data-font-delta="1"]{zoom:1.08;font-size:14px}
|
|
6
|
+
.gp-panel[data-font-delta="-1"]{zoom:.92;font-size:12px}
|
|
9
7
|
.gp-tabbar{display:flex;align-items:center;gap:4px;padding:6px 10px;border-bottom:1px solid var(--dsw-alias-border-l2);flex:none}
|
|
10
8
|
/* The shell floats the input composer over the view's bottom (composer-overlay
|
|
11
9
|
* mode). Reserve that height as bottom padding so the panel's own bottom rows
|
|
@@ -31,24 +29,34 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
31
29
|
* Clear enough to spot at a glance, restrained enough not to shout. */
|
|
32
30
|
.gp-tab--active{background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 12%,transparent);color:var(--dsw-alias-state-business-primary);font-weight:600;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--dsw-alias-state-business-primary) 32%,transparent)}
|
|
33
31
|
.gp-tab__icon{display:inline-flex;width:15px;height:15px}
|
|
32
|
+
.gp-font{margin-left:4px;display:inline-flex;align-items:center;border:1px solid var(--dsw-alias-border-l2);border-radius:6px;overflow:hidden}
|
|
33
|
+
.gp-font button{border:0;border-left:1px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);font:inherit;font-size:11px;line-height:22px;width:24px;height:24px;padding:0;cursor:pointer}
|
|
34
|
+
.gp-font button:first-child{border-left:0}
|
|
35
|
+
.gp-font button:hover{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}
|
|
36
|
+
.gp-font button:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-2px}
|
|
34
37
|
.gp-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;height:100%;color:var(--dsw-alias-label-tertiary);font-size:12px;padding:24px;text-align:center}
|
|
35
|
-
.gp-toolbar{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--dsw-alias-border-l2);flex:none}
|
|
38
|
+
.gp-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 8px;border-bottom:1px solid var(--dsw-alias-border-l2);flex:none}
|
|
36
39
|
.gp-btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:1px solid var(--dsw-alias-border-l2);border-radius:6px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-primary);font:inherit;font-size:12px;cursor:pointer}
|
|
37
|
-
.gp-btn:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
40
|
+
.gp-btn:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}
|
|
38
41
|
.gp-btn:disabled{opacity:.5;cursor:default}
|
|
39
42
|
.gp-btn--primary{border-color:transparent;background:var(--dsw-alias-state-business-primary);color:#fff}
|
|
43
|
+
.gp-btn--primary:hover:not(:disabled){background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 85%,#000);color:#fff}
|
|
40
44
|
.gp-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:var(--dsw-alias-label-secondary);cursor:pointer}
|
|
41
45
|
.gp-icon-btn:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
42
46
|
|
|
43
|
-
/* three-column overview
|
|
47
|
+
/* three-column overview \u2014 side columns shrink (with a min floor) instead of
|
|
48
|
+
* staying fixed, and the middle keeps a guaranteed min so it never collapses to
|
|
49
|
+
* blank when a right sidebar narrows the panel. */
|
|
44
50
|
.gp-overview{display:flex;width:100%;min-height:0}
|
|
45
51
|
.gp-col{display:flex;flex-direction:column;min-height:0;min-width:0}
|
|
46
|
-
.gp-col--left{
|
|
47
|
-
.gp-col--mid{flex:1;min-width:
|
|
48
|
-
.gp-col--right{
|
|
49
|
-
|
|
50
|
-
.
|
|
51
|
-
.gp-
|
|
52
|
+
.gp-col--left{flex:0 1 200px;min-width:130px;overflow-y:auto}
|
|
53
|
+
.gp-col--mid{flex:1 1 0;min-width:150px}
|
|
54
|
+
.gp-col--right{flex:0 1 340px;min-width:190px;display:flex;flex-direction:column;min-height:0}
|
|
55
|
+
/* drag handle between two columns: a thin hit area with a hairline center that
|
|
56
|
+
* thickens to the accent colour on hover / drag. */
|
|
57
|
+
.gp-resizer{flex:0 0 5px;align-self:stretch;cursor:col-resize;position:relative;background:transparent;touch-action:none;user-select:none}
|
|
58
|
+
.gp-resizer::before{content:"";position:absolute;top:0;bottom:0;left:2px;width:1px;background:var(--dsw-alias-border-l2)}
|
|
59
|
+
.gp-resizer:hover::before,.gp-resizer:active::before{left:1px;width:3px;background:var(--dsw-alias-state-business-primary)}
|
|
52
60
|
|
|
53
61
|
/* branch list */
|
|
54
62
|
.gp-branch-group{padding:2px 0}
|
|
@@ -66,7 +74,7 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
66
74
|
.gp-history__list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}
|
|
67
75
|
.gp-commit-row{display:grid;align-items:center;gap:8px;height:30px;padding:0 10px;cursor:pointer;border-bottom:1px solid transparent}
|
|
68
76
|
.gp-commit-row:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
69
|
-
.gp-commit-row--active{background:var(--dsw-alias-
|
|
77
|
+
.gp-commit-row--active,.gp-commit-row--active:hover{background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 16%,transparent);box-shadow:inset 3px 0 0 var(--dsw-alias-state-business-primary)}
|
|
70
78
|
.gp-commit-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
71
79
|
.gp-commit-hash{font-family:var(--dsw-font-mono,monospace);font-size:11px;color:var(--dsw-alias-label-tertiary)}
|
|
72
80
|
.gp-commit-author{font-size:11px;color:var(--dsw-alias-label-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
|
|
@@ -95,7 +103,19 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
95
103
|
.gp-tree-row{display:flex;align-items:center;gap:6px;padding:3px 10px;cursor:pointer;font-size:13px;border-radius:4px}
|
|
96
104
|
.gp-tree-row:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
97
105
|
.gp-tree-row--active{background:var(--dsw-alias-bg-layer-2)}
|
|
106
|
+
.gp-tree-row--muted{color:var(--dsw-alias-label-tertiary);cursor:default}
|
|
107
|
+
.gp-tree-row--muted:hover{background:transparent}
|
|
108
|
+
.gp-tree-chev{flex:none;width:11px;display:inline-flex;align-items:center;justify-content:center;color:var(--dsw-alias-label-tertiary)}
|
|
109
|
+
.gp-tree-ic{flex:none;display:inline-flex;align-items:center;color:var(--dsw-alias-label-tertiary)}
|
|
98
110
|
.gp-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}
|
|
111
|
+
.gp-files__entry{width:100%;border:0;background:transparent;color:inherit;text-align:left;font:inherit}
|
|
112
|
+
.gp-files__entry--dir .gp-tree-name{font-weight:600}
|
|
113
|
+
.gp-files__entry:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:-2px}
|
|
114
|
+
.gp-files__entry.gp-tree-row--active{background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 14%,transparent);color:var(--dsw-alias-state-business-primary);box-shadow:inset 2px 0 0 var(--dsw-alias-state-business-primary)}
|
|
115
|
+
.gp-files__entry.gp-tree-row--active .gp-tree-name{font-weight:600}
|
|
116
|
+
.gp-files__entry.gp-tree-row--active:hover{background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 20%,transparent)}
|
|
117
|
+
.gp-tree-row--ignored{opacity:.5}
|
|
118
|
+
.gp-tree-row--ignored:hover,.gp-tree-row--ignored:focus-visible{opacity:.85}
|
|
99
119
|
.gp-status-badge{flex:none;width:14px;text-align:center;font-size:11px;font-weight:600}
|
|
100
120
|
.gp-status--added{color:var(--dsw-alias-state-success-primary)}
|
|
101
121
|
.gp-status--modified{color:var(--dsw-alias-state-warn-primary,var(--dsw-alias-state-business-primary))}
|
|
@@ -107,8 +127,28 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
107
127
|
* scrolls inside its own pane instead of growing and pushing the left commit
|
|
108
128
|
* box below the fold. */
|
|
109
129
|
.gp-changes{display:flex;width:100%;height:100%;min-height:0}
|
|
110
|
-
.gp-changes__left{
|
|
111
|
-
.gp-changes__right{flex:1;min-width:
|
|
130
|
+
.gp-changes__left{flex:0 1 380px;min-width:220px;display:flex;flex-direction:column;min-height:0}
|
|
131
|
+
.gp-changes__right{flex:1 1 0;min-width:180px;display:flex;flex-direction:column;min-height:0}
|
|
132
|
+
/* files browser: resizable tree column + preview pane */
|
|
133
|
+
.gp-files{display:flex;width:100%;height:100%;min-height:0}
|
|
134
|
+
.gp-files__tree{flex:0 0 300px;min-width:180px;display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}
|
|
135
|
+
.gp-files__preview{flex:1 1 0;min-width:180px;display:flex;flex-direction:column;min-height:0}
|
|
136
|
+
.gp-files__preview-content{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
|
|
137
|
+
.gp-files__bar{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:6px 12px;border-bottom:1px solid var(--dsw-alias-border-l2)}
|
|
138
|
+
.gp-files__path{flex:1 1 120px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--dsw-alias-label-secondary);font:inherit}
|
|
139
|
+
.gp-files__copy-path{flex:none;border:1px solid var(--dsw-alias-border-l2);border-radius:6px;padding:4px 8px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;font-size:12px}
|
|
140
|
+
.gp-files__copy-path:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
141
|
+
.gp-files__copy-path:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}
|
|
142
|
+
.gp-files__copy-path--error{color:var(--dsw-alias-state-error-primary)}
|
|
143
|
+
.gp-files__mode{display:flex;gap:4px}
|
|
144
|
+
.gp-files__mode-btn{border:0;border-radius:6px;padding:4px 10px;background:transparent;color:var(--dsw-alias-label-secondary);cursor:pointer;font:inherit;font-size:12px}
|
|
145
|
+
.gp-files__mode-btn--active{background:var(--dsw-alias-bg-layer-2);color:var(--dsw-alias-label-primary);font-weight:600}
|
|
146
|
+
.gp-files__mode-btn:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}
|
|
147
|
+
.gp-files__markdown{overflow:auto;overscroll-behavior:contain;padding:16px 24px;color:var(--dsw-alias-label-primary)}
|
|
148
|
+
.gp-files__code{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;font-family:var(--dsw-font-mono,monospace);font-size:12px}
|
|
149
|
+
.gp-files__single{display:grid;grid-template-columns:44px 1fr}
|
|
150
|
+
.gp-files__image{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center;padding:16px;background-color:var(--dsw-alias-bg-layer-1);background-image:linear-gradient(45deg,color-mix(in srgb,var(--dsw-alias-label-primary) 5%,transparent) 25%,transparent 25%,transparent 50%,color-mix(in srgb,var(--dsw-alias-label-primary) 5%,transparent) 50%,color-mix(in srgb,var(--dsw-alias-label-primary) 5%,transparent) 75%,transparent 75%);background-size:16px 16px}
|
|
151
|
+
.gp-files__image img{max-width:100%;max-height:100%;object-fit:contain}
|
|
112
152
|
.gp-changes__list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:4px 0}
|
|
113
153
|
.gp-check{width:14px;height:14px;flex:none;cursor:pointer}
|
|
114
154
|
.gp-group-head{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:11px;color:var(--dsw-alias-label-tertiary);cursor:pointer;user-select:none}
|
|
@@ -123,9 +163,10 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
123
163
|
/* stats bar */
|
|
124
164
|
.gp-stats{display:flex;align-items:center;gap:14px;padding:8px 12px;min-height:33px;box-sizing:border-box;border-bottom:1px solid var(--dsw-alias-border-l2);font-size:12px;color:var(--dsw-alias-label-secondary);flex:none;flex-wrap:wrap}
|
|
125
165
|
.gp-stats__item{display:inline-flex;align-items:center;gap:5px}
|
|
166
|
+
/* The two timestamps wrap as one unit and never split across lines. */
|
|
167
|
+
.gp-stats__times{display:inline-flex;align-items:center;gap:14px;flex-wrap:nowrap}
|
|
126
168
|
.gp-stats__add{color:var(--dsw-alias-state-success-primary)}
|
|
127
169
|
.gp-stats__del{color:var(--dsw-alias-state-error-primary)}
|
|
128
|
-
.gp-stats__dot{width:6px;height:6px;border-radius:99px;background:var(--dsw-alias-label-tertiary)}
|
|
129
170
|
|
|
130
171
|
/* commit box */
|
|
131
172
|
.gp-commitbox{flex:none;border-top:1px solid var(--dsw-alias-border-l2);padding:8px 10px;display:flex;flex-direction:column;gap:8px}
|
|
@@ -147,13 +188,34 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
147
188
|
.gp-seg__btn--active{background:var(--dsw-alias-state-business-primary);color:#fff}
|
|
148
189
|
.gp-seg__btn--active:hover{background:var(--dsw-alias-state-business-primary)}
|
|
149
190
|
.gp-diff__scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;font-family:var(--dsw-font-mono,monospace);font-size:12px}
|
|
150
|
-
.gp-
|
|
151
|
-
|
|
191
|
+
.gp-diff__side{display:grid;grid-template-columns:38px 1fr 38px 1fr}
|
|
192
|
+
/* unified (inline) layout: old|new line-number gutters + a sign column + one
|
|
193
|
+
* shared code column; add/del tint the whole code cell, not one side. */
|
|
194
|
+
.gp-diff__unified{display:grid;grid-template-columns:38px 38px 18px 1fr}
|
|
195
|
+
/* before/after single column: one line-number gutter + code */
|
|
196
|
+
.gp-diff__single{display:grid;grid-template-columns:38px 1fr}
|
|
197
|
+
.gp-diff-uni__sign{text-align:center;user-select:none;font-size:11px;line-height:20px;color:var(--dsw-alias-label-tertiary)}
|
|
198
|
+
.gp-diff-uni__sign.gp-diff-row--add{color:var(--dsw-alias-state-success-primary)}
|
|
199
|
+
.gp-diff-uni__sign.gp-diff-row--del{color:var(--dsw-alias-state-error-primary)}
|
|
200
|
+
.gp-diff-uni__code{box-shadow:none}
|
|
152
201
|
.gp-diff-cell{padding:0 4px;white-space:pre-wrap;word-break:break-all;line-height:20px}
|
|
153
|
-
.gp-diff-no{color:var(--dsw-alias-label-tertiary);text-align:right;padding:0
|
|
202
|
+
.gp-diff-no{color:var(--dsw-alias-label-tertiary);text-align:right;padding:0 5px;user-select:none;font-size:11px;line-height:20px;background:color-mix(in srgb,var(--dsw-alias-label-primary) 4%,transparent);border-right:1px solid var(--dsw-alias-border-l2)}
|
|
154
203
|
.gp-diff-row--add{background:color-mix(in srgb,var(--dsw-alias-state-success-primary) 15%,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--dsw-alias-state-success-primary) 55%,transparent)}
|
|
155
204
|
.gp-diff-row--del{background:color-mix(in srgb,var(--dsw-alias-state-error-primary) 15%,transparent);box-shadow:inset 2px 0 0 color-mix(in srgb,var(--dsw-alias-state-error-primary) 55%,transparent)}
|
|
156
|
-
.gp-diff-row--hunk{background:color-mix(in srgb,var(--dsw-alias-state-business-primary)
|
|
205
|
+
.gp-diff-row--hunk{background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 6%,transparent);color:var(--dsw-alias-state-business-primary);padding:3px 8px;font-size:11px;font-weight:600;border-top:1px solid var(--dsw-alias-border-l2);border-bottom:1px solid var(--dsw-alias-border-l2)}
|
|
206
|
+
/* collapsed-context band with expand controls (spans both sides). A gap is
|
|
207
|
+
* always immediately followed by a hunk header (or the file end), so it omits
|
|
208
|
+
* its own bottom border and lets the hunk's top border be the single divider \u2014
|
|
209
|
+
* otherwise the two 1px borders stack into a fat 2px line. */
|
|
210
|
+
.gp-diff-row--gap{display:flex;align-items:center;justify-content:center;gap:6px;padding:2px 10px;background:color-mix(in srgb,var(--dsw-alias-state-business-primary) 6%,transparent);border-top:1px solid var(--dsw-alias-border-l2)}
|
|
211
|
+
.gp-gap__btn{display:inline-flex;align-items:center;height:20px;padding:0 9px;border:1px solid var(--dsw-alias-border-l2);border-radius:999px;background:var(--dsw-alias-bg-layer-1);color:var(--dsw-alias-state-business-primary);font:inherit;font-size:11px;cursor:pointer;white-space:nowrap;transition:background .12s ease}
|
|
212
|
+
.gp-gap__btn:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
213
|
+
.gp-gap__btn:disabled{opacity:.55;cursor:default}
|
|
214
|
+
/* word-level intra-line change emphasis: a deeper add/del tint over the row
|
|
215
|
+
* background so the exact changed tokens stand out. */
|
|
216
|
+
.gp-diff-word{border-radius:3px;padding:0 1px}
|
|
217
|
+
.gp-diff-word--add{background:color-mix(in srgb,var(--dsw-alias-state-success-primary) 38%,transparent)}
|
|
218
|
+
.gp-diff-word--del{background:color-mix(in srgb,var(--dsw-alias-state-error-primary) 38%,transparent)}
|
|
157
219
|
/* image comparison: old/new panes (split) or one pane (before/after) */
|
|
158
220
|
.gp-imgcmp{display:grid;grid-template-columns:1fr 1fr;gap:1px;height:100%;background:var(--dsw-alias-border-l2)}
|
|
159
221
|
.gp-imgcmp--single{grid-template-columns:1fr}
|
|
@@ -162,16 +224,6 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
162
224
|
.gp-imgcmp__img{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center;padding:10px;background-color:var(--dsw-alias-bg-layer-1);background-image:linear-gradient(45deg,color-mix(in srgb,var(--dsw-alias-label-primary) 5%,transparent) 25%,transparent 25%,transparent 50%,color-mix(in srgb,var(--dsw-alias-label-primary) 5%,transparent) 50%,color-mix(in srgb,var(--dsw-alias-label-primary) 5%,transparent) 75%,transparent 75%);background-size:16px 16px}
|
|
163
225
|
.gp-imgcmp__img img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:auto}
|
|
164
226
|
.gp-imgcmp__missing{flex:1;display:flex;align-items:center;justify-content:center;color:var(--dsw-alias-label-tertiary);font-size:12px;background:var(--dsw-alias-bg-layer-1)}
|
|
165
|
-
/* syntax highlighting (highlight.js token classes mapped to dsh theme vars) */
|
|
166
|
-
.gp-hljs .hljs-comment,.gp-hljs .hljs-quote{color:var(--dsw-alias-label-tertiary);font-style:italic}
|
|
167
|
-
.gp-hljs .hljs-keyword,.gp-hljs .hljs-selector-tag,.gp-hljs .hljs-literal,.gp-hljs .hljs-doctag,.gp-hljs .hljs-type,.gp-hljs .hljs-name,.gp-hljs .hljs-strong{color:var(--dsw-alias-state-business-primary)}
|
|
168
|
-
.gp-hljs .hljs-string,.gp-hljs .hljs-regexp,.gp-hljs .hljs-addition,.gp-hljs .hljs-meta-string{color:var(--dsw-alias-state-success-primary)}
|
|
169
|
-
.gp-hljs .hljs-number,.gp-hljs .hljs-symbol,.gp-hljs .hljs-bullet,.gp-hljs .hljs-link,.gp-hljs .hljs-deletion{color:var(--dsw-alias-state-warn-primary,var(--dsw-alias-state-error-primary))}
|
|
170
|
-
.gp-hljs .hljs-title,.gp-hljs .hljs-title.function_,.gp-hljs .hljs-section,.gp-hljs .hljs-selector-id,.gp-hljs .hljs-selector-class{color:var(--dsw-alias-label-primary-bluish,var(--dsw-alias-state-business-primary))}
|
|
171
|
-
.gp-hljs .hljs-attr,.gp-hljs .hljs-attribute,.gp-hljs .hljs-variable,.gp-hljs .hljs-template-variable,.gp-hljs .hljs-property,.gp-hljs .hljs-params{color:var(--dsw-alias-label-primary)}
|
|
172
|
-
.gp-hljs .hljs-built_in,.gp-hljs .hljs-class .hljs-title,.gp-hljs .hljs-tag{color:var(--dsw-alias-state-warn-primary,var(--dsw-alias-state-business-primary))}
|
|
173
|
-
.gp-hljs .hljs-meta{color:var(--dsw-alias-label-tertiary)}
|
|
174
|
-
.gp-hljs .hljs-emphasis{font-style:italic}
|
|
175
227
|
.gp-feedback{padding:6px 10px;font-size:12px;color:var(--dsw-alias-state-error-primary);background:color-mix(in srgb,var(--dsw-alias-state-error-primary) 10%,transparent);display:flex;align-items:center;gap:8px}
|
|
176
228
|
|
|
177
229
|
/* commit file-diff modal (overview \u2192 click a file): a centered dialog over a
|
|
@@ -200,28 +252,40 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
200
252
|
/* input-bar pill (zsh style) \u2014 repo cyan, (branch) green when synced /
|
|
201
253
|
* orange when dirty. Fully-rounded (999px) to match the dsh-openviking-manager
|
|
202
254
|
* input-bar toggle pill. */
|
|
203
|
-
.gp-pill{display:inline-flex
|
|
255
|
+
.gp-pill-wrap{display:inline-flex}
|
|
256
|
+
.gp-pill{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 12px;border:1px solid var(--dsw-alias-border-l2);border-radius:999px;background:var(--dsw-alias-bg-layer-1);font:inherit;font-size:12px;line-height:16px;cursor:pointer;white-space:nowrap;max-width:280px;font-family:var(--dsw-font-mono,ui-monospace,monospace);font-weight:600}
|
|
204
257
|
.gp-pill:hover{background:var(--dsw-alias-interactive-bg-hover)}
|
|
258
|
+
.gp-pill__dot{display:none;flex:none;width:8px;height:8px;border-radius:50%;background:var(--dsw-alias-label-tertiary)}
|
|
205
259
|
.gp-pill__repo{color:var(--dsw-alias-state-business-primary,#5ac8fa);overflow:hidden;text-overflow:ellipsis}
|
|
206
260
|
.gp-pill__git{margin-left:6px}
|
|
207
|
-
.gp-
|
|
208
|
-
.gp-
|
|
261
|
+
.gp-pill--synced .gp-pill__git{color:var(--dsw-alias-state-success-primary,#3fb950)}
|
|
262
|
+
.gp-pill--dirty .gp-pill__git{color:var(--dsw-alias-state-warn-primary,#e0982e)}
|
|
263
|
+
.gp-pill--synced .gp-pill__dot{background:var(--dsw-alias-state-success-primary,#3fb950)}
|
|
264
|
+
.gp-pill--dirty .gp-pill__dot{background:var(--dsw-alias-state-warn-primary,#e0982e)}
|
|
209
265
|
.gp-pill__branch{color:inherit}
|
|
210
266
|
.gp-pill--plain{cursor:default;font-weight:500}
|
|
211
267
|
.gp-pill--plain .gp-pill__repo{color:var(--dsw-alias-label-secondary)}
|
|
212
268
|
.gp-pill--degraded{color:var(--dsw-alias-label-tertiary);cursor:default;font-weight:500}
|
|
269
|
+
/* When the workspace is narrow (a sidebar opens), collapse the pill to a single
|
|
270
|
+
* status dot \u2014 width-driven, so it expands back as the workspace widens. The
|
|
271
|
+
* git status color is preserved via .gp-pill__dot. */
|
|
272
|
+
.gp-pill--compact{gap:0;padding:0;width:28px;min-width:28px;height:28px;justify-content:center;border-radius:999px}
|
|
273
|
+
.gp-pill--compact .gp-pill__dot{display:block}
|
|
274
|
+
.gp-pill--compact .gp-pill__repo,.gp-pill--compact .gp-pill__git{display:none}
|
|
213
275
|
|
|
214
276
|
/* plugin detail config form (plugins.bundle.config slot body) */
|
|
215
277
|
.gp-cfg{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--dsw-alias-border-l2);border-radius:12px;background:var(--dsw-alias-bg-layer-1)}
|
|
216
278
|
.gp-cfg__title{margin:0;font-size:14px;font-weight:600;color:var(--dsw-alias-label-primary)}
|
|
217
279
|
.gp-cfg__row{display:inline-flex;align-items:center;gap:10px;cursor:pointer;user-select:none}
|
|
218
|
-
|
|
280
|
+
/* \u5F00\u5173\u6E05\u96F6 border/padding\uFF1A::after \u6309 padding box \u5B9A\u4F4D\uFF0CUA \u9ED8\u8BA4 1px \u8FB9\u6846\u4F1A\u628A\u5B9A\u4F4D\u6846\u4E0A\u4E0B\u5404\u7F29 1px\uFF0C\u6ED1\u5757\u4E0A\u7F18\u5C31\u591A\u51FA 1px \u7A7A\u9699\u3002 */
|
|
281
|
+
.gp-cfg__switch{appearance:none;-webkit-appearance:none;flex:none;width:32px;height:18px;margin:0;padding:0;border:0;border-radius:999px;background:var(--dsw-alias-border-l2);position:relative;transition:background .15s ease;cursor:pointer}
|
|
219
282
|
.gp-cfg__switch::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:999px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.25);transition:transform .15s ease}
|
|
220
283
|
.gp-cfg__switch:checked{background:var(--dsw-alias-state-business-primary)}
|
|
221
284
|
.gp-cfg__switch:checked::after{transform:translateX(14px)}
|
|
222
285
|
.gp-cfg__switch:disabled{opacity:.5;cursor:default}
|
|
223
286
|
.gp-cfg__switch:focus-visible{outline:2px solid var(--dsw-alias-state-business-primary);outline-offset:2px}
|
|
224
287
|
.gp-cfg__text{font-size:13px;color:var(--dsw-alias-label-primary)}
|
|
288
|
+
.gp-cfg__seg{align-self:flex-start}
|
|
225
289
|
.gp-cfg__hint{margin:0;font-size:12px;line-height:1.6;color:var(--dsw-alias-label-tertiary)}
|
|
226
290
|
.gp-cfg__err{margin:0;font-size:12px;color:var(--dsw-alias-state-error-primary)}
|
|
227
291
|
|
|
@@ -237,13 +301,10 @@ https://github.com/highlightjs/highlight.js/issues/2277`),L=g,M=w),v===void 0&&(
|
|
|
237
301
|
.gp-tip{position:fixed;z-index:60;max-width:520px;padding:8px 12px;border:1px solid var(--dsw-alias-border-l1,var(--dsw-alias-border-l2));border-radius:12px;background:var(--dsw-alias-bg-layer-3,var(--dsw-alias-bg-layer-2));box-shadow:0 6px 24px rgba(0,0,0,.18),0 1px 3px rgba(0,0,0,.12);font-size:12px;line-height:1.5;pointer-events:none}
|
|
238
302
|
.gp-tip__path{color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-mono,ui-monospace,monospace);word-break:break-all}
|
|
239
303
|
.gp-tip__note{margin-top:4px;color:var(--dsw-alias-label-tertiary)}
|
|
240
|
-
`,xt=!1;function Yt(){if(xt||typeof document>"u")return;let e="dsh-git-panel/client.css";if(document.querySelector(`style[data-plugin-css="${e}"]`)!==null){xt=!0;return}let t=document.createElement("style");t.dataset.plugin="@xbzbing/dsh-git-panel",t.dataset.pluginCss=e,t.textContent=$a,document.head.appendChild(t),xt=!0}var Jt={"panel.tab":"Git","tab.overview":"Git \u603B\u89C8","tab.changes":"\u53D8\u66F4\u8BB0\u5F55","pill.noRepo":"\u65E0 Git \u4ED3\u5E93","pill.unavailable":"Git \u4E0D\u53EF\u7528","pill.detached":"\u6E38\u79BB HEAD","pill.synced":"\u672C\u5730\u5DF2\u540C\u6B65","pill.dirty":"\u6709\u5F85\u63D0\u4EA4\u7684\u53D8\u66F4","common.loading":"\u52A0\u8F7D\u4E2D\u2026","common.refresh":"\u5237\u65B0","common.empty":"\u5DE5\u4F5C\u533A\u5E72\u51C0","common.retry":"\u91CD\u8BD5","common.close":"\u5173\u95ED","common.expandAll":"\u5C55\u5F00\u5168\u90E8","common.collapseAll":"\u6536\u8D77\u5168\u90E8","version.check":"\u68C0\u67E5\u65B0\u7248\u672C","version.checking":"\u68C0\u67E5\u4E2D\u2026","version.upToDate":"\u5DF2\u662F\u6700\u65B0\uFF08{current}\uFF09","version.updateAvailable":"\u6709\u65B0\u7248\u672C {latest}\uFF08\u5F53\u524D {current}\uFF09","version.viewRelease":"\u67E5\u770B\u53D1\u5E03","version.error":"\u68C0\u67E5\u5931\u8D25","version.noRepo":"\u672A\u914D\u7F6E\u4ED3\u5E93\u5730\u5740","version.openRepo":"\u5728 GitHub \u4E0A\u6253\u5F00\u4ED3\u5E93","overview.branches":"\u5206\u652F","overview.head":"HEAD\uFF08\u5F53\u524D\u5206\u652F\uFF09","overview.local":"\u672C\u5730","overview.remote":"\u8FDC\u7A0B","overview.tags":"\u6807\u7B7E","overview.allBranches":"\u5168\u90E8\u5206\u652F","overview.search":"\u641C\u7D22\u63D0\u4EA4\uFF08\u6D88\u606F / \u54C8\u5E0C\uFF09","overview.clearSearch":"\u6E05\u9664\u641C\u7D22","overview.allUsers":"\u5168\u90E8\u4F5C\u8005","overview.allTime":"\u5168\u90E8\u65F6\u95F4","overview.today":"\u4ECA\u5929","overview.last7d":"\u8FD1 7 \u5929","overview.last30d":"\u8FD1 30 \u5929","overview.colGraph":"","overview.colSubject":"\u63D0\u4EA4","overview.colHash":"\u54C8\u5E0C","overview.colAuthor":"\u4F5C\u8005","overview.colDate":"\u65E5\u671F","overview.selectCommit":"\u9009\u62E9\u4E00\u4E2A\u63D0\u4EA4\u67E5\u770B\u8BE6\u60C5","overview.commitFiles":"\u53D8\u66F4\u6587\u4EF6","overview.commitMessage":"\u63D0\u4EA4\u4FE1\u606F","overview.noMessage":"\uFF08\u65E0\u63D0\u4EA4\u6B63\u6587\uFF09","overview.noResults":"\u6CA1\u6709\u5339\u914D\u7684\u63D0\u4EA4","overview.loadFailed":"\u52A0\u8F7D\u5931\u8D25","overview.detailFailed":"\u8BE6\u60C5\u52A0\u8F7D\u5931\u8D25","overview.diffFailed":"\u5DEE\u5F02\u52A0\u8F7D\u5931\u8D25","overview.openFileDiff":"\u67E5\u770B\u8BE5\u6587\u4EF6\u5728\u6B64\u63D0\u4EA4\u4E2D\u7684\u53D8\u66F4","overview.fetch":"\u62C9\u53D6\u8FDC\u7A0B","changes.title":"\u672C\u5730\u53D8\u66F4","changes.groupStaged":"\u5DF2\u6682\u5B58\u7684\u66F4\u6539","changes.groupUnstaged":"\u66F4\u6539","changes.groupUntracked":"\u672A\u7248\u672C\u63A7\u5236\u7684\u6587\u4EF6","changes.selectFile":"\u9009\u62E9\u4E00\u4E2A\u6587\u4EF6\u67E5\u770B\u53D8\u66F4","changes.noChanges":"\u6CA1\u6709\u672A\u63D0\u4EA4\u7684\u53D8\u66F4","changes.stageAll":"\u5168\u90E8\u6682\u5B58","changes.unstageAll":"\u5168\u90E8\u53D6\u6D88\u6682\u5B58","changes.discard":"\u653E\u5F03\u66F4\u6539","changes.discardConfirm":"\u518D\u6B21\u70B9\u51FB\u4EE5\u786E\u8BA4\u653E\u5F03","stats.files":"{n} \u4E2A\u6587\u4EF6","stats.lines":"+{add} \u2212{del} \u884C","stats.lastChange":"\u6700\u8FD1\u53D8\u66F4 {time}","stats.lastCommit":"\u4E0A\u6B21\u63D0\u4EA4 {time}","stats.staged":"\u5DF2\u6682\u5B58 {n}","stats.modified":"\u5DF2\u4FEE\u6539 {n}","stats.untracked":"\u672A\u8DDF\u8E2A {n}","commit.placeholder":"\u63D0\u4EA4\u4FE1\u606F","commit.commit":"\u63D0\u4EA4","commit.commitAndPush":"\u63D0\u4EA4\u5E76\u63A8\u9001\u2026","commit.amend":"\u4FEE\u6B63\u4E0A\u6B21\u63D0\u4EA4\uFF08amend\uFF09","commit.done":"\u5B8C\u6210","commit.pushing":"\u63A8\u9001\u4E2D\u2026","diff.split":"\u5BF9\u7167","diff.before":"\u53D8\u66F4\u524D","diff.after":"\u53D8\u66F4\u540E","diff.binary":"\u4E8C\u8FDB\u5236\u6587\u4EF6\uFF0C\u65E0\u6CD5\u663E\u793A\u5BF9\u7167","diff.tooLarge":"\u56FE\u7247\u8FC7\u5927\uFF0C\u65E0\u6CD5\u663E\u793A\u5BF9\u7167","diff.imageMissing":"\u4E0D\u5B58\u5728","diff.empty":"\u65E0\u5DEE\u5F02","diff.newFile":"\u65B0\u6587\u4EF6","diff.deletedFile":"\u5DF2\u5220\u9664","diff.expandAll":"\u5C55\u5F00\u5168\u90E8","diff.collapse":"\u6298\u53E0\u672A\u53D8\u66F4","diff.expanding":"\u5C55\u5F00\u4E2D\u2026","time.justNow":"\u521A\u521A","time.minutesAgo":"{n} \u5206\u949F\u524D","time.hoursAgo":"{n} \u5C0F\u65F6\u524D","time.daysAgo":"{n} \u5929\u524D","error.generic":"\u64CD\u4F5C\u5931\u8D25","error.notARepo":"\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Git \u4ED3\u5E93","error.noCwd":"\u5F53\u524D\u4F1A\u8BDD\u65E0\u5DE5\u4F5C\u76EE\u5F55","error.localChangesBlock":"\u672C\u5730\u6709\u672A\u63D0\u4EA4\u53D8\u66F4\uFF0C\u65E0\u6CD5\u5207\u6362","error.emptyMessage":"\u63D0\u4EA4\u4FE1\u606F\u4E0D\u80FD\u4E3A\u7A7A","cfg.title":"\u8F93\u5165\u6846\u5206\u652F\u6807\u8BB0","cfg.toggle":"\u663E\u793A\u8F93\u5165\u6846\u6807\u8BB0","cfg.hint":"\u5F00\u542F\u65F6\u5728\u8F93\u5165\u6846\u663E\u793A zsh \u98CE\u683C\u7684 <\u4ED3\u5E93\u540D> (\u5206\u652F) \u6807\u8BB0\uFF1B\u5173\u95ED\u540E\u6539\u4E3A\u5728 Git \u6807\u7B7E\u65C1\u663E\u793A\u72B6\u6001\u5706\u70B9\u3002\u4FDD\u5B58\u540E\u7ACB\u5373\u751F\u6548\u3002","cfg.notLoaded":"\u914D\u7F6E\u672A\u52A0\u8F7D\uFF1A\u8BE5\u914D\u7F6E\u7531\u8FD0\u884C\u4E2D\u7684\u5BBF\u4E3B\u63D0\u4F9B\uFF0C\u82E5\u957F\u65F6\u95F4\u7A7A\u767D\u8BF7\u91CD\u542F DSH \u540E\u91CD\u8BD5\u3002","cfg.saveFailed":"\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"},Qt={"panel.tab":"Git","tab.overview":"Overview","tab.changes":"Changes","pill.noRepo":"No Git repo","pill.unavailable":"Git unavailable","pill.detached":"detached HEAD","pill.synced":"Everything committed","pill.dirty":"Uncommitted changes","common.loading":"Loading\u2026","common.refresh":"Refresh","common.empty":"Working tree clean","common.retry":"Retry","common.close":"Close","common.expandAll":"Expand all","common.collapseAll":"Collapse all","version.check":"Check for updates","version.checking":"Checking\u2026","version.upToDate":"Up to date ({current})","version.updateAvailable":"New version {latest} available (current {current})","version.viewRelease":"View release","version.error":"Check failed","version.noRepo":"Repository not configured","version.openRepo":"Open repository on GitHub","overview.branches":"Branches","overview.head":"HEAD (Current Branch)","overview.local":"Local","overview.remote":"Remote","overview.tags":"Tags","overview.allBranches":"All branches","overview.search":"Search commits (message / hash)","overview.clearSearch":"Clear search","overview.allUsers":"All authors","overview.allTime":"All time","overview.today":"Today","overview.last7d":"Last 7 days","overview.last30d":"Last 30 days","overview.colGraph":"","overview.colSubject":"Commit","overview.colHash":"Hash","overview.colAuthor":"Author","overview.colDate":"Date","overview.selectCommit":"Select a commit to see details","overview.commitFiles":"Changed files","overview.commitMessage":"Commit message","overview.noMessage":"(no commit body)","overview.noResults":"No matching commits","overview.loadFailed":"Load failed","overview.detailFailed":"Failed to load details","overview.diffFailed":"Failed to load diff","overview.openFileDiff":"View this file\u2019s changes in this commit","overview.fetch":"Fetch","changes.title":"Local changes","changes.groupStaged":"Staged changes","changes.groupUnstaged":"Changes","changes.groupUntracked":"Unversioned files","changes.selectFile":"Select a file to see its diff","changes.noChanges":"No uncommitted changes","changes.stageAll":"Stage all","changes.unstageAll":"Unstage all","changes.discard":"Discard changes","changes.discardConfirm":"Click again to confirm discard","stats.files":"{n} files","stats.lines":"+{add} \u2212{del} lines","stats.lastChange":"changed {time}","stats.lastCommit":"last commit {time}","stats.staged":"{n} staged","stats.modified":"{n} modified","stats.untracked":"{n} untracked","commit.placeholder":"Commit message","commit.commit":"Commit","commit.commitAndPush":"Commit and Push\u2026","commit.amend":"Amend previous commit","commit.done":"Done","commit.pushing":"Pushing\u2026","diff.split":"Split","diff.before":"Before","diff.after":"After","diff.binary":"Binary file \u2014 no diff to show","diff.tooLarge":"Image too large to compare","diff.imageMissing":"Does not exist","diff.empty":"No differences","diff.newFile":"New file","diff.deletedFile":"Deleted","diff.expandAll":"Expand all","diff.collapse":"Collapse unchanged","diff.expanding":"Expanding\u2026","time.justNow":"just now","time.minutesAgo":"{n}m ago","time.hoursAgo":"{n}h ago","time.daysAgo":"{n}d ago","error.generic":"Operation failed","error.notARepo":"Not a Git repository","error.noCwd":"This session has no working directory","error.localChangesBlock":"Local changes block the checkout","error.emptyMessage":"Commit message cannot be empty","cfg.title":"Input-bar branch marker","cfg.toggle":"Show input-bar marker","cfg.hint":"When on, the input bar shows the zsh-style <repo> (branch) marker; when off, a status dot appears beside the Git tab instead. Saved changes apply immediately.","cfg.notLoaded":"Config not loaded: it is served by the running host. Restart DSH if this stays blank.","cfg.saveFailed":"Save failed, please retry"};var tt=require("react");var Ka=new Set(["cwd-unavailable","session-not-found"]),jt=3e4,Ha=6e4,et=class{constructor(t,n){this.remote=t;this.sessionId=n}view={state:"cold"};listeners=new Set;timer;inflight;disposed=!1;pollMs=jt;subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}getSnapshot(){return this.view}ensure(){this.view.state!=="cold"&&this.view.state!=="no-cwd"||this.refresh()}refresh(){return this.inflight!==void 0?this.inflight:this.disposed?Promise.resolve():(this.view.state==="cold"&&this.setView({state:"loading"}),this.inflight=this.remote.snapshot({sessionId:this.sessionId}).then(t=>{if(!this.disposed)if(t.ok)this.pollMs=t.value.refreshIntervalMs||jt,this.setView({state:"ready",snapshot:t.value});else if(Ka.has(t.error.code))this.pollMs=Ha,this.setView({state:"no-cwd"});else if(t.error.code==="not-a-git-repo"){let n=t.error;this.setView({state:"error",error:{code:"not-a-git-repo",...n.cwd?{cwd:n.cwd}:{},...n.showInputPill!==void 0?{showInputPill:n.showInputPill}:{}}})}else this.setView({state:"error",error:{code:t.error.code,..."detail"in t.error?{detail:t.error.detail}:{}}})}).catch(t=>{this.disposed||this.setView({state:"error",error:{code:"git-unavailable",detail:t instanceof Error?t.message:String(t)}})}).finally(()=>{this.inflight=void 0,this.schedulePoll()}),this.inflight)}resync(){this.disposed||this.refresh()}schedulePoll(){this.disposed||(this.timer!==void 0&&clearTimeout(this.timer),!(this.pollMs<=0)&&(this.timer=setTimeout(()=>{this.refresh()},this.pollMs)))}setView(t){this.view=t;for(let n of this.listeners)n()}dispose(){this.disposed=!0,this.timer!==void 0&&clearTimeout(this.timer),this.timer=void 0,this.listeners.clear()}};var qa="/api",Wa="gitPanel";function Xa(e){try{let t=e.get("connection")?.rpc,n=t?.call;if(t!==void 0&&typeof n=="function")return(r,o,s)=>n.call(t,qa,r,o,s)}catch{}}function Va(e){let t=e;if(t===null||typeof t!="object")return{ok:!1,error:{code:"git-unavailable",message:"malformed rpc result"}};if(t.ok!==!0){let n=t.error;return{ok:!1,error:{code:typeof n?.code=="string"?n.code:"git-unavailable",message:typeof n?.message=="string"?n.message:void 0}}}return t.value}var en=new WeakMap;function $e(e){let t=en.get(e);if(t!==void 0)return t;let n=async(o,s,i)=>{let a=Xa(e);if(a===void 0)return{ok:!1,error:{code:"git-unavailable",message:"no connection"}};try{let l=await a(`${Wa}/${o}`,{args:{request:s}},i);return Va(l)}catch(l){return{ok:!1,error:{code:"git-unavailable",message:l instanceof Error?l.message:String(l)}}}},r={snapshot:(o,s)=>n("snapshot",o,s),run:(o,s)=>n("run",o,s),query:(o,s)=>n("query",o,s),version:(o,s)=>n("version",o,s)};return en.set(e,r),r}var Ke=new Map,tn,kt;function nn(e){kt=e,tn=$e(e)}function Nt(e){let t=Ke.get(e);if(t===void 0){let n=tn??(kt?$e(kt):void 0);t=new et(n??Za(),e),Ke.set(e,t)}return t}function He(){for(let e of Ke.values())e.resync()}function rn(){for(let e of Ke.values())e.dispose();Ke.clear()}function Za(){let e=async()=>({ok:!1,error:{code:"git-unavailable"}});return{snapshot:e,run:e,query:e,version:e}}function nt(e){let[,t]=(0,tt.useState)(0),n=e?Nt(e):void 0;return(0,tt.useEffect)(()=>{if(n===void 0)return;let r=n.subscribe(()=>t(o=>o+1));return n.ensure(),r},[n]),n?n.getSnapshot():{state:"cold"}}var G=require("react");var an="[data-conversation-tabs]",Tt='[data-conversation-tabs] button[role="tab"]',St=new Map;function on(e,t){St.set(e,t)}function sn(e){let t=St.get(e);return t===void 0?null:(St.delete(e),t)}function ln(e){if(typeof document>"u")return!1;let t=document.querySelectorAll(Tt);for(let n of t)if((n.textContent??"").trim()===e)return n.getAttribute("aria-selected")!=="true"&&n.click(),!0;return!1}var p=require("react"),Ht=require("react-dom");var J=require("react");function ke(e,t=15){return(0,J.createElement)("svg",{width:t,height:t,viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,strokeLinecap:"round",strokeLinejoin:"round"},e)}function rt({size:e}){return ke([(0,J.createElement)("circle",{key:"c",cx:8,cy:8,r:2.4}),(0,J.createElement)("line",{key:"l1",x1:8,y1:1.5,x2:8,y2:5.6}),(0,J.createElement)("line",{key:"l2",x1:8,y1:10.4,x2:8,y2:14.5})],e)}function cn({size:e}){return ke([(0,J.createElement)("path",{key:"a",d:"M4 2v8"}),(0,J.createElement)("path",{key:"b",d:"M2 4h4"}),(0,J.createElement)("circle",{key:"c",cx:4,cy:12,r:1.6}),(0,J.createElement)("circle",{key:"d",cx:12,cy:4,r:1.6}),(0,J.createElement)("path",{key:"e",d:"M12 6v4"}),(0,J.createElement)("path",{key:"f",d:"M10 12h4"})],e)}function Rt({size:e}){return ke([(0,J.createElement)("circle",{key:"a",cx:4,cy:3,r:1.6}),(0,J.createElement)("circle",{key:"b",cx:4,cy:13,r:1.6}),(0,J.createElement)("circle",{key:"c",cx:12,cy:5,r:1.6}),(0,J.createElement)("path",{key:"d",d:"M4 4.6v6.8"}),(0,J.createElement)("path",{key:"e",d:"M12 6.6c0 3-4 2.4-8 4"})],e)}function dn({size:e}){return ke([(0,J.createElement)("path",{key:"a",d:"M2 7V3h4l8 8-4 4z"}),(0,J.createElement)("circle",{key:"b",cx:4.5,cy:5.5,r:.8,fill:"currentColor"})],e)}function qe({size:e,open:t}){return ke([(0,J.createElement)("path",{key:"a",d:t?"M3 6l5 5 5-5":"M6 3l5 5-5 5"})],e)}function pn({size:e}){return ke([(0,J.createElement)("path",{key:"a",d:"M4 4l8 8M12 4l-8 8"})],e)}function at({size:e}){return ke([(0,J.createElement)("path",{key:"a",d:"M13 8a5 5 0 1 1-1.5-3.5"}),(0,J.createElement)("path",{key:"b",d:"M13 2v3h-3"})],e)}function gn({size:e}){return ke([(0,J.createElement)("path",{key:"a",d:"M4 2h5l3 3v9H4z"}),(0,J.createElement)("path",{key:"b",d:"M9 2v3h3"})],e)}function un({size:e=15}){return(0,J.createElement)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"currentColor"},(0,J.createElement)("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8z"}))}function mn(e){let t=0;for(let n of e){t=Math.max(t,n.lane+1);for(let r of n.edges)t=Math.max(t,r.fromLane+1,r.toLane+1)}return t}function fn(e){let t=[],n=[],r=new Map,o=0,s=i=>{let a=r.get(i);return a===void 0&&(a=o++,r.set(i,a)),a};for(let i of e){let a=n.findIndex(y=>y===i.hash);a===-1&&(a=n.findIndex(y=>y===null),a===-1&&(a=n.length,n.push(null)),n[a]=i.hash);let l=s(i.hash),c=[...n],d=i.parents,b=d.length>=2;for(let y=0;y<n.length;y++)y!==a&&n[y]===i.hash&&(n[y]=null);if(d.length===0)n[a]=null;else{n[a]=d[0],s(d[0]);for(let y=1;y<d.length;y++){let h=d[y],x=n.findIndex(N=>N===h);x===-1&&(x=n.findIndex(N=>N===null),x===-1&&(x=n.length,n.push(null)),n[x]=h),s(h)}}let f=[],m=n;for(let y=0;y<c.length;y++){let h=c[y];if(h!==null)if(h===i.hash)f.push({fromLane:y,toLane:a,color:s(i.hash)});else{let x=m.findIndex(N=>N===h);x!==-1&&f.push({fromLane:y,toLane:x,color:s(h)})}}for(let y of d){let h=m.findIndex(x=>x===y);h!==-1&&f.push({fromLane:a,toLane:h,color:s(y)})}for(t.push({commit:i,lane:a,color:l,edges:f,merge:b});n.length>0&&n[n.length-1]===null;)n=n.slice(0,-1)}return t}function bn(e){let t={name:"",path:"",dir:!0,children:[]};for(let n of e){let r=n.path.split("/").filter(i=>i!==""),o=t,s="";for(let i=0;i<r.length;i++){let a=r[i];s=s===""?a:`${s}/${a}`;let l=i===r.length-1,c=o.children.find(d=>d.name===a&&d.dir===!l);c===void 0&&(c={name:a,path:s,dir:!l,children:[],...l?{meta:n.meta}:{}},o.children.push(c)),o=c}}return hn(t),yn(t.children)}function hn(e){e.children.sort((t,n)=>t.dir!==n.dir?t.dir?-1:1:t.name.localeCompare(n.name));for(let t of e.children)hn(t)}function yn(e){return e.map(t=>{if(!t.dir)return t;let n=t;for(;n.children.length===1&&n.children[0].dir;){let r=n.children[0];n={name:`${n.name}/${r.name}`,path:r.path,dir:!0,children:r.children}}return{...n,children:yn(n.children)}})}function Ie(e,t,n){if(e===null)return"";let r=typeof e=="number"?e:Date.parse(e);if(!Number.isFinite(r))return"";let o=Math.max(0,t-r),s=Math.floor(o/6e4);if(s<1)return n("time.justNow");if(s<60)return n("time.minutesAgo",{n:s});let i=Math.floor(s/60);if(i<24)return n("time.hoursAgo",{n:i});let a=Math.floor(i/24);return n("time.daysAgo",{n:a})}function De(e){if(e===null)return"";let t=new Date(typeof e=="number"?e:Date.parse(e));if(Number.isNaN(t.getTime()))return"";let n=r=>String(r).padStart(2,"0");return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}var V=require("react");var Ya={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",bmp:"image/bmp",svg:"image/svg+xml",ico:"image/x-icon",tif:"image/tiff",tiff:"image/tiff"};function Ct(e){let t=e.lastIndexOf(".");return t<0?null:Ya[e.slice(t+1).toLowerCase()]??null}function _n(e){return/^Binary files .* differ$/m.test(e)||/^GIT binary patch$/m.test(e)}function vn(e){return Ct(e)!==null}function En(e){let t=We(e);return t.length===0?!1:t.every(n=>n.startsWith("+")||n.startsWith(" "))&&t.some(n=>n.startsWith("+"))&&/^\+\+\+ /m.test(e)&&/--- \/dev\/null/m.test(e)}function wn(e){let t=We(e);return t.length===0?!1:t.every(n=>n.startsWith("-")||n.startsWith(" "))&&t.some(n=>n.startsWith("-"))&&/^\+\+\+ \/dev\/null/m.test(e)}function We(e){let t=e.split(`
|
|
241
|
-
`),n=[],
|
|
242
|
-
`),r=0,o=0,s=0;for(;s<n.length&&!n[s].startsWith("@@");s++);for(;s<n.length;s++){let i=n[s];if(i.startsWith("@@")){let c=/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(i);c&&(r=Number(c[1]),o=Number(c[2])),t.push({kind:"hunk",leftNo:null,rightNo:null,leftText:null,rightText:null,text:i});continue}if(i.startsWith("\\"))continue;let a=i[0],l=i.slice(1);a==="+"?(t.push({kind:"add",leftNo:null,rightNo:o,leftText:null,rightText:l}),o++):a==="-"?(t.push({kind:"del",leftNo:r,rightNo:null,leftText:l,rightText:null}),r++):a===" "&&(t.push({kind:"context",leftNo:r,rightNo:o,leftText:l,rightText:l}),r++,o++)}return Ja(t)}function Ja(e){let t=[],n=0;for(;n<e.length;){let r=e[n];if(r.kind==="del"){let o=[],s=n;for(;s<e.length&&e[s].kind==="del";)o.push(e[s]),s++;let i=[];for(;s<e.length&&e[s].kind==="add";)i.push(e[s]),s++;let a=Math.max(o.length,i.length);for(let l=0;l<a;l++){let c=o[l],d=i[l];t.push({kind:c&&d?"context":c?"del":"add",leftNo:c?c.leftNo:null,rightNo:d?d.rightNo:null,leftText:c?c.leftText:null,rightText:d?d.rightText:null})}n=s}else t.push(r),n++}return t}function Nn(e){return We(e).filter(t=>t.startsWith("+")).map(t=>t.slice(1)).join(`
|
|
243
|
-
`)
|
|
244
|
-
`)}var Ye=null,zt=null;function $t(){return Ye}function fa(){return Ye!==null?Promise.resolve(Ye):(zt===null&&(zt=Promise.resolve().then(()=>(ma(),ua)).then(e=>(Ye=e.highlighter,Ye)).catch(()=>null)),zt)}var So={ts:"typescript",tsx:"typescript",mts:"typescript",cts:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",json:"json",jsonc:"json",py:"python",pyi:"python",rb:"ruby",rs:"rust",go:"go",java:"java",kt:"kotlin",kts:"kotlin",swift:"swift",php:"php",lua:"lua",sql:"sql",c:"c",h:"c",cc:"cpp",cpp:"cpp",cxx:"cpp",hpp:"cpp",hxx:"cpp",cs:"csharp",css:"css",scss:"scss",less:"less",html:"xml",htm:"xml",xml:"xml",svg:"xml",vue:"xml",md:"markdown",markdown:"markdown",yml:"yaml",yaml:"yaml",toml:"ini",ini:"ini",cfg:"ini",conf:"ini",sh:"bash",bash:"bash",zsh:"bash"},To={dockerfile:"bash",makefile:"bash",".gitignore":"bash",".bashrc":"bash",".zshrc":"bash"};function ba(e){let t=e.slice(e.lastIndexOf("/")+1),n=To[t.toLowerCase()];if(n!==void 0)return n;let r=t.lastIndexOf(".");return r<0?"":So[t.slice(r+1).toLowerCase()]??""}var we=require("react");function ht(e,t,n){let r=n(`diff.${e}`);return(0,we.createElement)("div",{className:`gp-imgcmp__pane gp-imgcmp__pane--${e}`},[(0,we.createElement)("div",{key:"head",className:"gp-imgcmp__head"},r),t===void 0?(0,we.createElement)("div",{key:"missing",className:"gp-imgcmp__missing"},n("diff.imageMissing")):(0,we.createElement)("div",{key:"img",className:"gp-imgcmp__img"},(0,we.createElement)("img",{src:t,alt:r}))])}function ha({oldUrl:e,newUrl:t,mode:n,t:r}){return n==="before"?(0,we.createElement)("div",{className:"gp-imgcmp gp-imgcmp--single"},ht("before",e,r)):n==="after"?(0,we.createElement)("div",{className:"gp-imgcmp gp-imgcmp--single"},ht("after",t,r)):(0,we.createElement)("div",{className:"gp-imgcmp"},[ht("before",e,r),ht("after",t,r)])}function yt({text:e,mode:t,path:n,remote:r,sessionId:o,imageSpec:s,t:i}){let a=(0,V.useMemo)(()=>kn(e),[e]),l=_n(e),c=(0,V.useMemo)(()=>En(e),[e]),d=(0,V.useMemo)(()=>wn(e),[e]),b=(0,V.useMemo)(()=>n!==void 0?ba(n):"",[n]),f=Co(b),m=l&&n!==void 0&&vn(n)&&r!==void 0&&o!==void 0&&s!==void 0,y=Ro(m?r:void 0,m?o:void 0,m?n:void 0,m?s:void 0);if(l){if(m){if(y.kind==="idle"||y.kind==="loading")return(0,V.createElement)("div",{className:"gp-empty"},i("common.loading"));if(y.kind==="ready"){let h=y.res;if(h.tooLarge===!0)return(0,V.createElement)("div",{className:"gp-empty"},i("diff.tooLarge"));if(h.mime!==null&&(h.old!==void 0||h.new!==void 0))return(0,V.createElement)(ha,{oldUrl:h.old,newUrl:h.new,mode:t,t:i})}}return(0,V.createElement)("div",{className:"gp-empty"},i("diff.binary"))}return e.trim()===""?(0,V.createElement)("div",{className:"gp-empty"},i("diff.empty")):t==="before"?ya(d?Sn(e):Ao(a),b,f):t==="after"?ya(c?Nn(e):Oo(a),b,f):(0,V.createElement)("div",{className:"gp-diff__side"},a.flatMap((h,x)=>Mo(h,x,b,f)))}function Ro(e,t,n,r){let[o,s]=(0,V.useState)({kind:"idle"}),i=r?.base,a=r?.commit;return(0,V.useEffect)(()=>{if(e===void 0||t===void 0||n===void 0||i===void 0)return;let l=!0;s({kind:"loading"});let c=i==="commit"&&a!==void 0?{kind:"image-diff",path:n,base:"commit",commit:a}:i==="staged"?{kind:"image-diff",path:n,base:"staged"}:{kind:"image-diff",path:n,base:"worktree"};return e.query({sessionId:t,query:c}).then(d=>{l&&s(d.ok&&d.value.kind==="image-diff"?{kind:"ready",res:d.value}:{kind:"failed"})}).catch(()=>{l&&s({kind:"failed"})}),()=>{l=!1}},[e,t,n,i,a]),o}function Co(e){let[,t]=(0,V.useState)(0);if((0,V.useEffect)(()=>{if(e===""||$t()!==null)return;let r=!0;return fa().then(()=>{r&&t(o=>o+1)}),()=>{r=!1}},[e]),e==="")return null;let n=$t();return n!==null&&n.supports(e)?n:null}function Kt(e,t,n,r,o){return n===""?(0,V.createElement)("div",{key:t,className:e},"\xA0"):o===null?(0,V.createElement)("div",{key:t,className:e},n):(0,V.createElement)("div",{key:t,className:e,dangerouslySetInnerHTML:{__html:o.line(n,r)}})}function Ao(e){return e.filter(t=>t.leftText!==null).map(t=>t.leftText).join(`
|
|
245
|
-
`)}function Oo(e){return e.filter(t=>t.rightText!==null).map(t=>t.rightText).join(`
|
|
246
|
-
`)}function ya(e,t,n){let r=e.split(`
|
|
247
|
-
`);return(0,V.createElement)("div",{className:"gp-hljs"},r.map((o,s)=>Kt("gp-diff-cell",String(s),o,t,n)))}function Mo(e,t,n,r){if(e.kind==="hunk")return[(0,V.createElement)("div",{key:`h${t}`,className:"gp-diff-row--hunk gp-diff-cell",style:{gridColumn:"1 / -1"}},e.text??"")];let o=e.kind==="del"?"gp-diff-row--del":"",s=e.kind==="add"?"gp-diff-row--add":"";return[(0,V.createElement)("div",{key:`ln${t}`,className:"gp-diff-no"},e.leftNo??""),e.leftText===null?(0,V.createElement)("div",{key:`l${t}`,className:`gp-diff-cell gp-hljs ${o}`}):Kt(`gp-diff-cell gp-hljs ${o}`,`l${t}`,e.leftText,n,r),(0,V.createElement)("div",{key:`rn${t}`,className:"gp-diff-no"},e.rightNo??""),e.rightText===null?(0,V.createElement)("div",{key:`r${t}`,className:`gp-diff-cell gp-hljs ${s}`}):Kt(`gp-diff-cell gp-hljs ${s}`,`r${t}`,e.rightText,n,r)]}function _t(e){return xn(e)}var Io=100,Fe=14,Je=30;function _a({remote:e,sessionId:t,t:n}){let[r,o]=(0,p.useState)(null),[s,i]=(0,p.useState)([]),[a,l]=(0,p.useState)([]),[c,d]=(0,p.useState)(0),[b,f]=(0,p.useState)(!1),[m,y]=(0,p.useState)(!1),[h,x]=(0,p.useState)(null),[N,D]=(0,p.useState)(null),[B,T]=(0,p.useState)(!1),[I,O]=(0,p.useState)(null),[Q,F]=(0,p.useState)(null),[H,j]=(0,p.useState)(!1),[ue,oe]=(0,p.useState)("split"),[se,ee]=(0,p.useState)(!1),Z=(0,p.useRef)(0),[g,w]=(0,p.useState)({ref:null,search:"",author:"",since:""}),[v,M]=(0,p.useState)(""),[L,U]=(0,p.useState)(new Set(["tags","remote"])),z=(0,p.useRef)(0),te=(0,p.useRef)(null),E=(0,p.useRef)(null),R=(0,p.useCallback)(async()=>{let[u,A]=await Promise.all([e.query({sessionId:t,query:{kind:"branches"}}),e.query({sessionId:t,query:{kind:"tags"}})]);o({current:u.ok&&u.value.kind==="branches"?u.value.current:null,defaultBranch:u.ok&&u.value.kind==="branches"?u.value.defaultBranch:null,local:u.ok&&u.value.kind==="branches"?u.value.local:[],remote:u.ok&&u.value.kind==="branches"?u.value.remote:[],tags:A.ok&&A.value.kind==="tags"?A.value.tags:[]}),e.query({sessionId:t,query:{kind:"authors"}}).then(K=>{i(K.ok&&K.value.kind==="authors"?K.value.authors:[])})},[e,t]),Y=(0,p.useCallback)(async(u,A)=>{let K=z.current;f(!0),y(!1);let pe=await e.query({sessionId:t,query:{kind:"history",limit:Io,skip:u,...A.ref?{ref:A.ref}:{},...A.search?{search:A.search}:{},...A.author?{author:A.author}:{},...A.since?{since:A.since}:{}}});if(K!==z.current)return;if(f(!1),!pe.ok||pe.value.kind!=="history"){y(!0);return}let ie=pe.value.commits;l(xe=>u===0?ie:[...xe,...ie]),d(pe.value.total)},[e,t]),me=(0,p.useRef)(!1);(0,p.useEffect)(()=>{me.current||(me.current=!0,R())},[R]),(0,p.useEffect)(()=>{z.current+=1,x(null),D(null),te.current=null,E.current&&(E.current.scrollTop=0),Y(0,g)},[g]),(0,p.useEffect)(()=>{let u=setTimeout(()=>w(A=>A.search===v?A:{...A,search:v}),300);return()=>clearTimeout(u)},[v]);let ce=(0,p.useRef)(new Map),ze=(0,p.useCallback)(async u=>{te.current=u.hash,x(u),T(!1),Z.current+=1,O(null),F(null),j(!1);let A=ce.current.get(u.hash);if(A!==void 0){D(A);return}D(null);let K=await e.query({sessionId:t,query:{kind:"show",ref:u.hash}});if(te.current===u.hash)if(K.ok&&K.value.kind==="show"){let pe={commit:K.value.commit,body:K.value.body,stats:K.value.stats},ie=ce.current;for(ie.set(u.hash,pe);ie.size>50;){let xe=ie.keys().next().value;if(xe===void 0)break;ie.delete(xe)}D(pe)}else T(!0)},[e,t]),Me=(0,p.useCallback)(async(u,A,K,pe=!1)=>{let ie=++Z.current;O({path:u,hash:A,shortHash:K}),F(null),j(!1),ee(pe);let xe=await e.query({sessionId:t,query:{kind:"diff",path:u,base:"commit",commit:A,...pe?{context:1e5}:{}}});ie===Z.current&&(xe.ok&&xe.value.kind==="diff"?F(xe.value.text):j(!0))},[e,t]),Se=(0,p.useCallback)(()=>{Z.current+=1,O(null),F(null),j(!1),ee(!1)},[]);(0,p.useEffect)(()=>{if(I===null)return;let u=A=>{A.key==="Escape"&&Se()};return document.addEventListener("keydown",u),()=>document.removeEventListener("keydown",u)},[I,Se]);let fe=g.search!=="",be=(0,p.useMemo)(()=>fe?a.map(u=>({commit:u,lane:0,color:0,edges:[],merge:!1})):fn(a),[a,fe]),Te=(0,p.useMemo)(()=>fe?0:mn(be),[be,fe]),de=fe?12:Math.max(Fe,Te*Fe),$=`${de}px minmax(120px,1fr) 72px 120px 96px`,he=c<0?!0:a.length<c,C=()=>{let u=E.current;u===null||b||!he||u.scrollTop+u.clientHeight>=u.scrollHeight-240&&Y(a.length,g)},Re=(0,p.useMemo)(()=>Date.now(),[a]),ae=(0,p.useMemo)(()=>N===null?[]:bn(N.stats.map(u=>({path:u.path,meta:u.status}))),[N]),[q,Ce]=(0,p.useState)(null),[_e,ve]=(0,p.useState)(null),Ee=(0,p.useRef)(void 0),_=(0,p.useRef)(null),S=(0,p.useCallback)((u,A,K)=>{Ee.current!==void 0&&clearTimeout(Ee.current),Ee.current=setTimeout(()=>{_.current=u.hash,Ce({commit:u,x:A,y:K});let pe=ce.current.get(u.hash);if(pe!==void 0){ve(pe.body);return}ve(null),e.query({sessionId:t,query:{kind:"show",ref:u.hash}}).then(ie=>{_.current===u.hash&&(ie.ok&&ie.value.kind==="show"?(ce.current.set(u.hash,{commit:ie.value.commit,body:ie.value.body,stats:ie.value.stats}),ve(ie.value.body)):ve(""))})},260)},[e,t]),P=(0,p.useCallback)(()=>{Ee.current!==void 0&&clearTimeout(Ee.current),_.current=null,Ce(null),ve(null)},[]);return(0,p.createElement)("div",{className:"gp-overview"},[Fo(I,{text:Q,error:H,mode:ue,onMode:oe,expanded:se,onExpand:u=>{I!==null&&Me(I.path,I.hash,I.shortHash,u)},onClose:Se,remote:e,sessionId:t,t:n}),(0,p.createElement)("div",{key:"left",className:"gp-col gp-col--left"},Lo(r,g.ref,L,{onFilter:u=>w(A=>({...A,ref:u})),onToggle:u=>U(A=>{let K=new Set(A);return K.has(u)?K.delete(u):K.add(u),K}),t:n})),(0,p.createElement)("div",{key:"mid",className:"gp-col gp-col--mid gp-history"},[(0,p.createElement)("div",{key:"tb",className:"gp-toolbar"},[(0,p.createElement)("input",{key:"search",className:"gp-search",placeholder:n("overview.search"),value:v,onChange:u=>M(u.target.value)}),(0,p.createElement)("select",{key:"author",className:"gp-select",value:g.author,onChange:u=>w(A=>({...A,author:u.target.value}))},[(0,p.createElement)("option",{key:"",value:""},n("overview.allUsers")),...s.map(u=>(0,p.createElement)("option",{key:u,value:u},u))]),(0,p.createElement)("select",{key:"since",className:"gp-select",value:g.since,onChange:u=>w(A=>({...A,since:u.target.value}))},[(0,p.createElement)("option",{key:"",value:""},n("overview.allTime")),(0,p.createElement)("option",{key:"today",value:"1 day ago"},n("overview.today")),(0,p.createElement)("option",{key:"7d",value:"7 days ago"},n("overview.last7d")),(0,p.createElement)("option",{key:"30d",value:"30 days ago"},n("overview.last30d"))]),(0,p.createElement)("button",{key:"fetch",type:"button",className:"gp-icon-btn",title:n("overview.fetch"),onClick:()=>{e.run({sessionId:t,action:{kind:"fetch"}}).then(()=>R())}},(0,p.createElement)(at,{size:14}))]),(0,p.createElement)("div",{key:"list",className:"gp-history__list",ref:E,onScroll:C},a.length===0?(0,p.createElement)("div",{className:"gp-empty"},n(b?"common.loading":m?"overview.loadFailed":"overview.noResults")):be.map(u=>Po(u,{selected:h?.hash===u.commit.hash,gridTpl:$,graphW:de,laneCount:Te,searching:fe,now:Re,onSelect:()=>void ze(u.commit),onHoverEnter:S,onHoverLeave:P,t:n})))]),(0,p.createElement)("div",{key:"right",className:"gp-col gp-col--right gp-detail"},h===null?(0,p.createElement)("div",{className:"gp-empty"},[(0,p.createElement)(rt,{key:"i",size:20}),n("overview.selectCommit")]):[(0,p.createElement)("div",{key:"files",className:"gp-detail__files"},N===null?(0,p.createElement)("div",{className:"gp-empty"},n(B?"overview.detailFailed":"common.loading")):Go(ae,{activePath:I?.path??null,openTitle:n("overview.openFileDiff"),onOpen:u=>{h!==null&&Me(u,h.hash,h.shortHash)}})),(0,p.createElement)("div",{key:"msg",className:"gp-detail__msg"},[(0,p.createElement)("div",{key:"subj",className:"gp-detail__subject"},h.subject),(0,p.createElement)("div",{key:"meta",className:"gp-detail__meta"},[(0,p.createElement)("span",{key:"h",className:"gp-commit-hash"},h.shortHash),(0,p.createElement)("span",{key:"a"},h.author),(0,p.createElement)("span",{key:"t",title:De(h.dateIso)},Ie(h.dateIso,Re,n))]),N!==null&&N.body!==""?(0,p.createElement)("pre",{key:"body",className:"gp-detail__body"},N.body):(0,p.createElement)("div",{key:"nb",className:"gp-empty"},n("overview.noMessage"))])]),Do(q,_e,n)])}function Do(e,t,n){if(e===null||typeof document>"u")return null;let r=460,o=Math.min(e.x+16,(typeof window<"u"?window.innerWidth:1200)-r-12),s=e.y+14,i=(0,p.createElement)("div",{className:"gp-hovercard",style:{left:o,top:s,maxWidth:r}},[(0,p.createElement)("div",{key:"subj",className:"gp-hovercard__subject"},e.commit.subject),(0,p.createElement)("div",{key:"meta",className:"gp-hovercard__meta"},[(0,p.createElement)("span",{key:"h",className:"gp-commit-hash"},e.commit.shortHash),(0,p.createElement)("span",{key:"a"},e.commit.author)]),t===null?(0,p.createElement)("div",{key:"l",className:"gp-hovercard__loading"},n("common.loading")):t===""?(0,p.createElement)("div",{key:"e",className:"gp-hovercard__loading"},n("overview.noMessage")):(0,p.createElement)("pre",{key:"body",className:"gp-hovercard__body"},t)]);return(0,Ht.createPortal)(i,document.body,"commit-hovercard")}function Lo(e,t,n,r){if(e===null)return(0,p.createElement)("div",{className:"gp-empty"},r.t("common.loading"));let o=(s,i,a,l,c="")=>(0,p.createElement)("div",{key:s,className:"gp-branch-group"},[(0,p.createElement)("div",{key:"head",className:"gp-branch-group__head",onClick:()=>r.onToggle(s)},[(0,p.createElement)(qe,{key:"c",size:11,open:!n.has(s)}),`${r.t(i)} (${a.length})`]),n.has(s)?null:a.map(d=>{let b=c+d.name,f=e.current===d.name,m=`gp-branch-row${t===b?" gp-branch-row--active":""}${f?" gp-branch-row--current":""}`;return(0,p.createElement)("div",{key:d.name,className:m,title:d.name,onClick:()=>r.onFilter(t===b?null:b)},[(0,p.createElement)("span",{key:"i",style:{display:"inline-flex",width:14}},l),(0,p.createElement)("span",{key:"n",className:"gp-tree-name"},d.name),d.ahead||d.behind?(0,p.createElement)("span",{key:"t",className:"gp-branch-row__track"},`${d.ahead?`\u2191${d.ahead}`:""}${d.behind?`\u2193${d.behind}`:""}`):null])})]);return(0,p.createElement)("div",{},[(0,p.createElement)("div",{key:"head-row",className:"gp-branch-row",style:{fontWeight:600,paddingLeft:10},onClick:()=>r.onFilter(null)},r.t("overview.head")),o("local","overview.local",e.local,(0,p.createElement)(Rt,{size:13})),o("remote","overview.remote",e.remote,(0,p.createElement)(Rt,{size:13})),o("tags","overview.tags",e.tags,(0,p.createElement)(dn,{size:13}))])}function Po(e,t){let n=e.commit;return(0,p.createElement)("div",{key:n.hash,className:`gp-commit-row${t.selected?" gp-commit-row--active":""}`,style:{gridTemplateColumns:t.gridTpl},onClick:t.onSelect,onMouseEnter:r=>t.onHoverEnter(n,r.clientX,r.clientY),onMouseLeave:t.onHoverLeave},[(0,p.createElement)("div",{key:"g",className:"gp-graph-cell"},t.searching?null:Bo(e,t.laneCount)),(0,p.createElement)("div",{key:"s",className:"gp-commit-subject"},[...n.refs.map(r=>(0,p.createElement)("span",{key:r.name,className:`gp-ref-chip${r.head?" gp-ref-chip--head":""}${r.kind==="remote"?" gp-ref-chip--remote":""}${r.kind==="tag"?" gp-ref-chip--tag":""}`},r.name)),n.subject]),(0,p.createElement)("div",{key:"h",className:"gp-commit-hash"},n.shortHash),(0,p.createElement)("div",{key:"a",className:"gp-commit-author"},n.author),(0,p.createElement)("div",{key:"d",className:"gp-commit-date",title:De(n.dateIso)},Ie(n.dateIso,t.now,t.t))])}var vt=["#4e9bff","#3fb950","#e0982e","#d05ce3","#e5534b","#2dc6c6","#d29922","#8b949e"];function Bo(e,t){let n=Math.max(Fe,t*Fe),r=s=>s*Fe+Fe/2,o=[];for(let s of e.edges){let i=vt[s.color%vt.length];o.push((0,p.createElement)("path",{key:`e${s.fromLane}-${s.toLane}-${s.color}`,d:`M ${r(s.fromLane)} 0 C ${r(s.fromLane)} ${Je/2}, ${r(s.toLane)} ${Je/2}, ${r(s.toLane)} ${Je}`,stroke:i,strokeWidth:1.6,fill:"none"}))}return o.push((0,p.createElement)("circle",{key:"node",cx:r(e.lane),cy:Je/2,r:e.merge?4:3.2,fill:vt[e.color%vt.length],stroke:"var(--dsw-alias-bg-layer-1)",strokeWidth:1})),(0,p.createElement)("svg",{className:"gp-graph-svg",width:n,height:Je},o)}function Go(e,t){let n=[],r=(o,s)=>{for(let i of o)if(i.dir)n.push((0,p.createElement)("div",{key:i.path,className:"gp-tree-row",style:{paddingLeft:10+s*14}},[(0,p.createElement)(qe,{key:"c",size:11,open:!0}),(0,p.createElement)("span",{key:"n",className:"gp-tree-name"},i.name)])),r(i.children,s+1);else{let a=String(i.meta??"modified"),l=t.activePath===i.path;n.push((0,p.createElement)("div",{key:i.path,className:`gp-tree-row${l?" gp-tree-row--active":""}`,style:{paddingLeft:10+s*14},title:t.openTitle,onClick:()=>t.onOpen(i.path)},[(0,p.createElement)("span",{key:"st",className:`gp-status-badge gp-status--${a}`},(a[0]??"M").toUpperCase()),(0,p.createElement)("span",{key:"n",className:"gp-tree-name"},i.name)]))}};return r(e,0),(0,p.createElement)("div",{},n)}function Fo(e,t){if(e===null||typeof document>"u")return null;let{text:n,error:r,mode:o,onMode:s,expanded:i,onExpand:a,onClose:l,remote:c,sessionId:d,t:b}=t,f=(0,p.createElement)("div",{className:"gp-modal-backdrop",onClick:m=>{m.target===m.currentTarget&&l()}},(0,p.createElement)("div",{className:"gp-modal",role:"dialog","aria-modal":!0},[(0,p.createElement)("div",{key:"bar",className:"gp-modal__bar"},[(0,p.createElement)("span",{key:"fileicon",className:"gp-modal__fileicon"},(0,p.createElement)(gn,{size:15})),(0,p.createElement)("span",{key:"path",className:"gp-modal__path",title:e.path},Uo(e.path)),(0,p.createElement)("span",{key:"hash",className:"gp-modal__hash"},e.shortHash),n!==null&&n!==""?(()=>{let m=_t(n);return(0,p.createElement)("span",{key:"sum",className:"gp-modal__sum"},[(0,p.createElement)("span",{key:"a",className:"gp-stats__add"},`+${m.add}`),(0,p.createElement)("span",{key:"d",className:"gp-stats__del"},`\u2212${m.del}`)])})():null,(0,p.createElement)("button",{key:"expand",type:"button",className:`gp-seg__btn gp-diff__expand${i?" gp-seg__btn--active":""}`,disabled:o!=="split",title:b(i?"diff.collapse":"diff.expandAll"),onClick:()=>a(!i)},b(i?"diff.collapse":"diff.expandAll")),(0,p.createElement)("div",{key:"seg",className:"gp-seg"},["split","before","after"].map(m=>(0,p.createElement)("button",{key:m,type:"button",className:`gp-seg__btn${o===m?" gp-seg__btn--active":""}`,onClick:()=>s(m)},b(`diff.${m}`)))),(0,p.createElement)("button",{key:"close",type:"button",className:"gp-icon-btn gp-modal__close",title:b("common.close"),onClick:l},(0,p.createElement)(pn,{size:15}))]),(0,p.createElement)("div",{key:"scroll",className:"gp-modal__scroll"},n===null?(0,p.createElement)("div",{className:"gp-empty"},b(r?"overview.diffFailed":"common.loading")):(0,p.createElement)(yt,{text:n,mode:o,path:e.path,remote:c,sessionId:d,imageSpec:{base:"commit",commit:e.hash},t:b}))]));return(0,Ht.createPortal)(f,document.body,"file-diff-modal")}function Uo(e){let t=e.lastIndexOf("/");return t<0?[(0,p.createElement)("span",{key:"n",className:"gp-modal__name"},e)]:[(0,p.createElement)("span",{key:"d",className:"gp-modal__dir"},e.slice(0,t+1)),(0,p.createElement)("span",{key:"n",className:"gp-modal__name"},e.slice(t+1))]}var k=require("react");var le=require("react");function va({remote:e,sessionId:t,refreshKey:n,t:r}){let[o,s]=(0,le.useState)(null);if((0,le.useEffect)(()=>{let l=!0;return e.query({sessionId:t,query:{kind:"worktree-stats"}}).then(c=>{l&&c.ok&&c.value.kind==="worktree-stats"&&s(c.value.stats)}),()=>{l=!1}},[e,t,n]),o===null)return(0,le.createElement)("div",{className:"gp-stats","aria-hidden":!0});let i=Date.now(),a=[(0,le.createElement)("span",{key:"files",className:"gp-stats__item"},r("stats.files",{n:o.fileCount})),(0,le.createElement)("span",{key:"lines",className:"gp-stats__item"},[(0,le.createElement)("span",{key:"a",className:"gp-stats__add"},`+${o.insertions}`)," ",(0,le.createElement)("span",{key:"d",className:"gp-stats__del"},`\u2212${o.deletions}`)])];return o.staged>0&&a.push((0,le.createElement)("span",{key:"st",className:"gp-stats__item"},r("stats.staged",{n:o.staged}))),o.modified>0&&a.push((0,le.createElement)("span",{key:"mo",className:"gp-stats__item"},r("stats.modified",{n:o.modified}))),o.untracked>0&&a.push((0,le.createElement)("span",{key:"un",className:"gp-stats__item"},r("stats.untracked",{n:o.untracked}))),o.lastChangeAt!==null&&a.push((0,le.createElement)("span",{key:"lc",className:"gp-stats__item",title:De(o.lastChangeAt)},r("stats.lastChange",{time:Ie(o.lastChangeAt,i,r)}))),o.headCommittedAt!==null&&a.push((0,le.createElement)("span",{key:"hc",className:"gp-stats__item",title:De(o.headCommittedAt)},r("stats.lastCommit",{time:Ie(o.headCommittedAt,i,r)}))),(0,le.createElement)("div",{className:"gp-stats"},a)}var zo={added:"A",modified:"M",deleted:"D",renamed:"R",untracked:"U",conflicted:"!",typechange:"T"};function $o(e){return e==="added"||e==="untracked"?"gp-status--added":e==="deleted"?"gp-status--deleted":e==="renamed"?"gp-status--renamed":"gp-status--modified"}function Ea({remote:e,sessionId:t,snapshot:n,refreshKey:r,onAction:o,t:s}){let[i,a]=(0,k.useState)(new Set),[l,c]=(0,k.useState)(""),[d,b]=(0,k.useState)(!1),[f,m]=(0,k.useState)(!1),[y,h]=(0,k.useState)(null),[x,N]=(0,k.useState)(new Set),[D,B]=(0,k.useState)(null),[T,I]=(0,k.useState)(null),[O,Q]=(0,k.useState)(null),[F,H]=(0,k.useState)("split"),[j,ue]=(0,k.useState)(!1),[oe,se]=(0,k.useState)(!1),ee=(0,k.useMemo)(()=>n.changes.filter(E=>E.staged).sort(qt),[n]),Z=(0,k.useMemo)(()=>n.changes.filter(E=>!E.staged&&E.status!=="untracked").sort(qt),[n]),g=(0,k.useMemo)(()=>n.changes.filter(E=>E.status==="untracked").sort(qt),[n]),w=[{key:"staged",labelKey:"changes.groupStaged",items:ee},{key:"unstaged",labelKey:"changes.groupUnstaged",items:Z},{key:"untracked",labelKey:"changes.groupUntracked",items:g}].filter(E=>E.items.length>0);(0,k.useEffect)(()=>{a(E=>{if(E.size===0)return E;let R=new Set(n.changes.map(ce=>ce.path)),Y=new Set,me=!1;for(let ce of E)R.has(ce)?Y.add(ce):me=!0;return me?Y:E})},[n]),(0,k.useEffect)(()=>{if(!d||oe||l.trim()!=="")return;let E=!0;return e.query({sessionId:t,query:{kind:"last-commit-message"}}).then(R=>{E&&R.ok&&R.value.kind==="last-commit-message"&&(c(R.value.message),se(!0))}),()=>{E=!1}},[d,oe,l,e,t]);let v=(0,k.useCallback)(async(E,R,Y=!1)=>{I({path:E,base:R}),Q(null),ue(Y);let me=await e.query({sessionId:t,query:{kind:"diff",path:E,base:R,...Y?{context:1e5}:{}}});me.ok&&me.value.kind==="diff"?Q(me.value.text):Q("")},[e,t]);(0,k.useEffect)(()=>{if(T===null)return;if(!n.changes.some(R=>R.path===T.path)){I(null),Q(null);return}v(T.path,T.base,j)},[n]);let M=E=>{a(R=>{let Y=new Set(R);return Y.has(E)?Y.delete(E):Y.add(E),Y})},L=async E=>{if(f)return!1;m(!0),h(null);let R=await o(E);return m(!1),R.ok?!0:(h(R.error??s("error.generic")),!1)},U=async()=>{let E=l.trim();if(E===""&&!d){h(s("error.emptyMessage"));return}let R=i.size>0?[...i]:void 0;await L({kind:"commit",message:E,...R?{paths:R}:{},...d?{amend:!0}:{}})&&(c(""),a(new Set),b(!1),se(!1))},z=E=>{N(R=>{let Y=new Set(R);return Y.has(E)?Y.delete(E):Y.add(E),Y})},te=O!==null&&O!==""?_t(O):null;return(0,k.createElement)("div",{className:"gp-changes"},[(0,k.createElement)("div",{key:"left",className:"gp-changes__left"},[(0,k.createElement)(va,{key:"stats",remote:e,sessionId:t,refreshKey:r,t:s}),(0,k.createElement)("div",{key:"toolbar",className:"gp-toolbar"},[(0,k.createElement)("button",{key:"sa",type:"button",className:"gp-btn",disabled:f||n.changes.length===0,onClick:()=>void L({kind:"stage-all"})},s("changes.stageAll")),(0,k.createElement)("button",{key:"ua",type:"button",className:"gp-btn",disabled:f||n.staged===0,onClick:()=>void L({kind:"unstage-all"})},s("changes.unstageAll"))]),y!==null?(0,k.createElement)("div",{key:"err",className:"gp-feedback"},y):null,(0,k.createElement)("div",{key:"list",className:"gp-changes__list"},n.changes.length===0?(0,k.createElement)("div",{className:"gp-empty"},s("changes.noChanges")):w.map(E=>(0,k.createElement)("div",{key:E.key},[(0,k.createElement)("div",{key:"head",className:"gp-group-head",onClick:()=>z(E.key)},[(0,k.createElement)(qe,{key:"chev",size:12,open:!x.has(E.key)}),`${s(E.labelKey)} (${E.items.length})`]),x.has(E.key)?null:E.items.map(R=>Ko(R,{selected:i.has(R.path),active:T?.path===R.path,busy:f,armed:D===R.path,onToggle:()=>M(R.path),onOpen:()=>void v(R.path,R.staged?"staged":"worktree"),onStage:()=>void L(R.staged?{kind:"unstage",paths:[R.path]}:{kind:"stage",paths:[R.path]}),onDiscard:()=>{D===R.path?(L({kind:"discard",paths:[R.path]}),B(null)):B(R.path)},t:s}))]))),(0,k.createElement)("div",{key:"box",className:"gp-commitbox"},[(0,k.createElement)("textarea",{key:"msg",className:"gp-commitbox__msg",placeholder:s("commit.placeholder"),value:l,onChange:E=>c(E.target.value)}),(0,k.createElement)("div",{key:"row",className:"gp-commitbox__row"},[(0,k.createElement)("label",{key:"amend",className:"gp-commitbox__amend"},[(0,k.createElement)("input",{key:"cb",type:"checkbox",className:"gp-check",checked:d,onChange:()=>{b(E=>!E),se(!1)}}),s("commit.amend")]),(0,k.createElement)("div",{key:"actions",className:"gp-commitbox__actions"},[(0,k.createElement)("button",{key:"commit",type:"button",className:"gp-btn gp-btn--primary",disabled:f,onClick:()=>void U()},s("commit.commit"))])])])]),(0,k.createElement)("div",{key:"right",className:"gp-changes__right"},T===null?(0,k.createElement)("div",{className:"gp-empty"},s("changes.selectFile")):(0,k.createElement)("div",{className:"gp-diff"},[(0,k.createElement)("div",{key:"tb",className:"gp-diff__toolbar"},[(0,k.createElement)("span",{key:"path",className:"gp-diff__path"},T.path),te?(0,k.createElement)("span",{key:"sum",className:"gp-stats__item",style:{marginLeft:"auto"}},[(0,k.createElement)("span",{key:"a",className:"gp-stats__add"},`+${te.add}`)," ",(0,k.createElement)("span",{key:"d",className:"gp-stats__del"},`\u2212${te.del}`)]):null,(0,k.createElement)("button",{key:"expand",type:"button",className:`gp-seg__btn gp-diff__expand${j?" gp-seg__btn--active":""}`,style:te?{}:{marginLeft:"auto"},disabled:F!=="split",title:s(j?"diff.collapse":"diff.expandAll"),onClick:()=>void v(T.path,T.base,!j)},s(j?"diff.collapse":"diff.expandAll")),(0,k.createElement)("div",{key:"seg",className:"gp-seg"},["split","before","after"].map(E=>(0,k.createElement)("button",{key:E,type:"button",className:`gp-seg__btn${F===E?" gp-seg__btn--active":""}`,onClick:()=>H(E)},s(`diff.${E}`))))]),(0,k.createElement)("div",{key:"scroll",className:"gp-diff__scroll"},O===null?(0,k.createElement)("div",{className:"gp-empty"},s("common.loading")):(0,k.createElement)(yt,{text:O,mode:F,path:T.path,remote:e,sessionId:t,imageSpec:{base:T.base},t:s}))]))])}function qt(e,t){return e.path.localeCompare(t.path)}function Ko(e,t){let n=e.path.split("/").pop()??e.path,r=e.path.includes("/")?e.path.slice(0,e.path.lastIndexOf("/")):"";return(0,k.createElement)("div",{key:e.path+(e.staged?":s":":w"),className:`gp-file-row${t.active?" gp-file-row--active":""}`,onClick:t.onOpen},[(0,k.createElement)("input",{key:"cb",type:"checkbox",className:"gp-check",checked:t.selected,onClick:o=>o.stopPropagation(),onChange:t.onToggle}),(0,k.createElement)("span",{key:"st",className:`gp-status-badge ${$o(e.status)}`},zo[e.status]??"?"),(0,k.createElement)("span",{key:"nm",className:"gp-tree-name",title:e.path},[n,r?(0,k.createElement)("span",{key:"d",style:{color:"var(--dsw-alias-label-tertiary)",marginLeft:6,fontSize:11}},r):null]),(0,k.createElement)("span",{key:"act",className:"gp-file-row__actions"},[(0,k.createElement)("button",{key:"stg",type:"button",className:"gp-icon-btn",title:e.staged?t.t("changes.unstageAll"):t.t("changes.stageAll"),disabled:t.busy,onClick:o=>{o.stopPropagation(),t.onStage()}},e.staged?"\u2212":"+"),(0,k.createElement)("button",{key:"dis",type:"button",className:"gp-icon-btn",title:t.armed?t.t("changes.discardConfirm"):t.t("changes.discard"),style:t.armed?{color:"var(--dsw-alias-state-error-primary)"}:{},disabled:t.busy,onClick:o=>{o.stopPropagation(),t.onDiscard()}},"\u21BA")])])}function wa({ctx:e,sessionId:t,t:n}){let[r,o]=(0,G.useState)("overview"),[s,i]=(0,G.useState)(0),a=nt(t),l=$e(e);(0,G.useEffect)(()=>{if(t===void 0||t==="")return;let m=sn(t);m!==null?o(m):a.state==="ready"&&o(a.snapshot.dirty?"changes":"overview")},[t]);let c=a.state==="ready"?a.snapshot.checkedAt:0;(0,G.useEffect)(()=>{i(m=>m+1)},[c]);let d=async m=>{if(t===void 0)return{ok:!1,error:n("error.noCwd")};let y=await l.run({sessionId:t,action:m});return y.ok?(Nt(t).resync(),{ok:!0}):{ok:!1,error:Ho(y.error.code,y.error.message,n)}},b=[{key:"overview",label:n("tab.overview"),icon:(0,G.createElement)(rt,{size:14})},{key:"changes",label:n("tab.changes"),icon:(0,G.createElement)(cn,{size:14})}],f=(()=>{if(t===void 0||t==="")return(0,G.createElement)("div",{className:"gp-empty"},n("error.noCwd"));if(a.state==="no-cwd")return(0,G.createElement)("div",{className:"gp-empty"},n("error.noCwd"));if(a.state==="error")return(0,G.createElement)("div",{className:"gp-empty"},a.error.code==="not-a-git-repo"?n("error.notARepo"):n("pill.unavailable"));if(a.state==="cold"||a.state==="loading")return(0,G.createElement)("div",{className:"gp-empty"},n("common.loading"));let m=a.snapshot;return(0,G.createElement)("div",{style:{display:"contents"}},[(0,G.createElement)("div",{key:"overview",style:r==="overview"?{display:"contents"}:{display:"none"}},(0,G.createElement)(_a,{remote:l,sessionId:t,t:n})),(0,G.createElement)("div",{key:"changes",style:r==="changes"?{display:"contents"}:{display:"none"}},(0,G.createElement)(Ea,{remote:l,sessionId:t,snapshot:m,refreshKey:s,onAction:d,t:n}))])})();return(0,G.createElement)("div",{className:"gp-panel","data-conversation-composer-overlay":""},[(0,G.createElement)("div",{key:"tabs",className:"gp-tabbar",role:"tablist"},[...b.map(m=>(0,G.createElement)("button",{key:m.key,type:"button",role:"tab","aria-selected":r===m.key,className:`gp-tab${r===m.key?" gp-tab--active":""}`,onClick:()=>o(m.key)},[(0,G.createElement)("span",{key:"i",className:"gp-tab__icon"},m.icon),m.label])),(0,G.createElement)(qo,{key:"ver",remote:l,t:n})]),(0,G.createElement)("div",{key:"body",className:"gp-body"},f)])}function Ho(e,t,n){switch(e){case"empty-message":return n("error.emptyMessage");case"not-a-git-repo":return n("error.notARepo");case"cwd-unavailable":return n("error.noCwd");case"local-changes-block":return n("error.localChangesBlock");default:return t??n("error.generic")}}function qo({remote:e,t}){let[n,r]=(0,G.useState)({kind:"idle"});(0,G.useEffect)(()=>{let a=!0;return e.version({}).then(l=>{a&&"current"in l&&r(c=>({...c,info:l}))}),()=>{a=!1}},[e]);let o=async()=>{r(l=>({kind:"checking",info:l.info}));let a=await e.version({check:!0});r({kind:"idle",info:"current"in a?a:void 0})},s=n.info,i=n.kind==="checking"?(0,G.createElement)("span",{className:"gp-verbar__status"},t("version.checking")):s===void 0||!s.checkedRemote?null:s.error!==void 0?(0,G.createElement)("span",{className:"gp-verbar__status gp-verbar__status--err",title:s.error},s.error==="repository is not configured"?t("version.noRepo"):t("version.error")):s.updateAvailable&&s.latest!==void 0?(0,G.createElement)("span",{},[(0,G.createElement)("span",{key:"s",className:"gp-verbar__status gp-verbar__status--new"},t("version.updateAvailable",{latest:s.latest,current:s.current})),s.releaseUrl!==void 0?(0,G.createElement)("a",{key:"l",className:"gp-verbar__link",href:s.releaseUrl,target:"_blank",rel:"noreferrer",style:{marginLeft:8}},t("version.viewRelease")):null]):(0,G.createElement)("span",{className:"gp-verbar__status gp-verbar__status--ok"},t("version.upToDate",{current:s.current}));return(0,G.createElement)("div",{className:"gp-verbar"},[s!==void 0?(0,G.createElement)("span",{key:"tag",className:"gp-verbar__tag"},`v${s.current}`):null,i,(0,G.createElement)("button",{key:"btn",type:"button",className:"gp-verbar__btn",disabled:n.kind==="checking",onClick:()=>void o()},[(0,G.createElement)("span",{key:"i",className:"gp-tab__icon"},(0,G.createElement)(at,{size:12})),t("version.check")]),s?.repositoryUrl!==void 0?(0,G.createElement)("a",{key:"gh",className:"gp-icon-btn gp-verbar__gh",href:s.repositoryUrl,target:"_blank",rel:"noreferrer",title:t("version.openRepo"),"aria-label":t("version.openRepo")},(0,G.createElement)(un,{size:15})):null])}var ne=require("react"),Ra=require("react-dom");var xa="data-gp-tab-dot",Ue,Wt=null,ka="",Et=null;function Wo(e){if(typeof document>"u")return null;let t=document.querySelectorAll(Tt);for(let n of t)if((n.textContent??"").trim()===e)return n;return null}function Xt(){let e=Wo(ka);if(e===null)return;let t=e.querySelector(`[${xa}]`);if(Et===null){t?.remove();return}let n=`gp-tab-dot gp-tab-dot--${Et}`;if(t!==null){t.className!==n&&(t.className=n);return}let r=document.createElement("span");r.className=n,r.setAttribute(xa,""),r.setAttribute("aria-hidden","true"),e.appendChild(r)}function Xo(){if(typeof document>"u"||typeof MutationObserver>"u")return;let e=document.querySelector(an);if(e!==Wt){if(Ue?.disconnect(),Wt=e,e===null){Ue=void 0;return}Ue=new MutationObserver(()=>Xt()),Ue.observe(e,{childList:!0,subtree:!0})}}function Na(e,t){typeof document>"u"||(ka=e,Et=t,Xo(),Xt())}function Sa(){Et=null,Xt(),Ue?.disconnect(),Ue=void 0,Wt=null}function Ta(e){let t=e.replace(/[/\\]+$/,"").split(/[/\\]/);return t[t.length-1]||e}function Vo(){let[e,t]=(0,ne.useState)(!1),[n,r]=(0,ne.useState)(null),o=(0,ne.useRef)(null);return(0,ne.useLayoutEffect)(()=>{if(!e||o.current===null){r(null);return}let a=o.current.getBoundingClientRect();r({left:a.left,bottom:window.innerHeight-a.top+8})},[e]),{bind:{ref:a=>{o.current=a},onMouseEnter:()=>t(!0),onMouseLeave:()=>t(!1)},render:a=>!e||n===null||typeof document>"u"?null:(0,Ra.createPortal)((0,ne.createElement)("div",{className:"gp-tip",style:{left:n.left,bottom:n.bottom}},a.map((l,c)=>(0,ne.createElement)("div",{key:c,className:c===0?"gp-tip__path":"gp-tip__note"},l))),document.body)}}function Ca({sessionId:e,t}){let n=nt(e),r=Vo(),o=n.state==="ready"&&n.snapshot.showInputPill===!1?n.snapshot.dirty?"dirty":"synced":null,s=t("panel.tab");if((0,ne.useEffect)(()=>(Na(s,o),()=>{Sa()}),[s,o]),n.state==="cold"||n.state==="loading"||n.state==="no-cwd")return null;if(n.state==="error"){if(n.error.showInputPill===!1)return null;if(n.error.code==="not-a-git-repo"){let f=n.error.cwd;return f===void 0||f===""?null:(0,ne.createElement)("span",{className:"gp-pill-wrap"},[(0,ne.createElement)("span",{key:"p",className:"gp-pill gp-pill--plain",ref:r.bind.ref,onMouseEnter:r.bind.onMouseEnter,onMouseLeave:r.bind.onMouseLeave},(0,ne.createElement)("span",{className:"gp-pill__repo"},Ta(f))),r.render([f])])}return(0,ne.createElement)("span",{className:"gp-pill gp-pill--degraded",title:n.error.detail??t("pill.unavailable")},t("pill.unavailable"))}let i=n.snapshot;if(i.showInputPill===!1)return null;let a=Ta(i.root),l=i.branch??`(${t("pill.detached")})`,c=i.dirty,d=c?"gp-pill__git--dirty":"gp-pill__git--synced";return(0,ne.createElement)("span",{className:"gp-pill-wrap"},[(0,ne.createElement)("button",{key:"btn",type:"button",className:"gp-pill",onClick:()=>{e!==void 0&&e!==""&&on(e,c?"changes":"overview"),ln(t("panel.tab"))},ref:r.bind.ref,onMouseEnter:r.bind.onMouseEnter,onMouseLeave:r.bind.onMouseLeave},[(0,ne.createElement)("span",{key:"repo",className:"gp-pill__repo"},a),(0,ne.createElement)("span",{key:"git",className:`gp-pill__git ${d}`},["(",(0,ne.createElement)("span",{key:"b",className:"gp-pill__branch"},l),")"])]),r.render([i.root,t(c?"pill.dirty":"pill.synced")])])}var re=require("react");function Zo(e){for(let t of e){let n=t.schema?.dict;if(n!==void 0&&"showInputPill"in n||JSON.stringify(t.schema).includes("showInputPill"))return t.ns}}function Aa({ctx:e,t}){let[,n]=(0,re.useState)(0),[r,o]=(0,re.useState)(!1),[s,i]=(0,re.useState)(!1),[a,l]=(0,re.useState)(null),c=()=>{n(T=>T+1)},d=e.get("configForms"),b=d?.describe();(0,re.useEffect)(()=>{if(b!==void 0)return b.ensure(),b.subscribe(c)},[b]);let f=b?.getSnapshot().view,m=(0,re.useMemo)(()=>f===void 0?void 0:Zo(f.namespaces),[f]),y=d!==void 0&&m!==void 0?d.get(m):void 0;(0,re.useEffect)(()=>{if(y!==void 0)return y.subscribe(c)},[y]);let h=y?.getSnapshot(),x=y!==void 0&&h!==void 0&&h.status==="ready",N=b?.getSnapshot().status,D=a??(typeof h?.value?.showInputPill=="boolean"?h.value.showInputPill:!0),B=async T=>{if(y!==void 0){l(T),i(!1),o(!0);try{let I=await y.set("showInputPill",T);l(null),I?(He(),setTimeout(()=>He(),1e3)):i(!0)}catch{l(null),i(!0)}finally{o(!1)}}};return d===void 0?(0,re.createElement)("p",{className:"gp-cfg__hint"},t("cfg.notLoaded")):x?(0,re.createElement)("div",{className:"gp-cfg"},[(0,re.createElement)("h3",{key:"title",className:"gp-cfg__title"},t("cfg.title")),(0,re.createElement)("label",{key:"row",className:"gp-cfg__row"},[(0,re.createElement)("input",{key:"switch",type:"checkbox",role:"switch",className:"gp-cfg__switch",checked:D,disabled:r||h?.writable===!1,onChange:T=>{B(T.currentTarget.checked)}}),(0,re.createElement)("span",{key:"text",className:"gp-cfg__text"},t("cfg.toggle"))]),(0,re.createElement)("p",{key:"hint",className:"gp-cfg__hint"},t("cfg.hint")),s?(0,re.createElement)("p",{key:"error",className:"gp-cfg__err",role:"alert"},t("cfg.saveFailed")):null]):N==="idle"||N==="loading"?(0,re.createElement)("p",{className:"gp-cfg__hint"},t("common.loading")):(0,re.createElement)("p",{className:"gp-cfg__hint"},t("cfg.notLoaded"))}var Qe="gitPanel",Yo=["dsh-git-panel","@xbzbing/dsh-git-panel"],Oa=["slots","locale","connection"],Ma="dsh-git-panel";function Ia(e){Yt(),nn(e),e.effect(()=>e.locale.register(Qe,{zh:Jt,en:Qt})??void 0,"dsh-git-panel: dictionaries");let t=e.locale.bind(Qe);e.slots.inject("conversation.view",()=>e.slots.register({name:"conversation.view",id:"git-panel",order:30,locale:Qe,label:()=>t("panel.tab")},n=>(0,wt.createElement)(wa,{ctx:e,sessionId:n.sessionId,t}))),e.slots.inject("conversation.input.left",()=>e.slots.register({name:"conversation.input.left",id:"git-panel-pill",order:100,locale:Qe},n=>(0,wt.createElement)(Ca,{sessionId:n.sessionId,t})));for(let n of Yo)e.slots.inject("plugins.bundle.config",()=>e.slots.register({name:"plugins.bundle.config",key:n,locale:Qe},r=>r.view==="summary"?t("cfg.title"):(0,wt.createElement)(Aa,{ctx:e,t})));e.effect(()=>{let n=e.on("connection/reset",()=>He());return()=>{typeof n=="function"&&n(),rn()}},"dsh-git-panel: lifecycle")}module.exports={name:Ma,inject:Oa,apply:Ia};
|
|
304
|
+
`,Xe=!1;function rt(){if(Xe||typeof document>"u")return;let e="dsh-git-panel/client.css";if(document.querySelector(`style[data-plugin-css="${e}"]`)!==null){Xe=!0;return}let t=document.createElement("style");t.dataset.plugin="@xbzbing/dsh-git-panel",t.dataset.pluginCss=e,t.textContent=tn,document.head.appendChild(t),Xe=!0}var it={"panel.tab":"Git","panel.fontDecrease":"\u7F29\u5C0F\u5B57\u4F53","panel.fontReset":"\u91CD\u7F6E\u5B57\u4F53\u5927\u5C0F","panel.fontIncrease":"\u653E\u5927\u5B57\u4F53","tab.overview":"Git \u603B\u89C8","tab.changes":"\u53D8\u66F4\u8BB0\u5F55","tab.files":"\u6587\u4EF6\u6D4F\u89C8","pill.unavailable":"Git \u4E0D\u53EF\u7528","pill.detached":"\u6E38\u79BB HEAD","pill.synced":"\u672C\u5730\u5DF2\u540C\u6B65","pill.dirty":"\u6709\u5F85\u63D0\u4EA4\u7684\u53D8\u66F4","common.loading":"\u52A0\u8F7D\u4E2D\u2026","common.retry":"\u91CD\u8BD5","common.close":"\u5173\u95ED","version.check":"\u68C0\u67E5\u65B0\u7248\u672C","version.checking":"\u68C0\u67E5\u4E2D\u2026","version.upToDate":"\u5DF2\u662F\u6700\u65B0\uFF08{current}\uFF09","version.updateAvailable":"\u6709\u65B0\u7248\u672C {latest}\uFF08\u5F53\u524D {current}\uFF09","version.viewRelease":"\u67E5\u770B\u53D1\u5E03","version.error":"\u68C0\u67E5\u5931\u8D25","version.noRepo":"\u672A\u914D\u7F6E\u4ED3\u5E93\u5730\u5740","version.openRepo":"\u5728 GitHub \u4E0A\u6253\u5F00\u4ED3\u5E93","overview.head":"HEAD\uFF08\u5F53\u524D\u5206\u652F\uFF09","overview.local":"\u672C\u5730","overview.remote":"\u8FDC\u7A0B","overview.tags":"\u6807\u7B7E","overview.search":"\u641C\u7D22\u63D0\u4EA4\uFF08\u6D88\u606F / \u54C8\u5E0C\uFF09","overview.allUsers":"\u5168\u90E8\u4F5C\u8005","overview.allTime":"\u5168\u90E8\u65F6\u95F4","overview.today":"\u4ECA\u5929","overview.last7d":"\u8FD1 7 \u5929","overview.last30d":"\u8FD1 30 \u5929","overview.selectCommit":"\u9009\u62E9\u4E00\u4E2A\u63D0\u4EA4\u67E5\u770B\u8BE6\u60C5","overview.noMessage":"\uFF08\u65E0\u63D0\u4EA4\u6B63\u6587\uFF09","overview.noResults":"\u6CA1\u6709\u5339\u914D\u7684\u63D0\u4EA4","overview.loadFailed":"\u52A0\u8F7D\u5931\u8D25","overview.detailFailed":"\u8BE6\u60C5\u52A0\u8F7D\u5931\u8D25","overview.diffFailed":"\u5DEE\u5F02\u52A0\u8F7D\u5931\u8D25","overview.openFileDiff":"\u67E5\u770B\u8BE5\u6587\u4EF6\u5728\u6B64\u63D0\u4EA4\u4E2D\u7684\u53D8\u66F4","overview.fetch":"\u62C9\u53D6\u8FDC\u7A0B","overview.branchesError":"\u5206\u652F\u52A0\u8F7D\u5931\u8D25","changes.groupStaged":"\u5DF2\u6682\u5B58\u7684\u66F4\u6539","changes.groupUnstaged":"\u66F4\u6539","changes.groupUntracked":"\u672A\u7248\u672C\u63A7\u5236\u7684\u6587\u4EF6","changes.selectFile":"\u9009\u62E9\u4E00\u4E2A\u6587\u4EF6\u67E5\u770B\u53D8\u66F4","changes.noChanges":"\u6CA1\u6709\u672A\u63D0\u4EA4\u7684\u53D8\u66F4","changes.stageAll":"\u5168\u90E8\u6682\u5B58","changes.unstageAll":"\u5168\u90E8\u53D6\u6D88\u6682\u5B58","changes.stage":"\u6682\u5B58","changes.unstage":"\u53D6\u6D88\u6682\u5B58","changes.discard":"\u653E\u5F03\u66F4\u6539","changes.discardConfirm":"\u518D\u6B21\u70B9\u51FB\u4EE5\u786E\u8BA4\u653E\u5F03","files.selectFile":"\u9009\u62E9\u4E00\u4E2A\u6587\u4EF6\u67E5\u770B\u5185\u5BB9","files.loadFailed":"\u52A0\u8F7D\u5931\u8D25","files.truncated":"\u6761\u76EE\u8FC7\u591A\uFF0C\u5DF2\u622A\u65AD","files.tooLarge":"\u6587\u4EF6\u8FC7\u5927\uFF0C\u65E0\u6CD5\u9884\u89C8","files.binary":"\u4E8C\u8FDB\u5236\u6587\u4EF6\uFF0C\u65E0\u6CD5\u9884\u89C8","files.previewMode":"Markdown \u9884\u89C8\u65B9\u5F0F","files.source":"\u6E90\u7801","files.render":"\u6E32\u67D3","files.copyPath":"\u590D\u5236\u76F8\u5BF9\u8DEF\u5F84","files.pathCopied":"\u8DEF\u5F84\u5DF2\u590D\u5236","files.pathCopyFailed":"\u590D\u5236\u5931\u8D25","files.ignored":"\u5DF2\u88AB Git \u5FFD\u7565","files.copy":"\u590D\u5236\u4EE3\u7801","files.copied":"\u5DF2\u590D\u5236","files.footnotes":"\u6CE8\u91CA","stats.files":"{n} \u4E2A\u6587\u4EF6","stats.lastChange":"\u6700\u8FD1\u53D8\u66F4 {time}","stats.lastCommit":"\u4E0A\u6B21\u63D0\u4EA4 {time}","stats.staged":"\u5DF2\u6682\u5B58 {n}","stats.modified":"\u5DF2\u4FEE\u6539 {n}","stats.untracked":"\u672A\u8DDF\u8E2A {n}","commit.placeholder":"\u63D0\u4EA4\u4FE1\u606F","commit.commit":"\u63D0\u4EA4","commit.amend":"\u4FEE\u6B63\u4E0A\u6B21\u63D0\u4EA4\uFF08amend\uFF09","diff.unified":"\u7EDF\u4E00","diff.split":"\u5BF9\u7167","diff.before":"\u53D8\u66F4\u524D","diff.after":"\u53D8\u66F4\u540E","diff.binary":"\u4E8C\u8FDB\u5236\u6587\u4EF6\uFF0C\u65E0\u6CD5\u663E\u793A\u5BF9\u7167","diff.tooLarge":"\u56FE\u7247\u8FC7\u5927\uFF0C\u65E0\u6CD5\u663E\u793A\u5BF9\u7167","diff.imageMissing":"\u4E0D\u5B58\u5728","diff.empty":"\u65E0\u5DEE\u5F02","diff.expandAll":"\u5C55\u5F00\u5168\u90E8","diff.collapse":"\u6298\u53E0\u672A\u53D8\u66F4","diff.expandGap":"\u5C55\u5F00\u5168\u90E8 {n} \u884C","diff.expandUp":"\u5411\u4E0A\u5C55\u5F00 {n} \u884C","diff.expandDown":"\u5411\u4E0B\u5C55\u5F00 {n} \u884C","time.justNow":"\u521A\u521A","time.minutesAgo":"{n} \u5206\u949F\u524D","time.hoursAgo":"{n} \u5C0F\u65F6\u524D","time.daysAgo":"{n} \u5929\u524D","error.generic":"\u64CD\u4F5C\u5931\u8D25","error.notARepo":"\u5F53\u524D\u76EE\u5F55\u4E0D\u662F Git \u4ED3\u5E93","error.noCwd":"\u5F53\u524D\u4F1A\u8BDD\u65E0\u5DE5\u4F5C\u76EE\u5F55","error.localChangesBlock":"\u672C\u5730\u6709\u672A\u63D0\u4EA4\u53D8\u66F4\uFF0C\u65E0\u6CD5\u5207\u6362","error.emptyMessage":"\u63D0\u4EA4\u4FE1\u606F\u4E0D\u80FD\u4E3A\u7A7A","cfg.title":"\u8F93\u5165\u6846\u5206\u652F\u6807\u8BB0","cfg.toggle":"\u663E\u793A\u8F93\u5165\u6846\u6807\u8BB0","cfg.hint":"\u5F00\u542F\u65F6\u5728\u8F93\u5165\u6846\u663E\u793A zsh \u98CE\u683C\u7684 <\u4ED3\u5E93\u540D> (\u5206\u652F) \u6807\u8BB0\uFF1B\u5173\u95ED\u540E\u6539\u4E3A\u5728 Git \u6807\u7B7E\u65C1\u663E\u793A\u72B6\u6001\u5706\u70B9\u3002\u4FDD\u5B58\u540E\u7ACB\u5373\u751F\u6548\u3002","cfg.diffTitle":"\u5DEE\u5F02\u5BF9\u6BD4\u9ED8\u8BA4\u89C6\u56FE","cfg.diffHint":"\u9009\u62E9\u53D8\u66F4\u5BF9\u6BD4\u9ED8\u8BA4\u6253\u5F00\u7684\u5E03\u5C40\uFF1A\u7EDF\u4E00\u89C6\u56FE\u4E3A\u5355\u680F\u884C\u5185\u5BF9\u6BD4\uFF0C\u5E76\u6392\u89C6\u56FE\u4E3A\u5DE6\u53F3\u5206\u680F\u5BF9\u6BD4\u3002\u4ECD\u53EF\u5728\u6BCF\u4E2A\u5DEE\u5F02\u89C6\u56FE\u4E2D\u4E34\u65F6\u5207\u6362\u3002\u4FDD\u5B58\u540E\u7ACB\u5373\u751F\u6548\u3002","cfg.diffUnified":"\u7EDF\u4E00\u89C6\u56FE\uFF08\u5355\u680F\u884C\u5185\uFF09","cfg.diffSplit":"\u5E76\u6392\u89C6\u56FE\uFF08\u5DE6\u53F3\u5206\u680F\uFF09","cfg.notLoaded":"\u914D\u7F6E\u672A\u52A0\u8F7D\uFF1A\u8BE5\u914D\u7F6E\u7531\u8FD0\u884C\u4E2D\u7684\u5BBF\u4E3B\u63D0\u4F9B\uFF0C\u82E5\u957F\u65F6\u95F4\u7A7A\u767D\u8BF7\u91CD\u542F DSH \u540E\u91CD\u8BD5\u3002","cfg.saveFailed":"\u4FDD\u5B58\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5"},at={"panel.tab":"Git","panel.fontDecrease":"Decrease font size","panel.fontReset":"Reset font size","panel.fontIncrease":"Increase font size","tab.overview":"Overview","tab.changes":"Changes","tab.files":"Files","pill.unavailable":"Git unavailable","pill.detached":"detached HEAD","pill.synced":"Everything committed","pill.dirty":"Uncommitted changes","common.loading":"Loading\u2026","common.retry":"Retry","common.close":"Close","version.check":"Check for updates","version.checking":"Checking\u2026","version.upToDate":"Up to date ({current})","version.updateAvailable":"New version {latest} available (current {current})","version.viewRelease":"View release","version.error":"Check failed","version.noRepo":"Repository not configured","version.openRepo":"Open repository on GitHub","overview.head":"HEAD (Current Branch)","overview.local":"Local","overview.remote":"Remote","overview.tags":"Tags","overview.search":"Search commits (message / hash)","overview.allUsers":"All authors","overview.allTime":"All time","overview.today":"Today","overview.last7d":"Last 7 days","overview.last30d":"Last 30 days","overview.selectCommit":"Select a commit to see details","overview.noMessage":"(no commit body)","overview.noResults":"No matching commits","overview.loadFailed":"Load failed","overview.detailFailed":"Failed to load details","overview.diffFailed":"Failed to load diff","overview.openFileDiff":"View this file\u2019s changes in this commit","overview.fetch":"Fetch","overview.branchesError":"Failed to load branches","changes.groupStaged":"Staged changes","changes.groupUnstaged":"Changes","changes.groupUntracked":"Unversioned files","changes.selectFile":"Select a file to see its diff","changes.noChanges":"No uncommitted changes","changes.stageAll":"Stage all","changes.unstageAll":"Unstage all","changes.stage":"Stage","changes.unstage":"Unstage","changes.discard":"Discard changes","changes.discardConfirm":"Click again to confirm discard","files.selectFile":"Select a file to preview","files.loadFailed":"Load failed","files.truncated":"Too many entries \u2014 truncated","files.tooLarge":"File too large to preview","files.binary":"Binary file \u2014 no preview","files.previewMode":"Markdown preview mode","files.source":"Source","files.render":"Rendered","files.copyPath":"Copy relative path","files.pathCopied":"Path copied","files.pathCopyFailed":"Copy failed","files.ignored":"Ignored by Git","files.copy":"Copy code","files.copied":"Copied","files.footnotes":"Footnotes","stats.files":"{n} files","stats.lastChange":"changed {time}","stats.lastCommit":"last commit {time}","stats.staged":"{n} staged","stats.modified":"{n} modified","stats.untracked":"{n} untracked","commit.placeholder":"Commit message","commit.commit":"Commit","commit.amend":"Amend previous commit","diff.unified":"Unified","diff.split":"Split","diff.before":"Before","diff.after":"After","diff.binary":"Binary file \u2014 no diff to show","diff.tooLarge":"Image too large to compare","diff.imageMissing":"Does not exist","diff.empty":"No differences","diff.expandAll":"Expand all","diff.collapse":"Collapse unchanged","diff.expandGap":"Expand all {n} lines","diff.expandUp":"Expand up {n} lines","diff.expandDown":"Expand down {n} lines","time.justNow":"just now","time.minutesAgo":"{n}m ago","time.hoursAgo":"{n}h ago","time.daysAgo":"{n}d ago","error.generic":"Operation failed","error.notARepo":"Not a Git repository","error.noCwd":"This session has no working directory","error.localChangesBlock":"Local changes block the checkout","error.emptyMessage":"Commit message cannot be empty","cfg.title":"Input-bar branch marker","cfg.toggle":"Show input-bar marker","cfg.hint":"When on, the input bar shows the zsh-style <repo> (branch) marker; when off, a status dot appears beside the Git tab instead. Saved changes apply immediately.","cfg.diffTitle":"Default diff view","cfg.diffHint":"Choose the layout diffs open with: unified is a single inline column, split is side-by-side. You can still switch per diff. Saved changes apply immediately.","cfg.diffUnified":"Unified (single inline column)","cfg.diffSplit":"Split (side-by-side)","cfg.notLoaded":"Config not loaded: it is served by the running host. Restart DSH if this stays blank.","cfg.saveFailed":"Save failed, please retry"};var Ge=require("react");var nn=new Set(["cwd-unavailable"]),qe=3e4,rn=6e4,Ce=class{constructor(t,n){this.remote=t;this.sessionId=n}view={state:"cold"};listeners=new Set;timer;inflight;pendingRefresh=!1;disposed=!1;pollMs=qe;subscribe(t){return this.listeners.add(t),()=>{this.listeners.delete(t)}}getSnapshot(){return this.view}ensure(){this.view.state!=="cold"&&this.view.state!=="no-cwd"||this.refresh()}refresh(){return this.inflight!==void 0?(this.pendingRefresh=!0,this.inflight):this.disposed?Promise.resolve():(this.view.state==="cold"&&this.setView({state:"loading"}),this.inflight=this.remote.snapshot({sessionId:this.sessionId}).then(t=>{if(!this.disposed){if(t.ok)this.pollMs=t.value.refreshIntervalMs||qe,this.setView({state:"ready",snapshot:t.value});else if(t.error.code!=="cancelled")if(nn.has(t.error.code))this.pollMs=rn,this.setView({state:"no-cwd"});else if(t.error.code==="not-a-git-repo"){let n=t.error;this.setView({state:"error",error:{code:"not-a-git-repo",...n.cwd?{cwd:n.cwd}:{},...n.showInputPill!==void 0?{showInputPill:n.showInputPill}:{}}})}else this.setView({state:"error",error:{code:t.error.code,..."detail"in t.error?{detail:t.error.detail}:{}}})}}).catch(t=>{this.disposed||this.setView({state:"error",error:{code:"git-unavailable",detail:t instanceof Error?t.message:String(t)}})}).finally(()=>{this.inflight=void 0,this.pendingRefresh&&!this.disposed?(this.pendingRefresh=!1,this.refresh()):this.schedulePoll()}),this.inflight)}resync(){this.disposed||this.refresh()}accept(t){this.disposed||(this.pollMs=t.refreshIntervalMs||qe,this.setView({state:"ready",snapshot:t}),this.schedulePoll())}schedulePoll(){this.disposed||(this.timer!==void 0&&clearTimeout(this.timer),!(this.pollMs<=0)&&(this.timer=setTimeout(()=>{this.refresh()},this.pollMs)))}setView(t){this.view=t;for(let n of this.listeners)n()}dispose(){this.disposed=!0,this.timer!==void 0&&clearTimeout(this.timer),this.timer=void 0,this.listeners.clear()}};var an="/api",on="gitPanel";function sn(e){try{let t=e.get("connection")?.rpc,n=t?.call;if(t!==void 0&&typeof n=="function")return(i,r,a)=>n.call(t,an,i,r,a)}catch{}}function ln(e){let t=e;if(t===null||typeof t!="object")return{ok:!1,error:{code:"git-unavailable",message:"malformed rpc result"}};if(t.ok!==!0){let n=t.error;return{ok:!1,error:{code:typeof n?.code=="string"?n.code:"git-unavailable",message:typeof n?.message=="string"?n.message:void 0}}}return t.value===void 0?{ok:!1,error:{code:"git-unavailable",message:"missing value"}}:t.value}function q(e,t){return!e.ok||e.value.kind!==t?null:e.value}function ae(e){return e!==void 0&&e!==""}var ot=new WeakMap;function we(e){let t=ot.get(e);if(t!==void 0)return t;let n=async(r,a,s)=>{let o=sn(e);if(o===void 0)return{ok:!1,error:{code:"git-unavailable",message:"no connection"}};try{let l=await o(`${on}/${r}`,{args:{request:a}},s);return ln(l)}catch(l){return{ok:!1,error:{code:"git-unavailable",message:l instanceof Error?l.message:String(l)}}}},i={snapshot:(r,a)=>n("snapshot",r,a),run:(r,a)=>n("run",r,a),query:(r,a)=>n("query",r,a),version:(r,a)=>n("version",r,a)};return ot.set(e,i),i}var se=new Map,st,Ke;function lt(e){Ke=e,st=we(e)}function Je(e){let t=se.get(e);if(t===void 0){let n=st??(Ke?we(Ke):void 0);t=new Ce(n??fn(),e),se.set(e,t)}return t}var dn=6e4,Ne=new Map;function cn(e){let t=Ne.get(e);t!==void 0&&(clearTimeout(t),Ne.delete(e)),ue.set(e,(ue.get(e)??0)+1)}function pn(e){let t=(ue.get(e)??1)-1;if(t>0){ue.set(e,t);return}ue.delete(e);let n=setTimeout(()=>{Ne.delete(e),!((ue.get(e)??0)>0)&&(se.get(e)?.dispose(),se.delete(e))},dn);Ne.set(e,n)}var ue=new Map;function le(){for(let e of se.values())e.resync()}function dt(){for(let e of se.values())e.dispose();se.clear()}function fn(){let e=async()=>({ok:!1,error:{code:"git-unavailable"}});return{snapshot:e,run:e,query:e,version:e}}function Re(e){let[,t]=(0,Ge.useState)(0),n=e?Je(e):void 0;return(0,Ge.useEffect)(()=>{if(n===void 0||e===void 0)return;cn(e);let i=n.subscribe(()=>t(r=>r+1));return n.ensure(),()=>{i(),pn(e)}},[n,e]),n?n.getSnapshot():{state:"cold"}}var k=require("react");var ct="[data-conversation-tabs]",Be='[data-conversation-tabs] button[role="tab"]',We=new Map,xe=new Map;function pt(e,t){let n=xe.get(e);if(n!==void 0&&n.size>0){for(let i of n)i(t);return}We.set(e,t)}function ft(e){let t=We.get(e);return t===void 0?null:(We.delete(e),t)}function gt(e,t){let n=xe.get(e);return n===void 0&&(n=new Set,xe.set(e,n)),n.add(t),()=>{let i=xe.get(e);i!==void 0&&(i.delete(t),i.size===0&&xe.delete(e))}}function ut(e){if(typeof document>"u")return!1;let t=document.querySelectorAll(Be);for(let n of t)if((n.textContent??"").trim()===e)return n.getAttribute("aria-selected")!=="true"&&n.click(),!0;return!1}var d=require("react"),Ye=require("react-dom");var M=require("react");function Y(e,t=15){return(0,M.createElement)("svg",{width:t,height:t,viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:1.4,strokeLinecap:"round",strokeLinejoin:"round"},e)}function Te({size:e}){return Y([(0,M.createElement)("circle",{key:"c",cx:8,cy:8,r:2.4}),(0,M.createElement)("line",{key:"l1",x1:8,y1:1.5,x2:8,y2:5.6}),(0,M.createElement)("line",{key:"l2",x1:8,y1:10.4,x2:8,y2:14.5})],e)}function mt({size:e}){return Y([(0,M.createElement)("path",{key:"a",d:"M4 2v8"}),(0,M.createElement)("path",{key:"b",d:"M2 4h4"}),(0,M.createElement)("circle",{key:"c",cx:4,cy:12,r:1.6}),(0,M.createElement)("circle",{key:"d",cx:12,cy:4,r:1.6}),(0,M.createElement)("path",{key:"e",d:"M12 6v4"}),(0,M.createElement)("path",{key:"f",d:"M10 12h4"})],e)}function Oe({size:e}){return Y([(0,M.createElement)("circle",{key:"a",cx:4,cy:3,r:1.6}),(0,M.createElement)("circle",{key:"b",cx:4,cy:13,r:1.6}),(0,M.createElement)("circle",{key:"c",cx:12,cy:5,r:1.6}),(0,M.createElement)("path",{key:"d",d:"M4 4.6v6.8"}),(0,M.createElement)("path",{key:"e",d:"M12 6.6c0 3-4 2.4-8 4"})],e)}function ht({size:e}){return Y([(0,M.createElement)("path",{key:"a",d:"M2 7V3h4l8 8-4 4z"}),(0,M.createElement)("circle",{key:"b",cx:4.5,cy:5.5,r:.8,fill:"currentColor"})],e)}function de({size:e,open:t}){return Y([(0,M.createElement)("path",{key:"a",d:t?"M3 6l5 5 5-5":"M6 3l5 5-5 5"})],e)}function yt({size:e}){return Y([(0,M.createElement)("path",{key:"a",d:"M4 4l8 8M12 4l-8 8"})],e)}function Ee({size:e}){return Y([(0,M.createElement)("path",{key:"a",d:"M13 8a5 5 0 1 1-1.5-3.5"}),(0,M.createElement)("path",{key:"b",d:"M13 2v3h-3"})],e)}function bt({size:e}){return Y([(0,M.createElement)("path",{key:"a",d:"M4 2h5l3 3v9H4z"}),(0,M.createElement)("path",{key:"b",d:"M9 2v3h3"})],e)}function vt({size:e}){return Y([(0,M.createElement)("path",{key:"a",d:"M5 2.5h4l2.5 2.5v7.5h-6.5z"}),(0,M.createElement)("path",{key:"b",d:"M9 2.5V5h2.5"}),(0,M.createElement)("path",{key:"c",d:"M11 12.5v1.5h-6.5V6"})],e)}function wt({size:e=15}){return(0,M.createElement)("svg",{width:e,height:e,viewBox:"0 0 16 16",fill:"currentColor"},(0,M.createElement)("path",{"fill-rule":"evenodd",d:"M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.01 8.01 0 0 0 16 8c0-4.42-3.58-8-8-8z"}))}function xt(e){let t=0;for(let n of e){t=Math.max(t,n.lane+1);for(let i of n.edges)t=Math.max(t,i.fromLane+1,i.toLane+1)}return t}function kt(e){let t=[],n=[],i=new Map,r=0,a=s=>{let o=i.get(s);return o===void 0&&(o=r++,i.set(s,o)),o};for(let s of e){let o=n.findIndex(u=>u===s.hash);o===-1&&(o=n.findIndex(u=>u===null),o===-1&&(o=n.length,n.push(null)),n[o]=s.hash);let l=a(s.hash),c=[...n],p=s.parents,f=p.length>=2;for(let u=0;u<n.length;u++)u!==o&&n[u]===s.hash&&(n[u]=null);if(p.length===0)n[o]=null;else{n[o]=p[0],a(p[0]);for(let u=1;u<p.length;u++){let g=p[u],b=n.findIndex(T=>T===g);b===-1&&(b=n.findIndex(T=>T===null),b===-1&&(b=n.length,n.push(null)),n[b]=g),a(g)}}let h=[],y=n;for(let u=0;u<c.length;u++){let g=c[u];if(g!==null)if(g===s.hash)h.push({fromLane:u,toLane:o,color:a(s.hash)});else{let b=y.findIndex(T=>T===g);b!==-1&&h.push({fromLane:u,toLane:b,color:a(g)})}}for(let u of p){let g=y.findIndex(b=>b===u);g!==-1&&h.push({fromLane:o,toLane:g,color:a(u)})}for(t.push({commit:s,lane:o,color:l,edges:h,merge:f});n.length>0&&n[n.length-1]===null;)n=n.slice(0,-1)}return t}function _t(e){let t={name:"",path:"",dir:!0,children:[]};for(let n of e){let i=n.path.split("/").filter(s=>s!==""),r=t,a="";for(let s=0;s<i.length;s++){let o=i[s];a=a===""?o:`${a}/${o}`;let l=s===i.length-1,c=r.children.find(p=>p.name===o&&p.dir===!l);c===void 0&&(c={name:o,path:a,dir:!l,children:[],...l?{meta:n.meta}:{}},r.children.push(c)),r=c}}return St(t),Ct(t.children)}function St(e){e.children.sort((t,n)=>t.dir!==n.dir?t.dir?-1:1:t.name.localeCompare(n.name));for(let t of e.children)St(t)}function Ct(e){return e.map(t=>{if(!t.dir)return t;let n=t;for(;n.children.length===1&&n.children[0].dir;){let i=n.children[0];n={name:`${n.name}/${i.name}`,path:i.path,dir:!0,children:i.children}}return{...n,children:Ct(n.children)}})}function me(e,t,n){if(e===null)return"";let i=typeof e=="number"?e:Date.parse(e);if(!Number.isFinite(i))return"";let r=Math.max(0,t-i),a=Math.floor(r/6e4);if(a<1)return n("time.justNow");if(a<60)return n("time.minutesAgo",{n:a});let s=Math.floor(a/60);if(s<24)return n("time.hoursAgo",{n:s});let o=Math.floor(s/24);return n("time.daysAgo",{n:o})}function he(e){if(e===null)return"";let t=new Date(typeof e=="number"?e:Date.parse(e));if(Number.isNaN(t.getTime()))return"";let n=i=>String(i).padStart(2,"0");return`${t.getFullYear()}-${n(t.getMonth()+1)}-${n(t.getDate())} ${n(t.getHours())}:${n(t.getMinutes())}`}var De={added:"A",modified:"M",deleted:"D",renamed:"R",untracked:"U",conflicted:"!",typechange:"T"};function Me(e){return e==="added"||e==="untracked"?"gp-status--added":e==="deleted"?"gp-status--deleted":e==="renamed"?"gp-status--renamed":"gp-status--modified"}var _=require("react");var gn={png:"image/png",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",webp:"image/webp",avif:"image/avif",bmp:"image/bmp",svg:"image/svg+xml",ico:"image/x-icon",tif:"image/tiff",tiff:"image/tiff"};function je(e){let t=e.lastIndexOf(".");return t<0?null:gn[e.slice(t+1).toLowerCase()]??null}function Nt(e){return/^Binary files .* differ$/m.test(e)||/^GIT binary patch$/m.test(e)}function Gt(e){return je(e)!==null}function un(e){let t=Ue(e);return t.length===0?!1:t.every(n=>n.startsWith("+")||n.startsWith(" "))&&t.some(n=>n.startsWith("+"))&&/^\+\+\+ /m.test(e)&&/--- \/dev\/null/m.test(e)}function mn(e){let t=Ue(e);return t.length===0?!1:t.every(n=>n.startsWith("-")||n.startsWith(" "))&&t.some(n=>n.startsWith("-"))&&/^\+\+\+ \/dev\/null/m.test(e)}function Ue(e){let t=e.split(`
|
|
305
|
+
`),n=[],i=!1;for(let r of t){if(r.startsWith("@@")){i=!0;continue}if(i){if(r.startsWith("diff ")||r.startsWith("index ")){i=!1;continue}r!==""&&n.push(r)}}return n}function Rt(e){let t=0,n=0;for(let i of Ue(e))i.startsWith("+")?t++:i.startsWith("-")&&n++;return{add:t,del:n}}var hn=/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/;function Tt(e){let t=[],n=e.split(`
|
|
306
|
+
`),i=0,r=0,a=!0,s=!1,o=0;for(;o<n.length&&!n[o].startsWith("@@");o++);for(;o<n.length;o++){let l=n[o];if(l.startsWith("@@")){let f=hn.exec(l);if(f){let h=Number(f[1]),y=Number(f[3]),u=h-y;if(a)y>1&&t.push(ye({rightStart:1,count:y-1,delta:u,atStart:!0,atEnd:!1}));else{let g=y-r;g>0&&t.push(ye({rightStart:r,count:g,delta:u,atStart:!1,atEnd:!1}))}i=h,r=y,a=!1}t.push({kind:"hunk",leftNo:null,rightNo:null,leftText:null,rightText:null,text:l});continue}if(l.startsWith("\\"))continue;let c=l[0],p=l.slice(1);c==="+"?(t.push({kind:"add",leftNo:null,rightNo:r,leftText:null,rightText:p}),r++,s=!0):c==="-"?(t.push({kind:"del",leftNo:i,rightNo:null,leftText:p,rightText:null}),i++,s=!0):c===" "&&(t.push({kind:"context",leftNo:i,rightNo:r,leftText:p,rightText:p}),i++,r++,s=!0)}return s&&!a&&!un(e)&&!mn(e)&&t.push(ye({rightStart:r,count:null,delta:i-r,atStart:!1,atEnd:!0})),yn(t)}function ye(e){return{kind:"gap",leftNo:null,rightNo:null,leftText:null,rightText:null,gap:e}}function yn(e){let t=[],n=0;for(;n<e.length;){let i=e[n];if(i.kind==="del"){let r=[],a=n;for(;a<e.length&&e[a].kind==="del";)r.push(e[a]),a++;let s=[];for(;a<e.length&&e[a].kind==="add";)s.push(e[a]),a++;let o=Math.max(r.length,s.length);for(let l=0;l<o;l++){let c=r[l],p=s[l];if(c&&p){let f=bn(c.leftText??"",p.rightText??"");t.push({kind:"mod",leftNo:c.leftNo,rightNo:p.rightNo,leftText:c.leftText,rightText:p.rightText,...f!==null?{leftWord:f.left,rightWord:f.right}:{}})}else c?t.push({kind:"del",leftNo:c.leftNo,rightNo:null,leftText:c.leftText,rightText:null}):p&&t.push({kind:"add",leftNo:null,rightNo:p.rightNo,leftText:null,rightText:p.rightText})}n=a}else t.push(i),n++}return t}function bn(e,t){let n=Math.min(e.length,t.length),i=0;for(;i<n&&e[i]===t[i];)i++;let r=0;for(;r<n-i&&e[e.length-1-r]===t[t.length-1-r];)r++;return i===0&&r===0?null:{left:[i,e.length-r],right:[i,t.length-r]}}function vn(e,t,n){return n.map((i,r)=>{let a=t+r;return{kind:"context",leftNo:a+e,rightNo:a,leftText:i,rightText:i}})}var Q=20;function Et(e){let t=[];for(let n of e)n.kind==="mod"?(t.push({kind:"del",leftNo:n.leftNo,rightNo:null,leftText:n.leftText,rightText:null,...n.leftWord!==void 0?{leftWord:n.leftWord}:{}}),t.push({kind:"add",leftNo:null,rightNo:n.rightNo,leftText:null,rightText:n.rightText,...n.rightWord!==void 0?{rightWord:n.rightWord}:{}})):t.push(n);return t}function Dt(e,t,n,i,r,a){let s=e.findIndex(f=>f.kind==="gap"&&f.gap?.rightStart===t);if(s<0)return e.slice();let o=e[s].gap,l=vn(o.delta,i,r),c=[];if(o.atEnd)return c.push(...l),!a&&r.length>0&&c.push(ye({rightStart:i+r.length,count:null,delta:o.delta,atStart:!1,atEnd:!0})),[...e.slice(0,s),...c,...e.slice(s+1)];let p=o.count??r.length;if(n==="all"||r.length>=p)c.push(...l);else if(n==="down"){c.push(...l);let f=p-r.length;c.push(ye({rightStart:o.rightStart+r.length,count:f,delta:o.delta,atStart:!1,atEnd:!1}))}else{let f=p-r.length;c.push(ye({rightStart:o.rightStart,count:f,delta:o.delta,atStart:o.atStart,atEnd:!1})),c.push(...l)}return[...e.slice(0,s),...c,...e.slice(s+1)]}var Ae=require("@deepseek-ai/dsh-client-ui-primitives");function Mt(e,t){let n=[[],[],[]],i=0;for(let r of e){let a=i+r.text.length,s=[i,Math.max(i,Math.min(a,t[0])),Math.max(i,Math.min(a,t[1])),a];for(let o=0;o<3;o++){let l=r.text.slice(s[o]-i,s[o+1]-i);l!==""&&n[o].push({text:l,style:r.style})}i=a}return n}var Z=require("react");function Pe(e,t,n){let i=n(`diff.${e}`);return(0,Z.createElement)("div",{className:`gp-imgcmp__pane gp-imgcmp__pane--${e}`},[(0,Z.createElement)("div",{key:"head",className:"gp-imgcmp__head"},i),t===void 0?(0,Z.createElement)("div",{key:"missing",className:"gp-imgcmp__missing"},n("diff.imageMissing")):(0,Z.createElement)("div",{key:"img",className:"gp-imgcmp__img"},(0,Z.createElement)("img",{src:t,alt:i}))])}function Pt({oldUrl:e,newUrl:t,mode:n,t:i}){return n==="before"?(0,Z.createElement)("div",{className:"gp-imgcmp gp-imgcmp--single"},Pe("before",e,i)):n==="after"?(0,Z.createElement)("div",{className:"gp-imgcmp gp-imgcmp--single"},Pe("after",t,i)):(0,Z.createElement)("div",{className:"gp-imgcmp"},[Pe("before",e,i),Pe("after",t,i)])}var ze=(0,_.memo)(function({text:t,mode:n,path:i,remote:r,sessionId:a,imageSpec:s,t:o}){let l=(0,_.useMemo)(()=>Tt(t),[t]),c=Nt(t),p=(0,Ae.useCodeHighlighter)(i===void 0?void 0:(0,Ae.languageForPath)(i)),[f,h]=(0,_.useState)(l);(0,_.useEffect)(()=>{h(l)},[l]);let y=wn(f,h,r,a,i,s),u=c&&i!==void 0&&Gt(i)&&r!==void 0&&a!==void 0&&s!==void 0,g=kn(u?r:void 0,u?a:void 0,u?i:void 0,u?s:void 0);if(c){if(u){if(g.kind==="idle"||g.kind==="loading")return(0,_.createElement)("div",{className:"gp-empty"},o("common.loading"));if(g.kind==="ready"){let b=g.res;if(b.tooLarge===!0)return(0,_.createElement)("div",{className:"gp-empty"},o("diff.tooLarge"));if(b.mime!==null&&(b.old!==void 0||b.new!==void 0))return(0,_.createElement)(Pt,{oldUrl:b.old,newUrl:b.new,mode:n,t:o})}}return(0,_.createElement)("div",{className:"gp-empty"},o("diff.binary"))}if(t.trim()==="")return(0,_.createElement)("div",{className:"gp-empty"},o("diff.empty"));if(n==="before")return Ft(_n(f),p);if(n==="after")return Ft(Sn(f),p);if(n==="unified"){let b=Et(f);return(0,_.createElement)("div",{className:"gp-diff__unified"},b.flatMap((T,L)=>Nn(T,L,p,y,o)))}return(0,_.createElement)("div",{className:"gp-diff__side"},f.flatMap((b,T)=>Cn(b,T,p,y,o)))});function wn(e,t,n,i,r,a){let[s,o]=(0,_.useState)(null),l=(0,_.useRef)(0);(0,_.useEffect)(()=>{l.current+=1,o(null)},[e]);let c=(0,_.useCallback)((p,f)=>{if(n===void 0||i===void 0||r===void 0||a===void 0)return;let h=`${p.rightStart}:${f}`;o(h);let y=++l.current,{start:u,end:g}=xn(p,f),b=a.base==="commit"&&a.commit!==void 0?{kind:"file-lines",path:r,base:"commit",commit:a.commit,start:u,end:g}:a.base==="staged"?{kind:"file-lines",path:r,base:"staged",start:u,end:g}:{kind:"file-lines",path:r,base:"worktree",start:u,end:g};n.query({sessionId:i,query:b}).then(T=>{if(y!==l.current)return;let L=q(T,"file-lines");o(null),L!==null&&t(w=>Dt(w,p.rightStart,f,L.start,L.lines,L.eof))}).catch(()=>{y===l.current&&o(null)})},[n,i,r,a,t]);return{busy:s,run:c}}function xn(e,t){if(e.atEnd)return{start:e.rightStart,end:e.rightStart+Q-1};let n=e.count??Q;return t==="all"||n<=Q?{start:e.rightStart,end:e.rightStart+n-1}:t==="down"?{start:e.rightStart,end:e.rightStart+Q-1}:{start:e.rightStart+n-Q,end:e.rightStart+n-1}}function kn(e,t,n,i){let[r,a]=(0,_.useState)({kind:"idle"}),s=i?.base,o=i?.commit;return(0,_.useEffect)(()=>{if(e===void 0||t===void 0||n===void 0||s===void 0)return;let l=!0;a({kind:"loading"});let c=s==="commit"&&o!==void 0?{kind:"image-diff",path:n,base:"commit",commit:o}:s==="staged"?{kind:"image-diff",path:n,base:"staged"}:{kind:"image-diff",path:n,base:"worktree"};return e.query({sessionId:t,query:c}).then(p=>{if(!l)return;let f=q(p,"image-diff");a(f!==null?{kind:"ready",res:f}:{kind:"failed"})}).catch(()=>{l&&a({kind:"failed"})}),()=>{l=!1}},[e,t,n,s,o]),r}function Fe(e,t=""){return e.map((n,i)=>(0,_.createElement)("span",{key:`${t}${i}`,style:n.style},n.text))}function Le(e,t,n,i){if(n==="")return(0,_.createElement)("div",{key:t,className:e},"\xA0");let r=i(n)?.[0];return(0,_.createElement)("div",{key:t,className:e},r===void 0?n:Fe(r))}function Qe(e,t,n,i,r,a){let s=a(n)?.[0]??[{text:n,style:{}}],[o,l,c]=Mt(s,i);return(0,_.createElement)("div",{key:t,className:e},[...Fe(o,"p"),(0,_.createElement)("span",{key:"w",className:r},l.length===0?"\xA0":Fe(l)),...Fe(c,"s")])}function _n(e){return e.filter(t=>t.leftText!==null).map(t=>({no:t.leftNo,text:t.leftText}))}function Sn(e){return e.filter(t=>t.rightText!==null).map(t=>({no:t.rightNo,text:t.rightText}))}function Ft(e,t){return(0,_.createElement)("div",{className:"gp-diff__single"},e.flatMap((n,i)=>[(0,_.createElement)("div",{key:`n${i}`,className:"gp-diff-no"},n.no??""),Le("gp-diff-cell",`c${i}`,n.text,t)]))}function Cn(e,t,n,i,r){if(e.kind==="hunk")return[(0,_.createElement)("div",{key:`h${t}`,className:"gp-diff-row--hunk gp-diff-cell",style:{gridColumn:"1 / -1"}},e.text??"")];if(e.kind==="gap")return[Lt(e.gap,t,i,r)];let a=e.kind==="del"||e.kind==="mod"?"gp-diff-row--del":"",s=e.kind==="add"||e.kind==="mod"?"gp-diff-row--add":"",o=e.leftText===null?(0,_.createElement)("div",{key:`l${t}`,className:`gp-diff-cell ${a}`}):e.kind==="mod"&&e.leftWord!==void 0?Qe(`gp-diff-cell ${a}`,`l${t}`,e.leftText,e.leftWord,"gp-diff-word gp-diff-word--del",n):Le(`gp-diff-cell ${a}`,`l${t}`,e.leftText,n),l=e.rightText===null?(0,_.createElement)("div",{key:`r${t}`,className:`gp-diff-cell ${s}`}):e.kind==="mod"&&e.rightWord!==void 0?Qe(`gp-diff-cell ${s}`,`r${t}`,e.rightText,e.rightWord,"gp-diff-word gp-diff-word--add",n):Le(`gp-diff-cell ${s}`,`r${t}`,e.rightText,n);return[(0,_.createElement)("div",{key:`ln${t}`,className:"gp-diff-no"},e.leftNo??""),o,(0,_.createElement)("div",{key:`rn${t}`,className:"gp-diff-no"},e.rightNo??""),l]}function Nn(e,t,n,i,r){if(e.kind==="hunk")return[(0,_.createElement)("div",{key:`h${t}`,className:"gp-diff-row--hunk gp-diff-cell",style:{gridColumn:"1 / -1"}},e.text??"")];if(e.kind==="gap")return[Lt(e.gap,t,i,r)];let a=e.kind==="del",s=e.kind==="add",o=s?"gp-diff-row--add":a?"gp-diff-row--del":"",l=s?"+":a?"\u2212":"\xA0",c=e.rightText??e.leftText??"",p=s?e.rightWord:a?e.leftWord:void 0,f=s?"gp-diff-word gp-diff-word--add":"gp-diff-word gp-diff-word--del",h=`gp-diff-cell gp-diff-uni__code ${o}`,y=p!==void 0?Qe(h,`c${t}`,c,p,f,n):Le(h,`c${t}`,c,n);return[(0,_.createElement)("div",{key:`ol${t}`,className:"gp-diff-no"},e.leftNo??""),(0,_.createElement)("div",{key:`nl${t}`,className:"gp-diff-no"},e.rightNo??""),(0,_.createElement)("div",{key:`sg${t}`,className:`gp-diff-uni__sign ${o}`},l),y]}function Lt(e,t,n,i){let r=n.busy===`${e.rightStart}:all`,a=n.busy===`${e.rightStart}:up`,s=n.busy===`${e.rightStart}:down`,o=(c,p,f)=>(0,_.createElement)("button",{key:c,type:"button",className:"gp-gap__btn",disabled:n.busy!==null,onClick:h=>{h.stopPropagation(),n.run(e,c)}},f?i("common.loading"):p),l=[];if(e.atEnd)l.push(o("down",i("diff.expandDown",{n:Q}),s));else{let c=e.count??0;c>0&&c<=Q?l.push(o("all",i("diff.expandGap",{n:c}),r)):(e.atStart||l.push(o("up",i("diff.expandUp",{n:Q}),a)),l.push(o("all",i("diff.expandGap",{n:c}),r)),l.push(o("down",i("diff.expandDown",{n:Q}),s)))}return(0,_.createElement)("div",{key:`g${t}`,className:"gp-diff-row--gap",style:{gridColumn:"1 / -1"}},l)}function $e(e){return Rt(e)}var S=require("react");var Gn=100;function At(e,t,n){let[i,r]=(0,S.useState)(null),[a,s]=(0,S.useState)(!1),[o,l]=(0,S.useState)([]),c=(0,S.useCallback)(()=>{s(!1),(async()=>{let[p,f]=await Promise.all([e.query({sessionId:t,query:{kind:"branches"}}),e.query({sessionId:t,query:{kind:"tags"}})]),h=q(p,"branches");if(h===null){s(!0);return}let y=q(f,"tags");r({current:h.current,defaultBranch:h.defaultBranch,local:h.local,remote:h.remote,tags:y?.tags??[]}),e.query({sessionId:t,query:{kind:"authors"}}).then(u=>{l(q(u,"authors")?.authors??[])})})()},[e,t]);return(0,S.useEffect)(()=>{c()},[n]),{tree:i,treeError:a,authors:o,reload:c}}function zt(e,t,n,i,r){let[a,s]=(0,S.useState)([]),[o,l]=(0,S.useState)(0),[c,p]=(0,S.useState)(!1),[f,h]=(0,S.useState)(!1),y=(0,S.useRef)(0),u=(0,S.useRef)(!1),g=(0,S.useRef)(null),b=(0,S.useCallback)(async(w,P)=>{if(u.current)return;u.current=!0;let H=y.current;p(!0),h(!1);let I=await e.query({sessionId:t,query:{kind:"history",limit:Gn,skip:w,...P.ref?{ref:P.ref}:{},...P.search?{search:P.search}:{},...P.author?{author:P.author}:{},...P.since?{since:P.since}:{}}});if(u.current=!1,H!==y.current)return;p(!1);let C=q(I,"history");if(C===null){h(!0);return}let G=C.commits;s(R=>w===0?G:[...R,...G]),l(C.total)},[e,t]);(0,S.useEffect)(()=>{y.current+=1,u.current=!1,r(),g.current&&(g.current.scrollTop=0),b(0,n)},[n,i]);let T=o<0?!0:a.length<o,L=(0,S.useCallback)(()=>{u.current||!T||b(a.length,n)},[b,a.length,n,T]);return{commits:a,total:o,loading:c,listError:f,hasMore:T,listRef:g,loadMore:L}}function $t(e,t,n){let[i,r]=(0,S.useState)(null),[a,s]=(0,S.useState)(null),[o,l]=(0,S.useState)(!1),[c,p]=(0,S.useState)(null),[f,h]=(0,S.useState)(null),[y,u]=(0,S.useState)(!1),[g,b]=(0,S.useState)(n),[T,L]=(0,S.useState)(!1),w=(0,S.useRef)(0),P=(0,S.useRef)(null),H=(0,S.useRef)(new Map),I=(0,S.useCallback)(()=>{r(null),s(null),P.current=null},[]),C=(0,S.useCallback)(async E=>{P.current=E.hash,r(E),l(!1),w.current+=1,p(null),h(null),u(!1);let K=H.current.get(E.hash);if(K!==void 0){s(K);return}s(null);let B=await e.query({sessionId:t,query:{kind:"show",ref:E.hash}});if(P.current!==E.hash)return;let J=q(B,"show");if(J!==null){let re={commit:J.commit,body:J.body,stats:J.stats},X=H.current;for(X.set(E.hash,re);X.size>50;){let ie=X.keys().next().value;if(ie===void 0)break;X.delete(ie)}s(re)}else l(!0)},[e,t]),G=(0,S.useCallback)(async(E,K,B,J=!1)=>{let re=++w.current;p({path:E,hash:K,shortHash:B}),h(null),u(!1),L(J);let X=await e.query({sessionId:t,query:{kind:"diff",path:E,base:"commit",commit:K,...J?{context:1e5}:{}}});if(re!==w.current)return;let ie=q(X,"diff");ie!==null?h(ie.text):u(!0)},[e,t]),R=(0,S.useCallback)(()=>{w.current+=1,p(null),h(null),u(!1),L(!1)},[]);(0,S.useEffect)(()=>{if(c===null)return;let E=K=>{K.key==="Escape"&&R()};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[c,R]);let[V,j]=(0,S.useState)(null),[te,U]=(0,S.useState)(null),$=(0,S.useRef)(void 0),ne=(0,S.useRef)(null),fe=(0,S.useCallback)((E,K,B)=>{$.current!==void 0&&clearTimeout($.current),$.current=setTimeout(()=>{ne.current=E.hash,j({commit:E,x:K,y:B});let J=H.current.get(E.hash);if(J!==void 0){U(J.body);return}U(null),e.query({sessionId:t,query:{kind:"show",ref:E.hash}}).then(re=>{if(ne.current!==E.hash)return;let X=q(re,"show");X!==null?(H.current.set(E.hash,{commit:X.commit,body:X.body,stats:X.stats}),U(X.body)):U("")})},260)},[e,t]),N=(0,S.useCallback)(()=>{$.current!==void 0&&clearTimeout($.current),ne.current=null,j(null),U(null)},[]);return(0,S.useEffect)(()=>()=>{$.current!==void 0&&clearTimeout($.current)},[]),{selected:i,detail:a,detailError:o,select:C,clearSelection:I,fileDiff:c,fileDiffText:f,fileDiffError:y,fileDiffMode:g,setFileDiffMode:b,fileDiffExpanded:T,openFileDiff:G,closeFileDiff:R,hover:V,hoverBody:te,onHoverEnter:fe,onHoverLeave:N}}var O=require("react"),Rn=(e,t,n)=>Math.max(t,Math.min(n,e));function Tn(e,t){try{let n=typeof localStorage<"u"?localStorage.getItem(e):null,i=n===null?NaN:Number(n);return Number.isFinite(i)?i:t}catch{return t}}function En(e,t){try{typeof localStorage<"u"&&localStorage.setItem(e,String(Math.round(t)))}catch{}}function ce(e){let{storageKey:t,initial:n,min:i,reserve:r,edge:a}=e,[s,o]=(0,O.useState)(()=>Tn(t,n)),l=(0,O.useRef)(null),c=(0,O.useRef)(null),p=(0,O.useCallback)(h=>{let u=l.current?.parentElement?.clientWidth??Number.MAX_SAFE_INTEGER;c.current={x:h.clientX,w:s,max:Math.max(i,u-r)},h.preventDefault(),typeof document<"u"&&(document.body.style.cursor="col-resize",document.body.style.userSelect="none")},[s,i,r]);(0,O.useEffect)(()=>{if(typeof window>"u")return;let h=u=>{let g=c.current;if(g===null)return;let b=u.clientX-g.x;o(Rn(g.w+(a==="end"?b:-b),i,g.max))},y=()=>{c.current!==null&&(c.current=null,typeof document<"u"&&(document.body.style.cursor="",document.body.style.userSelect=""),o(u=>(En(t,u),u)))};return window.addEventListener("pointermove",h),window.addEventListener("pointerup",y),()=>{window.removeEventListener("pointermove",h),window.removeEventListener("pointerup",y)}},[a,i,t]);let f=(0,O.createElement)("div",{key:`rz-${t}`,ref:l,className:"gp-resizer",role:"separator","aria-orientation":"vertical",onPointerDown:p});return{width:s,divider:f}}var be=14,ke=30;function Ht({remote:e,sessionId:t,refreshKey:n,defaultDiffView:i,t:r}){let[a,s]=(0,d.useState)({ref:null,search:"",author:"",since:""}),[o,l]=(0,d.useState)(""),[c,p]=(0,d.useState)(new Set(["tags","remote"])),{tree:f,treeError:h,authors:y,reload:u}=At(e,t,n),g=$t(e,t,i),{commits:b,loading:T,listError:L,hasMore:w,listRef:P,loadMore:H}=zt(e,t,a,n,g.clearSelection);(0,d.useEffect)(()=>{let N=setTimeout(()=>s(E=>E.search===o?E:{...E,search:o}),300);return()=>clearTimeout(N)},[o]);let I=a.search!=="",C=(0,d.useMemo)(()=>I?b.map(N=>({commit:N,lane:0,color:0,edges:[],merge:!1})):kt(b),[b,I]),G=(0,d.useMemo)(()=>I?0:xt(C),[C,I]),R=I?12:Math.max(be,G*be),V=`${R}px minmax(120px,1fr) 72px 120px 96px`,j=()=>{let N=P.current;N===null||!w||N.scrollTop+N.clientHeight>=N.scrollHeight-240&&H()},te=(0,d.useMemo)(()=>Date.now(),[b]),U=(0,d.useMemo)(()=>g.detail===null?[]:_t(g.detail.stats.map(N=>({path:N.path,meta:N.status}))),[g.detail]),$=g.selected,ne=ce({storageKey:"gp.overview.left",initial:200,min:130,reserve:360,edge:"end"}),fe=ce({storageKey:"gp.overview.right",initial:340,min:190,reserve:360,edge:"start"});return(0,d.createElement)("div",{className:"gp-overview"},[An(g.fileDiff,{text:g.fileDiffText,error:g.fileDiffError,mode:g.fileDiffMode,onMode:g.setFileDiffMode,expanded:g.fileDiffExpanded,onExpand:N=>{g.fileDiff!==null&&g.openFileDiff(g.fileDiff.path,g.fileDiff.hash,g.fileDiff.shortHash,N)},onClose:g.closeFileDiff,remote:e,sessionId:t,t:r}),(0,d.createElement)("div",{key:"left",className:"gp-col gp-col--left",style:{flex:`0 0 ${ne.width}px`}},Mn(f,h,a.ref,c,{onFilter:N=>s(E=>({...E,ref:N})),onToggle:N=>p(E=>{let K=new Set(E);return K.has(N)?K.delete(N):K.add(N),K}),onRetry:u,t:r})),ne.divider,(0,d.createElement)("div",{key:"mid",className:"gp-col gp-col--mid gp-history"},[(0,d.createElement)("div",{key:"tb",className:"gp-toolbar"},[(0,d.createElement)("input",{key:"search",className:"gp-search",placeholder:r("overview.search"),value:o,onChange:N=>l(N.target.value)}),(0,d.createElement)("select",{key:"author",className:"gp-select",value:a.author,onChange:N=>s(E=>({...E,author:N.target.value}))},[(0,d.createElement)("option",{key:"",value:""},r("overview.allUsers")),...y.map(N=>(0,d.createElement)("option",{key:N,value:N},N))]),(0,d.createElement)("select",{key:"since",className:"gp-select",value:a.since,onChange:N=>s(E=>({...E,since:N.target.value}))},[(0,d.createElement)("option",{key:"",value:""},r("overview.allTime")),(0,d.createElement)("option",{key:"today",value:"1 day ago"},r("overview.today")),(0,d.createElement)("option",{key:"7d",value:"7 days ago"},r("overview.last7d")),(0,d.createElement)("option",{key:"30d",value:"30 days ago"},r("overview.last30d"))]),(0,d.createElement)("button",{key:"fetch",type:"button",className:"gp-icon-btn",title:r("overview.fetch"),onClick:()=>{e.run({sessionId:t,action:{kind:"fetch"}}).then(()=>u())}},(0,d.createElement)(Ee,{size:14}))]),(0,d.createElement)("div",{key:"list",className:"gp-history__list",ref:P,onScroll:j},b.length===0?(0,d.createElement)("div",{className:"gp-empty"},r(T?"common.loading":L?"overview.loadFailed":"overview.noResults")):C.map(N=>Pn(N,{selected:$?.hash===N.commit.hash,gridTpl:V,graphW:R,laneCount:G,searching:I,now:te,onSelect:()=>void g.select(N.commit),onHoverEnter:g.onHoverEnter,onHoverLeave:g.onHoverLeave,t:r})))]),fe.divider,(0,d.createElement)("div",{key:"right",className:"gp-col gp-col--right gp-detail",style:{flex:`0 0 ${fe.width}px`}},$===null?(0,d.createElement)("div",{className:"gp-empty"},[(0,d.createElement)(Te,{key:"i",size:20}),r("overview.selectCommit")]):[(0,d.createElement)("div",{key:"files",className:"gp-detail__files"},g.detail===null?(0,d.createElement)("div",{className:"gp-empty"},g.detailError?r("overview.detailFailed"):r("common.loading")):Ln(U,{activePath:g.fileDiff?.path??null,openTitle:r("overview.openFileDiff"),onOpen:N=>{$!==null&&g.openFileDiff(N,$.hash,$.shortHash)}})),(0,d.createElement)("div",{key:"msg",className:"gp-detail__msg"},[(0,d.createElement)("div",{key:"subj",className:"gp-detail__subject"},$.subject),(0,d.createElement)("div",{key:"meta",className:"gp-detail__meta"},[(0,d.createElement)("span",{key:"h",className:"gp-commit-hash"},$.shortHash),(0,d.createElement)("span",{key:"a"},$.author),(0,d.createElement)("span",{key:"t",title:he($.dateIso)},me($.dateIso,te,r))]),g.detail!==null&&g.detail.body!==""?(0,d.createElement)("pre",{key:"body",className:"gp-detail__body"},g.detail.body):(0,d.createElement)("div",{key:"nb",className:"gp-empty"},r("overview.noMessage"))])]),Dn(g.hover,g.hoverBody,r)])}function Dn(e,t,n){if(e===null||typeof document>"u")return null;let i=460,r=Math.min(e.x+16,(typeof window<"u"?window.innerWidth:1200)-i-12),a=e.y+14,s=(0,d.createElement)("div",{className:"gp-hovercard",style:{left:r,top:a,maxWidth:i}},[(0,d.createElement)("div",{key:"subj",className:"gp-hovercard__subject"},e.commit.subject),(0,d.createElement)("div",{key:"meta",className:"gp-hovercard__meta"},[(0,d.createElement)("span",{key:"h",className:"gp-commit-hash"},e.commit.shortHash),(0,d.createElement)("span",{key:"a"},e.commit.author)]),t===null?(0,d.createElement)("div",{key:"l",className:"gp-hovercard__loading"},n("common.loading")):t===""?(0,d.createElement)("div",{key:"e",className:"gp-hovercard__loading"},n("overview.noMessage")):(0,d.createElement)("pre",{key:"body",className:"gp-hovercard__body"},t)]);return(0,Ye.createPortal)(s,document.body,"commit-hovercard")}function Mn(e,t,n,i,r){if(t)return(0,d.createElement)("div",{className:"gp-empty"},[(0,d.createElement)("span",{key:"m"},r.t("overview.branchesError")),(0,d.createElement)("button",{key:"r",type:"button",className:"gp-btn",style:{marginTop:8},onClick:r.onRetry},r.t("common.retry"))]);if(e===null)return(0,d.createElement)("div",{className:"gp-empty"},r.t("common.loading"));let a=(s,o,l,c,p="")=>(0,d.createElement)("div",{key:s,className:"gp-branch-group"},[(0,d.createElement)("div",{key:"head",className:"gp-branch-group__head",onClick:()=>r.onToggle(s)},[(0,d.createElement)(de,{key:"c",size:11,open:!i.has(s)}),`${r.t(o)} (${l.length})`]),i.has(s)?null:l.map(f=>{let h=p+f.name,y=e.current===f.name,u=`gp-branch-row${n===h?" gp-branch-row--active":""}${y?" gp-branch-row--current":""}`;return(0,d.createElement)("div",{key:f.name,className:u,title:f.name,onClick:()=>r.onFilter(n===h?null:h)},[(0,d.createElement)("span",{key:"i",style:{display:"inline-flex",width:14}},c),(0,d.createElement)("span",{key:"n",className:"gp-tree-name"},f.name),f.ahead||f.behind?(0,d.createElement)("span",{key:"t",className:"gp-branch-row__track"},`${f.ahead?`\u2191${f.ahead}`:""}${f.behind?`\u2193${f.behind}`:""}`):null])})]);return(0,d.createElement)("div",{},[(0,d.createElement)("div",{key:"head-row",className:"gp-branch-row",style:{fontWeight:600,paddingLeft:10},onClick:()=>r.onFilter(null)},r.t("overview.head")),a("local","overview.local",e.local,(0,d.createElement)(Oe,{size:13})),a("remote","overview.remote",e.remote,(0,d.createElement)(Oe,{size:13})),a("tags","overview.tags",e.tags,(0,d.createElement)(ht,{size:13}))])}function Pn(e,t){let n=e.commit;return(0,d.createElement)("div",{key:n.hash,className:`gp-commit-row${t.selected?" gp-commit-row--active":""}`,style:{gridTemplateColumns:t.gridTpl},onClick:t.onSelect,onMouseEnter:i=>t.onHoverEnter(n,i.clientX,i.clientY),onMouseLeave:t.onHoverLeave},[(0,d.createElement)("div",{key:"g",className:"gp-graph-cell"},t.searching?null:Fn(e,t.laneCount)),(0,d.createElement)("div",{key:"s",className:"gp-commit-subject"},[...n.refs.map(i=>(0,d.createElement)("span",{key:i.name,className:`gp-ref-chip${i.head?" gp-ref-chip--head":""}${i.kind==="remote"?" gp-ref-chip--remote":""}${i.kind==="tag"?" gp-ref-chip--tag":""}`},i.name)),n.subject]),(0,d.createElement)("div",{key:"h",className:"gp-commit-hash"},n.shortHash),(0,d.createElement)("div",{key:"a",className:"gp-commit-author"},n.author),(0,d.createElement)("div",{key:"d",className:"gp-commit-date",title:he(n.dateIso)},me(n.dateIso,t.now,t.t))])}var He=["#4e9bff","#3fb950","#e0982e","#d05ce3","#e5534b","#2dc6c6","#d29922","#8b949e"];function Fn(e,t){let n=Math.max(be,t*be),i=a=>a*be+be/2,r=[];for(let a of e.edges){let s=He[a.color%He.length];r.push((0,d.createElement)("path",{key:`e${a.fromLane}-${a.toLane}-${a.color}`,d:`M ${i(a.fromLane)} 0 C ${i(a.fromLane)} ${ke/2}, ${i(a.toLane)} ${ke/2}, ${i(a.toLane)} ${ke}`,stroke:s,strokeWidth:1.6,fill:"none"}))}return r.push((0,d.createElement)("circle",{key:"node",cx:i(e.lane),cy:ke/2,r:e.merge?4:3.2,fill:He[e.color%He.length],stroke:"var(--dsw-alias-bg-layer-1)",strokeWidth:1})),(0,d.createElement)("svg",{className:"gp-graph-svg",width:n,height:ke},r)}function Ln(e,t){let n=[],i=(r,a)=>{for(let s of r)if(s.dir)n.push((0,d.createElement)("div",{key:s.path,className:"gp-tree-row",style:{paddingLeft:10+a*14}},[(0,d.createElement)(de,{key:"c",size:11,open:!0}),(0,d.createElement)("span",{key:"n",className:"gp-tree-name"},s.name)])),i(s.children,a+1);else{let o=String(s.meta??"modified"),l=t.activePath===s.path;n.push((0,d.createElement)("div",{key:s.path,className:`gp-tree-row${l?" gp-tree-row--active":""}`,style:{paddingLeft:10+a*14},title:t.openTitle,onClick:()=>t.onOpen(s.path)},[(0,d.createElement)("span",{key:"st",className:`gp-status-badge ${Me(o)}`},(De[o]??o[0]??"M").toUpperCase()),(0,d.createElement)("span",{key:"n",className:"gp-tree-name"},s.name)]))}};return i(e,0),(0,d.createElement)("div",{},n)}function An(e,t){if(e===null||typeof document>"u")return null;let{text:n,error:i,mode:r,onMode:a,expanded:s,onExpand:o,onClose:l,remote:c,sessionId:p,t:f}=t,h=(0,d.createElement)("div",{className:"gp-modal-backdrop",onClick:y=>{y.target===y.currentTarget&&l()}},(0,d.createElement)("div",{className:"gp-modal",role:"dialog","aria-modal":!0},[(0,d.createElement)("div",{key:"bar",className:"gp-modal__bar"},[(0,d.createElement)("span",{key:"fileicon",className:"gp-modal__fileicon"},(0,d.createElement)(bt,{size:15})),(0,d.createElement)("span",{key:"path",className:"gp-modal__path",title:e.path},zn(e.path)),(0,d.createElement)("span",{key:"hash",className:"gp-modal__hash"},e.shortHash),n!==null&&n!==""?(()=>{let y=$e(n);return(0,d.createElement)("span",{key:"sum",className:"gp-modal__sum"},[(0,d.createElement)("span",{key:"a",className:"gp-stats__add"},`+${y.add}`),(0,d.createElement)("span",{key:"d",className:"gp-stats__del"},`\u2212${y.del}`)])})():null,(0,d.createElement)("button",{key:"expand",type:"button",className:`gp-seg__btn gp-diff__expand${s?" gp-seg__btn--active":""}`,disabled:r!=="split"&&r!=="unified",title:f(s?"diff.collapse":"diff.expandAll"),onClick:()=>o(!s)},f(s?"diff.collapse":"diff.expandAll")),(0,d.createElement)("div",{key:"seg",className:"gp-seg"},["unified","split","before","after"].map(y=>(0,d.createElement)("button",{key:y,type:"button",className:`gp-seg__btn${r===y?" gp-seg__btn--active":""}`,onClick:()=>a(y)},f(`diff.${y}`)))),(0,d.createElement)("button",{key:"close",type:"button",className:"gp-icon-btn gp-modal__close",title:f("common.close"),onClick:l},(0,d.createElement)(yt,{size:15}))]),(0,d.createElement)("div",{key:"scroll",className:"gp-modal__scroll"},n===null?(0,d.createElement)("div",{className:"gp-empty"},f(i?"overview.diffFailed":"common.loading")):(0,d.createElement)(ze,{text:n,mode:r,path:e.path,remote:c,sessionId:p,imageSpec:{base:"commit",commit:e.hash},t:f}))]));return(0,Ye.createPortal)(h,document.body,"file-diff-modal")}function zn(e){let t=e.lastIndexOf("/");return t<0?[(0,d.createElement)("span",{key:"n",className:"gp-modal__name"},e)]:[(0,d.createElement)("span",{key:"d",className:"gp-modal__dir"},e.slice(0,t+1)),(0,d.createElement)("span",{key:"n",className:"gp-modal__name"},e.slice(t+1))]}var m=require("react");var W=require("react");function It({stats:e,t}){let n=Date.now(),i=[(0,W.createElement)("span",{key:"files",className:"gp-stats__item"},t("stats.files",{n:e.fileCount})),(0,W.createElement)("span",{key:"lines",className:"gp-stats__item"},[(0,W.createElement)("span",{key:"a",className:"gp-stats__add"},`+${e.insertions}`)," ",(0,W.createElement)("span",{key:"d",className:"gp-stats__del"},`\u2212${e.deletions}`)])];e.staged>0&&i.push((0,W.createElement)("span",{key:"st",className:"gp-stats__item"},t("stats.staged",{n:e.staged}))),e.modified>0&&i.push((0,W.createElement)("span",{key:"mo",className:"gp-stats__item"},t("stats.modified",{n:e.modified}))),e.untracked>0&&i.push((0,W.createElement)("span",{key:"un",className:"gp-stats__item"},t("stats.untracked",{n:e.untracked})));let r=[];return e.lastChangeAt!==null&&r.push((0,W.createElement)("span",{key:"lc",className:"gp-stats__item",title:he(e.lastChangeAt)},t("stats.lastChange",{time:me(e.lastChangeAt,n,t)}))),e.headCommittedAt!==null&&r.push((0,W.createElement)("span",{key:"hc",className:"gp-stats__item",title:he(e.headCommittedAt)},t("stats.lastCommit",{time:me(e.headCommittedAt,n,t)}))),r.length>0&&i.push((0,W.createElement)("span",{key:"times",className:"gp-stats__times"},r)),(0,W.createElement)("div",{className:"gp-stats"},i)}function Vt({remote:e,sessionId:t,snapshot:n,onAction:i,t:r}){let[a,s]=(0,m.useState)(new Set),[o,l]=(0,m.useState)(""),[c,p]=(0,m.useState)(!1),[f,h]=(0,m.useState)(!1),[y,u]=(0,m.useState)(null),[g,b]=(0,m.useState)(new Set),[T,L]=(0,m.useState)(null),[w,P]=(0,m.useState)(null),[H,I]=(0,m.useState)(null),[C,G]=(0,m.useState)(()=>n.defaultDiffView),[R,V]=(0,m.useState)(!1),[j,te]=(0,m.useState)(!1),U=(0,m.useRef)(0),$=(0,m.useMemo)(()=>n.changes.filter(x=>x.staged).sort(Ze),[n]),ne=(0,m.useMemo)(()=>n.changes.filter(x=>!x.staged&&x.status!=="untracked").sort(Ze),[n]),fe=(0,m.useMemo)(()=>n.changes.filter(x=>x.status==="untracked").sort(Ze),[n]),N=[{key:"staged",labelKey:"changes.groupStaged",items:$},{key:"unstaged",labelKey:"changes.groupUnstaged",items:ne},{key:"untracked",labelKey:"changes.groupUntracked",items:fe}].filter(x=>x.items.length>0);(0,m.useEffect)(()=>{s(x=>{if(x.size===0)return x;let D=new Set(n.changes.map(oe=>oe.path+(oe.staged?":s":":w"))),A=new Set,ge=!1;for(let oe of x)D.has(oe)?A.add(oe):ge=!0;return ge?A:x})},[n]),(0,m.useEffect)(()=>{if(!c||j||o.trim()!=="")return;let x=!0;return e.query({sessionId:t,query:{kind:"last-commit-message"}}).then(D=>{let A=q(D,"last-commit-message");x&&A!==null&&(l(A.message),te(!0))}),()=>{x=!1}},[c,j,o,e,t]);let E=(0,m.useCallback)(async(x,D,A=!1,ge=!1)=>{let oe=++U.current;P({path:x,base:D}),ge||I(null),V(A);let en=await e.query({sessionId:t,query:{kind:"diff",path:x,base:D,...A?{context:1e5}:{}}});if(oe!==U.current)return;let nt=q(en,"diff");I(nt!==null?nt.text:"")},[e,t]);(0,m.useEffect)(()=>{if(w===null)return;if(!n.changes.some(D=>D.path===w.path)){P(null),I(null);return}E(w.path,w.base,R,!0)},[n]),(0,m.useEffect)(()=>{L(null)},[n]);let K=x=>{s(D=>{let A=new Set(D);return A.has(x)?A.delete(x):A.add(x),A})},B=async x=>{if(f)return!1;h(!0),u(null);try{let D=await i(x);return D.ok?!0:(u(D.error??r("error.generic")),!1)}catch(D){return u(D instanceof Error?D.message:r("error.generic")),!1}finally{h(!1)}},J=async()=>{let x=o.trim();if(x===""&&!c){u(r("error.emptyMessage"));return}let D=a.size>0?[...new Set([...a].map(ge=>ge.replace(/:[sw]$/,"")))]:void 0;await B({kind:"commit",message:x,...D?{paths:D}:{},...c?{amend:!0}:{}})&&(l(""),s(new Set),p(!1),te(!1))},re=x=>{b(D=>{let A=new Set(D);return A.has(x)?A.delete(x):A.add(x),A})},X=H!==null&&H!==""?$e(H):null,ie=ce({storageKey:"gp.changes.left",initial:380,min:220,reserve:200,edge:"end"});return(0,m.createElement)("div",{className:"gp-changes"},[(0,m.createElement)("div",{key:"left",className:"gp-changes__left",style:{flex:`0 0 ${ie.width}px`}},[(0,m.createElement)(It,{key:"stats",stats:n.stats,t:r}),(0,m.createElement)("div",{key:"toolbar",className:"gp-toolbar"},[(0,m.createElement)("button",{key:"sa",type:"button",className:"gp-btn",disabled:f||n.changes.length===0,onClick:()=>void B({kind:"stage-all"})},r("changes.stageAll")),(0,m.createElement)("button",{key:"ua",type:"button",className:"gp-btn",disabled:f||n.staged===0,onClick:()=>void B({kind:"unstage-all"})},r("changes.unstageAll"))]),y!==null?(0,m.createElement)("div",{key:"err",className:"gp-feedback"},y):null,(0,m.createElement)("div",{key:"list",className:"gp-changes__list"},n.changes.length===0?(0,m.createElement)("div",{className:"gp-empty"},r("changes.noChanges")):N.map(x=>(0,m.createElement)("div",{key:x.key},[(0,m.createElement)("div",{key:"head",className:"gp-group-head",onClick:()=>re(x.key)},[(0,m.createElement)(de,{key:"chev",size:12,open:!g.has(x.key)}),`${r(x.labelKey)} (${x.items.length})`]),g.has(x.key)?null:x.items.map(D=>{let A=D.path+(D.staged?":s":":w");return $n(D,{selected:a.has(A),active:w?.path===D.path&&w.base===(D.staged?"staged":"worktree"),busy:f,armed:T===A,onToggle:()=>K(A),onOpen:()=>void E(D.path,D.staged?"staged":"worktree"),onStage:()=>void B(D.staged?{kind:"unstage",paths:[D.path]}:{kind:"stage",paths:[D.path]}),onDiscard:()=>{T===A?(B({kind:"discard",paths:[D.path]}),L(null)):L(A)},t:r})})]))),(0,m.createElement)("div",{key:"box",className:"gp-commitbox"},[(0,m.createElement)("textarea",{key:"msg",className:"gp-commitbox__msg",placeholder:r("commit.placeholder"),value:o,onChange:x=>l(x.target.value)}),(0,m.createElement)("div",{key:"row",className:"gp-commitbox__row"},[(0,m.createElement)("label",{key:"amend",className:"gp-commitbox__amend"},[(0,m.createElement)("input",{key:"cb",type:"checkbox",className:"gp-check",checked:c,onChange:()=>{p(x=>!x),te(!1)}}),r("commit.amend")]),(0,m.createElement)("div",{key:"actions",className:"gp-commitbox__actions"},[(0,m.createElement)("button",{key:"commit",type:"button",className:"gp-btn gp-btn--primary",disabled:f||o.trim()==="",onClick:()=>void J()},r("commit.commit"))])])])]),ie.divider,(0,m.createElement)("div",{key:"right",className:"gp-changes__right"},w===null?(0,m.createElement)("div",{className:"gp-empty"},r("changes.selectFile")):(0,m.createElement)("div",{className:"gp-diff"},[(0,m.createElement)("div",{key:"tb",className:"gp-diff__toolbar"},[(0,m.createElement)("span",{key:"path",className:"gp-diff__path"},w.path),X?(0,m.createElement)("span",{key:"sum",className:"gp-stats__item",style:{marginLeft:"auto"}},[(0,m.createElement)("span",{key:"a",className:"gp-stats__add"},`+${X.add}`)," ",(0,m.createElement)("span",{key:"d",className:"gp-stats__del"},`\u2212${X.del}`)]):null,(0,m.createElement)("button",{key:"expand",type:"button",className:`gp-seg__btn gp-diff__expand${R?" gp-seg__btn--active":""}`,style:X?{}:{marginLeft:"auto"},disabled:C!=="split"&&C!=="unified",title:r(R?"diff.collapse":"diff.expandAll"),onClick:()=>void E(w.path,w.base,!R)},r(R?"diff.collapse":"diff.expandAll")),(0,m.createElement)("div",{key:"seg",className:"gp-seg"},["unified","split","before","after"].map(x=>(0,m.createElement)("button",{key:x,type:"button",className:`gp-seg__btn${C===x?" gp-seg__btn--active":""}`,onClick:()=>G(x)},r(`diff.${x}`))))]),(0,m.createElement)("div",{key:"scroll",className:"gp-diff__scroll"},H===null?(0,m.createElement)("div",{className:"gp-empty"},r("common.loading")):(0,m.createElement)(ze,{text:H,mode:C,path:w.path,remote:e,sessionId:t,imageSpec:{base:w.base},t:r}))]))])}function Ze(e,t){return e.path.localeCompare(t.path)}function $n(e,t){let n=e.path.split("/").pop()??e.path,i=e.path.includes("/")?e.path.slice(0,e.path.lastIndexOf("/")):"";return(0,m.createElement)("div",{key:e.path+(e.staged?":s":":w"),className:`gp-file-row${t.active?" gp-file-row--active":""}`,onClick:t.onOpen},[(0,m.createElement)("input",{key:"cb",type:"checkbox",className:"gp-check",checked:t.selected,onClick:r=>r.stopPropagation(),onChange:t.onToggle}),(0,m.createElement)("span",{key:"st",className:`gp-status-badge ${Me(e.status)}`},De[e.status]??"?"),(0,m.createElement)("span",{key:"nm",className:"gp-tree-name",title:e.path},[n,i?(0,m.createElement)("span",{key:"d",style:{color:"var(--dsw-alias-label-tertiary)",marginLeft:6,fontSize:11}},i):null]),(0,m.createElement)("span",{key:"act",className:"gp-file-row__actions"},[(0,m.createElement)("button",{key:"stg",type:"button",className:"gp-icon-btn",title:e.staged?t.t("changes.unstage"):t.t("changes.stage"),disabled:t.busy,onClick:r=>{r.stopPropagation(),t.onStage()}},e.staged?"\u2212":"+"),(0,m.createElement)("button",{key:"dis",type:"button",className:"gp-icon-btn",title:t.armed?t.t("changes.discardConfirm"):t.t("changes.discard"),style:t.armed?{color:"var(--dsw-alias-state-error-primary)"}:{},disabled:t.busy,onClick:r=>{r.stopPropagation(),t.onDiscard()}},"\u21BA")])])}var v=require("react");var ee=require("@deepseek-ai/dsh-client-ui-primitives");function Xt(e){return/\.(?:md|markdown)$/i.test(e)}function et({remote:e,sessionId:t,t:n}){let[i,r]=(0,v.useState)(new Map),[a,s]=(0,v.useState)(new Set([""])),[o,l]=(0,v.useState)(null),[c,p]=(0,v.useState)({kind:"idle"}),[f,h]=(0,v.useState)(!1),[y,u]=(0,v.useState)("idle"),g=(0,v.useMemo)(()=>({code:{copyLabel:n("files.copy"),copiedLabel:n("files.copied")},footnotes:n("files.footnotes")}),[n]),b=(0,v.useRef)(0),T=ce({storageKey:"gp.files.left",initial:300,min:180,reserve:220,edge:"end"}),L=(0,v.useCallback)(C=>{r(G=>{let R=G.get(C);if(R!==void 0&&R.status!=="error")return G;let V=new Map(G);return V.set(C,{status:"loading"}),V}),e.query({sessionId:t,query:{kind:"dir-list",path:C}}).then(G=>{let R=q(G,"dir-list");r(V=>{let j=new Map(V);return j.set(C,R===null?{status:"error"}:{status:"ready",entries:R.entries,truncated:R.truncated}),j})}).catch(()=>{r(G=>{let R=new Map(G);return R.set(C,{status:"error"}),R})})},[e,t]);(0,v.useEffect)(()=>{L("")},[L]);let w=(0,v.useCallback)(C=>{s(G=>{let R=new Set(G);return R.has(C)?(R.delete(C),R):(R.add(C),i.get(C)===void 0&&L(C),R)})},[i,L]),P=(0,v.useCallback)(C=>{l(C),h(!1),u("idle");let G=++b.current;p({kind:"loading",path:C}),e.query({sessionId:t,query:{kind:"file-content",path:C}}).then(R=>{if(G!==b.current)return;let V=q(R,"file-content");if(V===null){p({kind:"error",path:C});return}if(V.tooLarge===!0){p({kind:"tooLarge",path:C});return}if(V.variant==="image"&&V.dataUrl!==void 0){p({kind:"image",path:C,dataUrl:V.dataUrl});return}if(V.variant==="text"){p({kind:"text",path:C,content:V.content??"",lines:V.lines??0});return}p({kind:"binary",path:C})}).catch(()=>{G===b.current&&p({kind:"error",path:C})})},[e,t]),H=(0,v.useMemo)(()=>qt("",0,{dirs:i,open:a,selected:o,toggleDir:w,selectFile:P,t:n}),[i,a,o,w,P,n]),I=async()=>{if(o===null)return;let C=b.current;try{await navigator.clipboard.writeText(o),C===b.current&&u("copied")}catch{C===b.current&&u("error")}};return(0,v.createElement)("div",{className:"gp-files"},[(0,v.createElement)("div",{key:"left",className:"gp-files__tree",style:{flex:`0 0 ${T.width}px`}},H),T.divider,(0,v.createElement)("div",{key:"right",className:"gp-files__preview"},[o!==null?(0,v.createElement)("div",{key:"bar",className:"gp-files__bar"},[(0,v.createElement)("code",{key:"path",className:"gp-files__path",title:o},o),c.kind==="text"&&Xt(c.path)?(0,v.createElement)("div",{key:"mode",className:"gp-files__mode",role:"group","aria-label":n("files.previewMode")},[(0,v.createElement)("button",{key:"source",type:"button",className:`gp-files__mode-btn${f?"":" gp-files__mode-btn--active"}`,"aria-pressed":!f,onClick:()=>h(!1)},n("files.source")),(0,v.createElement)("button",{key:"render",type:"button",className:`gp-files__mode-btn${f?" gp-files__mode-btn--active":""}`,"aria-pressed":f,onClick:()=>h(!0)},n("files.render"))]):null,(0,v.createElement)("button",{key:"copy",type:"button",className:`gp-files__copy-path${y==="error"?" gp-files__copy-path--error":""}`,"aria-live":"polite",onClick:()=>{I()}},n(y==="copied"?"files.pathCopied":y==="error"?"files.pathCopyFailed":"files.copyPath"))]):null,(0,v.createElement)("div",{key:"content",className:"gp-files__preview-content"},c.kind==="text"&&f&&Xt(c.path)?(0,v.createElement)("div",{className:"gp-files__markdown"},(0,v.createElement)(ee.MarkdownText,{text:c.content,labels:g,variant:"body"})):Hn(c,n))])])}function qt(e,t,n){let i=n.dirs.get(e);if(i===void 0||i.status==="loading")return t===0?[(0,v.createElement)("div",{key:"l",className:"gp-empty"},n.t("common.loading"))]:[(0,v.createElement)("div",{key:`l${e}`,className:"gp-tree-row gp-tree-row--muted",style:{paddingLeft:10+t*14}},n.t("common.loading"))];if(i.status==="error")return[(0,v.createElement)("div",{key:`e${e}`,className:"gp-tree-row gp-tree-row--muted",style:{paddingLeft:10+t*14}},n.t("files.loadFailed"))];let r=[];for(let a of i.entries){let s=e===""?a.name:`${e}/${a.name}`;if(a.dir){let o=n.open.has(s);r.push((0,v.createElement)("button",{key:s,type:"button",className:`gp-tree-row gp-files__entry gp-files__entry--dir${a.ignored?" gp-tree-row--ignored":""}`,style:{paddingLeft:10+t*14},"aria-expanded":o,"aria-label":a.ignored?`${a.name} (${n.t("files.ignored")})`:a.name,onClick:()=>n.toggleDir(s)},[(0,v.createElement)("span",{key:"c",className:"gp-tree-chev"},(0,v.createElement)(de,{size:11,open:o})),(0,v.createElement)("span",{key:"i",className:"gp-tree-ic"},(0,v.createElement)(ee.FileTypeIcon,{kind:"folder",size:18})),(0,v.createElement)("span",{key:"n",className:"gp-tree-name"},a.name)])),o&&r.push(...qt(s,t+1,n))}else{let o=n.selected===s;r.push((0,v.createElement)("button",{key:s,type:"button",className:`gp-tree-row gp-files__entry${o?" gp-tree-row--active":""}${a.ignored?" gp-tree-row--ignored":""}`,style:{paddingLeft:10+t*14},"aria-current":o?"true":void 0,"aria-label":a.ignored?`${a.name} (${n.t("files.ignored")})`:a.name,onClick:()=>n.selectFile(s)},[(0,v.createElement)("span",{key:"c",className:"gp-tree-chev"}),(0,v.createElement)("span",{key:"i",className:"gp-tree-ic"},(0,v.createElement)(ee.FileTypeIcon,{path:s,size:18})),(0,v.createElement)("span",{key:"n",className:"gp-tree-name"},a.name)]))}}return i.truncated&&r.push((0,v.createElement)("div",{key:`t${e}`,className:"gp-tree-row gp-tree-row--muted",style:{paddingLeft:10+t*14}},n.t("files.truncated"))),r}function Hn(e,t){switch(e.kind){case"idle":return(0,v.createElement)("div",{className:"gp-empty"},t("files.selectFile"));case"loading":return(0,v.createElement)("div",{className:"gp-empty"},t("common.loading"));case"error":return(0,v.createElement)("div",{className:"gp-empty"},t("files.loadFailed"));case"tooLarge":return(0,v.createElement)("div",{className:"gp-empty"},t("files.tooLarge"));case"binary":return(0,v.createElement)("div",{className:"gp-empty"},t("files.binary"));case"image":return(0,v.createElement)("div",{className:"gp-files__image"},(0,v.createElement)("img",{src:e.dataUrl,alt:e.path}));case"text":return(0,v.createElement)("div",{className:"gp-files__code gp-diff__scroll"},(0,v.createElement)(In,{content:e.content,path:e.path}))}}function In({content:e,path:t}){let n=(0,ee.languageForPath)(t),i=(0,ee.useCodeHighlighter)(n),r=(0,v.useMemo)(()=>{let s=e.split(`
|
|
307
|
+
`);return s.length>0&&s[s.length-1]===""&&s.pop(),s},[e]),a=(0,v.useMemo)(()=>i(r.join(`
|
|
308
|
+
`)),[i,r]);return(0,v.createElement)("div",{className:"gp-files__single"},r.flatMap((s,o)=>[(0,v.createElement)("div",{key:`n${o}`,className:"gp-diff-no"},o+1),(0,v.createElement)("div",{key:`c${o}`,className:"gp-diff-cell"},s===""?"\xA0":a?.[o]!==void 0?a[o].map((l,c)=>(0,v.createElement)("span",{key:c,style:l.style},l.text)):s)]))}var Kt="gp.panel.fontDelta";function Vn(){if(typeof localStorage>"u")return 0;let e=Number(localStorage.getItem(Kt));return e===-1||e===1?e:0}function Jt({ctx:e,sessionId:t,t:n}){let[i,r]=(0,k.useState)(Vn),[a,s]=(0,k.useState)(null),o=Re(t),l=we(e),c=o.state==="error"&&o.error.code==="not-a-git-repo",p=c?"files":a!==null&&a.sessionId===t?a.tab:null,f=(0,k.useRef)({tabs:new Set});f.current.sessionId!==t&&(f.current={sessionId:t,tabs:new Set}),p!==null&&f.current.tabs.add(p);let h=f.current.tabs.has("files");(0,k.useEffect)(()=>{if(!ae(t))return;if(c){s(null);return}if(a?.sessionId===t)return;let w=ft(t);if(w!==null){s({sessionId:t,tab:w});return}o.state==="ready"&&s({sessionId:t,tab:o.snapshot.dirty?"changes":"overview"})},[t,o,c,a?.sessionId]),(0,k.useEffect)(()=>{if(ae(t))return gt(t,w=>s({sessionId:t,tab:w}))},[t]);let y=o.state==="ready"?o.snapshot.checkedAt:0,u=async w=>{if(!ae(t))return{ok:!1,error:n("error.noCwd")};let P=await l.run({sessionId:t,action:w});return P.ok?(Je(t).accept(P.snapshot),{ok:!0}):{ok:!1,error:Xn(P.error.code,P.error.message,n)}},g=w=>{r(w),typeof localStorage<"u"&&localStorage.setItem(Kt,String(w))},b=[{key:"overview",label:n("tab.overview"),icon:(0,k.createElement)(Te,{size:14})},{key:"changes",label:n("tab.changes"),icon:(0,k.createElement)(mt,{size:14})},{key:"files",label:n("tab.files"),icon:(0,k.createElement)(vt,{size:14})}],T=c?b.filter(w=>w.key==="files"):b,L=(()=>{if(!ae(t))return(0,k.createElement)("div",{className:"gp-empty"},n("error.noCwd"));if(o.state==="no-cwd")return(0,k.createElement)("div",{className:"gp-empty"},n("error.noCwd"));if(c)return(0,k.createElement)("div",{style:{display:"contents"}},h?(0,k.createElement)(et,{key:t,remote:l,sessionId:t,t:n}):null);if(o.state==="error")return(0,k.createElement)("div",{className:"gp-empty"},n("pill.unavailable"));if(o.state==="cold"||o.state==="loading"||p===null)return(0,k.createElement)("div",{className:"gp-empty"},n("common.loading"));let w=o.snapshot;return(0,k.createElement)("div",{style:{display:"contents"}},[f.current.tabs.has("overview")?(0,k.createElement)("div",{key:"overview",style:p==="overview"?{display:"contents"}:{display:"none"}},(0,k.createElement)(Ht,{key:t,remote:l,sessionId:t,refreshKey:y,defaultDiffView:w.defaultDiffView,t:n})):null,f.current.tabs.has("changes")?(0,k.createElement)("div",{key:"changes",style:p==="changes"?{display:"contents"}:{display:"none"}},(0,k.createElement)(Vt,{key:t,remote:l,sessionId:t,snapshot:w,onAction:u,t:n})):null,h?(0,k.createElement)("div",{key:"files",style:p==="files"?{display:"contents"}:{display:"none"}},(0,k.createElement)(et,{key:t,remote:l,sessionId:t,t:n})):null])})();return(0,k.createElement)("div",{className:"gp-panel","data-conversation-composer-overlay":"","data-font-delta":i},[(0,k.createElement)("div",{key:"tabs",className:"gp-tabbar",role:"tablist"},[...T.map(w=>(0,k.createElement)("button",{key:w.key,type:"button",role:"tab","aria-selected":p===w.key,className:`gp-tab${p===w.key?" gp-tab--active":""}`,onClick:()=>{ae(t)&&s({sessionId:t,tab:w.key})}},[(0,k.createElement)("span",{key:"i",className:"gp-tab__icon"},w.icon),w.label])),(0,k.createElement)("div",{key:"font",className:"gp-font"},[(0,k.createElement)("button",{key:"dec",type:"button",className:"gp-font__decrease",onClick:()=>g(-1),"aria-label":n("panel.fontDecrease")},"A\u2212"),(0,k.createElement)("button",{key:"reset",type:"button",className:"gp-font__reset",onClick:()=>g(0),"aria-label":n("panel.fontReset")},"A"),(0,k.createElement)("button",{key:"inc",type:"button",className:"gp-font__increase",onClick:()=>g(1),"aria-label":n("panel.fontIncrease")},"A+")]),(0,k.createElement)(qn,{key:"ver",remote:l,t:n})]),(0,k.createElement)("div",{key:"body",className:"gp-body"},L)])}function Xn(e,t,n){switch(e){case"empty-message":return n("error.emptyMessage");case"not-a-git-repo":return n("error.notARepo");case"cwd-unavailable":return n("error.noCwd");case"local-changes-block":return n("error.localChangesBlock");default:return t??n("error.generic")}}function qn({remote:e,t}){let[n,i]=(0,k.useState)({kind:"idle"});(0,k.useEffect)(()=>{let o=!0;return e.version({}).then(l=>{o&&"current"in l&&i(c=>({...c,info:l}))}),()=>{o=!1}},[e]);let r=async()=>{i(l=>({kind:"checking",info:l.info}));let o=await e.version({check:!0});i({kind:"idle",info:"current"in o?o:void 0})},a=n.info,s=n.kind==="checking"?(0,k.createElement)("span",{className:"gp-verbar__status"},t("version.checking")):a===void 0||!a.checkedRemote?null:a.error!==void 0?(0,k.createElement)("span",{className:"gp-verbar__status gp-verbar__status--err",title:a.error},a.error==="repository is not configured"?t("version.noRepo"):t("version.error")):a.updateAvailable&&a.latest!==void 0?(0,k.createElement)("span",{},[(0,k.createElement)("span",{key:"s",className:"gp-verbar__status gp-verbar__status--new"},t("version.updateAvailable",{latest:a.latest,current:a.current})),a.releaseUrl!==void 0?(0,k.createElement)("a",{key:"l",className:"gp-verbar__link",href:a.releaseUrl,target:"_blank",rel:"noreferrer",style:{marginLeft:8}},t("version.viewRelease")):null]):(0,k.createElement)("span",{className:"gp-verbar__status gp-verbar__status--ok"},t("version.upToDate",{current:a.current}));return(0,k.createElement)("div",{className:"gp-verbar"},[a!==void 0?(0,k.createElement)("span",{key:"tag",className:"gp-verbar__tag"},`v${a.current}`):null,s,(0,k.createElement)("button",{key:"btn",type:"button",className:"gp-verbar__btn",disabled:n.kind==="checking",onClick:()=>void r()},[(0,k.createElement)("span",{key:"i",className:"gp-tab__icon"},(0,k.createElement)(Ee,{size:12})),t("version.check")]),a?.repositoryUrl!==void 0?(0,k.createElement)("a",{key:"gh",className:"gp-icon-btn gp-verbar__gh",href:a.repositoryUrl,target:"_blank",rel:"noreferrer",title:t("version.openRepo"),"aria-label":t("version.openRepo")},(0,k.createElement)(wt,{size:15})):null])}var z=require("react"),Qt=require("react-dom");var Wt="data-gp-tab-dot",ve,tt=null,Bt="",_e=null,pe;function Kn(e){if(typeof document>"u")return null;let t=document.querySelectorAll(Be);for(let n of t)if((n.textContent??"").trim()===e)return n;return null}function Ie(){let e=Kn(Bt);if(e===null)return;let t=e.querySelector(`[${Wt}]`);if(_e===null){t?.remove();return}let n=`gp-tab-dot gp-tab-dot--${_e}`;if(t!==null){t.className!==n&&(t.className=n);return}let i=document.createElement("span");i.className=n,i.setAttribute(Wt,""),i.setAttribute("aria-hidden","true"),e.appendChild(i)}function Jn(){if(typeof document>"u"||typeof MutationObserver>"u")return;let e=document.querySelector(ct);if(e!==tt){if(ve?.disconnect(),tt=e,e===null){ve=void 0;return}ve=new MutationObserver(()=>Ie()),ve.observe(e,{childList:!0,subtree:!0})}}function Ot(){ve?.disconnect(),ve=void 0,tt=null}function jt(e,t,n){if(!(typeof document>"u")){if(n===null){if(pe!==void 0&&pe!==e)return;pe=void 0,_e=null,Ie(),Ot();return}pe=e,Bt=t,_e=n,Jn(),Ie()}}function Ut(e){pe!==void 0&&pe!==e||(pe=void 0,_e=null,Ie(),Ot())}function Wn(e){let t=e.replace(/[/\\]+$/,"").split(/[/\\]/);return t[t.length-1]||e}function Bn(){let[e,t]=(0,z.useState)(!1),[n,i]=(0,z.useState)(null),r=(0,z.useRef)(null);return(0,z.useLayoutEffect)(()=>{if(!e||r.current===null){i(null);return}let o=r.current.getBoundingClientRect();i({left:o.left,bottom:window.innerHeight-o.top+8})},[e]),{bind:{ref:o=>{r.current=o},onMouseEnter:()=>t(!0),onMouseLeave:()=>t(!1)},render:o=>!e||n===null||typeof document>"u"?null:(0,Qt.createPortal)((0,z.createElement)("div",{className:"gp-tip",style:{left:n.left,bottom:n.bottom}},o.map((l,c)=>(0,z.createElement)("div",{key:c,className:c===0?"gp-tip__path":"gp-tip__note"},l))),document.body)}}function On(e){let[t,n]=(0,z.useState)(!1);return(0,z.useEffect)(()=>{if(e===null||typeof ResizeObserver>"u")return;let r=e.closest("[data-conversation-region]")??document.body,a=()=>n(r.clientWidth>0&&r.clientWidth<jn);a();let s=new ResizeObserver(a);return s.observe(r),()=>s.disconnect()},[e]),t}var jn=620;function Yt({sessionId:e,t}){let n=Re(e),i=Bn(),[r,a]=(0,z.useState)(null),s=On(r),o=(0,z.useRef)(Symbol("gp-tab-dot")),l=n.state==="ready"&&n.snapshot.showInputPill===!1?n.snapshot.dirty?"dirty":"synced":null,c=t("panel.tab");if((0,z.useEffect)(()=>{jt(o.current,c,l);let b=o.current;return()=>{Ut(b)}},[c,l]),n.state==="cold"||n.state==="loading"||n.state==="no-cwd")return null;if(n.state==="error")return n.error.code==="not-a-git-repo"||n.error.showInputPill===!1?null:(0,z.createElement)("span",{className:"gp-pill gp-pill--degraded",title:n.error.detail??t("pill.unavailable")},t("pill.unavailable"));let p=n.snapshot;if(p.showInputPill===!1)return null;let f=Wn(p.root),h=p.branch??`(${t("pill.detached")})`,y=p.dirty,u=y?"gp-pill--dirty":"gp-pill--synced",g=()=>{ae(e)&&pt(e,y?"changes":"overview"),ut(t("panel.tab"))};return(0,z.createElement)("span",{className:"gp-pill-wrap",ref:a},[(0,z.createElement)("button",{key:"btn",type:"button",className:`gp-pill ${u}${s?" gp-pill--compact":""}`,onClick:g,ref:i.bind.ref,onMouseEnter:i.bind.onMouseEnter,onMouseLeave:i.bind.onMouseLeave},[(0,z.createElement)("span",{key:"dot",className:"gp-pill__dot","aria-hidden":"true"}),(0,z.createElement)("span",{key:"repo",className:"gp-pill__repo"},f),(0,z.createElement)("span",{key:"git",className:"gp-pill__git"},["(",(0,z.createElement)("span",{key:"b",className:"gp-pill__branch"},h),")"])]),i.render([p.root,t(y?"pill.dirty":"pill.synced")])])}var F=require("react");function Un(e){for(let t of e){let n=t.schema?.dict;if(n!==void 0&&"showInputPill"in n||JSON.stringify(t.schema).includes("showInputPill"))return t.ns}}function Zt({ctx:e,t}){let[,n]=(0,F.useState)(0),[i,r]=(0,F.useState)(!1),[a,s]=(0,F.useState)(!1),[o,l]=(0,F.useState)(null),[c,p]=(0,F.useState)(null),f=()=>{n(G=>G+1)},h=e.get("configForms"),y=(0,F.useMemo)(()=>h?.describe(),[h]);(0,F.useEffect)(()=>{if(y!==void 0)return y.ensure(),y.subscribe(f)},[y]);let u=y?.getSnapshot().view,g=(0,F.useMemo)(()=>u===void 0?void 0:Un(u.namespaces),[u]),b=(0,F.useMemo)(()=>h!==void 0&&g!==void 0?h.get(g):void 0,[h,g]);(0,F.useEffect)(()=>{if(b!==void 0)return b.subscribe(f)},[b]);let T=b?.getSnapshot(),L=b!==void 0&&T!==void 0&&T.status==="ready",w=y?.getSnapshot().status,P=o??(typeof T?.value?.showInputPill=="boolean"?T.value.showInputPill:!0),H=c??(T?.value?.defaultDiffView==="split"?"split":"unified"),I=async G=>{if(b!==void 0){l(G),s(!1),r(!0);try{let R=await b.set("showInputPill",G);l(null),R?(le(),setTimeout(()=>le(),1e3)):s(!0)}catch{l(null),s(!0)}finally{r(!1)}}},C=async G=>{if(!(b===void 0||G===H)){p(G),s(!1),r(!0);try{let R=await b.set("defaultDiffView",G);p(null),R?(le(),setTimeout(()=>le(),1e3)):s(!0)}catch{p(null),s(!0)}finally{r(!1)}}};return h===void 0?(0,F.createElement)("p",{className:"gp-cfg__hint"},t("cfg.notLoaded")):L?(0,F.createElement)("div",{className:"gp-cfg"},[(0,F.createElement)("h3",{key:"title",className:"gp-cfg__title"},t("cfg.title")),(0,F.createElement)("label",{key:"row",className:"gp-cfg__row"},[(0,F.createElement)("input",{key:"switch",type:"checkbox",role:"switch",className:"gp-cfg__switch",checked:P,disabled:i||T?.writable===!1,onChange:G=>{I(G.currentTarget.checked)}}),(0,F.createElement)("span",{key:"text",className:"gp-cfg__text"},t("cfg.toggle"))]),(0,F.createElement)("p",{key:"hint",className:"gp-cfg__hint"},t("cfg.hint")),(0,F.createElement)("h3",{key:"difftitle",className:"gp-cfg__title",style:{marginTop:6}},t("cfg.diffTitle")),(0,F.createElement)("div",{key:"diffseg",className:"gp-seg gp-cfg__seg"},["unified","split"].map(G=>(0,F.createElement)("button",{key:G,type:"button",className:`gp-seg__btn${H===G?" gp-seg__btn--active":""}`,disabled:i||T?.writable===!1,onClick:()=>{C(G)}},t(G==="unified"?"cfg.diffUnified":"cfg.diffSplit")))),(0,F.createElement)("p",{key:"diffhint",className:"gp-cfg__hint"},t("cfg.diffHint")),a?(0,F.createElement)("p",{key:"error",className:"gp-cfg__err",role:"alert"},t("cfg.saveFailed")):null]):w==="idle"||w==="loading"?(0,F.createElement)("p",{className:"gp-cfg__hint"},t("common.loading")):(0,F.createElement)("p",{className:"gp-cfg__hint"},t("cfg.notLoaded"))}var Se="gitPanel",Qn=["dsh-git-panel","@xbzbing/dsh-git-panel"],Yn=["slots","locale","connection"],Zn="dsh-git-panel";function er(e){rt(),lt(e),e.effect(()=>e.locale.register(Se,{zh:it,en:at})??void 0,"dsh-git-panel: dictionaries");let t=e.locale.bind(Se),n=[],i=r=>{typeof r=="function"&&n.push(r)};i(e.slots.inject("conversation.view",()=>e.slots.register({name:"conversation.view",id:"git-panel",order:30,locale:Se,label:()=>t("panel.tab")},r=>(0,Ve.createElement)(Jt,{ctx:e,sessionId:r.sessionId,t})))),i(e.slots.inject("conversation.input.left",()=>e.slots.register({name:"conversation.input.left",id:"git-panel-pill",order:100,locale:Se},r=>(0,Ve.createElement)(Yt,{sessionId:r.sessionId,t}))));for(let r of Qn)i(e.slots.inject("plugins.bundle.config",()=>e.slots.register({name:"plugins.bundle.config",key:r,locale:Se},a=>a.view==="summary"?t("cfg.title"):(0,Ve.createElement)(Zt,{ctx:e,t}))));e.effect(()=>{let r=e.on("connection/reset",()=>le());return()=>{typeof r=="function"&&r();for(let a of n.splice(0))try{a()}catch{}dt()}},"dsh-git-panel: lifecycle")}module.exports={name:Zn,inject:Yn,apply:er};
|
|
248
309
|
return module.exports;
|
|
249
310
|
} });
|