@coralai/sps-cli 0.52.1 → 0.52.3
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-CN.md +1 -1
- package/README.md +3 -3
- package/dist/commands/agentDaemon.d.ts.map +1 -1
- package/dist/commands/agentDaemon.js +9 -3
- package/dist/commands/agentDaemon.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +4 -0
- package/dist/commands/setup.js.map +1 -1
- package/dist/console/routes/chat.d.ts.map +1 -1
- package/dist/console/routes/chat.js +15 -2
- package/dist/console/routes/chat.js.map +1 -1
- package/dist/console-assets/assets/{index-DTKk8HDm.js → index-Bf8zeTg0.js} +73 -73
- package/dist/console-assets/index.html +1 -1
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ var H_=Object.defineProperty;var Uv=e=>{throw TypeError(e)};var q_=(e,t,n)=>t in
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Pv;function K_(){if(Pv)return Wo;Pv=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(a,s,l){var c=null;if(l!==void 0&&(c=""+l),s.key!==void 0&&(c=""+s.key),"key"in s){l={};for(var d in s)d!=="key"&&(l[d]=s[d])}else l=s;return s=l.ref,{$$typeof:e,type:a,key:c,ref:s!==void 0?s:null,props:l}}return Wo.Fragment=t,Wo.jsx=n,Wo.jsxs=n,Wo}var Fv;function G_(){return Fv||(Fv=1,_p.exports=K_()),_p.exports}var p=G_(),Cp={exports:{}},
|
|
9
|
+
*/var Pv;function K_(){if(Pv)return Wo;Pv=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(a,s,l){var c=null;if(l!==void 0&&(c=""+l),s.key!==void 0&&(c=""+s.key),"key"in s){l={};for(var d in s)d!=="key"&&(l[d]=s[d])}else l=s;return s=l.ref,{$$typeof:e,type:a,key:c,ref:s!==void 0?s:null,props:l}}return Wo.Fragment=t,Wo.jsx=n,Wo.jsxs=n,Wo}var Fv;function G_(){return Fv||(Fv=1,_p.exports=K_()),_p.exports}var p=G_(),Cp={exports:{}},Pe={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react.production.js
|
|
12
12
|
*
|
|
@@ -14,7 +14,7 @@ var H_=Object.defineProperty;var Uv=e=>{throw TypeError(e)};var q_=(e,t,n)=>t in
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var $v;function V_(){if($v)return
|
|
17
|
+
*/var $v;function V_(){if($v)return Pe;$v=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),s=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),c=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),m=Symbol.for("react.activity"),x=Symbol.iterator;function v(D){return D===null||typeof D!="object"?null:(D=x&&D[x]||D["@@iterator"],typeof D=="function"?D:null)}var E={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},w=Object.assign,k={};function N(D,Y,R){this.props=D,this.context=Y,this.refs=k,this.updater=R||E}N.prototype.isReactComponent={},N.prototype.setState=function(D,Y){if(typeof D!="object"&&typeof D!="function"&&D!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,D,Y,"setState")},N.prototype.forceUpdate=function(D){this.updater.enqueueForceUpdate(this,D,"forceUpdate")};function C(){}C.prototype=N.prototype;function A(D,Y,R){this.props=D,this.context=Y,this.refs=k,this.updater=R||E}var T=A.prototype=new C;T.constructor=A,w(T,N.prototype),T.isPureReactComponent=!0;var L=Array.isArray;function M(){}var U={H:null,A:null,T:null,S:null},$=Object.prototype.hasOwnProperty;function te(D,Y,R){var ye=R.ref;return{$$typeof:e,type:D,key:Y,ref:ye!==void 0?ye:null,props:R}}function P(D,Y){return te(D.type,Y,D.props)}function Q(D){return typeof D=="object"&&D!==null&&D.$$typeof===e}function J(D){var Y={"=":"=0",":":"=2"};return"$"+D.replace(/[=:]/g,function(R){return Y[R]})}var me=/\/+/g;function le(D,Y){return typeof D=="object"&&D!==null&&D.key!=null?J(""+D.key):Y.toString(36)}function ee(D){switch(D.status){case"fulfilled":return D.value;case"rejected":throw D.reason;default:switch(typeof D.status=="string"?D.then(M,M):(D.status="pending",D.then(function(Y){D.status==="pending"&&(D.status="fulfilled",D.value=Y)},function(Y){D.status==="pending"&&(D.status="rejected",D.reason=Y)})),D.status){case"fulfilled":return D.value;case"rejected":throw D.reason}}throw D}function H(D,Y,R,ye,X){var fe=typeof D;(fe==="undefined"||fe==="boolean")&&(D=null);var he=!1;if(D===null)he=!0;else switch(fe){case"bigint":case"string":case"number":he=!0;break;case"object":switch(D.$$typeof){case e:case t:he=!0;break;case b:return he=D._init,H(he(D._payload),Y,R,ye,X)}}if(he)return X=X(D),he=ye===""?"."+le(D,0):ye,L(X)?(R="",he!=null&&(R=he.replace(me,"$&/")+"/"),H(X,Y,R,"",function(Oe){return Oe})):X!=null&&(Q(X)&&(X=P(X,R+(X.key==null||D&&D.key===X.key?"":(""+X.key).replace(me,"$&/")+"/")+he)),Y.push(X)),1;he=0;var K=ye===""?".":ye+":";if(L(D))for(var ue=0;ue<D.length;ue++)ye=D[ue],fe=K+le(ye,ue),he+=H(ye,Y,R,fe,X);else if(ue=v(D),typeof ue=="function")for(D=ue.call(D),ue=0;!(ye=D.next()).done;)ye=ye.value,fe=K+le(ye,ue++),he+=H(ye,Y,R,fe,X);else if(fe==="object"){if(typeof D.then=="function")return H(ee(D),Y,R,ye,X);throw Y=String(D),Error("Objects are not valid as a React child (found: "+(Y==="[object Object]"?"object with keys {"+Object.keys(D).join(", ")+"}":Y)+"). If you meant to render a collection of children, use an array instead.")}return he}function oe(D,Y,R){if(D==null)return D;var ye=[],X=0;return H(D,ye,"","",function(fe){return Y.call(R,fe,X++)}),ye}function ce(D){if(D._status===-1){var Y=D._result;Y=Y(),Y.then(function(R){(D._status===0||D._status===-1)&&(D._status=1,D._result=R)},function(R){(D._status===0||D._status===-1)&&(D._status=2,D._result=R)}),D._status===-1&&(D._status=0,D._result=Y)}if(D._status===1)return D._result.default;throw D._result}var ne=typeof reportError=="function"?reportError:function(D){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var Y=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof D=="object"&&D!==null&&typeof D.message=="string"?String(D.message):String(D),error:D});if(!window.dispatchEvent(Y))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",D);return}console.error(D)},j={map:oe,forEach:function(D,Y,R){oe(D,function(){Y.apply(this,arguments)},R)},count:function(D){var Y=0;return oe(D,function(){Y++}),Y},toArray:function(D){return oe(D,function(Y){return Y})||[]},only:function(D){if(!Q(D))throw Error("React.Children.only expected to receive a single React element child.");return D}};return Pe.Activity=m,Pe.Children=j,Pe.Component=N,Pe.Fragment=n,Pe.Profiler=s,Pe.PureComponent=A,Pe.StrictMode=a,Pe.Suspense=f,Pe.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=U,Pe.__COMPILER_RUNTIME={__proto__:null,c:function(D){return U.H.useMemoCache(D)}},Pe.cache=function(D){return function(){return D.apply(null,arguments)}},Pe.cacheSignal=function(){return null},Pe.cloneElement=function(D,Y,R){if(D==null)throw Error("The argument must be a React element, but you passed "+D+".");var ye=w({},D.props),X=D.key;if(Y!=null)for(fe in Y.key!==void 0&&(X=""+Y.key),Y)!$.call(Y,fe)||fe==="key"||fe==="__self"||fe==="__source"||fe==="ref"&&Y.ref===void 0||(ye[fe]=Y[fe]);var fe=arguments.length-2;if(fe===1)ye.children=R;else if(1<fe){for(var he=Array(fe),K=0;K<fe;K++)he[K]=arguments[K+2];ye.children=he}return te(D.type,X,ye)},Pe.createContext=function(D){return D={$$typeof:c,_currentValue:D,_currentValue2:D,_threadCount:0,Provider:null,Consumer:null},D.Provider=D,D.Consumer={$$typeof:l,_context:D},D},Pe.createElement=function(D,Y,R){var ye,X={},fe=null;if(Y!=null)for(ye in Y.key!==void 0&&(fe=""+Y.key),Y)$.call(Y,ye)&&ye!=="key"&&ye!=="__self"&&ye!=="__source"&&(X[ye]=Y[ye]);var he=arguments.length-2;if(he===1)X.children=R;else if(1<he){for(var K=Array(he),ue=0;ue<he;ue++)K[ue]=arguments[ue+2];X.children=K}if(D&&D.defaultProps)for(ye in he=D.defaultProps,he)X[ye]===void 0&&(X[ye]=he[ye]);return te(D,fe,X)},Pe.createRef=function(){return{current:null}},Pe.forwardRef=function(D){return{$$typeof:d,render:D}},Pe.isValidElement=Q,Pe.lazy=function(D){return{$$typeof:b,_payload:{_status:-1,_result:D},_init:ce}},Pe.memo=function(D,Y){return{$$typeof:h,type:D,compare:Y===void 0?null:Y}},Pe.startTransition=function(D){var Y=U.T,R={};U.T=R;try{var ye=D(),X=U.S;X!==null&&X(R,ye),typeof ye=="object"&&ye!==null&&typeof ye.then=="function"&&ye.then(M,ne)}catch(fe){ne(fe)}finally{Y!==null&&R.types!==null&&(Y.types=R.types),U.T=Y}},Pe.unstable_useCacheRefresh=function(){return U.H.useCacheRefresh()},Pe.use=function(D){return U.H.use(D)},Pe.useActionState=function(D,Y,R){return U.H.useActionState(D,Y,R)},Pe.useCallback=function(D,Y){return U.H.useCallback(D,Y)},Pe.useContext=function(D){return U.H.useContext(D)},Pe.useDebugValue=function(){},Pe.useDeferredValue=function(D,Y){return U.H.useDeferredValue(D,Y)},Pe.useEffect=function(D,Y){return U.H.useEffect(D,Y)},Pe.useEffectEvent=function(D){return U.H.useEffectEvent(D)},Pe.useId=function(){return U.H.useId()},Pe.useImperativeHandle=function(D,Y,R){return U.H.useImperativeHandle(D,Y,R)},Pe.useInsertionEffect=function(D,Y){return U.H.useInsertionEffect(D,Y)},Pe.useLayoutEffect=function(D,Y){return U.H.useLayoutEffect(D,Y)},Pe.useMemo=function(D,Y){return U.H.useMemo(D,Y)},Pe.useOptimistic=function(D,Y){return U.H.useOptimistic(D,Y)},Pe.useReducer=function(D,Y,R){return U.H.useReducer(D,Y,R)},Pe.useRef=function(D){return U.H.useRef(D)},Pe.useState=function(D){return U.H.useState(D)},Pe.useSyncExternalStore=function(D,Y,R){return U.H.useSyncExternalStore(D,Y,R)},Pe.useTransition=function(){return U.H.useTransition()},Pe.version="19.2.5",Pe}var Hv;function rg(){return Hv||(Hv=1,Cp.exports=V_()),Cp.exports}var O=rg(),Ap={exports:{}},Xo={},Tp={exports:{}},Op={};/**
|
|
18
18
|
* @license React
|
|
19
19
|
* scheduler.production.js
|
|
20
20
|
*
|
|
@@ -57,7 +57,7 @@ Error generating stack: `+u.message+`
|
|
|
57
57
|
* @license MIT
|
|
58
58
|
*/var l0="popstate";function o0(e){return typeof e=="object"&&e!=null&&"pathname"in e&&"search"in e&&"hash"in e&&"state"in e&&"key"in e}function BC(e={}){function t(a,s){var h;let l=(h=s.state)==null?void 0:h.masked,{pathname:c,search:d,hash:f}=l||a.location;return Tm("",{pathname:c,search:d,hash:f},s.state&&s.state.usr||null,s.state&&s.state.key||"default",l?{pathname:a.location.pathname,search:a.location.search,hash:a.location.hash}:void 0)}function n(a,s){return typeof s=="string"?s:mc(s)}return PC(t,n,null,e)}function Mt(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function _i(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function UC(){return Math.random().toString(36).substring(2,10)}function c0(e,t){return{usr:e.state,key:e.key,idx:t,masked:e.unstable_mask?{pathname:e.pathname,search:e.search,hash:e.hash}:void 0}}function Tm(e,t,n=null,a,s){return{pathname:typeof e=="string"?e:e.pathname,search:"",hash:"",...typeof t=="string"?$l(t):t,state:n,key:t&&t.key||a||UC(),unstable_mask:s}}function mc({pathname:e="/",search:t="",hash:n=""}){return t&&t!=="?"&&(e+=t.charAt(0)==="?"?t:"?"+t),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function $l(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substring(n),e=e.substring(0,n));let a=e.indexOf("?");a>=0&&(t.search=e.substring(a),e=e.substring(0,a)),e&&(t.pathname=e)}return t}function PC(e,t,n,a={}){let{window:s=document.defaultView,v5Compat:l=!1}=a,c=s.history,d="POP",f=null,h=b();h==null&&(h=0,c.replaceState({...c.state,idx:h},""));function b(){return(c.state||{idx:null}).idx}function m(){d="POP";let k=b(),N=k==null?null:k-h;h=k,f&&f({action:d,location:w.location,delta:N})}function x(k,N){d="PUSH";let C=o0(k)?k:Tm(w.location,k,N);h=b()+1;let A=c0(C,h),T=w.createHref(C.unstable_mask||C);try{c.pushState(A,"",T)}catch(L){if(L instanceof DOMException&&L.name==="DataCloneError")throw L;s.location.assign(T)}l&&f&&f({action:d,location:w.location,delta:1})}function v(k,N){d="REPLACE";let C=o0(k)?k:Tm(w.location,k,N);h=b();let A=c0(C,h),T=w.createHref(C.unstable_mask||C);c.replaceState(A,"",T),l&&f&&f({action:d,location:w.location,delta:0})}function E(k){return FC(k)}let w={get action(){return d},get location(){return e(s,c)},listen(k){if(f)throw new Error("A history only accepts one active listener");return s.addEventListener(l0,m),f=k,()=>{s.removeEventListener(l0,m),f=null}},createHref(k){return t(s,k)},createURL:E,encodeLocation(k){let N=E(k);return{pathname:N.pathname,search:N.search,hash:N.hash}},push:x,replace:v,go(k){return c.go(k)}};return w}function FC(e,t=!1){let n="http://localhost";typeof window<"u"&&(n=window.location.origin!=="null"?window.location.origin:window.location.href),Mt(n,"No window.location.(origin|href) available to create URL");let a=typeof e=="string"?e:mc(e);return a=a.replace(/ $/,"%20"),!t&&a.startsWith("//")&&(a=n+a),new URL(a,n)}function vw(e,t,n="/"){return $C(e,t,n,!1)}function $C(e,t,n,a){let s=typeof t=="string"?$l(t):t,l=Da(s.pathname||"/",n);if(l==null)return null;let c=ww(e);HC(c);let d=null;for(let f=0;d==null&&f<c.length;++f){let h=eA(l);d=ZC(c[f],h,a)}return d}function ww(e,t=[],n=[],a="",s=!1){let l=(c,d,f=s,h)=>{let b={relativePath:h===void 0?c.path||"":h,caseSensitive:c.caseSensitive===!0,childrenIndex:d,route:c};if(b.relativePath.startsWith("/")){if(!b.relativePath.startsWith(a)&&f)return;Mt(b.relativePath.startsWith(a),`Absolute route path "${b.relativePath}" nested under path "${a}" is not valid. An absolute child route path must start with the combined path of all its parent routes.`),b.relativePath=b.relativePath.slice(a.length)}let m=zi([a,b.relativePath]),x=n.concat(b);c.children&&c.children.length>0&&(Mt(c.index!==!0,`Index routes must not have child routes. Please remove all child routes from route path "${m}".`),ww(c.children,t,x,m,f)),!(c.path==null&&!c.index)&&t.push({path:m,score:WC(m,c.index),routesMeta:x})};return e.forEach((c,d)=>{var f;if(c.path===""||!((f=c.path)!=null&&f.includes("?")))l(c,d);else for(let h of Ew(c.path))l(c,d,!0,h)}),t}function Ew(e){let t=e.split("/");if(t.length===0)return[];let[n,...a]=t,s=n.endsWith("?"),l=n.replace(/\?$/,"");if(a.length===0)return s?[l,""]:[l];let c=Ew(a.join("/")),d=[];return d.push(...c.map(f=>f===""?l:[l,f].join("/"))),s&&d.push(...c),d.map(f=>e.startsWith("/")&&f===""?"/":f)}function HC(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:XC(t.routesMeta.map(a=>a.childrenIndex),n.routesMeta.map(a=>a.childrenIndex)))}var qC=/^:[\w-]+$/,KC=3,GC=2,VC=1,QC=10,YC=-2,u0=e=>e==="*";function WC(e,t){let n=e.split("/"),a=n.length;return n.some(u0)&&(a+=YC),t&&(a+=GC),n.filter(s=>!u0(s)).reduce((s,l)=>s+(qC.test(l)?KC:l===""?VC:QC),a)}function XC(e,t){return e.length===t.length&&e.slice(0,-1).every((a,s)=>a===t[s])?e[e.length-1]-t[t.length-1]:0}function ZC(e,t,n=!1){let{routesMeta:a}=e,s={},l="/",c=[];for(let d=0;d<a.length;++d){let f=a[d],h=d===a.length-1,b=l==="/"?t:t.slice(l.length)||"/",m=jd({path:f.relativePath,caseSensitive:f.caseSensitive,end:h},b),x=f.route;if(!m&&h&&n&&!a[a.length-1].route.index&&(m=jd({path:f.relativePath,caseSensitive:f.caseSensitive,end:!1},b)),!m)return null;Object.assign(s,m.params),c.push({params:s,pathname:zi([l,m.pathname]),pathnameBase:aA(zi([l,m.pathnameBase])),route:x}),m.pathnameBase!=="/"&&(l=zi([l,m.pathnameBase]))}return c}function jd(e,t){typeof e=="string"&&(e={path:e,caseSensitive:!1,end:!0});let[n,a]=JC(e.path,e.caseSensitive,e.end),s=t.match(n);if(!s)return null;let l=s[0],c=l.replace(/(.)\/+$/,"$1"),d=s.slice(1);return{params:a.reduce((h,{paramName:b,isOptional:m},x)=>{if(b==="*"){let E=d[x]||"";c=l.slice(0,l.length-E.length).replace(/(.)\/+$/,"$1")}const v=d[x];return m&&!v?h[b]=void 0:h[b]=(v||"").replace(/%2F/g,"/"),h},{}),pathname:l,pathnameBase:c,pattern:e}}function JC(e,t=!1,n=!0){_i(e==="*"||!e.endsWith("*")||e.endsWith("/*"),`Route path "${e}" will be treated as if it were "${e.replace(/\*$/,"/*")}" because the \`*\` character must always follow a \`/\` in the pattern. To get rid of this warning, please change the route path to "${e.replace(/\*$/,"/*")}".`);let a=[],s="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:([\w-]+)(\?)?/g,(c,d,f,h,b)=>{if(a.push({paramName:d,isOptional:f!=null}),f){let m=b.charAt(h+c.length);return m&&m!=="/"?"/([^\\/]*)":"(?:/([^\\/]*))?"}return"/([^\\/]+)"}).replace(/\/([\w-]+)\?(\/|$)/g,"(/$1)?$2");return e.endsWith("*")?(a.push({paramName:"*"}),s+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?s+="\\/*$":e!==""&&e!=="/"&&(s+="(?:(?=\\/|$))"),[new RegExp(s,t?void 0:"i"),a]}function eA(e){try{return e.split("/").map(t=>decodeURIComponent(t).replace(/\//g,"%2F")).join("/")}catch(t){return _i(!1,`The URL path "${e}" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${t}).`),e}}function Da(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,a=e.charAt(n);return a&&a!=="/"?null:e.slice(n)||"/"}var tA=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i;function nA(e,t="/"){let{pathname:n,search:a="",hash:s=""}=typeof e=="string"?$l(e):e,l;return n?(n=Sw(n),n.startsWith("/")?l=d0(n.substring(1),"/"):l=d0(n,t)):l=t,{pathname:l,search:rA(a),hash:sA(s)}}function d0(e,t){let n=Md(t).split("/");return e.split("/").forEach(s=>{s===".."?n.length>1&&n.pop():s!=="."&&n.push(s)}),n.length>1?n.join("/"):"/"}function jp(e,t,n,a){return`Cannot include a '${e}' character in a manually specified \`to.${t}\` field [${JSON.stringify(a)}]. Please separate it out to the \`to.${n}\` field. Alternatively you may provide the full path as a string in <Link to="..."> and the router will parse it for you.`}function iA(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function dg(e){let t=iA(e);return t.map((n,a)=>a===t.length-1?n.pathname:n.pathnameBase)}function Wd(e,t,n,a=!1){let s;typeof e=="string"?s=$l(e):(s={...e},Mt(!s.pathname||!s.pathname.includes("?"),jp("?","pathname","search",s)),Mt(!s.pathname||!s.pathname.includes("#"),jp("#","pathname","hash",s)),Mt(!s.search||!s.search.includes("#"),jp("#","search","hash",s)));let l=e===""||s.pathname==="",c=l?"/":s.pathname,d;if(c==null)d=n;else{let m=t.length-1;if(!a&&c.startsWith("..")){let x=c.split("/");for(;x[0]==="..";)x.shift(),m-=1;s.pathname=x.join("/")}d=m>=0?t[m]:"/"}let f=nA(s,d),h=c&&c!=="/"&&c.endsWith("/"),b=(l||c===".")&&n.endsWith("/");return!f.pathname.endsWith("/")&&(h||b)&&(f.pathname+="/"),f}var Sw=e=>e.replace(/\/\/+/g,"/"),zi=e=>Sw(e.join("/")),Md=e=>e.replace(/\/+$/,""),aA=e=>Md(e).replace(/^\/*/,"/"),rA=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,sA=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e,lA=class{constructor(e,t,n,a=!1){this.status=e,this.statusText=t||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}};function oA(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}function cA(e){let t=e.map(n=>n.route.path).filter(Boolean);return zi(t)||"/"}var kw=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";function Nw(e,t){let n=e;if(typeof n!="string"||!tA.test(n))return{absoluteURL:void 0,isExternal:!1,to:n};let a=n,s=!1;if(kw)try{let l=new URL(window.location.href),c=n.startsWith("//")?new URL(l.protocol+n):new URL(n),d=Da(c.pathname,t);c.origin===l.origin&&d!=null?n=d+c.search+c.hash:s=!0}catch{_i(!1,`<Link to="${n}"> contains an invalid URL which will probably break when clicked - please update to a valid URL path.`)}return{absoluteURL:a,isExternal:s,to:n}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");var _w=["POST","PUT","PATCH","DELETE"];new Set(_w);var uA=["GET",..._w];new Set(uA);var Hl=O.createContext(null);Hl.displayName="DataRouter";var Xd=O.createContext(null);Xd.displayName="DataRouterState";var Cw=O.createContext(!1);function dA(){return O.useContext(Cw)}var Aw=O.createContext({isTransitioning:!1});Aw.displayName="ViewTransition";var fA=O.createContext(new Map);fA.displayName="Fetchers";var hA=O.createContext(null);hA.displayName="Await";var ci=O.createContext(null);ci.displayName="Navigation";var Oc=O.createContext(null);Oc.displayName="Location";var Ti=O.createContext({outlet:null,matches:[],isDataRoute:!1});Ti.displayName="Route";var fg=O.createContext(null);fg.displayName="RouteError";var Tw="REACT_ROUTER_ERROR",pA="REDIRECT",mA="ROUTE_ERROR_RESPONSE";function gA(e){if(e.startsWith(`${Tw}:${pA}:{`))try{let t=JSON.parse(e.slice(28));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.location=="string"&&typeof t.reloadDocument=="boolean"&&typeof t.replace=="boolean")return t}catch{}}function bA(e){if(e.startsWith(`${Tw}:${mA}:{`))try{let t=JSON.parse(e.slice(40));if(typeof t=="object"&&t&&typeof t.status=="number"&&typeof t.statusText=="string")return new lA(t.status,t.statusText,t.data)}catch{}}function yA(e,{relative:t}={}){Mt(ql(),"useHref() may be used only in the context of a <Router> component.");let{basename:n,navigator:a}=O.useContext(ci),{hash:s,pathname:l,search:c}=Rc(e,{relative:t}),d=l;return n!=="/"&&(d=l==="/"?n:zi([n,l])),a.createHref({pathname:d,search:c,hash:s})}function ql(){return O.useContext(Oc)!=null}function Ui(){return Mt(ql(),"useLocation() may be used only in the context of a <Router> component."),O.useContext(Oc).location}var Ow="You should call navigate() in a React.useEffect(), not when your component is first rendered.";function Rw(e){O.useContext(ci).static||O.useLayoutEffect(e)}function Cr(){let{isDataRoute:e}=O.useContext(Ti);return e?MA():xA()}function xA(){Mt(ql(),"useNavigate() may be used only in the context of a <Router> component.");let e=O.useContext(Hl),{basename:t,navigator:n}=O.useContext(ci),{matches:a}=O.useContext(Ti),{pathname:s}=Ui(),l=JSON.stringify(dg(a)),c=O.useRef(!1);return Rw(()=>{c.current=!0}),O.useCallback((f,h={})=>{if(_i(c.current,Ow),!c.current)return;if(typeof f=="number"){n.go(f);return}let b=Wd(f,JSON.parse(l),s,h.relative==="path");e==null&&t!=="/"&&(b.pathname=b.pathname==="/"?t:zi([t,b.pathname])),(h.replace?n.replace:n.push)(b,h.state,h)},[t,n,l,s,e])}var vA=O.createContext(null);function wA(e){let t=O.useContext(Ti).outlet;return O.useMemo(()=>t&&O.createElement(vA.Provider,{value:e},t),[t,e])}function jw(){let{matches:e}=O.useContext(Ti),t=e[e.length-1];return(t==null?void 0:t.params)??{}}function Rc(e,{relative:t}={}){let{matches:n}=O.useContext(Ti),{pathname:a}=Ui(),s=JSON.stringify(dg(n));return O.useMemo(()=>Wd(e,JSON.parse(s),a,t==="path"),[e,s,a,t])}function EA(e,t){return Mw(e,t)}function Mw(e,t,n){var k;Mt(ql(),"useRoutes() may be used only in the context of a <Router> component.");let{navigator:a}=O.useContext(ci),{matches:s}=O.useContext(Ti),l=s[s.length-1],c=l?l.params:{},d=l?l.pathname:"/",f=l?l.pathnameBase:"/",h=l&&l.route;{let N=h&&h.path||"";Lw(d,!h||N.endsWith("*")||N.endsWith("*?"),`You rendered descendant <Routes> (or called \`useRoutes()\`) at "${d}" (under <Route path="${N}">) but the parent route path has no trailing "*". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.
|
|
59
59
|
|
|
60
|
-
Please change the parent <Route path="${N}"> to <Route path="${N==="/"?"*":`${N}/*`}">.`)}let b=Ui(),m;if(t){let N=typeof t=="string"?$l(t):t;Mt(f==="/"||((k=N.pathname)==null?void 0:k.startsWith(f)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${N.pathname}" was given in the \`location\` prop.`),m=N}else m=b;let x=m.pathname||"/",v=x;if(f!=="/"){let N=f.replace(/^\//,"").split("/");v="/"+x.replace(/^\//,"").split("/").slice(N.length).join("/")}let E=vw(e,{pathname:v});_i(h||E!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),_i(E==null||E[E.length-1].route.element!==void 0||E[E.length-1].route.Component!==void 0||E[E.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let w=CA(E&&E.map(N=>Object.assign({},N,{params:Object.assign({},c,N.params),pathname:zi([f,a.encodeLocation?a.encodeLocation(N.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:N.pathname]),pathnameBase:N.pathnameBase==="/"?f:zi([f,a.encodeLocation?a.encodeLocation(N.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:N.pathnameBase])})),s,n);return t&&w?O.createElement(Oc.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...m},navigationType:"POP"}},w):w}function SA(){let e=jA(),t=oA(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:a},l={padding:"2px 4px",backgroundColor:a},c=null;return console.error("Error handled by React Router default ErrorBoundary:",e),c=O.createElement(O.Fragment,null,O.createElement("p",null,"💿 Hey developer 👋"),O.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",O.createElement("code",{style:l},"ErrorBoundary")," or"," ",O.createElement("code",{style:l},"errorElement")," prop on your route.")),O.createElement(O.Fragment,null,O.createElement("h2",null,"Unexpected Application Error!"),O.createElement("h3",{style:{fontStyle:"italic"}},t),n?O.createElement("pre",{style:s},n):null,c)}var kA=O.createElement(SA,null),Dw=class extends O.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=bA(e.digest);n&&(e=n)}let t=e!==void 0?O.createElement(Ti.Provider,{value:this.props.routeContext},O.createElement(fg.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?O.createElement(NA,{error:e},t):t}};Dw.contextType=Cw;var Mp=new WeakMap;function NA({children:e,error:t}){let{basename:n}=O.useContext(ci);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let a=gA(t.digest);if(a){let s=Mp.get(t);if(s)throw s;let l=Nw(a.location,n);if(kw&&!Mp.get(t))if(l.isExternal||a.reloadDocument)window.location.href=l.absoluteURL||l.to;else{const c=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(l.to,{replace:a.replace}));throw Mp.set(t,c),c}return O.createElement("meta",{httpEquiv:"refresh",content:`0;url=${l.absoluteURL||l.to}`})}}return e}function _A({routeContext:e,match:t,children:n}){let a=O.useContext(Hl);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),O.createElement(Ti.Provider,{value:e},n)}function CA(e,t=[],n){let a=n==null?void 0:n.state;if(e==null){if(!a)return null;if(a.errors)e=a.matches;else if(t.length===0&&!a.initialized&&a.matches.length>0)e=a.matches;else return null}let s=e,l=a==null?void 0:a.errors;if(l!=null){let b=s.findIndex(m=>m.route.id&&(l==null?void 0:l[m.route.id])!==void 0);Mt(b>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),s=s.slice(0,Math.min(s.length,b+1))}let c=!1,d=-1;if(n&&a){c=a.renderFallback;for(let b=0;b<s.length;b++){let m=s[b];if((m.route.HydrateFallback||m.route.hydrateFallbackElement)&&(d=b),m.route.id){let{loaderData:x,errors:v}=a,E=m.route.loader&&!x.hasOwnProperty(m.route.id)&&(!v||v[m.route.id]===void 0);if(m.route.lazy||E){n.isStatic&&(c=!0),d>=0?s=s.slice(0,d+1):s=[s[0]];break}}}}let f=n==null?void 0:n.onError,h=a&&f?(b,m)=>{var x,v;f(b,{location:a.location,params:((v=(x=a.matches)==null?void 0:x[0])==null?void 0:v.params)??{},unstable_pattern:cA(a.matches),errorInfo:m})}:void 0;return s.reduceRight((b,m,x)=>{let v,E=!1,w=null,k=null;a&&(v=l&&m.route.id?l[m.route.id]:void 0,w=m.route.errorElement||kA,c&&(d<0&&x===0?(Lw("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),E=!0,k=null):d===x&&(E=!0,k=m.route.hydrateFallbackElement||null)));let N=t.concat(s.slice(0,x+1)),C=()=>{let A;return v?A=w:E?A=k:m.route.Component?A=O.createElement(m.route.Component,null):m.route.element?A=m.route.element:A=b,O.createElement(_A,{match:m,routeContext:{outlet:b,matches:N,isDataRoute:a!=null},children:A})};return a&&(m.route.ErrorBoundary||m.route.errorElement||x===0)?O.createElement(Dw,{location:a.location,revalidation:a.revalidation,component:w,error:v,children:C(),routeContext:{outlet:null,matches:N,isDataRoute:!0},onError:h}):C()},null)}function hg(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function AA(e){let t=O.useContext(Hl);return Mt(t,hg(e)),t}function TA(e){let t=O.useContext(Xd);return Mt(t,hg(e)),t}function OA(e){let t=O.useContext(Ti);return Mt(t,hg(e)),t}function pg(e){let t=OA(e),n=t.matches[t.matches.length-1];return Mt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function RA(){return pg("useRouteId")}function jA(){var a;let e=O.useContext(fg),t=TA("useRouteError"),n=pg("useRouteError");return e!==void 0?e:(a=t.errors)==null?void 0:a[n]}function MA(){let{router:e}=AA("useNavigate"),t=pg("useNavigate"),n=O.useRef(!1);return Rw(()=>{n.current=!0}),O.useCallback(async(s,l={})=>{_i(n.current,Ow),n.current&&(typeof s=="number"?await e.navigate(s):await e.navigate(s,{fromRouteId:t,...l}))},[e,t])}var f0={};function Lw(e,t,n){!t&&!f0[e]&&(f0[e]=!0,_i(!1,n))}O.memo(DA);function DA({routes:e,future:t,state:n,isStatic:a,onError:s}){return Mw(e,void 0,{state:n,isStatic:a,onError:s})}function LA({to:e,replace:t,state:n,relative:a}){Mt(ql(),"<Navigate> may be used only in the context of a <Router> component.");let{static:s}=O.useContext(ci);_i(!s,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:l}=O.useContext(Ti),{pathname:c}=Ui(),d=Cr(),f=Wd(e,dg(l),c,a==="path"),h=JSON.stringify(f);return O.useEffect(()=>{d(JSON.parse(h),{replace:t,state:n,relative:a})},[d,h,a,t,n]),null}function IA(e){return wA(e.context)}function Fn(e){Mt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function zA({basename:e="/",children:t=null,location:n,navigationType:a="POP",navigator:s,static:l=!1,unstable_useTransitions:c}){Mt(!ql(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let d=e.replace(/^\/*/,"/"),f=O.useMemo(()=>({basename:d,navigator:s,static:l,unstable_useTransitions:c,future:{}}),[d,s,l,c]);typeof n=="string"&&(n=$l(n));let{pathname:h="/",search:b="",hash:m="",state:x=null,key:v="default",unstable_mask:E}=n,w=O.useMemo(()=>{let k=Da(h,d);return k==null?null:{location:{pathname:k,search:b,hash:m,state:x,key:v,unstable_mask:E},navigationType:a}},[d,h,b,m,x,v,a,E]);return _i(w!=null,`<Router basename="${d}"> is not able to match the URL "${h}${b}${m}" because it does not start with the basename, so the <Router> won't render anything.`),w==null?null:O.createElement(ci.Provider,{value:f},O.createElement(Oc.Provider,{children:t,value:w}))}function BA({children:e,location:t}){return EA(Om(e),t)}function Om(e,t=[]){let n=[];return O.Children.forEach(e,(a,s)=>{if(!O.isValidElement(a))return;let l=[...t,s];if(a.type===O.Fragment){n.push.apply(n,Om(a.props.children,l));return}Mt(a.type===Fn,`[${typeof a.type=="string"?a.type:a.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),Mt(!a.props.index||!a.props.children,"An index route cannot have child routes.");let c={id:a.props.id||l.join("-"),caseSensitive:a.props.caseSensitive,element:a.props.element,Component:a.props.Component,index:a.props.index,path:a.props.path,middleware:a.props.middleware,loader:a.props.loader,action:a.props.action,hydrateFallbackElement:a.props.hydrateFallbackElement,HydrateFallback:a.props.HydrateFallback,errorElement:a.props.errorElement,ErrorBoundary:a.props.ErrorBoundary,hasErrorBoundary:a.props.hasErrorBoundary===!0||a.props.ErrorBoundary!=null||a.props.errorElement!=null,shouldRevalidate:a.props.shouldRevalidate,handle:a.props.handle,lazy:a.props.lazy};a.props.children&&(c.children=Om(a.props.children,l)),n.push(c)}),n}var Sd="get",kd="application/x-www-form-urlencoded";function Zd(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function UA(e){return Zd(e)&&e.tagName.toLowerCase()==="button"}function PA(e){return Zd(e)&&e.tagName.toLowerCase()==="form"}function FA(e){return Zd(e)&&e.tagName.toLowerCase()==="input"}function $A(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function HA(e,t){return e.button===0&&(!t||t==="_self")&&!$A(e)}function Rm(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let a=e[n];return t.concat(Array.isArray(a)?a.map(s=>[n,s]):[[n,a]])},[]))}function qA(e,t){let n=Rm(e);return t&&t.forEach((a,s)=>{n.has(s)||t.getAll(s).forEach(l=>{n.append(s,l)})}),n}var rd=null;function KA(){if(rd===null)try{new FormData(document.createElement("form"),0),rd=!1}catch{rd=!0}return rd}var GA=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Dp(e){return e!=null&&!GA.has(e)?(_i(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${kd}"`),null):e}function VA(e,t){let n,a,s,l,c;if(PA(e)){let d=e.getAttribute("action");a=d?Da(d,t):null,n=e.getAttribute("method")||Sd,s=Dp(e.getAttribute("enctype"))||kd,l=new FormData(e)}else if(UA(e)||FA(e)&&(e.type==="submit"||e.type==="image")){let d=e.form;if(d==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let f=e.getAttribute("formaction")||d.getAttribute("action");if(a=f?Da(f,t):null,n=e.getAttribute("formmethod")||d.getAttribute("method")||Sd,s=Dp(e.getAttribute("formenctype"))||Dp(d.getAttribute("enctype"))||kd,l=new FormData(d,e),!KA()){let{name:h,type:b,value:m}=e;if(b==="image"){let x=h?`${h}.`:"";l.append(`${x}x`,"0"),l.append(`${x}y`,"0")}else h&&l.append(h,m)}}else{if(Zd(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=Sd,a=null,s=kd,c=e}return l&&s==="text/plain"&&(c=l,l=void 0),{action:a,method:n.toLowerCase(),encType:s,formData:l,body:c}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function mg(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Iw(e,t,n,a){let s=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?s.pathname.endsWith("/")?s.pathname=`${s.pathname}_.${a}`:s.pathname=`${s.pathname}.${a}`:s.pathname==="/"?s.pathname=`_root.${a}`:t&&Da(s.pathname,t)==="/"?s.pathname=`${Md(t)}/_root.${a}`:s.pathname=`${Md(s.pathname)}.${a}`,s}async function QA(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function YA(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function WA(e,t,n){let a=await Promise.all(e.map(async s=>{let l=t.routes[s.route.id];if(l){let c=await QA(l,n);return c.links?c.links():[]}return[]}));return eT(a.flat(1).filter(YA).filter(s=>s.rel==="stylesheet"||s.rel==="preload").map(s=>s.rel==="stylesheet"?{...s,rel:"prefetch",as:"style"}:{...s,rel:"prefetch"}))}function h0(e,t,n,a,s,l){let c=(f,h)=>n[h]?f.route.id!==n[h].route.id:!0,d=(f,h)=>{var b;return n[h].pathname!==f.pathname||((b=n[h].route.path)==null?void 0:b.endsWith("*"))&&n[h].params["*"]!==f.params["*"]};return l==="assets"?t.filter((f,h)=>c(f,h)||d(f,h)):l==="data"?t.filter((f,h)=>{var m;let b=a.routes[f.route.id];if(!b||!b.hasLoader)return!1;if(c(f,h)||d(f,h))return!0;if(f.route.shouldRevalidate){let x=f.route.shouldRevalidate({currentUrl:new URL(s.pathname+s.search+s.hash,window.origin),currentParams:((m=n[0])==null?void 0:m.params)||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof x=="boolean")return x}return!0}):[]}function XA(e,t,{includeHydrateFallback:n}={}){return ZA(e.map(a=>{let s=t.routes[a.route.id];if(!s)return[];let l=[s.module];return s.clientActionModule&&(l=l.concat(s.clientActionModule)),s.clientLoaderModule&&(l=l.concat(s.clientLoaderModule)),n&&s.hydrateFallbackModule&&(l=l.concat(s.hydrateFallbackModule)),s.imports&&(l=l.concat(s.imports)),l}).flat(1))}function ZA(e){return[...new Set(e)]}function JA(e){let t={},n=Object.keys(e).sort();for(let a of n)t[a]=e[a];return t}function eT(e,t){let n=new Set;return new Set(t),e.reduce((a,s)=>{let l=JSON.stringify(JA(s));return n.has(l)||(n.add(l),a.push({key:l,link:s})),a},[])}function gg(){let e=O.useContext(Hl);return mg(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function tT(){let e=O.useContext(Xd);return mg(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var bg=O.createContext(void 0);bg.displayName="FrameworkContext";function yg(){let e=O.useContext(bg);return mg(e,"You must render this element inside a <HydratedRouter> element"),e}function nT(e,t){let n=O.useContext(bg),[a,s]=O.useState(!1),[l,c]=O.useState(!1),{onFocus:d,onBlur:f,onMouseEnter:h,onMouseLeave:b,onTouchStart:m}=t,x=O.useRef(null);O.useEffect(()=>{if(e==="render"&&c(!0),e==="viewport"){let w=N=>{N.forEach(C=>{c(C.isIntersecting)})},k=new IntersectionObserver(w,{threshold:.5});return x.current&&k.observe(x.current),()=>{k.disconnect()}}},[e]),O.useEffect(()=>{if(a){let w=setTimeout(()=>{c(!0)},100);return()=>{clearTimeout(w)}}},[a]);let v=()=>{s(!0)},E=()=>{s(!1),c(!1)};return n?e!=="intent"?[l,x,{}]:[l,x,{onFocus:Zo(d,v),onBlur:Zo(f,E),onMouseEnter:Zo(h,v),onMouseLeave:Zo(b,E),onTouchStart:Zo(m,v)}]:[!1,x,{}]}function Zo(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function iT({page:e,...t}){let n=dA(),{router:a}=gg(),s=O.useMemo(()=>vw(a.routes,e,a.basename),[a.routes,e,a.basename]);return s?n?O.createElement(rT,{page:e,matches:s,...t}):O.createElement(sT,{page:e,matches:s,...t}):null}function aT(e){let{manifest:t,routeModules:n}=yg(),[a,s]=O.useState([]);return O.useEffect(()=>{let l=!1;return WA(e,t,n).then(c=>{l||s(c)}),()=>{l=!0}},[e,t,n]),a}function rT({page:e,matches:t,...n}){let a=Ui(),{future:s}=yg(),{basename:l}=gg(),c=O.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let d=Iw(e,l,s.unstable_trailingSlashAwareDataRequests,"rsc"),f=!1,h=[];for(let b of t)typeof b.route.shouldRevalidate=="function"?f=!0:h.push(b.route.id);return f&&h.length>0&&d.searchParams.set("_routes",h.join(",")),[d.pathname+d.search]},[l,s.unstable_trailingSlashAwareDataRequests,e,a,t]);return O.createElement(O.Fragment,null,c.map(d=>O.createElement("link",{key:d,rel:"prefetch",as:"fetch",href:d,...n})))}function sT({page:e,matches:t,...n}){let a=Ui(),{future:s,manifest:l,routeModules:c}=yg(),{basename:d}=gg(),{loaderData:f,matches:h}=tT(),b=O.useMemo(()=>h0(e,t,h,l,a,"data"),[e,t,h,l,a]),m=O.useMemo(()=>h0(e,t,h,l,a,"assets"),[e,t,h,l,a]),x=O.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let w=new Set,k=!1;if(t.forEach(C=>{var T;let A=l.routes[C.route.id];!A||!A.hasLoader||(!b.some(L=>L.route.id===C.route.id)&&C.route.id in f&&((T=c[C.route.id])!=null&&T.shouldRevalidate)||A.hasClientLoader?k=!0:w.add(C.route.id))}),w.size===0)return[];let N=Iw(e,d,s.unstable_trailingSlashAwareDataRequests,"data");return k&&w.size>0&&N.searchParams.set("_routes",t.filter(C=>w.has(C.route.id)).map(C=>C.route.id).join(",")),[N.pathname+N.search]},[d,s.unstable_trailingSlashAwareDataRequests,f,a,l,b,t,e,c]),v=O.useMemo(()=>XA(m,l),[m,l]),E=aT(m);return O.createElement(O.Fragment,null,x.map(w=>O.createElement("link",{key:w,rel:"prefetch",as:"fetch",href:w,...n})),v.map(w=>O.createElement("link",{key:w,rel:"modulepreload",href:w,...n})),E.map(({key:w,link:k})=>O.createElement("link",{key:w,nonce:n.nonce,...k,crossOrigin:k.crossOrigin??n.crossOrigin})))}function lT(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var oT=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{oT&&(window.__reactRouterVersion="7.14.2")}catch{}function cT({basename:e,children:t,unstable_useTransitions:n,window:a}){let s=O.useRef();s.current==null&&(s.current=BC({window:a,v5Compat:!0}));let l=s.current,[c,d]=O.useState({action:l.action,location:l.location}),f=O.useCallback(h=>{n===!1?d(h):O.startTransition(()=>d(h))},[n]);return O.useLayoutEffect(()=>l.listen(f),[l,f]),O.createElement(zA,{basename:e,children:t,location:c.location,navigationType:c.action,navigator:l,unstable_useTransitions:n})}var zw=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,bs=O.forwardRef(function({onClick:t,discover:n="render",prefetch:a="none",relative:s,reloadDocument:l,replace:c,unstable_mask:d,state:f,target:h,to:b,preventScrollReset:m,viewTransition:x,unstable_defaultShouldRevalidate:v,...E},w){let{basename:k,navigator:N,unstable_useTransitions:C}=O.useContext(ci),A=typeof b=="string"&&zw.test(b),T=Nw(b,k);b=T.to;let L=yA(b,{relative:s}),M=Ui(),U=null;if(d){let ee=Wd(d,[],M.unstable_mask?M.unstable_mask.pathname:"/",!0);k!=="/"&&(ee.pathname=ee.pathname==="/"?k:zi([k,ee.pathname])),U=N.createHref(ee)}let[$,te,P]=nT(a,E),Q=fT(b,{replace:c,unstable_mask:d,state:f,target:h,preventScrollReset:m,relative:s,viewTransition:x,unstable_defaultShouldRevalidate:v,unstable_useTransitions:C});function J(ee){t&&t(ee),ee.defaultPrevented||Q(ee)}let me=!(T.isExternal||l),le=O.createElement("a",{...E,...P,href:(me?U:void 0)||T.absoluteURL||L,onClick:me?J:t,ref:lT(w,te),target:h,"data-discover":!A&&n==="render"?"true":void 0});return $&&!A?O.createElement(O.Fragment,null,le,O.createElement(iT,{page:L})):le});bs.displayName="Link";var Bw=O.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:a="",end:s=!1,style:l,to:c,viewTransition:d,children:f,...h},b){let m=Rc(c,{relative:h.relative}),x=Ui(),v=O.useContext(Xd),{navigator:E,basename:w}=O.useContext(ci),k=v!=null&&bT(m)&&d===!0,N=E.encodeLocation?E.encodeLocation(m).pathname:m.pathname,C=x.pathname,A=v&&v.navigation&&v.navigation.location?v.navigation.location.pathname:null;n||(C=C.toLowerCase(),A=A?A.toLowerCase():null,N=N.toLowerCase()),A&&w&&(A=Da(A,w)||A);const T=N!=="/"&&N.endsWith("/")?N.length-1:N.length;let L=C===N||!s&&C.startsWith(N)&&C.charAt(T)==="/",M=A!=null&&(A===N||!s&&A.startsWith(N)&&A.charAt(N.length)==="/"),U={isActive:L,isPending:M,isTransitioning:k},$=L?t:void 0,te;typeof a=="function"?te=a(U):te=[a,L?"active":null,M?"pending":null,k?"transitioning":null].filter(Boolean).join(" ");let P=typeof l=="function"?l(U):l;return O.createElement(bs,{...h,"aria-current":$,className:te,ref:b,style:P,to:c,viewTransition:d},typeof f=="function"?f(U):f)});Bw.displayName="NavLink";var uT=O.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:a,replace:s,state:l,method:c=Sd,action:d,onSubmit:f,relative:h,preventScrollReset:b,viewTransition:m,unstable_defaultShouldRevalidate:x,...v},E)=>{let{unstable_useTransitions:w}=O.useContext(ci),k=mT(),N=gT(d,{relative:h}),C=c.toLowerCase()==="get"?"get":"post",A=typeof d=="string"&&zw.test(d),T=L=>{if(f&&f(L),L.defaultPrevented)return;L.preventDefault();let M=L.nativeEvent.submitter,U=(M==null?void 0:M.getAttribute("formmethod"))||c,$=()=>k(M||L.currentTarget,{fetcherKey:t,method:U,navigate:n,replace:s,state:l,relative:h,preventScrollReset:b,viewTransition:m,unstable_defaultShouldRevalidate:x});w&&n!==!1?O.startTransition(()=>$()):$()};return O.createElement("form",{ref:E,method:C,action:N,onSubmit:a?f:T,...v,"data-discover":!A&&e==="render"?"true":void 0})});uT.displayName="Form";function dT(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Uw(e){let t=O.useContext(Hl);return Mt(t,dT(e)),t}function fT(e,{target:t,replace:n,unstable_mask:a,state:s,preventScrollReset:l,relative:c,viewTransition:d,unstable_defaultShouldRevalidate:f,unstable_useTransitions:h}={}){let b=Cr(),m=Ui(),x=Rc(e,{relative:c});return O.useCallback(v=>{if(HA(v,t)){v.preventDefault();let E=n!==void 0?n:mc(m)===mc(x),w=()=>b(e,{replace:E,unstable_mask:a,state:s,preventScrollReset:l,relative:c,viewTransition:d,unstable_defaultShouldRevalidate:f});h?O.startTransition(()=>w()):w()}},[m,b,x,n,a,s,t,e,l,c,d,f,h])}function Pw(e){_i(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=O.useRef(Rm(e)),n=O.useRef(!1),a=Ui(),s=O.useMemo(()=>qA(a.search,n.current?null:t.current),[a.search]),l=Cr(),c=O.useCallback((d,f)=>{const h=Rm(typeof d=="function"?d(new URLSearchParams(s)):d);n.current=!0,l("?"+h,f)},[l,s]);return[s,c]}var hT=0,pT=()=>`__${String(++hT)}__`;function mT(){let{router:e}=Uw("useSubmit"),{basename:t}=O.useContext(ci),n=RA(),a=e.fetch,s=e.navigate;return O.useCallback(async(l,c={})=>{let{action:d,method:f,encType:h,formData:b,body:m}=VA(l,t);if(c.navigate===!1){let x=c.fetcherKey||pT();await a(x,n,c.action||d,{unstable_defaultShouldRevalidate:c.unstable_defaultShouldRevalidate,preventScrollReset:c.preventScrollReset,formData:b,body:m,formMethod:c.method||f,formEncType:c.encType||h,flushSync:c.flushSync})}else await s(c.action||d,{unstable_defaultShouldRevalidate:c.unstable_defaultShouldRevalidate,preventScrollReset:c.preventScrollReset,formData:b,body:m,formMethod:c.method||f,formEncType:c.encType||h,replace:c.replace,state:c.state,fromRouteId:n,flushSync:c.flushSync,viewTransition:c.viewTransition})},[a,s,t,n])}function gT(e,{relative:t}={}){let{basename:n}=O.useContext(ci),a=O.useContext(Ti);Mt(a,"useFormAction must be used inside a RouteContext");let[s]=a.matches.slice(-1),l={...Rc(e||".",{relative:t})},c=Ui();if(e==null){l.search=c.search;let d=new URLSearchParams(l.search),f=d.getAll("index");if(f.some(b=>b==="")){d.delete("index"),f.filter(m=>m).forEach(m=>d.append("index",m));let b=d.toString();l.search=b?`?${b}`:""}}return(!e||e===".")&&s.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(l.pathname=l.pathname==="/"?n:zi([n,l.pathname])),mc(l)}function bT(e,{relative:t}={}){let n=O.useContext(Aw);Mt(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=Uw("useViewTransitionState"),s=Rc(e,{relative:t});if(!n.isTransitioning)return!1;let l=Da(n.currentLocation.pathname,a)||n.currentLocation.pathname,c=Da(n.nextLocation.pathname,a)||n.nextLocation.pathname;return jd(s.pathname,c)!=null||jd(s.pathname,l)!=null}function yT(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];hs(t[0])&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t)}}const p0={};function jm(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];hs(t[0])&&p0[t[0]]||(hs(t[0])&&(p0[t[0]]=new Date),yT(...t))}const Fw=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}},m0=(e,t,n)=>{e.loadNamespaces(t,Fw(e,n))},g0=(e,t,n,a)=>{hs(n)&&(n=[n]),n.forEach(s=>{e.options.ns.indexOf(s)<0&&e.options.ns.push(s)}),e.loadLanguages(t,Fw(e,a))},xT=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const a=t.languages[0],s=t.options?t.options.fallbackLng:!1,l=t.languages[t.languages.length-1];if(a.toLowerCase()==="cimode")return!0;const c=(d,f)=>{const h=t.services.backendConnector.state[`${d}|${f}`];return h===-1||h===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!c(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(a,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||c(a,e)&&(!s||c(l,e)))},vT=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(jm("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(s,l)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&s.services.backendConnector.backend&&s.isLanguageChangingTo&&!l(s.isLanguageChangingTo,e))return!1}}):xT(e,t,n)},hs=e=>typeof e=="string",wT=e=>typeof e=="object"&&e!==null,ET=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ST={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},kT=e=>ST[e],NT=e=>e.replace(ET,kT);let Mm={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:NT};const _T=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Mm={...Mm,...e}},CT=()=>Mm;let $w;const AT=e=>{$w=e},TT=()=>$w,OT={type:"3rdParty",init(e){_T(e.options.react),AT(e)}},RT=O.createContext();class jT{constructor(){kp(this,"getUsedNamespaces",()=>Object.keys(this.usedNamespaces));this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}}const MT=(e,t)=>{const n=O.useRef();return O.useEffect(()=>{n.current=e},[e,t]),n.current},Hw=(e,t,n,a)=>e.getFixedT(t,n,a),DT=(e,t,n,a)=>O.useCallback(Hw(e,t,n,a),[e,t,n,a]),Fe=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:a,defaultNS:s}=O.useContext(RT)||{},l=n||a||TT();if(l&&!l.reportNamespaces&&(l.reportNamespaces=new jT),!l){jm("You will need to pass in an i18next instance by using initReactI18next");const T=(M,U)=>hs(U)?U:wT(U)&&hs(U.defaultValue)?U.defaultValue:Array.isArray(M)?M[M.length-1]:M,L=[T,{},!1];return L.t=T,L.i18n={},L.ready=!1,L}l.options.react&&l.options.react.wait!==void 0&&jm("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const c={...CT(),...l.options.react,...t},{useSuspense:d,keyPrefix:f}=c;let h=e||s||l.options&&l.options.defaultNS;h=hs(h)?[h]:h||["translation"],l.reportNamespaces.addUsedNamespaces&&l.reportNamespaces.addUsedNamespaces(h);const b=(l.isInitialized||l.initializedStoreOnce)&&h.every(T=>vT(T,l,c)),m=DT(l,t.lng||null,c.nsMode==="fallback"?h:h[0],f),x=()=>m,v=()=>Hw(l,t.lng||null,c.nsMode==="fallback"?h:h[0],f),[E,w]=O.useState(x);let k=h.join();t.lng&&(k=`${t.lng}${k}`);const N=MT(k),C=O.useRef(!0);O.useEffect(()=>{const{bindI18n:T,bindI18nStore:L}=c;C.current=!0,!b&&!d&&(t.lng?g0(l,t.lng,h,()=>{C.current&&w(v)}):m0(l,h,()=>{C.current&&w(v)})),b&&N&&N!==k&&C.current&&w(v);const M=()=>{C.current&&w(v)};return T&&l&&l.on(T,M),L&&l&&l.store.on(L,M),()=>{C.current=!1,T&&l&&T.split(" ").forEach(U=>l.off(U,M)),L&&l&&L.split(" ").forEach(U=>l.store.off(U,M))}},[l,k]),O.useEffect(()=>{C.current&&b&&w(x)},[l,f,b]);const A=[E,l,b];if(A.t=E,A.i18n=l,A.ready=b,b||!b&&!d)return A;throw new Promise(T=>{t.lng?g0(l,t.lng,h,()=>T()):m0(l,h,()=>T())})};/**
|
|
60
|
+
Please change the parent <Route path="${N}"> to <Route path="${N==="/"?"*":`${N}/*`}">.`)}let b=Ui(),m;if(t){let N=typeof t=="string"?$l(t):t;Mt(f==="/"||((k=N.pathname)==null?void 0:k.startsWith(f)),`When overriding the location using \`<Routes location>\` or \`useRoutes(routes, location)\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is "${f}" but pathname "${N.pathname}" was given in the \`location\` prop.`),m=N}else m=b;let x=m.pathname||"/",v=x;if(f!=="/"){let N=f.replace(/^\//,"").split("/");v="/"+x.replace(/^\//,"").split("/").slice(N.length).join("/")}let E=vw(e,{pathname:v});_i(h||E!=null,`No routes matched location "${m.pathname}${m.search}${m.hash}" `),_i(E==null||E[E.length-1].route.element!==void 0||E[E.length-1].route.Component!==void 0||E[E.length-1].route.lazy!==void 0,`Matched leaf route at location "${m.pathname}${m.search}${m.hash}" does not have an element or Component. This means it will render an <Outlet /> with a null value by default resulting in an "empty" page.`);let w=CA(E&&E.map(N=>Object.assign({},N,{params:Object.assign({},c,N.params),pathname:zi([f,a.encodeLocation?a.encodeLocation(N.pathname.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:N.pathname]),pathnameBase:N.pathnameBase==="/"?f:zi([f,a.encodeLocation?a.encodeLocation(N.pathnameBase.replace(/%/g,"%25").replace(/\?/g,"%3F").replace(/#/g,"%23")).pathname:N.pathnameBase])})),s,n);return t&&w?O.createElement(Oc.Provider,{value:{location:{pathname:"/",search:"",hash:"",state:null,key:"default",unstable_mask:void 0,...m},navigationType:"POP"}},w):w}function SA(){let e=jA(),t=oA(e)?`${e.status} ${e.statusText}`:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,a="rgba(200,200,200, 0.5)",s={padding:"0.5rem",backgroundColor:a},l={padding:"2px 4px",backgroundColor:a},c=null;return console.error("Error handled by React Router default ErrorBoundary:",e),c=O.createElement(O.Fragment,null,O.createElement("p",null,"💿 Hey developer 👋"),O.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",O.createElement("code",{style:l},"ErrorBoundary")," or"," ",O.createElement("code",{style:l},"errorElement")," prop on your route.")),O.createElement(O.Fragment,null,O.createElement("h2",null,"Unexpected Application Error!"),O.createElement("h3",{style:{fontStyle:"italic"}},t),n?O.createElement("pre",{style:s},n):null,c)}var kA=O.createElement(SA,null),Dw=class extends O.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,t){return t.location!==e.location||t.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error!==void 0?e.error:t.error,location:t.location,revalidation:e.revalidation||t.revalidation}}componentDidCatch(e,t){this.props.onError?this.props.onError(e,t):console.error("React Router caught the following error during render",e)}render(){let e=this.state.error;if(this.context&&typeof e=="object"&&e&&"digest"in e&&typeof e.digest=="string"){const n=bA(e.digest);n&&(e=n)}let t=e!==void 0?O.createElement(Ti.Provider,{value:this.props.routeContext},O.createElement(fg.Provider,{value:e,children:this.props.component})):this.props.children;return this.context?O.createElement(NA,{error:e},t):t}};Dw.contextType=Cw;var Mp=new WeakMap;function NA({children:e,error:t}){let{basename:n}=O.useContext(ci);if(typeof t=="object"&&t&&"digest"in t&&typeof t.digest=="string"){let a=gA(t.digest);if(a){let s=Mp.get(t);if(s)throw s;let l=Nw(a.location,n);if(kw&&!Mp.get(t))if(l.isExternal||a.reloadDocument)window.location.href=l.absoluteURL||l.to;else{const c=Promise.resolve().then(()=>window.__reactRouterDataRouter.navigate(l.to,{replace:a.replace}));throw Mp.set(t,c),c}return O.createElement("meta",{httpEquiv:"refresh",content:`0;url=${l.absoluteURL||l.to}`})}}return e}function _A({routeContext:e,match:t,children:n}){let a=O.useContext(Hl);return a&&a.static&&a.staticContext&&(t.route.errorElement||t.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=t.route.id),O.createElement(Ti.Provider,{value:e},n)}function CA(e,t=[],n){let a=n==null?void 0:n.state;if(e==null){if(!a)return null;if(a.errors)e=a.matches;else if(t.length===0&&!a.initialized&&a.matches.length>0)e=a.matches;else return null}let s=e,l=a==null?void 0:a.errors;if(l!=null){let b=s.findIndex(m=>m.route.id&&(l==null?void 0:l[m.route.id])!==void 0);Mt(b>=0,`Could not find a matching route for errors on route IDs: ${Object.keys(l).join(",")}`),s=s.slice(0,Math.min(s.length,b+1))}let c=!1,d=-1;if(n&&a){c=a.renderFallback;for(let b=0;b<s.length;b++){let m=s[b];if((m.route.HydrateFallback||m.route.hydrateFallbackElement)&&(d=b),m.route.id){let{loaderData:x,errors:v}=a,E=m.route.loader&&!x.hasOwnProperty(m.route.id)&&(!v||v[m.route.id]===void 0);if(m.route.lazy||E){n.isStatic&&(c=!0),d>=0?s=s.slice(0,d+1):s=[s[0]];break}}}}let f=n==null?void 0:n.onError,h=a&&f?(b,m)=>{var x,v;f(b,{location:a.location,params:((v=(x=a.matches)==null?void 0:x[0])==null?void 0:v.params)??{},unstable_pattern:cA(a.matches),errorInfo:m})}:void 0;return s.reduceRight((b,m,x)=>{let v,E=!1,w=null,k=null;a&&(v=l&&m.route.id?l[m.route.id]:void 0,w=m.route.errorElement||kA,c&&(d<0&&x===0?(Lw("route-fallback",!1,"No `HydrateFallback` element provided to render during initial hydration"),E=!0,k=null):d===x&&(E=!0,k=m.route.hydrateFallbackElement||null)));let N=t.concat(s.slice(0,x+1)),C=()=>{let A;return v?A=w:E?A=k:m.route.Component?A=O.createElement(m.route.Component,null):m.route.element?A=m.route.element:A=b,O.createElement(_A,{match:m,routeContext:{outlet:b,matches:N,isDataRoute:a!=null},children:A})};return a&&(m.route.ErrorBoundary||m.route.errorElement||x===0)?O.createElement(Dw,{location:a.location,revalidation:a.revalidation,component:w,error:v,children:C(),routeContext:{outlet:null,matches:N,isDataRoute:!0},onError:h}):C()},null)}function hg(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function AA(e){let t=O.useContext(Hl);return Mt(t,hg(e)),t}function TA(e){let t=O.useContext(Xd);return Mt(t,hg(e)),t}function OA(e){let t=O.useContext(Ti);return Mt(t,hg(e)),t}function pg(e){let t=OA(e),n=t.matches[t.matches.length-1];return Mt(n.route.id,`${e} can only be used on routes that contain a unique "id"`),n.route.id}function RA(){return pg("useRouteId")}function jA(){var a;let e=O.useContext(fg),t=TA("useRouteError"),n=pg("useRouteError");return e!==void 0?e:(a=t.errors)==null?void 0:a[n]}function MA(){let{router:e}=AA("useNavigate"),t=pg("useNavigate"),n=O.useRef(!1);return Rw(()=>{n.current=!0}),O.useCallback(async(s,l={})=>{_i(n.current,Ow),n.current&&(typeof s=="number"?await e.navigate(s):await e.navigate(s,{fromRouteId:t,...l}))},[e,t])}var f0={};function Lw(e,t,n){!t&&!f0[e]&&(f0[e]=!0,_i(!1,n))}O.memo(DA);function DA({routes:e,future:t,state:n,isStatic:a,onError:s}){return Mw(e,void 0,{state:n,isStatic:a,onError:s})}function LA({to:e,replace:t,state:n,relative:a}){Mt(ql(),"<Navigate> may be used only in the context of a <Router> component.");let{static:s}=O.useContext(ci);_i(!s,"<Navigate> must not be used on the initial render in a <StaticRouter>. This is a no-op, but you should modify your code so the <Navigate> is only ever rendered in response to some user interaction or state change.");let{matches:l}=O.useContext(Ti),{pathname:c}=Ui(),d=Cr(),f=Wd(e,dg(l),c,a==="path"),h=JSON.stringify(f);return O.useEffect(()=>{d(JSON.parse(h),{replace:t,state:n,relative:a})},[d,h,a,t,n]),null}function IA(e){return wA(e.context)}function Fn(e){Mt(!1,"A <Route> is only ever to be used as the child of <Routes> element, never rendered directly. Please wrap your <Route> in a <Routes>.")}function zA({basename:e="/",children:t=null,location:n,navigationType:a="POP",navigator:s,static:l=!1,unstable_useTransitions:c}){Mt(!ql(),"You cannot render a <Router> inside another <Router>. You should never have more than one in your app.");let d=e.replace(/^\/*/,"/"),f=O.useMemo(()=>({basename:d,navigator:s,static:l,unstable_useTransitions:c,future:{}}),[d,s,l,c]);typeof n=="string"&&(n=$l(n));let{pathname:h="/",search:b="",hash:m="",state:x=null,key:v="default",unstable_mask:E}=n,w=O.useMemo(()=>{let k=Da(h,d);return k==null?null:{location:{pathname:k,search:b,hash:m,state:x,key:v,unstable_mask:E},navigationType:a}},[d,h,b,m,x,v,a,E]);return _i(w!=null,`<Router basename="${d}"> is not able to match the URL "${h}${b}${m}" because it does not start with the basename, so the <Router> won't render anything.`),w==null?null:O.createElement(ci.Provider,{value:f},O.createElement(Oc.Provider,{children:t,value:w}))}function BA({children:e,location:t}){return EA(Om(e),t)}function Om(e,t=[]){let n=[];return O.Children.forEach(e,(a,s)=>{if(!O.isValidElement(a))return;let l=[...t,s];if(a.type===O.Fragment){n.push.apply(n,Om(a.props.children,l));return}Mt(a.type===Fn,`[${typeof a.type=="string"?a.type:a.type.name}] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>`),Mt(!a.props.index||!a.props.children,"An index route cannot have child routes.");let c={id:a.props.id||l.join("-"),caseSensitive:a.props.caseSensitive,element:a.props.element,Component:a.props.Component,index:a.props.index,path:a.props.path,middleware:a.props.middleware,loader:a.props.loader,action:a.props.action,hydrateFallbackElement:a.props.hydrateFallbackElement,HydrateFallback:a.props.HydrateFallback,errorElement:a.props.errorElement,ErrorBoundary:a.props.ErrorBoundary,hasErrorBoundary:a.props.hasErrorBoundary===!0||a.props.ErrorBoundary!=null||a.props.errorElement!=null,shouldRevalidate:a.props.shouldRevalidate,handle:a.props.handle,lazy:a.props.lazy};a.props.children&&(c.children=Om(a.props.children,l)),n.push(c)}),n}var Sd="get",kd="application/x-www-form-urlencoded";function Zd(e){return typeof HTMLElement<"u"&&e instanceof HTMLElement}function UA(e){return Zd(e)&&e.tagName.toLowerCase()==="button"}function PA(e){return Zd(e)&&e.tagName.toLowerCase()==="form"}function FA(e){return Zd(e)&&e.tagName.toLowerCase()==="input"}function $A(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function HA(e,t){return e.button===0&&(!t||t==="_self")&&!$A(e)}function Rm(e=""){return new URLSearchParams(typeof e=="string"||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((t,n)=>{let a=e[n];return t.concat(Array.isArray(a)?a.map(s=>[n,s]):[[n,a]])},[]))}function qA(e,t){let n=Rm(e);return t&&t.forEach((a,s)=>{n.has(s)||t.getAll(s).forEach(l=>{n.append(s,l)})}),n}var rd=null;function KA(){if(rd===null)try{new FormData(document.createElement("form"),0),rd=!1}catch{rd=!0}return rd}var GA=new Set(["application/x-www-form-urlencoded","multipart/form-data","text/plain"]);function Dp(e){return e!=null&&!GA.has(e)?(_i(!1,`"${e}" is not a valid \`encType\` for \`<Form>\`/\`<fetcher.Form>\` and will default to "${kd}"`),null):e}function VA(e,t){let n,a,s,l,c;if(PA(e)){let d=e.getAttribute("action");a=d?Da(d,t):null,n=e.getAttribute("method")||Sd,s=Dp(e.getAttribute("enctype"))||kd,l=new FormData(e)}else if(UA(e)||FA(e)&&(e.type==="submit"||e.type==="image")){let d=e.form;if(d==null)throw new Error('Cannot submit a <button> or <input type="submit"> without a <form>');let f=e.getAttribute("formaction")||d.getAttribute("action");if(a=f?Da(f,t):null,n=e.getAttribute("formmethod")||d.getAttribute("method")||Sd,s=Dp(e.getAttribute("formenctype"))||Dp(d.getAttribute("enctype"))||kd,l=new FormData(d,e),!KA()){let{name:h,type:b,value:m}=e;if(b==="image"){let x=h?`${h}.`:"";l.append(`${x}x`,"0"),l.append(`${x}y`,"0")}else h&&l.append(h,m)}}else{if(Zd(e))throw new Error('Cannot submit element that is not <form>, <button>, or <input type="submit|image">');n=Sd,a=null,s=kd,c=e}return l&&s==="text/plain"&&(c=l,l=void 0),{action:a,method:n.toLowerCase(),encType:s,formData:l,body:c}}Object.getOwnPropertyNames(Object.prototype).sort().join("\0");function mg(e,t){if(e===!1||e===null||typeof e>"u")throw new Error(t)}function Iw(e,t,n,a){let s=typeof e=="string"?new URL(e,typeof window>"u"?"server://singlefetch/":window.location.origin):e;return n?s.pathname.endsWith("/")?s.pathname=`${s.pathname}_.${a}`:s.pathname=`${s.pathname}.${a}`:s.pathname==="/"?s.pathname=`_root.${a}`:t&&Da(s.pathname,t)==="/"?s.pathname=`${Md(t)}/_root.${a}`:s.pathname=`${Md(s.pathname)}.${a}`,s}async function QA(e,t){if(e.id in t)return t[e.id];try{let n=await import(e.module);return t[e.id]=n,n}catch(n){return console.error(`Error loading route module \`${e.module}\`, reloading page...`),console.error(n),window.__reactRouterContext&&window.__reactRouterContext.isSpaMode,window.location.reload(),new Promise(()=>{})}}function YA(e){return e==null?!1:e.href==null?e.rel==="preload"&&typeof e.imageSrcSet=="string"&&typeof e.imageSizes=="string":typeof e.rel=="string"&&typeof e.href=="string"}async function WA(e,t,n){let a=await Promise.all(e.map(async s=>{let l=t.routes[s.route.id];if(l){let c=await QA(l,n);return c.links?c.links():[]}return[]}));return eT(a.flat(1).filter(YA).filter(s=>s.rel==="stylesheet"||s.rel==="preload").map(s=>s.rel==="stylesheet"?{...s,rel:"prefetch",as:"style"}:{...s,rel:"prefetch"}))}function h0(e,t,n,a,s,l){let c=(f,h)=>n[h]?f.route.id!==n[h].route.id:!0,d=(f,h)=>{var b;return n[h].pathname!==f.pathname||((b=n[h].route.path)==null?void 0:b.endsWith("*"))&&n[h].params["*"]!==f.params["*"]};return l==="assets"?t.filter((f,h)=>c(f,h)||d(f,h)):l==="data"?t.filter((f,h)=>{var m;let b=a.routes[f.route.id];if(!b||!b.hasLoader)return!1;if(c(f,h)||d(f,h))return!0;if(f.route.shouldRevalidate){let x=f.route.shouldRevalidate({currentUrl:new URL(s.pathname+s.search+s.hash,window.origin),currentParams:((m=n[0])==null?void 0:m.params)||{},nextUrl:new URL(e,window.origin),nextParams:f.params,defaultShouldRevalidate:!0});if(typeof x=="boolean")return x}return!0}):[]}function XA(e,t,{includeHydrateFallback:n}={}){return ZA(e.map(a=>{let s=t.routes[a.route.id];if(!s)return[];let l=[s.module];return s.clientActionModule&&(l=l.concat(s.clientActionModule)),s.clientLoaderModule&&(l=l.concat(s.clientLoaderModule)),n&&s.hydrateFallbackModule&&(l=l.concat(s.hydrateFallbackModule)),s.imports&&(l=l.concat(s.imports)),l}).flat(1))}function ZA(e){return[...new Set(e)]}function JA(e){let t={},n=Object.keys(e).sort();for(let a of n)t[a]=e[a];return t}function eT(e,t){let n=new Set;return new Set(t),e.reduce((a,s)=>{let l=JSON.stringify(JA(s));return n.has(l)||(n.add(l),a.push({key:l,link:s})),a},[])}function gg(){let e=O.useContext(Hl);return mg(e,"You must render this element inside a <DataRouterContext.Provider> element"),e}function tT(){let e=O.useContext(Xd);return mg(e,"You must render this element inside a <DataRouterStateContext.Provider> element"),e}var bg=O.createContext(void 0);bg.displayName="FrameworkContext";function yg(){let e=O.useContext(bg);return mg(e,"You must render this element inside a <HydratedRouter> element"),e}function nT(e,t){let n=O.useContext(bg),[a,s]=O.useState(!1),[l,c]=O.useState(!1),{onFocus:d,onBlur:f,onMouseEnter:h,onMouseLeave:b,onTouchStart:m}=t,x=O.useRef(null);O.useEffect(()=>{if(e==="render"&&c(!0),e==="viewport"){let w=N=>{N.forEach(C=>{c(C.isIntersecting)})},k=new IntersectionObserver(w,{threshold:.5});return x.current&&k.observe(x.current),()=>{k.disconnect()}}},[e]),O.useEffect(()=>{if(a){let w=setTimeout(()=>{c(!0)},100);return()=>{clearTimeout(w)}}},[a]);let v=()=>{s(!0)},E=()=>{s(!1),c(!1)};return n?e!=="intent"?[l,x,{}]:[l,x,{onFocus:Zo(d,v),onBlur:Zo(f,E),onMouseEnter:Zo(h,v),onMouseLeave:Zo(b,E),onTouchStart:Zo(m,v)}]:[!1,x,{}]}function Zo(e,t){return n=>{e&&e(n),n.defaultPrevented||t(n)}}function iT({page:e,...t}){let n=dA(),{router:a}=gg(),s=O.useMemo(()=>vw(a.routes,e,a.basename),[a.routes,e,a.basename]);return s?n?O.createElement(rT,{page:e,matches:s,...t}):O.createElement(sT,{page:e,matches:s,...t}):null}function aT(e){let{manifest:t,routeModules:n}=yg(),[a,s]=O.useState([]);return O.useEffect(()=>{let l=!1;return WA(e,t,n).then(c=>{l||s(c)}),()=>{l=!0}},[e,t,n]),a}function rT({page:e,matches:t,...n}){let a=Ui(),{future:s}=yg(),{basename:l}=gg(),c=O.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let d=Iw(e,l,s.unstable_trailingSlashAwareDataRequests,"rsc"),f=!1,h=[];for(let b of t)typeof b.route.shouldRevalidate=="function"?f=!0:h.push(b.route.id);return f&&h.length>0&&d.searchParams.set("_routes",h.join(",")),[d.pathname+d.search]},[l,s.unstable_trailingSlashAwareDataRequests,e,a,t]);return O.createElement(O.Fragment,null,c.map(d=>O.createElement("link",{key:d,rel:"prefetch",as:"fetch",href:d,...n})))}function sT({page:e,matches:t,...n}){let a=Ui(),{future:s,manifest:l,routeModules:c}=yg(),{basename:d}=gg(),{loaderData:f,matches:h}=tT(),b=O.useMemo(()=>h0(e,t,h,l,a,"data"),[e,t,h,l,a]),m=O.useMemo(()=>h0(e,t,h,l,a,"assets"),[e,t,h,l,a]),x=O.useMemo(()=>{if(e===a.pathname+a.search+a.hash)return[];let w=new Set,k=!1;if(t.forEach(C=>{var T;let A=l.routes[C.route.id];!A||!A.hasLoader||(!b.some(L=>L.route.id===C.route.id)&&C.route.id in f&&((T=c[C.route.id])!=null&&T.shouldRevalidate)||A.hasClientLoader?k=!0:w.add(C.route.id))}),w.size===0)return[];let N=Iw(e,d,s.unstable_trailingSlashAwareDataRequests,"data");return k&&w.size>0&&N.searchParams.set("_routes",t.filter(C=>w.has(C.route.id)).map(C=>C.route.id).join(",")),[N.pathname+N.search]},[d,s.unstable_trailingSlashAwareDataRequests,f,a,l,b,t,e,c]),v=O.useMemo(()=>XA(m,l),[m,l]),E=aT(m);return O.createElement(O.Fragment,null,x.map(w=>O.createElement("link",{key:w,rel:"prefetch",as:"fetch",href:w,...n})),v.map(w=>O.createElement("link",{key:w,rel:"modulepreload",href:w,...n})),E.map(({key:w,link:k})=>O.createElement("link",{key:w,nonce:n.nonce,...k,crossOrigin:k.crossOrigin??n.crossOrigin})))}function lT(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}}var oT=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u";try{oT&&(window.__reactRouterVersion="7.14.2")}catch{}function cT({basename:e,children:t,unstable_useTransitions:n,window:a}){let s=O.useRef();s.current==null&&(s.current=BC({window:a,v5Compat:!0}));let l=s.current,[c,d]=O.useState({action:l.action,location:l.location}),f=O.useCallback(h=>{n===!1?d(h):O.startTransition(()=>d(h))},[n]);return O.useLayoutEffect(()=>l.listen(f),[l,f]),O.createElement(zA,{basename:e,children:t,location:c.location,navigationType:c.action,navigator:l,unstable_useTransitions:n})}var zw=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,bs=O.forwardRef(function({onClick:t,discover:n="render",prefetch:a="none",relative:s,reloadDocument:l,replace:c,unstable_mask:d,state:f,target:h,to:b,preventScrollReset:m,viewTransition:x,unstable_defaultShouldRevalidate:v,...E},w){let{basename:k,navigator:N,unstable_useTransitions:C}=O.useContext(ci),A=typeof b=="string"&&zw.test(b),T=Nw(b,k);b=T.to;let L=yA(b,{relative:s}),M=Ui(),U=null;if(d){let ee=Wd(d,[],M.unstable_mask?M.unstable_mask.pathname:"/",!0);k!=="/"&&(ee.pathname=ee.pathname==="/"?k:zi([k,ee.pathname])),U=N.createHref(ee)}let[$,te,P]=nT(a,E),Q=fT(b,{replace:c,unstable_mask:d,state:f,target:h,preventScrollReset:m,relative:s,viewTransition:x,unstable_defaultShouldRevalidate:v,unstable_useTransitions:C});function J(ee){t&&t(ee),ee.defaultPrevented||Q(ee)}let me=!(T.isExternal||l),le=O.createElement("a",{...E,...P,href:(me?U:void 0)||T.absoluteURL||L,onClick:me?J:t,ref:lT(w,te),target:h,"data-discover":!A&&n==="render"?"true":void 0});return $&&!A?O.createElement(O.Fragment,null,le,O.createElement(iT,{page:L})):le});bs.displayName="Link";var Bw=O.forwardRef(function({"aria-current":t="page",caseSensitive:n=!1,className:a="",end:s=!1,style:l,to:c,viewTransition:d,children:f,...h},b){let m=Rc(c,{relative:h.relative}),x=Ui(),v=O.useContext(Xd),{navigator:E,basename:w}=O.useContext(ci),k=v!=null&&bT(m)&&d===!0,N=E.encodeLocation?E.encodeLocation(m).pathname:m.pathname,C=x.pathname,A=v&&v.navigation&&v.navigation.location?v.navigation.location.pathname:null;n||(C=C.toLowerCase(),A=A?A.toLowerCase():null,N=N.toLowerCase()),A&&w&&(A=Da(A,w)||A);const T=N!=="/"&&N.endsWith("/")?N.length-1:N.length;let L=C===N||!s&&C.startsWith(N)&&C.charAt(T)==="/",M=A!=null&&(A===N||!s&&A.startsWith(N)&&A.charAt(N.length)==="/"),U={isActive:L,isPending:M,isTransitioning:k},$=L?t:void 0,te;typeof a=="function"?te=a(U):te=[a,L?"active":null,M?"pending":null,k?"transitioning":null].filter(Boolean).join(" ");let P=typeof l=="function"?l(U):l;return O.createElement(bs,{...h,"aria-current":$,className:te,ref:b,style:P,to:c,viewTransition:d},typeof f=="function"?f(U):f)});Bw.displayName="NavLink";var uT=O.forwardRef(({discover:e="render",fetcherKey:t,navigate:n,reloadDocument:a,replace:s,state:l,method:c=Sd,action:d,onSubmit:f,relative:h,preventScrollReset:b,viewTransition:m,unstable_defaultShouldRevalidate:x,...v},E)=>{let{unstable_useTransitions:w}=O.useContext(ci),k=mT(),N=gT(d,{relative:h}),C=c.toLowerCase()==="get"?"get":"post",A=typeof d=="string"&&zw.test(d),T=L=>{if(f&&f(L),L.defaultPrevented)return;L.preventDefault();let M=L.nativeEvent.submitter,U=(M==null?void 0:M.getAttribute("formmethod"))||c,$=()=>k(M||L.currentTarget,{fetcherKey:t,method:U,navigate:n,replace:s,state:l,relative:h,preventScrollReset:b,viewTransition:m,unstable_defaultShouldRevalidate:x});w&&n!==!1?O.startTransition(()=>$()):$()};return O.createElement("form",{ref:E,method:C,action:N,onSubmit:a?f:T,...v,"data-discover":!A&&e==="render"?"true":void 0})});uT.displayName="Form";function dT(e){return`${e} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`}function Uw(e){let t=O.useContext(Hl);return Mt(t,dT(e)),t}function fT(e,{target:t,replace:n,unstable_mask:a,state:s,preventScrollReset:l,relative:c,viewTransition:d,unstable_defaultShouldRevalidate:f,unstable_useTransitions:h}={}){let b=Cr(),m=Ui(),x=Rc(e,{relative:c});return O.useCallback(v=>{if(HA(v,t)){v.preventDefault();let E=n!==void 0?n:mc(m)===mc(x),w=()=>b(e,{replace:E,unstable_mask:a,state:s,preventScrollReset:l,relative:c,viewTransition:d,unstable_defaultShouldRevalidate:f});h?O.startTransition(()=>w()):w()}},[m,b,x,n,a,s,t,e,l,c,d,f,h])}function Pw(e){_i(typeof URLSearchParams<"u","You cannot use the `useSearchParams` hook in a browser that does not support the URLSearchParams API. If you need to support Internet Explorer 11, we recommend you load a polyfill such as https://github.com/ungap/url-search-params.");let t=O.useRef(Rm(e)),n=O.useRef(!1),a=Ui(),s=O.useMemo(()=>qA(a.search,n.current?null:t.current),[a.search]),l=Cr(),c=O.useCallback((d,f)=>{const h=Rm(typeof d=="function"?d(new URLSearchParams(s)):d);n.current=!0,l("?"+h,f)},[l,s]);return[s,c]}var hT=0,pT=()=>`__${String(++hT)}__`;function mT(){let{router:e}=Uw("useSubmit"),{basename:t}=O.useContext(ci),n=RA(),a=e.fetch,s=e.navigate;return O.useCallback(async(l,c={})=>{let{action:d,method:f,encType:h,formData:b,body:m}=VA(l,t);if(c.navigate===!1){let x=c.fetcherKey||pT();await a(x,n,c.action||d,{unstable_defaultShouldRevalidate:c.unstable_defaultShouldRevalidate,preventScrollReset:c.preventScrollReset,formData:b,body:m,formMethod:c.method||f,formEncType:c.encType||h,flushSync:c.flushSync})}else await s(c.action||d,{unstable_defaultShouldRevalidate:c.unstable_defaultShouldRevalidate,preventScrollReset:c.preventScrollReset,formData:b,body:m,formMethod:c.method||f,formEncType:c.encType||h,replace:c.replace,state:c.state,fromRouteId:n,flushSync:c.flushSync,viewTransition:c.viewTransition})},[a,s,t,n])}function gT(e,{relative:t}={}){let{basename:n}=O.useContext(ci),a=O.useContext(Ti);Mt(a,"useFormAction must be used inside a RouteContext");let[s]=a.matches.slice(-1),l={...Rc(e||".",{relative:t})},c=Ui();if(e==null){l.search=c.search;let d=new URLSearchParams(l.search),f=d.getAll("index");if(f.some(b=>b==="")){d.delete("index"),f.filter(m=>m).forEach(m=>d.append("index",m));let b=d.toString();l.search=b?`?${b}`:""}}return(!e||e===".")&&s.route.index&&(l.search=l.search?l.search.replace(/^\?/,"?index&"):"?index"),n!=="/"&&(l.pathname=l.pathname==="/"?n:zi([n,l.pathname])),mc(l)}function bT(e,{relative:t}={}){let n=O.useContext(Aw);Mt(n!=null,"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`. Did you accidentally import `RouterProvider` from `react-router`?");let{basename:a}=Uw("useViewTransitionState"),s=Rc(e,{relative:t});if(!n.isTransitioning)return!1;let l=Da(n.currentLocation.pathname,a)||n.currentLocation.pathname,c=Da(n.nextLocation.pathname,a)||n.nextLocation.pathname;return jd(s.pathname,c)!=null||jd(s.pathname,l)!=null}function yT(){if(console&&console.warn){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];hs(t[0])&&(t[0]=`react-i18next:: ${t[0]}`),console.warn(...t)}}const p0={};function jm(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];hs(t[0])&&p0[t[0]]||(hs(t[0])&&(p0[t[0]]=new Date),yT(...t))}const Fw=(e,t)=>()=>{if(e.isInitialized)t();else{const n=()=>{setTimeout(()=>{e.off("initialized",n)},0),t()};e.on("initialized",n)}},m0=(e,t,n)=>{e.loadNamespaces(t,Fw(e,n))},g0=(e,t,n,a)=>{hs(n)&&(n=[n]),n.forEach(s=>{e.options.ns.indexOf(s)<0&&e.options.ns.push(s)}),e.loadLanguages(t,Fw(e,a))},xT=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const a=t.languages[0],s=t.options?t.options.fallbackLng:!1,l=t.languages[t.languages.length-1];if(a.toLowerCase()==="cimode")return!0;const c=(d,f)=>{const h=t.services.backendConnector.state[`${d}|${f}`];return h===-1||h===2};return n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&t.services.backendConnector.backend&&t.isLanguageChangingTo&&!c(t.isLanguageChangingTo,e)?!1:!!(t.hasResourceBundle(a,e)||!t.services.backendConnector.backend||t.options.resources&&!t.options.partialBundledLanguages||c(a,e)&&(!s||c(l,e)))},vT=function(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};return!t.languages||!t.languages.length?(jm("i18n.languages were undefined or empty",t.languages),!0):t.options.ignoreJSONStructure!==void 0?t.hasLoadedNamespace(e,{lng:n.lng,precheck:(s,l)=>{if(n.bindI18n&&n.bindI18n.indexOf("languageChanging")>-1&&s.services.backendConnector.backend&&s.isLanguageChangingTo&&!l(s.isLanguageChangingTo,e))return!1}}):xT(e,t,n)},hs=e=>typeof e=="string",wT=e=>typeof e=="object"&&e!==null,ET=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,ST={"&":"&","&":"&","<":"<","<":"<",">":">",">":">","'":"'","'":"'",""":'"',""":'"'," ":" "," ":" ","©":"©","©":"©","®":"®","®":"®","…":"…","…":"…","/":"/","/":"/"},kT=e=>ST[e],NT=e=>e.replace(ET,kT);let Mm={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:NT};const _T=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Mm={...Mm,...e}},CT=()=>Mm;let $w;const AT=e=>{$w=e},TT=()=>$w,OT={type:"3rdParty",init(e){_T(e.options.react),AT(e)}},RT=O.createContext();class jT{constructor(){kp(this,"getUsedNamespaces",()=>Object.keys(this.usedNamespaces));this.usedNamespaces={}}addUsedNamespaces(t){t.forEach(n=>{this.usedNamespaces[n]||(this.usedNamespaces[n]=!0)})}}const MT=(e,t)=>{const n=O.useRef();return O.useEffect(()=>{n.current=e},[e,t]),n.current},Hw=(e,t,n,a)=>e.getFixedT(t,n,a),DT=(e,t,n,a)=>O.useCallback(Hw(e,t,n,a),[e,t,n,a]),Ue=function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{i18n:n}=t,{i18n:a,defaultNS:s}=O.useContext(RT)||{},l=n||a||TT();if(l&&!l.reportNamespaces&&(l.reportNamespaces=new jT),!l){jm("You will need to pass in an i18next instance by using initReactI18next");const T=(M,U)=>hs(U)?U:wT(U)&&hs(U.defaultValue)?U.defaultValue:Array.isArray(M)?M[M.length-1]:M,L=[T,{},!1];return L.t=T,L.i18n={},L.ready=!1,L}l.options.react&&l.options.react.wait!==void 0&&jm("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const c={...CT(),...l.options.react,...t},{useSuspense:d,keyPrefix:f}=c;let h=e||s||l.options&&l.options.defaultNS;h=hs(h)?[h]:h||["translation"],l.reportNamespaces.addUsedNamespaces&&l.reportNamespaces.addUsedNamespaces(h);const b=(l.isInitialized||l.initializedStoreOnce)&&h.every(T=>vT(T,l,c)),m=DT(l,t.lng||null,c.nsMode==="fallback"?h:h[0],f),x=()=>m,v=()=>Hw(l,t.lng||null,c.nsMode==="fallback"?h:h[0],f),[E,w]=O.useState(x);let k=h.join();t.lng&&(k=`${t.lng}${k}`);const N=MT(k),C=O.useRef(!0);O.useEffect(()=>{const{bindI18n:T,bindI18nStore:L}=c;C.current=!0,!b&&!d&&(t.lng?g0(l,t.lng,h,()=>{C.current&&w(v)}):m0(l,h,()=>{C.current&&w(v)})),b&&N&&N!==k&&C.current&&w(v);const M=()=>{C.current&&w(v)};return T&&l&&l.on(T,M),L&&l&&l.store.on(L,M),()=>{C.current=!1,T&&l&&T.split(" ").forEach(U=>l.off(U,M)),L&&l&&L.split(" ").forEach(U=>l.store.off(U,M))}},[l,k]),O.useEffect(()=>{C.current&&b&&w(x)},[l,f,b]);const A=[E,l,b];if(A.t=E,A.i18n=l,A.ready=b,b||!b&&!d)return A;throw new Promise(T=>{t.lng?g0(l,t.lng,h,()=>T()):m0(l,h,()=>T())})};/**
|
|
61
61
|
* @license lucide-react v0.544.0 - ISC
|
|
62
62
|
*
|
|
63
63
|
* This source code is licensed under the ISC license.
|
|
@@ -368,18 +368,18 @@ Click to preview`},iR={streaming:"STREAMING",thinking:"Thinking…",tool:"Tool",
|
|
|
368
368
|
Click to enlarge`,expandTitle:`{{name}}
|
|
369
369
|
{{path}}
|
|
370
370
|
Click to preview`},oR={you:"You",error:"Error",assistant:"assistant",outputTruncated:"⚠ Output exceeds 10MB, truncated"},cR={heading:"Chat 💬",hint1:'Click "New chat" above to start a session, or just type below to auto-create one.',hint2:"Enter to send · Shift+Enter for newline · streaming output"},uR={stillStreaming:"The previous message is still streaming; wait for it or cancel.",tooManyConcurrent:"Up to {{max}} concurrent chat sessions can stream at once. Wait for others to finish or cancel them.",send:"Send failed",fileTooLarge:"File too large",fileTooLargeBody:"Per-file limit is 50 MB; current {{size}} MB ({{name}})",uploadFailed:"Attachment upload failed",cancelFailed:"Cancel failed"},dR={attachment:"(attachment)",seeAttachments:"(see attachments)",attachmentTitle:"Attachment"},fR={justNow:"just now"},hR={title:JO,newSession:eR,history:tR,input:nR,assistant:iR,session:aR,cwd:rR,newDialog:sR,preview:lR,bubble:oR,empty:cR,errors:uR,fallback:dR,time:fR},pR="Board",mR="Board ✨",gR="Select a project 🎯",bR="The board is per-project. Pick one to start:",yR="Loading…",xR="{{name}} · {{cards}} cards · {{workers}} workers active",vR={Planning:"Planning",Backlog:"Backlog",Todo:"Todo",Inprogress:"In progress",QA:"QA Review",Done:"Done"},wR={start:"Start",stop:"Stop",reset:"Reset",newCard:"New card",search:"Search",clear:"Clear",clearSelection:"Clear selection",ariaSearch:"Search cards",ariaClearFilter:"Clear filters",ariaFilterBy:"Filter by {{label}}",ariaStartPipeline:"Start pipeline",ariaStopPipeline:"Stop pipeline",searchPlaceholder:"Search title / skill / label…"},ER={title:"Title",description:"Description",checklist:"Checklist",checklistMore:"… {{count}} more",log:"Log",skills:"Skills",labels:"Labels",created:"Created",claimed:"Claimed by",seq:"Seq",empty:"(empty)",justNow:"just now"},SR={title:"New card",closeAria:"Close",titleField:"Title *",titlePlaceholder:"e.g. Wire up GitHub OAuth login",titleHint:"Short, focused goal (<200 chars)",descField:"Description",descPlaceholder:"User story, requirements, acceptance criteria, references… Claude reads this on launch.",descHint:"Markdown supported. If empty, Claude only has the title to work from.",skillsHint:"Which skills to load (frontmatter `skills:`). Optional — workers fall back to project-level skills.",loadingSkills:"Loading skills…",loadFailed:"Failed to load skills (won't block create): {{error}}",selected:"Selected {{count}} of: {{names}}",dispatchField:"Dispatch",dispatchToggle:"Dispatch immediately (goes straight to Backlog)",dispatchOff:"Default off: card lands in Planning; drag it to Backlog to start work.",dispatchOn:"Checked: skip staging — the next tick dispatches a worker.",cancel:"Cancel",create:"Create",createAria:"Create card"},kR={edit:"Edit",editAria:"Edit card",editing:"⚠ editing",loadFailed:"Load failed: {{error}}",loadingSkills:"Loading skills…",ariaTitle:"Card title",ariaCardDesc:"Card description",removeLabelAria:"Remove {{label}}",addLabelPlaceholder:"+ add label",addLabelAria:"Add label",labelsNote:"Note: AI-PIPELINE / STARTED-* / COMPLETED-* / NEEDS-FIX are managed by the pipeline — manual edits may be overwritten.",checklistCount:"Checklist {{done}}/{{total}}",checklistEmpty:"No checklist items. Add them in the description with `- [ ] item` syntax.",descNote:'Replaces only the "## Description" section; Checklist and Log sections are untouched.',doneCannotStart:"Card is done — drag it back to Todo before starting",pipelineRunningCannotStart:"Pipeline is running — supervisor dispatches automatically, no manual start needed",launchWorker:"Launch worker",launchFailed:"Failed to launch worker",resetTitle:"Reset card #{{seq}}",resetBody:"Card state will reset to initial, and completed checklist items will be cleared.",resetConfirm:"Reset",resetFailed:"Reset failed",resetButton:"Reset card",deleteTitle:"Delete card #{{seq}}",deleteBody:'About to delete "{{title}}". This is permanent — the md file will be physically removed. Continue?',deleteContinue:"Continue",deleteFinalTitle:"Final confirmation",deleteFinalBody:"Please confirm again to delete card #{{seq}}.",deleteFinalConfirm:"Confirm delete",deleteFailed:"Delete failed",deleteButton:"Delete card",deleteAria:"Delete card",cancel:"Cancel",save:"Save",saveAria:"Save card changes",saveFailed:"Save failed",closeAria:"Close",loading:"Loading…"},NR={loadFailed:"Failed to load cards",createFailed:"Failed to create card",updateFailed:"Failed to update card",deleteFailed:"Failed to delete card",moveFailed:"Failed to move card",startFailed:"Failed to start pipeline",stopFailed:"Failed to stop pipeline",resetTitle:"Reset entire pipeline",resetBody:"This clears every card's run state, worker markers, and branches. Cannot be undone.",resetConfirm:"Reset all",resetFailed:"Reset failed",isRunning:"Card is running; kill the worker or move it out of In progress first."},_R={title:pR,titleEmoji:mR,selectProject:gR,selectHint:bR,loadingProject:yR,summary:xR,columns:vR,actions:wR,card:ER,newCardDialog:SR,cardModal:kR,errors:NR},CR="Projects 🎯",AR={summary:"{{count}} local projects",loading:"Loading…",loadFailed:"Click refresh to retry",loadError:"Load failed",retry:"Retry",refresh:"Refresh",newProjectAria:"New project",newProject:"New project",empty:"No projects yet ✨",emptyHint:"Run {{cmd}} to create your first project."},TR={title:"New project",backAria:"Back to projects",back:"Back",name:"Project name",nameHint:"Letters, digits, _ and - only. e.g. acme-web",namePlaceholder:"e.g. acme-web",nameInvalid:"Name may only contain a-z A-Z 0-9 _ -",dir:"Project directory",dirHint:"Absolute path on this machine (code or docs are both fine). Independent of the git toggle.",dirBrowseAria:"Browse for project directory",dirBrowse:"Browse",dirAutoCreate:"Auto-create the directory if missing (recommended — otherwise .claude/ and wiki/ install are skipped)",maxWorkers:"Max workers",ackTimeout:"ACK timeout (minutes)",ackTimeoutHint:"How long after launch with no ACK before the worker is treated as failed",enableGit:"Enable Git (Worker auto-commits + pushes)",enableGitHint:"When off, the Worker just runs the task without version control; good for docs/data projects.",mergeBranch:"Merge branch",remotePath:"Git remote project path",remotePathHint:"e.g. user/repo. Empty skips the remote API (local commit/push only).",gitlabId:"GitLab project ID",gitlabIdHint:"numeric; GitHub users leave empty",enableWiki:"Enable Wiki knowledge base (per-project)",enableWikiHintPrefix:"Scaffolds ",enableWikiHintMid:" dir and injects 5-layer retrieval context plus wiki-update hints into Worker prompts. You can also enable later with ",enableWikiHintSuffix:" .",notifications:"Notifications",matrixRoom:"Matrix room ID",matrixRoomHint:"empty = use global config; blank = no notifications",cancel:"Cancel",createAria:"Create project",creating:"Creating…",create:"Create",pickerTitle:"Select project directory",createFailed:"Create failed"},OR={backAria:"Back to projects",back:"Back",board:"Board",tabs:{overview:"Overview",config:"Config",danger:"Danger zone"},loading:"Loading…",notFound:"Project {{name}} not found or unreadable.",repo:"Repository",pmBackend:"PM backend",cards:"Cards",cardsSummary:"{{total}} total · {{ip}} in progress · {{done}} done",workers:"Workers",workersSummary:"{{total}} ({{active}} active)",lastActivity:"Last activity",config:{saveFailed:"Save failed",etagConflict:"Config was modified elsewhere",etagConflictBody:'The conf file was modified while you were editing. Click "Reload" before editing again.',loading:"Loading…",loadFailed:"Load failed: {{error}}",reloadAria:"Reload",reload:"Reload",saveAria:"Save config",save:"Save",editorAria:"Conf file editor",unsaved:"● unsaved changes"},pipeline:{newAria:"New pipeline",new:"New pipeline",empty:'No pipeline files yet. Click "New pipeline" to start.',editAria:"Edit {{name}}",edit:"Edit",switchTitle:"Switch to {{name}}",switchBody:"Current project.yaml will be overwritten with the contents of {{name}}. Continue?",switchConfirm:"Switch",switchAria:"Switch to {{name}}",switch:"Switch",deleteTitle:"Delete {{name}}",deleteBody:"This pipeline file will be permanently deleted.",deleteConfirm:"Delete",deleteAria:"Delete {{name}}",switchFailed:"Switch failed",deleteFailed:"Delete failed",createFailed:"Create failed"},danger:{deletedTitle:"Deleted",deletedBodyClean:`Project deleted. Also cleaned up:
|
|
371
|
-
{{paths}}`,deletedBody:"Project deleted.",deleteFailed:"Delete failed",delete:"Delete project",deleteHint:"This will clean up {{path}} (including all cards, runtime, logs).",alsoCleanRepo:"Also clean up the repo's .claude/",repoUntouched:"The repo itself is untouched; only this directory is cleaned.",confirmType:"Type the project name {{name}} to confirm:",deleteAria:"Permanently delete project",deleteBtn:"Permanently delete"}},RR={closeAria:"Close",loading:"Loading…",loadFailed:"Load failed: {{error}}",structured:"Structured",rawYaml:"Raw YAML",activeWarn:"⚠ This is the active pipeline; takes effect on the next tick after save",yamlAria:"Pipeline YAML editor",unsaved:"● unsaved",saved:"Saved",noChanges:"No changes",reload:"Reload",saveAria:"Save pipeline",save:"Save",saveFailed:"Save failed",yamlInvalid:"Invalid YAML syntax",etagConflict:"File was modified elsewhere",yamlSerializeFailed:"YAML serialization failed",modeProject:"project = event-driven pipeline (default) · steps = sequential script",addStageAria:"Add stage",addStage:"Add stage",noStages:'No stages yet. Click "Add stage" to start.',moveUpAria:"Move up",moveDownAria:"Move down",deleteStageAria:"Delete stage",stageNameHint:"unique stage name",stageProfileHint:"skill profile (optional)",stageCardStateHint:"card state during this stage",stageTimeoutHint:"optional, e.g. 30m 2h",stageTriggerHint:"trigger condition (optional, defaults applied)",stageOnCompleteHint:"action on success",stageOnFailureActionHint:"action on failure, e.g. label NEEDS-FIX",stageCommentHint:"comment written into the card",stopOnFailureNote:"(stops the pipeline on failure; remove to continue with the next card)",filenameInvalid:"Invalid pipeline filename, or it must not be project.yaml"},jR={title:"New pipeline",closeAria:"Close",filename:"Filename",filenamePlaceholder:"e.g. ci",savedAs:"Saved as {{name}}",filenameHint:"Allowed: a-z A-Z 0-9 _ -. A duplicate name returns 409.",initial:"Initial contents",blankLabel:"Blank template",blankDesc:"Minimal 1-stage pipeline (develop → Done)",tutorialLabel:"Tutorial template",tutorialDesc:"Copy from sample.yaml.example (commented, explains every field)",tutorialDisabled:"sample.yaml.example not found",copyLabel:"Copy from current",copyDesc:"Copy from project.yaml (start from the current config)",copyDisabled:"project.yaml not found",cancel:"Cancel",createAria:"Create pipeline",create:"Create"},MR={title:CR,list:AR,newProject:TR,detail:OR,pipelineEditor:RR,newPipelineDialog:jR},DR="Workers",LR="Across {{projects}} projects · {{running}} running · {{starting}} starting · ",IR="{{count}} stuck",zR="{{count}} crashed",BR=" · {{count}} idle",UR="Refresh",PR="Refresh",FR="Loading…",$R="Load failed: {{error}}",HR="Click a project / worker for details",qR={title:"Capacity",project:"Project",inUse:"In use",other:"Other",details:"Details →",boardLink:"Board →",loadingWorkers:"Loading workers…",noSlots:"This project has no worker slots.",noWorkers:"No workers",selectWorker:"Select a worker",idle:"idle",currentCard:"Current card",slotIdle:"slot is idle — no current card.",outputRecent:"Claude output · last {{count}} lines",outputEmpty:"No session output yet. Worker takes a few seconds after launch.",heartbeatRecent:"Supervisor heartbeat · last {{count}} lines",viewFullLog:"View full log →"},KR={restartTitle:"Restart worker-{{slot}}",restartBody:"Kills the process, then re-launches to #{{seq}}",restartConfirm:"Restart",restartFailed:"Restart failed",restart:"Restart",killTitle:"Terminate worker-{{slot}}",killBody:"Current task will be force-cancelled.",killConfirm:"Terminate",killFailed:"Terminate failed",kill:"Terminate"},GR={allHealthy:"All workers healthy",pidDead:"PID is dead.",markerStalled:"marker stalled for {{relative}}."},
|
|
372
|
-
{{cmd}}`,
|
|
373
|
-
{{cmd}}`,
|
|
371
|
+
{{paths}}`,deletedBody:"Project deleted.",deleteFailed:"Delete failed",delete:"Delete project",deleteHint:"This will clean up {{path}} (including all cards, runtime, logs).",alsoCleanRepo:"Also clean up the repo's .claude/",repoUntouched:"The repo itself is untouched; only this directory is cleaned.",confirmType:"Type the project name {{name}} to confirm:",deleteAria:"Permanently delete project",deleteBtn:"Permanently delete"}},RR={closeAria:"Close",loading:"Loading…",loadFailed:"Load failed: {{error}}",structured:"Structured",rawYaml:"Raw YAML",activeWarn:"⚠ This is the active pipeline; takes effect on the next tick after save",yamlAria:"Pipeline YAML editor",unsaved:"● unsaved",saved:"Saved",noChanges:"No changes",reload:"Reload",saveAria:"Save pipeline",save:"Save",saveFailed:"Save failed",yamlInvalid:"Invalid YAML syntax",etagConflict:"File was modified elsewhere",yamlSerializeFailed:"YAML serialization failed",modeProject:"project = event-driven pipeline (default) · steps = sequential script",addStageAria:"Add stage",addStage:"Add stage",noStages:'No stages yet. Click "Add stage" to start.',moveUpAria:"Move up",moveDownAria:"Move down",deleteStageAria:"Delete stage",stageNameHint:"unique stage name",stageProfileHint:"skill profile (optional)",stageCardStateHint:"card state during this stage",stageTimeoutHint:"optional, e.g. 30m 2h",stageTriggerHint:"trigger condition (optional, defaults applied)",stageOnCompleteHint:"action on success",stageOnFailureActionHint:"action on failure, e.g. label NEEDS-FIX",stageCommentHint:"comment written into the card",stopOnFailureNote:"(stops the pipeline on failure; remove to continue with the next card)",filenameInvalid:"Invalid pipeline filename, or it must not be project.yaml"},jR={title:"New pipeline",closeAria:"Close",filename:"Filename",filenamePlaceholder:"e.g. ci",savedAs:"Saved as {{name}}",filenameHint:"Allowed: a-z A-Z 0-9 _ -. A duplicate name returns 409.",initial:"Initial contents",blankLabel:"Blank template",blankDesc:"Minimal 1-stage pipeline (develop → Done)",tutorialLabel:"Tutorial template",tutorialDesc:"Copy from sample.yaml.example (commented, explains every field)",tutorialDisabled:"sample.yaml.example not found",copyLabel:"Copy from current",copyDesc:"Copy from project.yaml (start from the current config)",copyDisabled:"project.yaml not found",cancel:"Cancel",createAria:"Create pipeline",create:"Create"},MR={title:CR,list:AR,newProject:TR,detail:OR,pipelineEditor:RR,newPipelineDialog:jR},DR="Workers",LR="Across {{projects}} projects · {{running}} running · {{starting}} starting · ",IR="{{count}} stuck",zR="{{count}} crashed",BR=" · {{count}} idle",UR="Refresh",PR="Refresh",FR="Loading…",$R="Load failed: {{error}}",HR="Click a project / worker for details",qR={title:"Capacity",project:"Project",inUse:"In use",other:"Other",details:"Details →",boardLink:"Board →",loadingWorkers:"Loading workers…",noSlots:"This project has no worker slots.",noWorkers:"No workers",selectWorker:"Select a worker",idle:"idle",currentCard:"Current card",slotIdle:"slot is idle — no current card.",outputRecent:"Claude output · last {{count}} lines",outputEmpty:"No session output yet. Worker takes a few seconds after launch.",heartbeatRecent:"Supervisor heartbeat · last {{count}} lines",viewFullLog:"View full log →"},KR={restartTitle:"Restart worker-{{slot}}",restartBody:"Kills the process, then re-launches to #{{seq}}",restartConfirm:"Restart",restartFailed:"Restart failed",restart:"Restart",killTitle:"Terminate worker-{{slot}}",killBody:"Current task will be force-cancelled.",killConfirm:"Terminate",killFailed:"Terminate failed",kill:"Terminate"},GR={heading:"Active",noneRunning:"No workers are running.",stage:"stage: {{name}}",marker:"marker {{relative}}"},VR={allHealthy:"All workers healthy",pidDead:"PID is dead.",markerStalled:"marker stalled for {{relative}}."},QR={secondsAgo:"{{value}}s ago",minutesAgo:"{{value}}m ago",hoursAgo:"{{value}}h ago"},YR={title:DR,summary:LR,stuck:IR,crashed:zR,idle:BR,refreshAria:UR,refresh:PR,loading:FR,loadFailed:$R,selectHint:HR,capacity:qR,actions:KR,active:GR,alerts:VR,format:QR},WR="Logs",XR="{{scope}}{{worker}} · {{mode}} · {{count}} lines",ZR="All projects ({{count}})",JR="5s polling",ej="tail -f",tj="Live",nj="History",ij="Query start time",aj="Query",rj="Query",sj="Filter project",lj="All projects",oj="Filter keyword…",cj="Filter logs",uj="No matching logs",dj={loadFailed:"Failed to load logs"},fj={title:WR,header:XR,scopeAll:ZR,modeLive:JR,modeTail:ej,live:tj,history:nj,queryStartAria:ij,queryAria:aj,query:rj,filterProjectAria:sj,allProjectsOption:lj,filterPlaceholder:oj,filterAria:cj,noMatches:uj,errors:dj},hj="Skills 🔧",pj="{{count}} user-level skills",mj="Loading…",gj="Sync bundled",bj="Search skill",yj="Search skill…",xj={all:"All",language:"Language",spec:"Spec",workflow:"Workflow",persona:"Persona"},vj={closeAria:"Close",loading:"Loading…",loadFailed:"Load failed: {{error}}",linkStatus:"Project link status",noProjects:"No projects yet. Create one first.",preview:"SKILL.md preview",fileToggleAria:"{{action}} {{file}}",expand:"Expand",collapse:"Collapse",labelFailed:"{{label}} failed",removeTitle:"Remove {{name}} from {{project}}",removeBody:"The skill link will be removed; this project will no longer load the skill on future runs.",removeConfirm:"Remove",unfreezeTitle:"Unfreeze {{name}} @ {{project}}",unfreezeBody:"Local edits to this skill will be overwritten; it returns to the latest shared version.",unfreezeConfirm:"Unfreeze"},wj={title:hj,summary:pj,loading:mj,syncBundled:gj,search:bj,searchPlaceholder:yj,filter:xj,modal:vj},Ej="System ⚙️",Sj="Loading…",kj="Runtime",Nj="Global config ",_j="Edit",Cj="Edit env file",Aj="⚠ Editing",Tj='env file does not exist. Click "Edit" or run in your terminal: ',Oj="⚠ File contains plaintext credentials. 0600 permissions preserved on save.",Rj="env file editor",jj=" · ● unsaved",Mj="Cancel",Dj="Save",Lj="Save env",Ij="env was modified elsewhere",zj="Save failed",Bj="Click cancel and reopen the editor.",Uj="Version",Pj="Check for updates",Fj="Check latest version",$j="sps-cli (current)",Hj="npm (latest)",qj="Latest",Kj="Upgrade",Gj="Upgrade to latest",Vj="Copy command",Qj="Copy upgrade command",Yj="Run manually if auto-upgrade fails",Wj="Installed",Xj="Active (visible after console restart)",Zj="Upgrade did not take effect",Jj="Check",eM="Upgrade sps-cli",tM="Current {{current}} → {{latest}}. All pipelines must be stopped. Restart sps console after upgrade.",nM="Upgrade",iM="Upgrade complete",aM='Installed v{{version}}. Run `pkill -f "sps console"` and restart to apply.',rM="Upgrade had no effect",sM="npm finished but the version did not change (still {{version}}) — likely permissions or registry issue. Copy the command below to run manually.",lM="npm did not install a new version. Copy the command to run manually, or check the log below.",oM="Upgrade failed",cM="Command copied",uM=`Paste it into your terminal to run:
|
|
372
|
+
{{cmd}}`,dM="Copy failed",fM=`Copy manually:
|
|
373
|
+
{{cmd}}`,hM={title:"Project health check",checkAll:"Check all",noProjects:"No projects yet.",expand:"Expand",collapse:"Collapse",clickCheck:'Click "Check" to run sps doctor',checkAria:"Check",check:"Check",fixAria:"Auto-fix",fixNothing:"Nothing to fix",fixHint:"Runs sps doctor <proj> --fix: auto-creates .claude/hooks/stop.sh, state.json, etc.",fix:"Fix",fixed:"Fixed",doctorActionFailed:"doctor {{action}} failed",actionFix:"fix",actionCheck:"check"},pM={title:Ej,loading:Sj,runtime:kj,envSection:Nj,envEdit:_j,envEditAria:Cj,envEditing:Aj,envMissing:Tj,envWarn:Oj,envEditorAria:Rj,envUnsaved:jj,envCancel:Mj,envSave:Dj,envSaveAria:Lj,envEtagConflict:Ij,envSaveFailed:zj,envEtagBody:Bj,version:Uj,checkUpdate:Pj,checkUpdateAria:Fj,spsCliCurrent:$j,npmLatest:Hj,latestBadge:qj,upgrade:Kj,upgradeAria:Gj,copyCmd:Vj,copyCmdAria:Qj,copyCmdTitle:Yj,installed:Wj,installedActive:Xj,installedFailed:Zj,checkLabel:Jj,upgradeTitle:eM,upgradeBody:tM,upgradeConfirm:nM,upgradeDoneTitle:iM,upgradeDoneBody:aM,upgradeIneffectiveTitle:rM,upgradeIneffectiveSameVersion:sM,upgradeIneffectiveNoInstall:lM,upgradeFailed:oM,cmdCopiedTitle:cM,cmdCopiedBody:uM,copyFailedTitle:dM,copyFailedBody:fM,doctor:hM},mM={cancel:"Cancel",confirm:"Confirm",save:"Save",delete:"Delete",edit:"Edit",close:"Close",create:"Create",refresh:"Refresh",retry:"Retry",loading:"Loading…",search:"Search",more:"More",back:"Back",next:"Next",previous:"Previous",yes:"Yes",no:"No",ok:"OK"},gM={online:"online",offline:"offline",connecting:"connecting",ready:"ready",running:"running",stopped:"stopped",error:"error",idle:"idle"},bM={chat:"Chat",projects:"Projects",board:"Board",workers:"Workers",logs:"Logs",skills:"Skills",system:"System"},yM={generic:"Something went wrong",networkOffline:"Network is offline",notFound:"Not found",unauthorized:"Unauthorized",badRequest:"Bad request"},xM={noData:"No data",noResults:"No results"},vM={label:"Language",en:"English",zh:"中文"},wM={title:"404 · Page not found",body:"Could not find this page. The link may have expired.",back:"Back to home"},EM={defaultTitle:"Select directory",closeAria:"Close",currentPath:"Current path",parentDirAria:"Parent directory",homeAria:"Go to home",loading:"Loading…",readFailed:"Read failed",emptyDir:"— empty —",enterDir:"Enter {{name}}/",selectDoubleClick:"Select {{name}} (double-click to confirm)",fileNotSelectable:"File not selectable",cancel:"Cancel",useFile:"Use this file",useFileTitle:"Pick a file first",useDir:"Use this directory"},SM={activePipelines:"Active pipelines",activeWorkers:"Active workers"},kM={actions:mM,status:gM,nav:bM,errors:yM,empty:xM,locale:vM,notFound:wM,directoryPicker:EM,statusBar:SM},NM="SPS Console",_M="新建对话",CM="历史",AM={placeholder:"说点什么…(Enter 发送,Shift+Enter 换行,可拖入文件 / 粘贴图片)",placeholderDragOver:"松开鼠标以附加文件…",send:"发送",stop:"中断",stopped:"已停止",attach:"附加本地文件",attachHint:"附加本地文件(也可拖拽 / 粘贴图片)",removeAttachment:"移除",ariaInput:"消息输入",ariaSend:"发送",ariaStop:"中断生成",uploading:"上传中…",ariaRemoveAttachment:"移除 {{name}}",attachmentTitle:`{{name}}
|
|
374
374
|
{{path}}
|
|
375
|
-
点击预览`},
|
|
375
|
+
点击预览`},TM={streaming:"STREAMING",thinking:"思考中…",tool:"工具",toolResult:"工具结果"},OM={untitled:"新对话",rename:"重命名",delete:"删除会话",deleteConfirm:"永久删除该会话?",deleteBody:"对话记录会永久删除,不可恢复。",deleteAria:"删除对话",deleteConfirmBtn:"删除",switch:"切换会话",loadFailed:"会话加载失败",createFailed:"新建对话失败",openAria:"打开对话 {{title}}",openAriaWithCwd:"打开对话 {{title}}(工作目录 {{cwd}})",empty:"还没对话。点上面新建。"},RM={label:"工作目录(可选)",placeholder:"/home/coral/projects/my-app",select:"浏览",selectAria:"浏览选择目录",hint1:"Agent 在该目录下读写文件。绝对路径,必须存在。",hint2:"留空则用 daemon 启动时的目录。",invalidAbsolute:"工作目录必须是绝对路径",notFound:"工作目录不存在"},jM={title:"新建对话",ariaLabel:"新建对话",closeAria:"关闭",titleField:"标题(可选)",titlePlaceholder:"留空 = 自动用首条消息生成",filePicker:"选择附件文件"},MM={ariaLabel:"预览 {{name}}",closeAria:"关闭",readFailed:"读取失败: {{error}}",loading:"加载中...",unsupported:"此文件类型不支持内联预览。",download:"下载",thumbTitle:`{{name}}
|
|
376
376
|
点击放大`,expandTitle:`{{name}}
|
|
377
377
|
{{path}}
|
|
378
|
-
点击预览`},
|
|
379
|
-
{{paths}}`,deletedBody:"项目已删除。",deleteFailed:"删除失败",delete:"删除项目",deleteHint:"这会清理 {{path}}(包括所有卡片、runtime、logs)。",alsoCleanRepo:"同时清理 repo 的 .claude/",repoUntouched:"repo 本身不动,只清这个目录。",confirmType:"输入项目名 {{name}} 确认:",deleteAria:"永久删除项目",deleteBtn:"永久删除"}},
|
|
380
|
-
{{cmd}}`,
|
|
381
|
-
{{cmd}}`,zL={title:"项目健康检查",checkAll:"检查全部",noProjects:"还没有项目。",expand:"展开",collapse:"折叠",clickCheck:'点 "检查" 运行 sps doctor',checkAria:"检查",check:"检查",fixAria:"自动修复",fixNothing:"已无可修问题",fixHint:"调 sps doctor <proj> --fix:自动创建 .claude/hooks/stop.sh、state.json 等",fix:"修复",fixed:"已修复",doctorActionFailed:"doctor {{action}}失败",actionFix:"修复",actionCheck:"检查"},BL={title:GD,loading:VD,runtime:QD,envSection:YD,envEdit:WD,envEditAria:XD,envEditing:ZD,envMissing:JD,envWarn:eL,envEditorAria:tL,envUnsaved:nL,envCancel:iL,envSave:aL,envSaveAria:rL,envEtagConflict:sL,envSaveFailed:lL,envEtagBody:oL,version:cL,checkUpdate:uL,checkUpdateAria:dL,spsCliCurrent:fL,npmLatest:hL,latestBadge:pL,upgrade:mL,upgradeAria:gL,copyCmd:bL,copyCmdAria:yL,copyCmdTitle:xL,installed:vL,installedActive:wL,installedFailed:EL,checkLabel:SL,upgradeTitle:kL,upgradeBody:NL,upgradeConfirm:_L,upgradeDoneTitle:CL,upgradeDoneBody:AL,upgradeIneffectiveTitle:TL,upgradeIneffectiveSameVersion:OL,upgradeIneffectiveNoInstall:RL,upgradeFailed:jL,cmdCopiedTitle:ML,cmdCopiedBody:DL,copyFailedTitle:LL,copyFailedBody:IL,doctor:zL},UL={cancel:"取消",confirm:"确认",save:"保存",delete:"删除",edit:"编辑",close:"关闭",create:"创建",refresh:"刷新",retry:"重试",loading:"加载中…",search:"搜索",more:"更多",back:"返回",next:"下一步",previous:"上一步",yes:"是",no:"否",ok:"确定"},PL={online:"在线",offline:"离线",connecting:"连接中",ready:"就绪",running:"运行中",stopped:"已停止",error:"错误",idle:"空闲"},FL={chat:"对话",projects:"项目",board:"看板",workers:"Workers",logs:"日志",skills:"Skills",system:"系统"},$L={generic:"出错了",networkOffline:"网络未连接",notFound:"未找到",unauthorized:"未授权",badRequest:"请求无效"},HL={noData:"暂无数据",noResults:"没有结果"},qL={label:"语言",en:"English",zh:"中文"},KL={title:"404 · 页面不存在",body:"没找到这个页面。可能是链接过期了。",back:"返回首页"},GL={defaultTitle:"选择目录",closeAria:"关闭",currentPath:"当前路径",parentDirAria:"上级目录",homeAria:"回到 Home",loading:"加载中...",readFailed:"读取失败",emptyDir:"— 空目录 —",enterDir:"进入 {{name}}/",selectDoubleClick:"选择 {{name}}(双击直接确认)",fileNotSelectable:"文件不可选",cancel:"取消",useFile:"使用此文件",useFileTitle:"请先点选一个文件",useDir:"选此目录"},VL={activePipelines:"活跃 pipeline 数",activeWorkers:"活跃 worker 数"},QL={actions:UL,status:PL,nav:FL,errors:$L,empty:HL,locale:qL,notFound:KL,directoryPicker:GL,statusBar:VL},YL=["common","chat","board","projects","workers","logs","skills","system"],oE=["en","zh"],WL={en:{common:SM,chat:hR,board:_R,projects:MR,workers:QR,logs:dj,skills:vj,system:hM},zh:{common:QL,chat:BM,board:XM,projects:aD,workers:xD,logs:ID,skills:KD,system:BL}};sn.use(lE).use(OT).init({resources:WL,fallbackLng:"en",supportedLngs:oE,ns:YL,defaultNS:"common",interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator"],lookupLocalStorage:"sps.locale",caches:["localStorage"]},returnNull:!1});function XL(){const{i18n:e,t}=Fe("common"),n=e.resolvedLanguage??"en";return p.jsxs("div",{className:"inline-flex items-center gap-1.5 border-2 border-[var(--color-text)] rounded-full bg-[var(--color-bg-cream)] p-1",role:"group","aria-label":t("locale.label"),children:[p.jsx(Qw,{size:12,strokeWidth:2.5,className:"ml-1.5 mr-0.5 text-[var(--color-text-muted)]"}),oE.map(a=>{const s=n===a;return p.jsx("button",{type:"button",onClick:()=>{s||e.changeLanguage(a)},className:["text-xs font-bold px-2 py-0.5 rounded-full transition-colors",s?"bg-[var(--color-accent-mint)] border-2 border-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)] hover:text-[var(--color-text)]"].join(" "),"aria-pressed":s,children:t(`locale.${a}`)},a)})]})}const ZL=[{to:"/chat",key:"chat",icon:I2},{to:"/projects",key:"projects",icon:O2},{to:"/board",key:"board",icon:A2},{to:"/workers",key:"workers",icon:eE},{to:"/logs",key:"logs",icon:Mc},{to:"/skills",key:"skills",icon:Qw},{to:"/system",key:"system",icon:Xw}];function JL(){const{t:e}=Fe("common");return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"font-[family-name:var(--font-heading)] font-bold text-lg px-3 pt-2 pb-4 flex items-center gap-3 text-[var(--color-text)]",children:[p.jsx("span",{className:"w-5 h-5 rounded-md bg-[var(--color-accent-mint)] border-2 border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)]"}),"SPS Console"]}),p.jsx("nav",{className:"flex flex-col gap-1.5 mt-2","aria-label":e("nav.chat"),children:ZL.map(t=>{const n=t.icon;return p.jsxs(Bw,{to:t.to,className:({isActive:a})=>["flex items-center gap-3 px-3 py-2.5 rounded-xl font-semibold text-sm cursor-pointer transition-transform duration-150","border-2 border-transparent",a?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[3px_3px_0_var(--color-text)] font-bold":"text-[var(--color-text)] hover:bg-[var(--color-bg-cream)] hover:border-[var(--color-text)] hover:shadow-[3px_3px_0_var(--color-text)] hover:-translate-x-px hover:-translate-y-px"].join(" "),children:[p.jsx(n,{size:18,strokeWidth:2.5}),e(`nav.${t.key}`)]},t.to)})}),p.jsx("div",{className:"mt-auto pt-4 px-1",children:p.jsx(XL,{})})]})}class eI extends Error{constructor(t,n,a){super(n),this.status=t,this.detail=a,this.name="ApiError"}}async function qt(e){const t=await fetch(e,{headers:{Accept:"application/json"}});if(!t.ok){let n;try{n=await t.json()}catch{n=await t.text()}throw new eI(t.status,`${t.status} ${t.statusText}`,n)}return await t.json()}function cE(){return qt("/api/system/info")}function tI(){return qt("/api/system/env")}function nI(){return qt("/api/system/env/raw")}async function iI(e,t){const n=await fetch("/api/system/env",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,etag:t})});if(!n.ok){const a=await n.text(),s=new Error(`${n.status}: ${a}`);throw s.status=n.status,s}return n.json()}function aI(){return qt("/api/system/latest-version")}async function rI(){const e=await fetch("/api/system/upgrade",{method:"POST"});if(!e.ok&&e.status!==409)throw new Error(`${e.status}: ${await e.text()}`);return e.json()}async function sI(e,t=!1){const n=t?"?fix=1":"",a=await fetch(`/api/system/doctor/${encodeURIComponent(e)}${n}`,{method:"POST"});if(!a.ok)throw new Error(`${a.status}: ${await a.text()}`);return a.json()}function Ar(){return qt("/api/projects")}function lI(e){return qt(`/api/projects/${encodeURIComponent(e)}`)}async function oI(e){const t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const n=await t.text();throw new Error(`${t.status}: ${n}`)}return t.json()}function cI(e){return qt(`/api/projects/${encodeURIComponent(e)}/conf`)}async function uI(e,t,n){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/conf`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,etag:n})});if(!a.ok){const s=await a.text(),l=new Error(`${a.status}: ${s}`);throw l.status=a.status,l}return a.json()}async function dI(e,t={}){const n=await fetch(`/api/projects/${encodeURIComponent(e)}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}return n.json()}function fI(e){return qt(`/api/projects/${encodeURIComponent(e)}/pipelines`)}async function hI(e,t){const n=await fetch(`/api/projects/${encodeURIComponent(e)}/pipeline`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({pipeline:t})});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}return n.json()}function pI(e,t){return qt(`/api/projects/${encodeURIComponent(e)}/pipelines/${encodeURIComponent(t)}`)}async function mI(e,t,n,a){const s=await fetch(`/api/projects/${encodeURIComponent(e)}/pipelines/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n,etag:a})});if(!s.ok){const l=await s.text(),c=new Error(`${s.status}: ${l}`);throw c.status=s.status,c}return s.json()}async function gI(e,t,n="blank"){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/pipelines`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,template:n})});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}return a.json()}async function bI(e,t){const n=await fetch(`/api/projects/${encodeURIComponent(e)}/pipelines/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}}function yI(){var f;const{t:e}=Fe("common"),t=ct({queryKey:["system-info"],queryFn:cE,refetchInterval:3e4}),n=ct({queryKey:["projects"],queryFn:Ar,refetchInterval:1e4}),a=vI(),s=!t.isError,l=((f=n.data)==null?void 0:f.data)??[],c=l.filter(h=>h.pipelineStatus==="running").length,d=l.reduce((h,b)=>h+b.workers.active,0);return p.jsxs("div",{className:"h-10 flex items-center gap-3 px-6 font-[family-name:var(--font-mono)] text-[11px] text-[var(--color-text-muted)]",children:[p.jsx("span",{className:"nb-status",style:{background:s?"var(--color-running-bg)":"var(--color-crashed-bg)",color:s?"var(--color-running)":"var(--color-crashed)",padding:"2px 8px 2px 7px"},children:s?"server":"offline"}),p.jsx(xI,{state:a}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{className:"flex items-center gap-1",title:e("statusBar.activePipelines"),children:[p.jsx(Jd,{size:10,strokeWidth:2.5}),p.jsx("span",{className:"font-bold text-[var(--color-text)]",children:c})," pipeline"]}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{className:"flex items-center gap-1",title:e("statusBar.activeWorkers"),children:[p.jsx(Yw,{size:10,strokeWidth:2.5}),p.jsx("span",{className:"font-bold text-[var(--color-text)]",children:d})," worker"]}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{children:["localhost:",window.location.port]}),t.data&&p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{children:["v",t.data.version]}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{children:["node ",t.data.nodeVersion]})]})]})}function xI({state:e}){return e==="open"?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)",padding:"2px 8px 2px 7px"},children:"SSE"}):e==="connecting"?p.jsx("span",{className:"nb-status",style:{background:"var(--color-stuck-bg)",color:"var(--color-stuck)",padding:"2px 8px 2px 7px"},children:"SSE·connect"}):p.jsxs("span",{className:"nb-status",style:{background:"var(--color-crashed-bg)",color:"var(--color-crashed)",padding:"2px 8px 2px 7px"},children:[p.jsx(gc,{size:9,strokeWidth:2.5}),"SSE·down"]})}function vI(){const[e,t]=O.useState("connecting");return O.useEffect(()=>{let n=null,a=null,s=!1;const l=()=>{s||(n=new EventSource("/stream/heartbeat"),n.addEventListener("server.heartbeat",()=>t("open")),n.addEventListener("open",()=>t("open")),n.addEventListener("error",()=>{(n==null?void 0:n.readyState)===EventSource.CLOSED?(t("closed"),a==null&&(a=setTimeout(()=>{a=null,n==null||n.close(),l()},1e4))):t("connecting")}))};return l(),()=>{s=!0,a!=null&&clearTimeout(a),n==null||n.close()}},[]),e}function wI(){return p.jsxs("div",{className:"grid grid-cols-[240px_1fr] grid-rows-[1fr_40px] h-screen",children:[p.jsx("aside",{className:"row-span-1 row-start-1 border-r-[3px] border-[var(--color-text)] bg-[var(--color-bg)] p-4 flex flex-col",children:p.jsx(JL,{})}),p.jsx("main",{className:"row-start-1 overflow-auto p-6 flex flex-col gap-4",children:p.jsx(IA,{})}),p.jsx("footer",{className:"col-span-2 row-start-2 border-t-[3px] border-[var(--color-text)] bg-[var(--color-bg)]",children:p.jsx(yI,{})})]})}function Im(e,t){try{const n=JSON.stringify({message:(e instanceof Error?e.message:String(e)).slice(0,1e3),stack:(e instanceof Error?e.stack??"":"").slice(0,4e3),url:typeof window<"u"?window.location.href:"",ua:typeof navigator<"u"?navigator.userAgent:"",ts:new Date().toISOString(),context:t==null?void 0:t.slice(0,200)});fetch("/api/system/client-errors",{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0}).catch(()=>{})}catch{}}function EI(){typeof window>"u"||(window.addEventListener("error",e=>{Im(e.error??e.message??"unknown error","window.error")}),window.addEventListener("unhandledrejection",e=>{const t=e.reason;Im(t instanceof Error?t:String(t),"unhandledrejection")}))}class SI extends O.Component{constructor(){super(...arguments);kp(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,a){var s;Im(n,`ErrorBoundary: ${((s=a.componentStack)==null?void 0:s.slice(0,200))??""}`),console.error("[ErrorBoundary]",n,a)}render(){return this.state.error?p.jsx("div",{className:"p-6",children:p.jsxs("div",{className:"nb-card max-w-2xl bg-[var(--color-crashed-bg)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold mb-2",children:"💥 UI crashed"}),p.jsx("p",{className:"text-sm mb-3 text-[var(--color-text-muted)]",children:this.state.error.message}),p.jsxs("details",{className:"text-xs mb-4",children:[p.jsx("summary",{className:"cursor-pointer font-semibold",children:"stack"}),p.jsx("pre",{className:"mt-2 font-[family-name:var(--font-mono)] overflow-auto max-h-60 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-md p-3",children:this.state.error.stack??"(no stack)"})]}),p.jsx("button",{className:"nb-btn nb-btn-mint",type:"button",onClick:()=>{this.setState({error:null}),window.location.reload()},children:"Reload page"})]})}):this.props.children}}function kI(){const{t:e}=Fe("projects"),t=Cr(),{data:n,isLoading:a,isError:s,error:l,refetch:c}=ct({queryKey:["projects"],queryFn:Ar});return p.jsxs("div",{className:"flex flex-col gap-6 max-w-6xl",children:[p.jsxs("header",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:e("title")}),p.jsx("p",{className:"text-[var(--color-text-muted)] text-sm mt-1",children:n?e("list.summary",{count:n.data.length}):e(a?"list.loading":"list.loadFailed")})]}),p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsxs("button",{className:"nb-btn nb-btn-yellow",onClick:()=>c(),type:"button",children:[p.jsx(Jd,{size:16,strokeWidth:2.5}),e("list.refresh")]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",onClick:()=>t("/projects/new"),"aria-label":e("list.newProjectAria"),children:[p.jsx(Pi,{size:16,strokeWidth:3}),e("list.newProject")]})]})]}),a&&p.jsx(CI,{}),s&&p.jsxs("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e("list.loadError")}),p.jsx("p",{className:"text-sm text-[var(--color-text)]",children:l instanceof Error?l.message:String(l)}),p.jsx("button",{className:"nb-btn mt-4",onClick:()=>c(),type:"button",children:e("list.retry")})]}),n&&n.data.length===0&&p.jsx(AI,{}),n&&n.data.length>0&&p.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:n.data.map(d=>p.jsx(NI,{project:d},d.name))})]})}function NI({project:e}){const t=e.pipelineStatus==="running";return p.jsxs(bs,{to:`/projects/${encodeURIComponent(e.name)}`,className:"nb-card nb-card-interactive block no-underline text-[var(--color-text)]",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-xl truncate",children:e.name}),p.jsx(_I,{status:e.pipelineStatus})]}),e.repoDir&&p.jsx("p",{className:"text-xs font-[family-name:var(--font-mono)] text-[var(--color-text-muted)] truncate mb-3",children:e.repoDir}),p.jsxs("div",{className:"grid grid-cols-3 gap-2 text-sm mt-4 pt-3 border-t-[1.5px] border-dashed border-[var(--color-border-light)]",children:[p.jsx(zp,{label:"cards",value:e.cards.total,accent:"purple"}),p.jsx(zp,{label:"inprogress",value:e.cards.inprogress,accent:e.cards.inprogress>0?"yellow":"idle"}),p.jsx(zp,{label:"workers",value:`${e.workers.active}/${e.workers.total}`,accent:t?"mint":"idle"})]})]})}function zp({label:e,value:t,accent:n}){const a={purple:"var(--color-accent-purple)",yellow:"var(--color-accent-yellow)",mint:"var(--color-accent-mint)",idle:"var(--color-bg-cream)"};return p.jsxs("div",{className:"flex flex-col items-center justify-center py-2 rounded-lg border-2 border-[var(--color-text)]",style:{background:a[n]},children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold text-lg",children:t}),p.jsx("span",{className:"text-[10px] uppercase tracking-wider text-[var(--color-text-muted)] font-semibold",children:e})]})}function _I({status:e}){const t={running:{bg:"var(--color-running-bg)",label:"running"},idle:{bg:"var(--color-idle-bg)",label:"idle"},stopping:{bg:"var(--color-stuck-bg)",label:"stopping"},error:{bg:"var(--color-crashed-bg)",label:"error"}},{bg:n,label:a}=t[e],s=e==="running"?"var(--color-running)":e==="error"?"var(--color-crashed)":e==="stopping"?"var(--color-stuck)":"var(--color-idle)";return p.jsx("span",{className:"nb-status",style:{background:n,color:s},children:a})}function CI(){return p.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[0,1,2].map(e=>p.jsxs("div",{className:"nb-card opacity-60 animate-pulse",children:[p.jsx("div",{className:"h-6 w-32 bg-[var(--color-border-light)] rounded-md mb-3"}),p.jsx("div",{className:"h-3 w-full bg-[var(--color-border-light)] rounded-md mb-2"}),p.jsx("div",{className:"h-3 w-2/3 bg-[var(--color-border-light)] rounded-md"})]},e))})}function AI(){const{t:e}=Fe("projects");return p.jsxs("div",{className:"nb-card bg-[var(--color-accent-yellow)] flex items-center gap-6 p-8",children:[p.jsx("div",{className:"w-20 h-20 rounded-2xl bg-[var(--color-accent-mint)] border-[3px] border-[var(--color-text)] shadow-[3px_3px_0_var(--color-text)] flex items-center justify-center",children:p.jsx(eE,{size:32,strokeWidth:2.5})}),p.jsxs("div",{className:"flex-1",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold mb-2",children:e("list.empty")}),p.jsxs("p",{className:"text-sm text-[var(--color-text)] mb-4",children:[e("list.emptyHint",{cmd:""}),p.jsx("code",{className:"bg-[var(--color-bg)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded-md font-[family-name:var(--font-mono)]",children:"sps project init <name>"})]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",children:[p.jsx(Pi,{size:16,strokeWidth:3}),e("list.newProject")]})]})]})}function TI(e){const t=e?`?path=${encodeURIComponent(e)}`:"";return qt(`/api/fs/browse${t}`)}const uE=50*1024*1024;async function OI(e,t){if(t.size>uE)throw new Error(`文件超过 50 MB 上限(当前 ${(t.size/1024/1024).toFixed(2)} MB)`);const n=new FormData;n.append("sessionId",e),n.append("file",t,t.name);const a=await fetch("/api/fs/upload",{method:"POST",body:n});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}return await a.json()}function zm(e,t){return`/api/fs/file?${new URLSearchParams({path:t,sessionId:e}).toString()}`}function wg({initialPath:e,onCancel:t,onSelect:n,title:a,mode:s="directory"}){var w,k,N;const[l,c]=O.useState(e??null),[d,f]=O.useState(null),h=ct({queryKey:["fs-browse",l],queryFn:()=>TI(l??void 0),staleTime:0,gcTime:0}),{t:b}=Fe("common"),m=a??b("directoryPicker.defaultTitle"),x=((w=h.data)==null?void 0:w.path)??l??"",v=((k=h.data)==null?void 0:k.parent)??null,E=((N=h.data)==null?void 0:N.home)??null;return O.useEffect(()=>{const C=A=>{A.key==="Escape"&&(A.preventDefault(),t())};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[t]),p.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[rgba(45,55,72,0.5)] p-4",role:"presentation",children:p.jsxs("div",{className:"nb-card bg-[var(--color-bg)] max-w-lg w-full p-5 flex flex-col",style:{maxHeight:"70vh"},role:"dialog","aria-modal":"true","aria-label":m,children:[p.jsxs("header",{className:"flex items-center justify-between mb-3 shrink-0",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-base",children:m}),p.jsx("button",{type:"button",className:"p-1 hover:bg-[var(--color-bg-cream)] rounded",onClick:t,"aria-label":b("directoryPicker.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),p.jsxs("div",{className:"flex items-center gap-2 mb-3 shrink-0",children:[p.jsx("button",{type:"button",className:"nb-btn flex-shrink-0",style:{padding:"4px 10px",fontSize:12},onClick:()=>v&&c(v),disabled:!v||h.isLoading,"aria-label":b("directoryPicker.parentDirAria"),title:b("directoryPicker.parentDirAria"),children:p.jsx(HT,{size:12,strokeWidth:3})}),p.jsx("button",{type:"button",className:"nb-btn flex-shrink-0",style:{padding:"4px 10px",fontSize:12},onClick:()=>E&&c(E),disabled:!E||h.isLoading,"aria-label":b("directoryPicker.homeAria"),title:b("directoryPicker.homeAria"),children:p.jsx(k2,{size:12,strokeWidth:3})}),p.jsx("div",{className:"flex-1 min-w-0 nb-input font-[family-name:var(--font-mono)] text-xs px-2 py-1.5 truncate",title:x,dir:"rtl",children:x||"..."})]}),p.jsxs("div",{className:"flex-1 overflow-y-auto border-2 border-[var(--color-text)] rounded-lg bg-[var(--color-bg-cream)] min-h-0",children:[h.isLoading&&p.jsxs("div",{className:"flex items-center justify-center py-12 text-[var(--color-text-muted)]",children:[p.jsx(Bt,{size:16,strokeWidth:3,className:"animate-spin mr-2"}),b("directoryPicker.loading")]}),h.isError&&p.jsxs("div",{className:"p-4 text-sm text-[var(--color-crashed)]",children:[p.jsx("p",{className:"font-bold mb-1",children:b("directoryPicker.readFailed")}),p.jsx("p",{className:"text-xs font-[family-name:var(--font-mono)] break-all",children:h.error instanceof Error?h.error.message:String(h.error)})]}),h.data&&p.jsxs("ul",{className:"divide-y-2 divide-[var(--color-text)]/20",children:[h.data.entries.length===0&&p.jsx("li",{className:"p-4 text-xs text-[var(--color-text-subtle)] italic text-center",children:b("directoryPicker.emptyDir")}),h.data.entries.map(C=>{const A=(()=>{const M=x.endsWith("/")||x.endsWith("\\")?"":"/";return`${x}${M}${C.name}`})(),T=s==="file"&&d===A,L=C.isDirectory||s==="file";return p.jsx("li",{children:p.jsxs("button",{type:"button",className:["w-full flex items-center gap-2 px-3 py-2 text-left text-sm font-[family-name:var(--font-mono)]","disabled:opacity-50 disabled:cursor-not-allowed",T?"bg-[var(--color-accent-mint)] font-bold":"hover:bg-[var(--color-accent-mint)]"].join(" "),disabled:!L,onClick:()=>{C.isDirectory?(f(null),c(A)):s==="file"&&f(A)},onDoubleClick:()=>{s==="file"&&!C.isDirectory&&n(A)},title:C.isDirectory?b("directoryPicker.enterDir",{name:C.name}):s==="file"?b("directoryPicker.selectDoubleClick",{name:C.name}):b("directoryPicker.fileNotSelectable"),children:[C.isDirectory?p.jsx(yc,{size:14,strokeWidth:2.5,className:"flex-shrink-0 text-[var(--color-text)]"}):p.jsx("span",{className:"w-3.5 h-3.5 flex-shrink-0"}),p.jsx("span",{className:"truncate",children:C.name}),C.isDirectory&&p.jsx(ef,{size:12,strokeWidth:2.5,className:"ml-auto flex-shrink-0 text-[var(--color-text-muted)]"})]})},C.name)})]})]}),p.jsxs("div",{className:"flex gap-2 justify-end pt-3 shrink-0",children:[p.jsx("button",{type:"button",className:"nb-btn",onClick:t,children:b("directoryPicker.cancel")}),s==="file"?p.jsxs("button",{type:"button",className:"nb-btn nb-btn-primary",onClick:()=>d&&n(d),disabled:!d||h.isLoading||h.isError,title:d??b("directoryPicker.useFileTitle"),children:[p.jsx(bc,{size:14,strokeWidth:3}),b("directoryPicker.useFile")]}):p.jsxs("button",{type:"button",className:"nb-btn nb-btn-primary",onClick:()=>n(x),disabled:!x||h.isLoading||h.isError,children:[p.jsx(bc,{size:14,strokeWidth:3}),b("directoryPicker.useDir")]})]})]})})}function RI({title:e,body:t,confirm:n,onConfirm:a,onCancel:s,danger:l}){const{t:c}=Fe("common");return O.useEffect(()=>{const d=f=>{f.key==="Escape"&&s()};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[s]),p.jsx("div",{role:"dialog","aria-modal":"true","aria-labelledby":"confirm-title",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsx("h2",{id:"confirm-title",className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-5",children:t}),p.jsxs("div",{className:"flex gap-3 justify-end",children:[p.jsx("button",{className:"nb-btn",onClick:s,type:"button",children:c("actions.cancel")}),p.jsx("button",{className:l?"nb-btn nb-btn-danger":"nb-btn nb-btn-yellow",onClick:async()=>{await a()},type:"button",children:n})]})]})})}const dE=O.createContext(null);function jI({children:e}){const[t,n]=O.useState(null),a=O.useCallback(d=>new Promise(f=>{n({kind:"confirm",opts:d,resolve:h=>{n(null),f(h)}})}),[]),s=O.useCallback(d=>new Promise(f=>{n({kind:"alert",opts:d,resolve:()=>{n(null),f()}})}),[]),l=O.useCallback(d=>new Promise(f=>{n({kind:"prompt",opts:d,resolve:h=>{n(null),f(h)}})}),[]),{t:c}=Fe("common");return p.jsxs(dE.Provider,{value:{confirm:a,alert:s,prompt:l},children:[e,(t==null?void 0:t.kind)==="confirm"&&p.jsx(RI,{title:t.opts.title,body:t.opts.body,confirm:t.opts.confirm??c("actions.ok"),danger:t.opts.danger,onConfirm:()=>t.resolve(!0),onCancel:()=>t.resolve(!1)}),(t==null?void 0:t.kind)==="alert"&&p.jsx(MI,{title:t.opts.title,body:t.opts.body,confirm:t.opts.confirm??c("actions.ok"),onClose:()=>t.resolve()}),(t==null?void 0:t.kind)==="prompt"&&p.jsx(DI,{title:t.opts.title,body:t.opts.body,placeholder:t.opts.placeholder,defaultValue:t.opts.defaultValue,confirm:t.opts.confirm??c("actions.ok"),cancel:t.opts.cancel??c("actions.cancel"),onConfirm:d=>t.resolve(d),onCancel:()=>t.resolve(null)})]})}function ui(){const e=O.useContext(dE);if(!e)throw new Error("useDialog must be used inside <DialogProvider>");return e}function MI({title:e,body:t,confirm:n,onClose:a}){return O.useEffect(()=>{const s=l=>{(l.key==="Escape"||l.key==="Enter")&&a()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[a]),p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-5 whitespace-pre-wrap break-words",children:t}),p.jsx("div",{className:"flex gap-3 justify-end",children:p.jsx("button",{className:"nb-btn nb-btn-primary",onClick:a,type:"button",autoFocus:!0,children:n})})]})})}function DI({title:e,body:t,placeholder:n,defaultValue:a,confirm:s,cancel:l,onConfirm:c,onCancel:d}){const[f,h]=O.useState(a??""),b=O.useRef(null);O.useEffect(()=>{var v,E;(v=b.current)==null||v.focus(),(E=b.current)==null||E.select();const x=w=>{w.key==="Escape"&&d()};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[d]);const m=()=>{const x=f.trim();x&&c(x)};return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e}),t&&p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-3 whitespace-pre-wrap break-words",children:t}),p.jsx("input",{ref:b,type:"text",className:"nb-input w-full mb-5",placeholder:n,value:f,onChange:x=>h(x.target.value),onKeyDown:x=>{x.key==="Enter"&&!x.nativeEvent.isComposing&&(x.preventDefault(),m())}}),p.jsxs("div",{className:"flex gap-3 justify-end",children:[p.jsx("button",{className:"nb-btn",onClick:d,type:"button",children:l}),p.jsx("button",{className:"nb-btn nb-btn-primary",onClick:m,type:"button",disabled:!f.trim(),children:s})]})]})})}function LI(){const{t:e}=Fe("projects"),t=Cr(),n=Vn(),{alert:a}=ui(),[s,l]=O.useState({name:"",projectDir:"",enableGit:!0,createIfMissing:!0,mergeBranch:"main",maxWorkers:"1",ackTimeoutMin:"5"}),[c,d]=O.useState(!1),f=Gn({mutationFn:m=>oI(m),onSuccess:m=>{n.invalidateQueries({queryKey:["projects"]}),t(`/projects/${encodeURIComponent(m.name)}`)},onError:m=>{a({title:e("newProject.createFailed"),body:m instanceof Error?m.message:String(m)})}}),h=/^[a-zA-Z0-9_-]+$/.test(s.name),b=h&&s.projectDir.trim()!==""&&!f.isPending;return p.jsxs("div",{className:"flex flex-col gap-5 max-w-2xl",children:[p.jsxs("header",{className:"flex items-center gap-3",children:[p.jsxs("button",{type:"button",onClick:()=>t("/projects"),className:"nb-btn",style:{padding:"6px 12px"},"aria-label":e("newProject.backAria"),children:[p.jsx(Kw,{size:14,strokeWidth:3}),e("newProject.back")]}),p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-3xl font-bold",children:e("newProject.title")})]}),p.jsx("div",{className:"nb-card",children:p.jsxs("form",{onSubmit:m=>{m.preventDefault(),b&&f.mutate(s)},className:"flex flex-col gap-5",children:[p.jsxs(ur,{label:e("newProject.name"),hint:e("newProject.nameHint"),children:[p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:e("newProject.namePlaceholder"),value:s.name,onChange:m=>l({...s,name:m.target.value}),autoFocus:!0,required:!0}),s.name&&!h&&p.jsx("p",{className:"text-xs text-[var(--color-crashed)] mt-1",children:e("newProject.nameInvalid")})]}),p.jsxs(ur,{label:e("newProject.dir"),hint:e("newProject.dirHint"),children:[p.jsxs("div",{className:"flex gap-2",children:[p.jsx("input",{type:"text",className:"nb-input flex-1 font-[family-name:var(--font-mono)]",placeholder:"/home/coral/code/acme",value:s.projectDir,onChange:m=>l({...s,projectDir:m.target.value}),required:!0}),p.jsxs("button",{type:"button",className:"nb-btn flex-shrink-0",onClick:()=>d(!0),"aria-label":e("newProject.dirBrowseAria"),title:e("newProject.dirBrowseAria"),children:[p.jsx(Vw,{size:14,strokeWidth:2.5}),e("newProject.dirBrowse")]})]}),p.jsxs("label",{className:"flex items-center gap-2 mt-2 cursor-pointer select-none",children:[p.jsx("input",{type:"checkbox",checked:s.createIfMissing!==!1,onChange:m=>l({...s,createIfMissing:m.target.checked}),className:"w-4 h-4 cursor-pointer"}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:e("newProject.dirAutoCreate")})]})]}),p.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[p.jsx(ur,{label:e("newProject.maxWorkers"),children:p.jsx("input",{type:"number",min:"1",max:"8",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:s.maxWorkers,onChange:m=>l({...s,maxWorkers:m.target.value})})}),p.jsx(ur,{label:e("newProject.ackTimeout"),hint:e("newProject.ackTimeoutHint"),children:p.jsx("input",{type:"number",min:"1",max:"30",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:s.ackTimeoutMin??"5",onChange:m=>l({...s,ackTimeoutMin:m.target.value})})})]}),p.jsxs("div",{className:"pt-3 border-t-2 border-[var(--color-text)] border-dashed",children:[p.jsxs("label",{className:"flex items-center gap-3 mb-3 cursor-pointer select-none",children:[p.jsx("input",{type:"checkbox",checked:s.enableGit??!0,onChange:m=>l({...s,enableGit:m.target.checked}),className:"w-4 h-4 cursor-pointer"}),p.jsx("span",{className:"text-sm font-bold",children:e("newProject.enableGit")})]}),p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] mb-3",children:e("newProject.enableGitHint")}),s.enableGit!==!1&&p.jsxs("div",{className:"flex flex-col gap-4 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4",children:[p.jsx(ur,{label:e("newProject.mergeBranch"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:s.mergeBranch??"main",onChange:m=>l({...s,mergeBranch:m.target.value})})}),p.jsx(ur,{label:e("newProject.remotePath"),hint:e("newProject.remotePathHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:"user/repo",value:s.gitlabProject??"",onChange:m=>l({...s,gitlabProject:m.target.value})})}),s.gitlabProject&&p.jsx(ur,{label:e("newProject.gitlabId"),hint:e("newProject.gitlabIdHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:"42",value:s.gitlabProjectId??"",onChange:m=>l({...s,gitlabProjectId:m.target.value})})})]})]}),p.jsxs("div",{className:"pt-3 border-t-2 border-[var(--color-text)] border-dashed",children:[p.jsxs("label",{className:"flex items-center gap-3 mb-3 cursor-pointer select-none",children:[p.jsx("input",{type:"checkbox",checked:s.enableWiki===!0,onChange:m=>l({...s,enableWiki:m.target.checked}),className:"w-4 h-4 cursor-pointer"}),p.jsx("span",{className:"text-sm font-bold",children:e("newProject.enableWiki")})]}),p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)]",children:[e("newProject.enableWikiHintPrefix"),p.jsx("code",{className:"font-mono",children:"wiki/"}),e("newProject.enableWikiHintMid"),p.jsx("code",{className:"font-mono",children:"sps wiki init"}),e("newProject.enableWikiHintSuffix")]})]}),p.jsxs("div",{className:"pt-3 border-t-2 border-[var(--color-text)] border-dashed",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-3 text-[var(--color-text-muted)]",children:e("newProject.notifications")}),p.jsx(ur,{label:e("newProject.matrixRoom"),hint:e("newProject.matrixRoomHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:"!abc:matrix.example.com",value:s.matrixRoomId??"",onChange:m=>l({...s,matrixRoomId:m.target.value})})})]}),p.jsxs("div",{className:"flex gap-3 justify-end pt-3",children:[p.jsx("button",{type:"button",className:"nb-btn",onClick:()=>t("/projects"),disabled:f.isPending,children:e("newProject.cancel")}),p.jsx("button",{type:"submit",className:"nb-btn nb-btn-primary",disabled:!b,"aria-label":e("newProject.createAria"),children:f.isPending?p.jsxs(p.Fragment,{children:[p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}),e("newProject.creating")]}):p.jsxs(p.Fragment,{children:[p.jsx(Pi,{size:14,strokeWidth:3}),e("newProject.create")]})})]})]})}),c&&p.jsx(wg,{title:e("newProject.pickerTitle"),initialPath:s.projectDir.trim()||void 0,onCancel:()=>d(!1),onSelect:m=>{l({...s,projectDir:m}),d(!1)}})]})}function ur({label:e,hint:t,children:n}){return p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:e}),n,t&&p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:t})]})}const Eg=Symbol.for("yaml.alias"),Bm=Symbol.for("yaml.document"),Nr=Symbol.for("yaml.map"),fE=Symbol.for("yaml.pair"),ia=Symbol.for("yaml.scalar"),Gl=Symbol.for("yaml.seq"),Ai=Symbol.for("yaml.node.type"),Tr=e=>!!e&&typeof e=="object"&&e[Ai]===Eg,ys=e=>!!e&&typeof e=="object"&&e[Ai]===Bm,Vl=e=>!!e&&typeof e=="object"&&e[Ai]===Nr,Dt=e=>!!e&&typeof e=="object"&&e[Ai]===fE,Nt=e=>!!e&&typeof e=="object"&&e[Ai]===ia,Ql=e=>!!e&&typeof e=="object"&&e[Ai]===Gl;function zt(e){if(e&&typeof e=="object")switch(e[Ai]){case Nr:case Gl:return!0}return!1}function Ut(e){if(e&&typeof e=="object")switch(e[Ai]){case Eg:case Nr:case ia:case Gl:return!0}return!1}const hE=e=>(Nt(e)||zt(e))&&!!e.anchor,Kn=Symbol("break visit"),pE=Symbol("skip children"),na=Symbol("remove node");function xs(e,t){const n=mE(t);ys(e)?yl(null,e.contents,n,Object.freeze([e]))===na&&(e.contents=null):yl(null,e,n,Object.freeze([]))}xs.BREAK=Kn;xs.SKIP=pE;xs.REMOVE=na;function yl(e,t,n,a){const s=gE(e,t,n,a);if(Ut(s)||Dt(s))return bE(e,a,s),yl(e,s,n,a);if(typeof s!="symbol"){if(zt(t)){a=Object.freeze(a.concat(t));for(let l=0;l<t.items.length;++l){const c=yl(l,t.items[l],n,a);if(typeof c=="number")l=c-1;else{if(c===Kn)return Kn;c===na&&(t.items.splice(l,1),l-=1)}}}else if(Dt(t)){a=Object.freeze(a.concat(t));const l=yl("key",t.key,n,a);if(l===Kn)return Kn;l===na&&(t.key=null);const c=yl("value",t.value,n,a);if(c===Kn)return Kn;c===na&&(t.value=null)}}return s}async function af(e,t){const n=mE(t);ys(e)?await xl(null,e.contents,n,Object.freeze([e]))===na&&(e.contents=null):await xl(null,e,n,Object.freeze([]))}af.BREAK=Kn;af.SKIP=pE;af.REMOVE=na;async function xl(e,t,n,a){const s=await gE(e,t,n,a);if(Ut(s)||Dt(s))return bE(e,a,s),xl(e,s,n,a);if(typeof s!="symbol"){if(zt(t)){a=Object.freeze(a.concat(t));for(let l=0;l<t.items.length;++l){const c=await xl(l,t.items[l],n,a);if(typeof c=="number")l=c-1;else{if(c===Kn)return Kn;c===na&&(t.items.splice(l,1),l-=1)}}}else if(Dt(t)){a=Object.freeze(a.concat(t));const l=await xl("key",t.key,n,a);if(l===Kn)return Kn;l===na&&(t.key=null);const c=await xl("value",t.value,n,a);if(c===Kn)return Kn;c===na&&(t.value=null)}}return s}function mE(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function gE(e,t,n,a){var s,l,c,d,f;if(typeof n=="function")return n(e,t,a);if(Vl(t))return(s=n.Map)==null?void 0:s.call(n,e,t,a);if(Ql(t))return(l=n.Seq)==null?void 0:l.call(n,e,t,a);if(Dt(t))return(c=n.Pair)==null?void 0:c.call(n,e,t,a);if(Nt(t))return(d=n.Scalar)==null?void 0:d.call(n,e,t,a);if(Tr(t))return(f=n.Alias)==null?void 0:f.call(n,e,t,a)}function bE(e,t,n){const a=t[t.length-1];if(zt(a))a.items[e]=n;else if(Dt(a))e==="key"?a.key=n:a.value=n;else if(ys(a))a.contents=n;else{const s=Tr(a)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}const II={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},zI=e=>e.replace(/[!,[\]{}]/g,t=>II[t]);class On{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},On.defaultYaml,t),this.tags=Object.assign({},On.defaultTags,n)}clone(){const t=new On(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new On(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:On.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},On.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:On.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},On.defaultTags),this.atNextDocument=!1);const a=t.trim().split(/[ \t]+/),s=a.shift();switch(s){case"%TAG":{if(a.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),a.length<2))return!1;const[l,c]=a;return this.tags[l]=c,!0}case"%YAML":{if(this.yaml.explicit=!0,a.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[l]=a;if(l==="1.1"||l==="1.2")return this.yaml.version=l,!0;{const c=/^\d+\.\d+$/.test(l);return n(6,`Unsupported YAML version ${l}`,c),!1}}default:return n(0,`Unknown directive ${s}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const c=t.slice(2,-1);return c==="!"||c==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),c)}const[,a,s]=t.match(/^(.*!)([^!]*)$/s);s||n(`The ${t} tag has no suffix`);const l=this.tags[a];if(l)try{return l+decodeURIComponent(s)}catch(c){return n(String(c)),null}return a==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,a]of Object.entries(this.tags))if(t.startsWith(a))return n+zI(t.substring(a.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],a=Object.entries(this.tags);let s;if(t&&a.length>0&&Ut(t.contents)){const l={};xs(t.contents,(c,d)=>{Ut(d)&&d.tag&&(l[d.tag]=!0)}),s=Object.keys(l)}else s=[];for(const[l,c]of a)l==="!!"&&c==="tag:yaml.org,2002:"||(!t||s.some(d=>d.startsWith(c)))&&n.push(`%TAG ${l} ${c}`);return n.join(`
|
|
382
|
-
`)}}On.defaultYaml={explicit:!1,version:"1.2"};On.defaultTags={"!!":"tag:yaml.org,2002:"};function yE(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function xE(e){const t=new Set;return xs(e,{Value(n,a){a.anchor&&t.add(a.anchor)}}),t}function vE(e,t){for(let n=1;;++n){const a=`${e}${n}`;if(!t.has(a))return a}}function
|
|
378
|
+
点击预览`},DM={you:"你",error:"错误",assistant:"assistant",outputTruncated:"⚠ 输出超过 10MB,已截断"},LM={heading:"对话 💬",hint1:'点左上角"新建对话"开始一个 session。或直接在下方输入,会自动建 session。',hint2:"Enter 发送 · Shift+Enter 换行 · 内容流式返回"},IM={stillStreaming:"上一条消息还在生成中,先等完成或点中断",tooManyConcurrent:"最多同时 {{max}} 个 chat 会话在生成。先等其它完成或中断。",send:"发送失败",fileTooLarge:"文件超过上限",fileTooLargeBody:"单文件上限 50 MB;当前 {{size}} MB({{name}})",uploadFailed:"附件上传失败",cancelFailed:"中断失败"},zM={attachment:"(附件)",seeAttachments:"(请查看附件)",attachmentTitle:"附件"},BM={justNow:"刚才"},UM={title:NM,newSession:_M,history:CM,input:AM,assistant:TM,session:OM,cwd:RM,newDialog:jM,preview:MM,bubble:DM,empty:LM,errors:IM,fallback:zM,time:BM},PM="看板",FM="看板 ✨",$M="选择一个项目 🎯",HM="看板按项目分。挑一个开始:",qM="加载中…",KM="{{name}} · {{cards}} cards · {{workers}} workers 活跃",GM={Planning:"Planning",Backlog:"Backlog",Todo:"Todo",Inprogress:"进行中",QA:"QA Review",Done:"已完成"},VM={start:"启动",stop:"停止",reset:"重置",newCard:"新卡片",search:"搜索",clear:"清空",clearSelection:"清空选择",ariaSearch:"搜索卡片",ariaClearFilter:"清空筛选",ariaFilterBy:"按 {{label}} 筛选",ariaStartPipeline:"启动 pipeline",ariaStopPipeline:"停止 pipeline",searchPlaceholder:"搜索标题 / skill / label…"},QM={title:"标题",description:"描述",checklist:"检查清单",checklistMore:"… 还有 {{count}} 条",log:"日志",skills:"Skills",labels:"标签",created:"创建时间",claimed:"认领者",seq:"Seq",empty:"(空)",justNow:"刚才"},YM={title:"新建卡片",closeAria:"关闭",titleField:"标题 *",titlePlaceholder:"例如:接入 GitHub OAuth 登录",titleHint:"写简短明了的目标(<200 字符)",descField:"描述",descPlaceholder:"用户故事、需求、验收标准、参考资料… Claude 启动时会读这里的内容",descHint:"支持 markdown。空的话就只有 title,Claude 只能靠 title 推断要做啥。",skillsHint:"勾选哪些 skill 会被加载(走 frontmatter `skills:`)。不选也行,Worker 默认加载项目级 skills。",loadingSkills:"加载 skill 列表…",loadFailed:"skill 列表加载失败,不影响创建:{{error}}",selected:"已选 {{count}} 个:{{names}}",dispatchField:"派发",dispatchToggle:"立即派发执行(直接进 Backlog)",dispatchOff:"默认不勾:卡进 Planning 暂存,等你看板上拖到 Backlog 再开工。",dispatchOn:"勾上:跳过暂存,下次 tick 直接派 worker 跑。",cancel:"取消",create:"创建",createAria:"创建卡片"},WM={edit:"编辑",editAria:"编辑卡片",editing:"⚠ 编辑中",loadFailed:"加载失败: {{error}}",loadingSkills:"加载 skill 列表…",ariaTitle:"卡片标题",ariaCardDesc:"卡片描述",removeLabelAria:"删除 {{label}}",addLabelPlaceholder:"+ 添加 label",addLabelAria:"添加 label",labelsNote:"注意:AI-PIPELINE / STARTED-* / COMPLETED-* / NEEDS-FIX 由流水线自动管理,手动改可能被覆盖",checklistCount:"检查清单 {{done}}/{{total}}",checklistEmpty:"暂无清单项。在描述里用 `- [ ] 项` 语法添加。",descNote:'只替换 "## 描述" 段的内容;检查清单和日志段不动。',doneCannotStart:"卡片已完成;先拖回 Todo 再启动",pipelineRunningCannotStart:"Pipeline 正在跑——supervisor 会自动 dispatch,无需手动启动",launchWorker:"启动 worker",launchFailed:"启动 worker 失败",resetTitle:"重置卡片 #{{seq}}",resetBody:"卡片状态会回到初始,已做的 checklist 会清空。",resetConfirm:"重置",resetFailed:"重置失败",resetButton:"重置卡片",deleteTitle:"删除卡片 #{{seq}}",deleteBody:'即将删除 "{{title}}"。此操作不可恢复(md 文件将被物理删除)。是否继续?',deleteContinue:"继续",deleteFinalTitle:"最终确认",deleteFinalBody:"请再次确认删除卡片 #{{seq}}。",deleteFinalConfirm:"确定删除",deleteFailed:"删除失败",deleteButton:"删除卡片",deleteAria:"删除卡片",cancel:"取消",save:"保存",saveAria:"保存卡片修改",saveFailed:"保存失败",closeAria:"关闭",loading:"加载中…"},XM={loadFailed:"加载卡片失败",createFailed:"新建卡片失败",updateFailed:"卡片更新失败",deleteFailed:"卡片删除失败",moveFailed:"移动卡片失败",startFailed:"启动 pipeline 失败",stopFailed:"停止 pipeline 失败",resetTitle:"重置整个流水线",resetBody:"这会清空所有卡片的运行状态、worker marker、分支。不可撤销。",resetConfirm:"重置全部",resetFailed:"重置失败",isRunning:"卡片正在运行,请先 kill worker 或移出 Inprogress"},ZM={title:PM,titleEmoji:FM,selectProject:$M,selectHint:HM,loadingProject:qM,summary:KM,columns:GM,actions:VM,card:QM,newCardDialog:YM,cardModal:WM,errors:XM},JM="项目 🎯",eD={summary:"{{count}} 个本机项目",loading:"加载中…",loadFailed:"点击刷新重试",loadError:"加载失败",retry:"重试",refresh:"刷新",newProjectAria:"新建项目",newProject:"新建项目",empty:"还没有项目 ✨",emptyHint:"运行 {{cmd}} 创建第一个项目。"},tD={title:"新建项目",backAria:"返回项目列表",back:"返回",name:"项目名",nameHint:"只能用字母、数字、下划线、连字符。例如 acme-web",namePlaceholder:"例如: acme-web",nameInvalid:"名称只能包含 a-z A-Z 0-9 _ -",dir:"项目目录",dirHint:"本机绝对路径(代码或文档都可)。和是否启用 git 无关。",dirBrowseAria:"浏览选择项目目录",dirBrowse:"浏览",dirAutoCreate:"目录不存在时自动创建(推荐 — 否则 .claude/ 和 wiki/ 安装会被跳过)",maxWorkers:"最大 Worker 数",ackTimeout:"ACK 超时(分钟)",ackTimeoutHint:"Worker 启动后多久没 ACK 视为失败",enableGit:"启用 Git(Worker 自动 commit + push)",enableGitHint:"关闭后 Worker 只做任务、不做版本控制;适合文档/数据处理等非代码项目。",mergeBranch:"合并分支",remotePath:"Git 远程项目路径",remotePathHint:"如 user/repo,空则跳过远程 API(只本地 commit/push)",gitlabId:"GitLab 项目 ID",gitlabIdHint:"数字;GitHub 用户留空",enableWiki:"启用 Wiki 知识库(per-project)",enableWikiHintPrefix:"开启后自动 scaffold ",enableWikiHintMid:" 目录,并向 Worker prompt 注入 5 层检索上下文与 wiki-update 提示。可后续 ",enableWikiHintSuffix:" 补办。",notifications:"通知",matrixRoom:"Matrix 房间 ID",matrixRoomHint:"空则使用全局配置;不填 = 不通知",cancel:"取消",createAria:"创建项目",creating:"创建中…",create:"创建",pickerTitle:"选择项目目录",createFailed:"创建失败"},nD={backAria:"返回项目列表",back:"返回",board:"看板",tabs:{overview:"概览",config:"配置",danger:"危险操作"},loading:"加载中…",notFound:"项目 {{name}} 不存在或无法读取。",repo:"仓库路径",pmBackend:"PM 后端",cards:"卡片",cardsSummary:"{{total}} 张 · {{ip}} 进行中 · {{done}} 完成",workers:"Workers",workersSummary:"{{total}} 个({{active}} 活跃)",lastActivity:"最近活动",config:{saveFailed:"保存失败",etagConflict:"配置已被其他地方修改",etagConflictBody:'conf 文件在你编辑期间被改过。点"重新加载"后再编辑。',loading:"加载中…",loadFailed:"加载失败: {{error}}",reloadAria:"重新加载",reload:"重新加载",saveAria:"保存配置",save:"保存",editorAria:"conf 文件编辑器",unsaved:"● 未保存的修改"},pipeline:{newAria:"新建 pipeline",new:"新建 pipeline",empty:'还没有 pipeline 文件。点"新建 pipeline"开始。',editAria:"编辑 {{name}}",edit:"编辑",switchTitle:"切换到 {{name}}",switchBody:"当前 project.yaml 会被 {{name}} 的内容覆盖。继续?",switchConfirm:"切换",switchAria:"切换到 {{name}}",switch:"切换",deleteTitle:"删除 {{name}}",deleteBody:"这个 pipeline 文件会被永久删除。",deleteConfirm:"删除",deleteAria:"删除 {{name}}",switchFailed:"切换失败",deleteFailed:"删除失败",createFailed:"创建失败"},danger:{deletedTitle:"已删除",deletedBodyClean:`项目已删除。同时清理了:
|
|
379
|
+
{{paths}}`,deletedBody:"项目已删除。",deleteFailed:"删除失败",delete:"删除项目",deleteHint:"这会清理 {{path}}(包括所有卡片、runtime、logs)。",alsoCleanRepo:"同时清理 repo 的 .claude/",repoUntouched:"repo 本身不动,只清这个目录。",confirmType:"输入项目名 {{name}} 确认:",deleteAria:"永久删除项目",deleteBtn:"永久删除"}},iD={closeAria:"关闭",loading:"加载中…",loadFailed:"加载失败: {{error}}",structured:"结构化",rawYaml:"原始 YAML",activeWarn:"⚠ 这是当前激活的 pipeline,保存后下一轮 tick 生效",yamlAria:"pipeline YAML 编辑器",unsaved:"● 未保存",saved:"已保存",noChanges:"无变化",reload:"重新加载",saveAria:"保存 pipeline",save:"保存",saveFailed:"保存失败",yamlInvalid:"YAML 语法错",etagConflict:"文件已被其他地方修改",yamlSerializeFailed:"YAML 序列化失败",modeProject:"project = 事件驱动流水线(默认) · steps = 顺序脚本",addStageAria:"添加 stage",addStage:"添加 stage",noStages:'还没 stage。点"添加 stage"开始。',moveUpAria:"上移",moveDownAria:"下移",deleteStageAria:"删除 stage",stageNameHint:"stage 唯一名",stageProfileHint:"skill 画像,可空",stageCardStateHint:"本 stage 期间卡片状态",stageTimeoutHint:"可选,如 30m 2h",stageTriggerHint:"触发条件,可空走默认",stageOnCompleteHint:"成功后动作",stageOnFailureActionHint:"失败时动作,如 label NEEDS-FIX",stageCommentHint:"写进卡片的注释",stopOnFailureNote:"(失败后停流水线;去掉则继续下一张卡)",filenameInvalid:"pipeline 文件名非法或不能是 project.yaml"},aD={title:"新建 pipeline",closeAria:"关闭",filename:"文件名",filenamePlaceholder:"例如 ci",savedAs:"实际会保存为 {{name}}",filenameHint:"只允许 a-z A-Z 0-9 _ -;已有同名文件会 409 报错。",initial:"初始内容",blankLabel:"空白模板",blankDesc:"最简 1 stage (develop → Done)",tutorialLabel:"教学模板",tutorialDesc:"从 sample.yaml.example 复制(带注释,讲解所有字段)",tutorialDisabled:"sample.yaml.example 不存在",copyLabel:"复制当前活动的",copyDesc:"从 project.yaml 复制(基于目前的配置改)",copyDisabled:"project.yaml 不存在",cancel:"取消",createAria:"创建 pipeline",create:"创建"},rD={title:JM,list:eD,newProject:tD,detail:nD,pipelineEditor:iD,newPipelineDialog:aD},sD="Workers",lD="跨 {{projects}} 项目 · {{running}} 跑 · {{starting}} 启动 · ",oD="{{count}} 卡",cD="{{count}} 崩",uD=" · {{count}} 闲",dD="刷新",fD="刷新",hD="加载中…",pD="加载失败: {{error}}",mD="点击项目 / worker 查看详情",gD={title:"容量",project:"项目",inUse:"占用",other:"其它",details:"详情 →",boardLink:"看板 →",loadingWorkers:"加载 workers…",noSlots:"该项目没有 worker slot。",noWorkers:"无 worker",selectWorker:"请选择一个 worker",idle:"空闲",currentCard:"当前卡片",slotIdle:"slot 空闲,没有当前卡片。",outputRecent:"Claude 输出 · 最近 {{count}} 行",outputEmpty:"还没收到 session 输出。Worker 刚启动时需要几秒。",heartbeatRecent:"Supervisor 心跳 · 最近 {{count}} 行",viewFullLog:"查看完整 log →"},bD={restartTitle:"重启 worker-{{slot}}",restartBody:"先杀进程,再重新 launch 到 #{{seq}}",restartConfirm:"重启",restartFailed:"重启失败",restart:"重启",killTitle:"终止 worker-{{slot}}",killBody:"当前任务强制中断。",killConfirm:"终止",killFailed:"终止失败",kill:"终止"},yD={heading:"运行中",noneRunning:"没有 worker 在运行。",stage:"stage: {{name}}",marker:"marker {{relative}}"},xD={allHealthy:"全部 worker 健康",pidDead:"PID 已死。",markerStalled:"marker 停 {{relative}}。"},vD={secondsAgo:"{{value}}s 前",minutesAgo:"{{value}}m 前",hoursAgo:"{{value}}h 前"},wD={title:sD,summary:lD,stuck:oD,crashed:cD,idle:uD,refreshAria:dD,refresh:fD,loading:hD,loadFailed:pD,selectHint:mD,capacity:gD,actions:bD,active:yD,alerts:xD,format:vD},ED="日志",SD="{{scope}}{{worker}} · {{mode}} · {{count}} lines",kD="全部项目({{count}})",ND="5s 轮询",_D="tail -f",CD="实时",AD="历史",TD="查询起始时间",OD="查询",RD="查询",jD="筛选项目",MD="全部项目",DD="过滤关键字…",LD="过滤日志",ID="没有匹配的日志",zD={loadFailed:"日志加载失败"},BD={title:ED,header:SD,scopeAll:kD,modeLive:ND,modeTail:_D,live:CD,history:AD,queryStartAria:TD,queryAria:OD,query:RD,filterProjectAria:jD,allProjectsOption:MD,filterPlaceholder:DD,filterAria:LD,noMatches:ID,errors:zD},UD="Skills 🔧",PD="{{count}} 个 user-level skill",FD="加载中…",$D="同步内置",HD="搜索 skill",qD="搜索 skill…",KD={all:"全部",language:"语言",spec:"规范",workflow:"工作流",persona:"角色"},GD={closeAria:"关闭",loading:"加载中…",loadFailed:"加载失败: {{error}}",linkStatus:"项目链接状态",noProjects:"还没有任何项目。先去创建一个项目。",preview:"SKILL.md 预览",fileToggleAria:"{{action}} {{file}}",expand:"展开",collapse:"收起",labelFailed:"{{label}}失败",removeTitle:"从 {{project}} 移除 {{name}}",removeBody:"skill 链接会被解除,项目后续运行时将无法使用该 skill。",removeConfirm:"移除",unfreezeTitle:"解冻 {{name}} @ {{project}}",unfreezeBody:"本地对这个 skill 的改动会被覆盖,回到最新共享版本。",unfreezeConfirm:"解冻"},VD={title:UD,summary:PD,loading:FD,syncBundled:$D,search:HD,searchPlaceholder:qD,filter:KD,modal:GD},QD="系统 ⚙️",YD="加载中…",WD="运行时",XD="全局配置 ",ZD="编辑",JD="编辑 env 文件",eL="⚠ 编辑模式",tL='env 文件不存在。点"编辑"或者终端运行 ',nL="⚠ 文件包含凭证明文。保存时保持 0600 权限。",iL="env 文件编辑器",aL=" · ● 未保存",rL="取消",sL="保存",lL="保存 env",oL="env 被其他地方修改了",cL="保存失败",uL="请点取消后重开编辑。",dL="版本",fL="检查更新",hL="检查最新版本",pL="sps-cli (当前)",mL="npm (最新)",gL="最新",bL="升级",yL="升级到最新版本",xL="复制命令",vL="复制升级命令",wL="自动升级失败时手动跑",EL="已安装",SL="已生效(重启 console 后可见)",kL="未升级成功",NL="检查",_L="升级 sps-cli",CL="当前 {{current}},升级到 {{latest}}。要求所有 pipeline 已停止。升级后请重启 sps console 生效。",AL="升级",TL="升级完成",OL='装上了 v{{version}}。请 `pkill -f "sps console"` 再重启以生效。',RL="升级未生效",jL="npm 执行完毕但版本没变(仍 {{version}})——多半是权限或 registry 问题。可复制下面的命令在终端手动跑。",ML="npm 没装上新版本。可复制命令手动跑,或看下面日志定位。",DL="升级失败",LL="命令已复制",IL=`粘贴到终端运行即可:
|
|
380
|
+
{{cmd}}`,zL="复制失败",BL=`请手动复制:
|
|
381
|
+
{{cmd}}`,UL={title:"项目健康检查",checkAll:"检查全部",noProjects:"还没有项目。",expand:"展开",collapse:"折叠",clickCheck:'点 "检查" 运行 sps doctor',checkAria:"检查",check:"检查",fixAria:"自动修复",fixNothing:"已无可修问题",fixHint:"调 sps doctor <proj> --fix:自动创建 .claude/hooks/stop.sh、state.json 等",fix:"修复",fixed:"已修复",doctorActionFailed:"doctor {{action}}失败",actionFix:"修复",actionCheck:"检查"},PL={title:QD,loading:YD,runtime:WD,envSection:XD,envEdit:ZD,envEditAria:JD,envEditing:eL,envMissing:tL,envWarn:nL,envEditorAria:iL,envUnsaved:aL,envCancel:rL,envSave:sL,envSaveAria:lL,envEtagConflict:oL,envSaveFailed:cL,envEtagBody:uL,version:dL,checkUpdate:fL,checkUpdateAria:hL,spsCliCurrent:pL,npmLatest:mL,latestBadge:gL,upgrade:bL,upgradeAria:yL,copyCmd:xL,copyCmdAria:vL,copyCmdTitle:wL,installed:EL,installedActive:SL,installedFailed:kL,checkLabel:NL,upgradeTitle:_L,upgradeBody:CL,upgradeConfirm:AL,upgradeDoneTitle:TL,upgradeDoneBody:OL,upgradeIneffectiveTitle:RL,upgradeIneffectiveSameVersion:jL,upgradeIneffectiveNoInstall:ML,upgradeFailed:DL,cmdCopiedTitle:LL,cmdCopiedBody:IL,copyFailedTitle:zL,copyFailedBody:BL,doctor:UL},FL={cancel:"取消",confirm:"确认",save:"保存",delete:"删除",edit:"编辑",close:"关闭",create:"创建",refresh:"刷新",retry:"重试",loading:"加载中…",search:"搜索",more:"更多",back:"返回",next:"下一步",previous:"上一步",yes:"是",no:"否",ok:"确定"},$L={online:"在线",offline:"离线",connecting:"连接中",ready:"就绪",running:"运行中",stopped:"已停止",error:"错误",idle:"空闲"},HL={chat:"对话",projects:"项目",board:"看板",workers:"Workers",logs:"日志",skills:"Skills",system:"系统"},qL={generic:"出错了",networkOffline:"网络未连接",notFound:"未找到",unauthorized:"未授权",badRequest:"请求无效"},KL={noData:"暂无数据",noResults:"没有结果"},GL={label:"语言",en:"English",zh:"中文"},VL={title:"404 · 页面不存在",body:"没找到这个页面。可能是链接过期了。",back:"返回首页"},QL={defaultTitle:"选择目录",closeAria:"关闭",currentPath:"当前路径",parentDirAria:"上级目录",homeAria:"回到 Home",loading:"加载中...",readFailed:"读取失败",emptyDir:"— 空目录 —",enterDir:"进入 {{name}}/",selectDoubleClick:"选择 {{name}}(双击直接确认)",fileNotSelectable:"文件不可选",cancel:"取消",useFile:"使用此文件",useFileTitle:"请先点选一个文件",useDir:"选此目录"},YL={activePipelines:"活跃 pipeline 数",activeWorkers:"活跃 worker 数"},WL={actions:FL,status:$L,nav:HL,errors:qL,empty:KL,locale:GL,notFound:VL,directoryPicker:QL,statusBar:YL},XL=["common","chat","board","projects","workers","logs","skills","system"],oE=["en","zh"],ZL={en:{common:kM,chat:hR,board:_R,projects:MR,workers:YR,logs:fj,skills:wj,system:pM},zh:{common:WL,chat:UM,board:ZM,projects:rD,workers:wD,logs:BD,skills:VD,system:PL}};sn.use(lE).use(OT).init({resources:ZL,fallbackLng:"en",supportedLngs:oE,ns:XL,defaultNS:"common",interpolation:{escapeValue:!1},detection:{order:["localStorage","navigator"],lookupLocalStorage:"sps.locale",caches:["localStorage"]},returnNull:!1});function JL(){const{i18n:e,t}=Ue("common"),n=e.resolvedLanguage??"en";return p.jsxs("div",{className:"inline-flex items-center gap-1.5 border-2 border-[var(--color-text)] rounded-full bg-[var(--color-bg-cream)] p-1",role:"group","aria-label":t("locale.label"),children:[p.jsx(Qw,{size:12,strokeWidth:2.5,className:"ml-1.5 mr-0.5 text-[var(--color-text-muted)]"}),oE.map(a=>{const s=n===a;return p.jsx("button",{type:"button",onClick:()=>{s||e.changeLanguage(a)},className:["text-xs font-bold px-2 py-0.5 rounded-full transition-colors",s?"bg-[var(--color-accent-mint)] border-2 border-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)] hover:text-[var(--color-text)]"].join(" "),"aria-pressed":s,children:t(`locale.${a}`)},a)})]})}const eI=[{to:"/chat",key:"chat",icon:I2},{to:"/projects",key:"projects",icon:O2},{to:"/board",key:"board",icon:A2},{to:"/workers",key:"workers",icon:eE},{to:"/logs",key:"logs",icon:Mc},{to:"/skills",key:"skills",icon:Qw},{to:"/system",key:"system",icon:Xw}];function tI(){const{t:e}=Ue("common");return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"font-[family-name:var(--font-heading)] font-bold text-lg px-3 pt-2 pb-4 flex items-center gap-3 text-[var(--color-text)]",children:[p.jsx("span",{className:"w-5 h-5 rounded-md bg-[var(--color-accent-mint)] border-2 border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)]"}),"SPS Console"]}),p.jsx("nav",{className:"flex flex-col gap-1.5 mt-2","aria-label":e("nav.chat"),children:eI.map(t=>{const n=t.icon;return p.jsxs(Bw,{to:t.to,className:({isActive:a})=>["flex items-center gap-3 px-3 py-2.5 rounded-xl font-semibold text-sm cursor-pointer transition-transform duration-150","border-2 border-transparent",a?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[3px_3px_0_var(--color-text)] font-bold":"text-[var(--color-text)] hover:bg-[var(--color-bg-cream)] hover:border-[var(--color-text)] hover:shadow-[3px_3px_0_var(--color-text)] hover:-translate-x-px hover:-translate-y-px"].join(" "),children:[p.jsx(n,{size:18,strokeWidth:2.5}),e(`nav.${t.key}`)]},t.to)})}),p.jsx("div",{className:"mt-auto pt-4 px-1",children:p.jsx(JL,{})})]})}class nI extends Error{constructor(t,n,a){super(n),this.status=t,this.detail=a,this.name="ApiError"}}async function qt(e){const t=await fetch(e,{headers:{Accept:"application/json"}});if(!t.ok){let n;try{n=await t.json()}catch{n=await t.text()}throw new nI(t.status,`${t.status} ${t.statusText}`,n)}return await t.json()}function cE(){return qt("/api/system/info")}function iI(){return qt("/api/system/env")}function aI(){return qt("/api/system/env/raw")}async function rI(e,t){const n=await fetch("/api/system/env",{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:e,etag:t})});if(!n.ok){const a=await n.text(),s=new Error(`${n.status}: ${a}`);throw s.status=n.status,s}return n.json()}function sI(){return qt("/api/system/latest-version")}async function lI(){const e=await fetch("/api/system/upgrade",{method:"POST"});if(!e.ok&&e.status!==409)throw new Error(`${e.status}: ${await e.text()}`);return e.json()}async function oI(e,t=!1){const n=t?"?fix=1":"",a=await fetch(`/api/system/doctor/${encodeURIComponent(e)}${n}`,{method:"POST"});if(!a.ok)throw new Error(`${a.status}: ${await a.text()}`);return a.json()}function Ar(){return qt("/api/projects")}function cI(e){return qt(`/api/projects/${encodeURIComponent(e)}`)}async function uI(e){const t=await fetch("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok){const n=await t.text();throw new Error(`${t.status}: ${n}`)}return t.json()}function dI(e){return qt(`/api/projects/${encodeURIComponent(e)}/conf`)}async function fI(e,t,n){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/conf`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,etag:n})});if(!a.ok){const s=await a.text(),l=new Error(`${a.status}: ${s}`);throw l.status=a.status,l}return a.json()}async function hI(e,t={}){const n=await fetch(`/api/projects/${encodeURIComponent(e)}`,{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}return n.json()}function pI(e){return qt(`/api/projects/${encodeURIComponent(e)}/pipelines`)}async function mI(e,t){const n=await fetch(`/api/projects/${encodeURIComponent(e)}/pipeline`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({pipeline:t})});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}return n.json()}function gI(e,t){return qt(`/api/projects/${encodeURIComponent(e)}/pipelines/${encodeURIComponent(t)}`)}async function bI(e,t,n,a){const s=await fetch(`/api/projects/${encodeURIComponent(e)}/pipelines/${encodeURIComponent(t)}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:n,etag:a})});if(!s.ok){const l=await s.text(),c=new Error(`${s.status}: ${l}`);throw c.status=s.status,c}return s.json()}async function yI(e,t,n="blank"){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/pipelines`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:t,template:n})});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}return a.json()}async function xI(e,t){const n=await fetch(`/api/projects/${encodeURIComponent(e)}/pipelines/${encodeURIComponent(t)}`,{method:"DELETE"});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}}function vI(){var f;const{t:e}=Ue("common"),t=ct({queryKey:["system-info"],queryFn:cE,refetchInterval:3e4}),n=ct({queryKey:["projects"],queryFn:Ar,refetchInterval:1e4}),a=EI(),s=!t.isError,l=((f=n.data)==null?void 0:f.data)??[],c=l.filter(h=>h.pipelineStatus==="running").length,d=l.reduce((h,b)=>h+b.workers.active,0);return p.jsxs("div",{className:"h-10 flex items-center gap-3 px-6 font-[family-name:var(--font-mono)] text-[11px] text-[var(--color-text-muted)]",children:[p.jsx("span",{className:"nb-status",style:{background:s?"var(--color-running-bg)":"var(--color-crashed-bg)",color:s?"var(--color-running)":"var(--color-crashed)",padding:"2px 8px 2px 7px"},children:s?"server":"offline"}),p.jsx(wI,{state:a}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{className:"flex items-center gap-1",title:e("statusBar.activePipelines"),children:[p.jsx(Jd,{size:10,strokeWidth:2.5}),p.jsx("span",{className:"font-bold text-[var(--color-text)]",children:c})," pipeline"]}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{className:"flex items-center gap-1",title:e("statusBar.activeWorkers"),children:[p.jsx(Yw,{size:10,strokeWidth:2.5}),p.jsx("span",{className:"font-bold text-[var(--color-text)]",children:d})," worker"]}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{children:["localhost:",window.location.port]}),t.data&&p.jsxs(p.Fragment,{children:[p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{children:["v",t.data.version]}),p.jsx("span",{className:"text-[var(--color-text-subtle)]",children:"·"}),p.jsxs("span",{children:["node ",t.data.nodeVersion]})]})]})}function wI({state:e}){return e==="open"?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)",padding:"2px 8px 2px 7px"},children:"SSE"}):e==="connecting"?p.jsx("span",{className:"nb-status",style:{background:"var(--color-stuck-bg)",color:"var(--color-stuck)",padding:"2px 8px 2px 7px"},children:"SSE·connect"}):p.jsxs("span",{className:"nb-status",style:{background:"var(--color-crashed-bg)",color:"var(--color-crashed)",padding:"2px 8px 2px 7px"},children:[p.jsx(gc,{size:9,strokeWidth:2.5}),"SSE·down"]})}function EI(){const[e,t]=O.useState("connecting");return O.useEffect(()=>{let n=null,a=null,s=!1;const l=()=>{s||(n=new EventSource("/stream/heartbeat"),n.addEventListener("server.heartbeat",()=>t("open")),n.addEventListener("open",()=>t("open")),n.addEventListener("error",()=>{(n==null?void 0:n.readyState)===EventSource.CLOSED?(t("closed"),a==null&&(a=setTimeout(()=>{a=null,n==null||n.close(),l()},1e4))):t("connecting")}))};return l(),()=>{s=!0,a!=null&&clearTimeout(a),n==null||n.close()}},[]),e}function SI(){return p.jsxs("div",{className:"grid grid-cols-[240px_1fr] grid-rows-[1fr_40px] h-screen",children:[p.jsx("aside",{className:"row-span-1 row-start-1 border-r-[3px] border-[var(--color-text)] bg-[var(--color-bg)] p-4 flex flex-col",children:p.jsx(tI,{})}),p.jsx("main",{className:"row-start-1 overflow-auto p-6 flex flex-col gap-4",children:p.jsx(IA,{})}),p.jsx("footer",{className:"col-span-2 row-start-2 border-t-[3px] border-[var(--color-text)] bg-[var(--color-bg)]",children:p.jsx(vI,{})})]})}function Im(e,t){try{const n=JSON.stringify({message:(e instanceof Error?e.message:String(e)).slice(0,1e3),stack:(e instanceof Error?e.stack??"":"").slice(0,4e3),url:typeof window<"u"?window.location.href:"",ua:typeof navigator<"u"?navigator.userAgent:"",ts:new Date().toISOString(),context:t==null?void 0:t.slice(0,200)});fetch("/api/system/client-errors",{method:"POST",headers:{"Content-Type":"application/json"},body:n,keepalive:!0}).catch(()=>{})}catch{}}function kI(){typeof window>"u"||(window.addEventListener("error",e=>{Im(e.error??e.message??"unknown error","window.error")}),window.addEventListener("unhandledrejection",e=>{const t=e.reason;Im(t instanceof Error?t:String(t),"unhandledrejection")}))}class NI extends O.Component{constructor(){super(...arguments);kp(this,"state",{error:null})}static getDerivedStateFromError(n){return{error:n}}componentDidCatch(n,a){var s;Im(n,`ErrorBoundary: ${((s=a.componentStack)==null?void 0:s.slice(0,200))??""}`),console.error("[ErrorBoundary]",n,a)}render(){return this.state.error?p.jsx("div",{className:"p-6",children:p.jsxs("div",{className:"nb-card max-w-2xl bg-[var(--color-crashed-bg)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold mb-2",children:"💥 UI crashed"}),p.jsx("p",{className:"text-sm mb-3 text-[var(--color-text-muted)]",children:this.state.error.message}),p.jsxs("details",{className:"text-xs mb-4",children:[p.jsx("summary",{className:"cursor-pointer font-semibold",children:"stack"}),p.jsx("pre",{className:"mt-2 font-[family-name:var(--font-mono)] overflow-auto max-h-60 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-md p-3",children:this.state.error.stack??"(no stack)"})]}),p.jsx("button",{className:"nb-btn nb-btn-mint",type:"button",onClick:()=>{this.setState({error:null}),window.location.reload()},children:"Reload page"})]})}):this.props.children}}function _I(){const{t:e}=Ue("projects"),t=Cr(),{data:n,isLoading:a,isError:s,error:l,refetch:c}=ct({queryKey:["projects"],queryFn:Ar});return p.jsxs("div",{className:"flex flex-col gap-6 max-w-6xl",children:[p.jsxs("header",{className:"flex items-center justify-between",children:[p.jsxs("div",{children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:e("title")}),p.jsx("p",{className:"text-[var(--color-text-muted)] text-sm mt-1",children:n?e("list.summary",{count:n.data.length}):e(a?"list.loading":"list.loadFailed")})]}),p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsxs("button",{className:"nb-btn nb-btn-yellow",onClick:()=>c(),type:"button",children:[p.jsx(Jd,{size:16,strokeWidth:2.5}),e("list.refresh")]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",onClick:()=>t("/projects/new"),"aria-label":e("list.newProjectAria"),children:[p.jsx(Pi,{size:16,strokeWidth:3}),e("list.newProject")]})]})]}),a&&p.jsx(TI,{}),s&&p.jsxs("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e("list.loadError")}),p.jsx("p",{className:"text-sm text-[var(--color-text)]",children:l instanceof Error?l.message:String(l)}),p.jsx("button",{className:"nb-btn mt-4",onClick:()=>c(),type:"button",children:e("list.retry")})]}),n&&n.data.length===0&&p.jsx(OI,{}),n&&n.data.length>0&&p.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:n.data.map(d=>p.jsx(CI,{project:d},d.name))})]})}function CI({project:e}){const t=e.pipelineStatus==="running";return p.jsxs(bs,{to:`/projects/${encodeURIComponent(e.name)}`,className:"nb-card nb-card-interactive block no-underline text-[var(--color-text)]",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-xl truncate",children:e.name}),p.jsx(AI,{status:e.pipelineStatus})]}),e.repoDir&&p.jsx("p",{className:"text-xs font-[family-name:var(--font-mono)] text-[var(--color-text-muted)] truncate mb-3",children:e.repoDir}),p.jsxs("div",{className:"grid grid-cols-3 gap-2 text-sm mt-4 pt-3 border-t-[1.5px] border-dashed border-[var(--color-border-light)]",children:[p.jsx(zp,{label:"cards",value:e.cards.total,accent:"purple"}),p.jsx(zp,{label:"inprogress",value:e.cards.inprogress,accent:e.cards.inprogress>0?"yellow":"idle"}),p.jsx(zp,{label:"workers",value:`${e.workers.active}/${e.workers.total}`,accent:t?"mint":"idle"})]})]})}function zp({label:e,value:t,accent:n}){const a={purple:"var(--color-accent-purple)",yellow:"var(--color-accent-yellow)",mint:"var(--color-accent-mint)",idle:"var(--color-bg-cream)"};return p.jsxs("div",{className:"flex flex-col items-center justify-center py-2 rounded-lg border-2 border-[var(--color-text)]",style:{background:a[n]},children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold text-lg",children:t}),p.jsx("span",{className:"text-[10px] uppercase tracking-wider text-[var(--color-text-muted)] font-semibold",children:e})]})}function AI({status:e}){const t={running:{bg:"var(--color-running-bg)",label:"running"},idle:{bg:"var(--color-idle-bg)",label:"idle"},stopping:{bg:"var(--color-stuck-bg)",label:"stopping"},error:{bg:"var(--color-crashed-bg)",label:"error"}},{bg:n,label:a}=t[e],s=e==="running"?"var(--color-running)":e==="error"?"var(--color-crashed)":e==="stopping"?"var(--color-stuck)":"var(--color-idle)";return p.jsx("span",{className:"nb-status",style:{background:n,color:s},children:a})}function TI(){return p.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4",children:[0,1,2].map(e=>p.jsxs("div",{className:"nb-card opacity-60 animate-pulse",children:[p.jsx("div",{className:"h-6 w-32 bg-[var(--color-border-light)] rounded-md mb-3"}),p.jsx("div",{className:"h-3 w-full bg-[var(--color-border-light)] rounded-md mb-2"}),p.jsx("div",{className:"h-3 w-2/3 bg-[var(--color-border-light)] rounded-md"})]},e))})}function OI(){const{t:e}=Ue("projects");return p.jsxs("div",{className:"nb-card bg-[var(--color-accent-yellow)] flex items-center gap-6 p-8",children:[p.jsx("div",{className:"w-20 h-20 rounded-2xl bg-[var(--color-accent-mint)] border-[3px] border-[var(--color-text)] shadow-[3px_3px_0_var(--color-text)] flex items-center justify-center",children:p.jsx(eE,{size:32,strokeWidth:2.5})}),p.jsxs("div",{className:"flex-1",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold mb-2",children:e("list.empty")}),p.jsxs("p",{className:"text-sm text-[var(--color-text)] mb-4",children:[e("list.emptyHint",{cmd:""}),p.jsx("code",{className:"bg-[var(--color-bg)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded-md font-[family-name:var(--font-mono)]",children:"sps project init <name>"})]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",children:[p.jsx(Pi,{size:16,strokeWidth:3}),e("list.newProject")]})]})]})}function RI(e){const t=e?`?path=${encodeURIComponent(e)}`:"";return qt(`/api/fs/browse${t}`)}const uE=50*1024*1024;async function jI(e,t){if(t.size>uE)throw new Error(`文件超过 50 MB 上限(当前 ${(t.size/1024/1024).toFixed(2)} MB)`);const n=new FormData;n.append("sessionId",e),n.append("file",t,t.name);const a=await fetch("/api/fs/upload",{method:"POST",body:n});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}return await a.json()}function zm(e,t){return`/api/fs/file?${new URLSearchParams({path:t,sessionId:e}).toString()}`}function wg({initialPath:e,onCancel:t,onSelect:n,title:a,mode:s="directory"}){var w,k,N;const[l,c]=O.useState(e??null),[d,f]=O.useState(null),h=ct({queryKey:["fs-browse",l],queryFn:()=>RI(l??void 0),staleTime:0,gcTime:0}),{t:b}=Ue("common"),m=a??b("directoryPicker.defaultTitle"),x=((w=h.data)==null?void 0:w.path)??l??"",v=((k=h.data)==null?void 0:k.parent)??null,E=((N=h.data)==null?void 0:N.home)??null;return O.useEffect(()=>{const C=A=>{A.key==="Escape"&&(A.preventDefault(),t())};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[t]),p.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[rgba(45,55,72,0.5)] p-4",role:"presentation",children:p.jsxs("div",{className:"nb-card bg-[var(--color-bg)] max-w-lg w-full p-5 flex flex-col",style:{maxHeight:"70vh"},role:"dialog","aria-modal":"true","aria-label":m,children:[p.jsxs("header",{className:"flex items-center justify-between mb-3 shrink-0",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-base",children:m}),p.jsx("button",{type:"button",className:"p-1 hover:bg-[var(--color-bg-cream)] rounded",onClick:t,"aria-label":b("directoryPicker.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),p.jsxs("div",{className:"flex items-center gap-2 mb-3 shrink-0",children:[p.jsx("button",{type:"button",className:"nb-btn flex-shrink-0",style:{padding:"4px 10px",fontSize:12},onClick:()=>v&&c(v),disabled:!v||h.isLoading,"aria-label":b("directoryPicker.parentDirAria"),title:b("directoryPicker.parentDirAria"),children:p.jsx(HT,{size:12,strokeWidth:3})}),p.jsx("button",{type:"button",className:"nb-btn flex-shrink-0",style:{padding:"4px 10px",fontSize:12},onClick:()=>E&&c(E),disabled:!E||h.isLoading,"aria-label":b("directoryPicker.homeAria"),title:b("directoryPicker.homeAria"),children:p.jsx(k2,{size:12,strokeWidth:3})}),p.jsx("div",{className:"flex-1 min-w-0 nb-input font-[family-name:var(--font-mono)] text-xs px-2 py-1.5 truncate",title:x,dir:"rtl",children:x||"..."})]}),p.jsxs("div",{className:"flex-1 overflow-y-auto border-2 border-[var(--color-text)] rounded-lg bg-[var(--color-bg-cream)] min-h-0",children:[h.isLoading&&p.jsxs("div",{className:"flex items-center justify-center py-12 text-[var(--color-text-muted)]",children:[p.jsx(Bt,{size:16,strokeWidth:3,className:"animate-spin mr-2"}),b("directoryPicker.loading")]}),h.isError&&p.jsxs("div",{className:"p-4 text-sm text-[var(--color-crashed)]",children:[p.jsx("p",{className:"font-bold mb-1",children:b("directoryPicker.readFailed")}),p.jsx("p",{className:"text-xs font-[family-name:var(--font-mono)] break-all",children:h.error instanceof Error?h.error.message:String(h.error)})]}),h.data&&p.jsxs("ul",{className:"divide-y-2 divide-[var(--color-text)]/20",children:[h.data.entries.length===0&&p.jsx("li",{className:"p-4 text-xs text-[var(--color-text-subtle)] italic text-center",children:b("directoryPicker.emptyDir")}),h.data.entries.map(C=>{const A=(()=>{const M=x.endsWith("/")||x.endsWith("\\")?"":"/";return`${x}${M}${C.name}`})(),T=s==="file"&&d===A,L=C.isDirectory||s==="file";return p.jsx("li",{children:p.jsxs("button",{type:"button",className:["w-full flex items-center gap-2 px-3 py-2 text-left text-sm font-[family-name:var(--font-mono)]","disabled:opacity-50 disabled:cursor-not-allowed",T?"bg-[var(--color-accent-mint)] font-bold":"hover:bg-[var(--color-accent-mint)]"].join(" "),disabled:!L,onClick:()=>{C.isDirectory?(f(null),c(A)):s==="file"&&f(A)},onDoubleClick:()=>{s==="file"&&!C.isDirectory&&n(A)},title:C.isDirectory?b("directoryPicker.enterDir",{name:C.name}):s==="file"?b("directoryPicker.selectDoubleClick",{name:C.name}):b("directoryPicker.fileNotSelectable"),children:[C.isDirectory?p.jsx(yc,{size:14,strokeWidth:2.5,className:"flex-shrink-0 text-[var(--color-text)]"}):p.jsx("span",{className:"w-3.5 h-3.5 flex-shrink-0"}),p.jsx("span",{className:"truncate",children:C.name}),C.isDirectory&&p.jsx(ef,{size:12,strokeWidth:2.5,className:"ml-auto flex-shrink-0 text-[var(--color-text-muted)]"})]})},C.name)})]})]}),p.jsxs("div",{className:"flex gap-2 justify-end pt-3 shrink-0",children:[p.jsx("button",{type:"button",className:"nb-btn",onClick:t,children:b("directoryPicker.cancel")}),s==="file"?p.jsxs("button",{type:"button",className:"nb-btn nb-btn-primary",onClick:()=>d&&n(d),disabled:!d||h.isLoading||h.isError,title:d??b("directoryPicker.useFileTitle"),children:[p.jsx(bc,{size:14,strokeWidth:3}),b("directoryPicker.useFile")]}):p.jsxs("button",{type:"button",className:"nb-btn nb-btn-primary",onClick:()=>n(x),disabled:!x||h.isLoading||h.isError,children:[p.jsx(bc,{size:14,strokeWidth:3}),b("directoryPicker.useDir")]})]})]})})}function MI({title:e,body:t,confirm:n,onConfirm:a,onCancel:s,danger:l}){const{t:c}=Ue("common");return O.useEffect(()=>{const d=f=>{f.key==="Escape"&&s()};return window.addEventListener("keydown",d),()=>window.removeEventListener("keydown",d)},[s]),p.jsx("div",{role:"dialog","aria-modal":"true","aria-labelledby":"confirm-title",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsx("h2",{id:"confirm-title",className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-5",children:t}),p.jsxs("div",{className:"flex gap-3 justify-end",children:[p.jsx("button",{className:"nb-btn",onClick:s,type:"button",children:c("actions.cancel")}),p.jsx("button",{className:l?"nb-btn nb-btn-danger":"nb-btn nb-btn-yellow",onClick:async()=>{await a()},type:"button",children:n})]})]})})}const dE=O.createContext(null);function DI({children:e}){const[t,n]=O.useState(null),a=O.useCallback(d=>new Promise(f=>{n({kind:"confirm",opts:d,resolve:h=>{n(null),f(h)}})}),[]),s=O.useCallback(d=>new Promise(f=>{n({kind:"alert",opts:d,resolve:()=>{n(null),f()}})}),[]),l=O.useCallback(d=>new Promise(f=>{n({kind:"prompt",opts:d,resolve:h=>{n(null),f(h)}})}),[]),{t:c}=Ue("common");return p.jsxs(dE.Provider,{value:{confirm:a,alert:s,prompt:l},children:[e,(t==null?void 0:t.kind)==="confirm"&&p.jsx(MI,{title:t.opts.title,body:t.opts.body,confirm:t.opts.confirm??c("actions.ok"),danger:t.opts.danger,onConfirm:()=>t.resolve(!0),onCancel:()=>t.resolve(!1)}),(t==null?void 0:t.kind)==="alert"&&p.jsx(LI,{title:t.opts.title,body:t.opts.body,confirm:t.opts.confirm??c("actions.ok"),onClose:()=>t.resolve()}),(t==null?void 0:t.kind)==="prompt"&&p.jsx(II,{title:t.opts.title,body:t.opts.body,placeholder:t.opts.placeholder,defaultValue:t.opts.defaultValue,confirm:t.opts.confirm??c("actions.ok"),cancel:t.opts.cancel??c("actions.cancel"),onConfirm:d=>t.resolve(d),onCancel:()=>t.resolve(null)})]})}function ui(){const e=O.useContext(dE);if(!e)throw new Error("useDialog must be used inside <DialogProvider>");return e}function LI({title:e,body:t,confirm:n,onClose:a}){return O.useEffect(()=>{const s=l=>{(l.key==="Escape"||l.key==="Enter")&&a()};return window.addEventListener("keydown",s),()=>window.removeEventListener("keydown",s)},[a]),p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-5 whitespace-pre-wrap break-words",children:t}),p.jsx("div",{className:"flex gap-3 justify-end",children:p.jsx("button",{className:"nb-btn nb-btn-primary",onClick:a,type:"button",autoFocus:!0,children:n})})]})})}function II({title:e,body:t,placeholder:n,defaultValue:a,confirm:s,cancel:l,onConfirm:c,onCancel:d}){const[f,h]=O.useState(a??""),b=O.useRef(null);O.useEffect(()=>{var v,E;(v=b.current)==null||v.focus(),(E=b.current)==null||E.select();const x=w=>{w.key==="Escape"&&d()};return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[d]);const m=()=>{const x=f.trim();x&&c(x)};return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-2",children:e}),t&&p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-3 whitespace-pre-wrap break-words",children:t}),p.jsx("input",{ref:b,type:"text",className:"nb-input w-full mb-5",placeholder:n,value:f,onChange:x=>h(x.target.value),onKeyDown:x=>{x.key==="Enter"&&!x.nativeEvent.isComposing&&(x.preventDefault(),m())}}),p.jsxs("div",{className:"flex gap-3 justify-end",children:[p.jsx("button",{className:"nb-btn",onClick:d,type:"button",children:l}),p.jsx("button",{className:"nb-btn nb-btn-primary",onClick:m,type:"button",disabled:!f.trim(),children:s})]})]})})}function zI(){const{t:e}=Ue("projects"),t=Cr(),n=Vn(),{alert:a}=ui(),[s,l]=O.useState({name:"",projectDir:"",enableGit:!0,createIfMissing:!0,mergeBranch:"main",maxWorkers:"1",ackTimeoutMin:"5"}),[c,d]=O.useState(!1),f=Gn({mutationFn:m=>uI(m),onSuccess:m=>{n.invalidateQueries({queryKey:["projects"]}),t(`/projects/${encodeURIComponent(m.name)}`)},onError:m=>{a({title:e("newProject.createFailed"),body:m instanceof Error?m.message:String(m)})}}),h=/^[a-zA-Z0-9_-]+$/.test(s.name),b=h&&s.projectDir.trim()!==""&&!f.isPending;return p.jsxs("div",{className:"flex flex-col gap-5 max-w-2xl",children:[p.jsxs("header",{className:"flex items-center gap-3",children:[p.jsxs("button",{type:"button",onClick:()=>t("/projects"),className:"nb-btn",style:{padding:"6px 12px"},"aria-label":e("newProject.backAria"),children:[p.jsx(Kw,{size:14,strokeWidth:3}),e("newProject.back")]}),p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-3xl font-bold",children:e("newProject.title")})]}),p.jsx("div",{className:"nb-card",children:p.jsxs("form",{onSubmit:m=>{m.preventDefault(),b&&f.mutate(s)},className:"flex flex-col gap-5",children:[p.jsxs(ur,{label:e("newProject.name"),hint:e("newProject.nameHint"),children:[p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:e("newProject.namePlaceholder"),value:s.name,onChange:m=>l({...s,name:m.target.value}),autoFocus:!0,required:!0}),s.name&&!h&&p.jsx("p",{className:"text-xs text-[var(--color-crashed)] mt-1",children:e("newProject.nameInvalid")})]}),p.jsxs(ur,{label:e("newProject.dir"),hint:e("newProject.dirHint"),children:[p.jsxs("div",{className:"flex gap-2",children:[p.jsx("input",{type:"text",className:"nb-input flex-1 font-[family-name:var(--font-mono)]",placeholder:"/home/coral/code/acme",value:s.projectDir,onChange:m=>l({...s,projectDir:m.target.value}),required:!0}),p.jsxs("button",{type:"button",className:"nb-btn flex-shrink-0",onClick:()=>d(!0),"aria-label":e("newProject.dirBrowseAria"),title:e("newProject.dirBrowseAria"),children:[p.jsx(Vw,{size:14,strokeWidth:2.5}),e("newProject.dirBrowse")]})]}),p.jsxs("label",{className:"flex items-center gap-2 mt-2 cursor-pointer select-none",children:[p.jsx("input",{type:"checkbox",checked:s.createIfMissing!==!1,onChange:m=>l({...s,createIfMissing:m.target.checked}),className:"w-4 h-4 cursor-pointer"}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:e("newProject.dirAutoCreate")})]})]}),p.jsxs("div",{className:"grid grid-cols-2 gap-4",children:[p.jsx(ur,{label:e("newProject.maxWorkers"),children:p.jsx("input",{type:"number",min:"1",max:"8",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:s.maxWorkers,onChange:m=>l({...s,maxWorkers:m.target.value})})}),p.jsx(ur,{label:e("newProject.ackTimeout"),hint:e("newProject.ackTimeoutHint"),children:p.jsx("input",{type:"number",min:"1",max:"30",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:s.ackTimeoutMin??"5",onChange:m=>l({...s,ackTimeoutMin:m.target.value})})})]}),p.jsxs("div",{className:"pt-3 border-t-2 border-[var(--color-text)] border-dashed",children:[p.jsxs("label",{className:"flex items-center gap-3 mb-3 cursor-pointer select-none",children:[p.jsx("input",{type:"checkbox",checked:s.enableGit??!0,onChange:m=>l({...s,enableGit:m.target.checked}),className:"w-4 h-4 cursor-pointer"}),p.jsx("span",{className:"text-sm font-bold",children:e("newProject.enableGit")})]}),p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] mb-3",children:e("newProject.enableGitHint")}),s.enableGit!==!1&&p.jsxs("div",{className:"flex flex-col gap-4 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4",children:[p.jsx(ur,{label:e("newProject.mergeBranch"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:s.mergeBranch??"main",onChange:m=>l({...s,mergeBranch:m.target.value})})}),p.jsx(ur,{label:e("newProject.remotePath"),hint:e("newProject.remotePathHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:"user/repo",value:s.gitlabProject??"",onChange:m=>l({...s,gitlabProject:m.target.value})})}),s.gitlabProject&&p.jsx(ur,{label:e("newProject.gitlabId"),hint:e("newProject.gitlabIdHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:"42",value:s.gitlabProjectId??"",onChange:m=>l({...s,gitlabProjectId:m.target.value})})})]})]}),p.jsxs("div",{className:"pt-3 border-t-2 border-[var(--color-text)] border-dashed",children:[p.jsxs("label",{className:"flex items-center gap-3 mb-3 cursor-pointer select-none",children:[p.jsx("input",{type:"checkbox",checked:s.enableWiki===!0,onChange:m=>l({...s,enableWiki:m.target.checked}),className:"w-4 h-4 cursor-pointer"}),p.jsx("span",{className:"text-sm font-bold",children:e("newProject.enableWiki")})]}),p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)]",children:[e("newProject.enableWikiHintPrefix"),p.jsx("code",{className:"font-mono",children:"wiki/"}),e("newProject.enableWikiHintMid"),p.jsx("code",{className:"font-mono",children:"sps wiki init"}),e("newProject.enableWikiHintSuffix")]})]}),p.jsxs("div",{className:"pt-3 border-t-2 border-[var(--color-text)] border-dashed",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-3 text-[var(--color-text-muted)]",children:e("newProject.notifications")}),p.jsx(ur,{label:e("newProject.matrixRoom"),hint:e("newProject.matrixRoomHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:"!abc:matrix.example.com",value:s.matrixRoomId??"",onChange:m=>l({...s,matrixRoomId:m.target.value})})})]}),p.jsxs("div",{className:"flex gap-3 justify-end pt-3",children:[p.jsx("button",{type:"button",className:"nb-btn",onClick:()=>t("/projects"),disabled:f.isPending,children:e("newProject.cancel")}),p.jsx("button",{type:"submit",className:"nb-btn nb-btn-primary",disabled:!b,"aria-label":e("newProject.createAria"),children:f.isPending?p.jsxs(p.Fragment,{children:[p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}),e("newProject.creating")]}):p.jsxs(p.Fragment,{children:[p.jsx(Pi,{size:14,strokeWidth:3}),e("newProject.create")]})})]})]})}),c&&p.jsx(wg,{title:e("newProject.pickerTitle"),initialPath:s.projectDir.trim()||void 0,onCancel:()=>d(!1),onSelect:m=>{l({...s,projectDir:m}),d(!1)}})]})}function ur({label:e,hint:t,children:n}){return p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:e}),n,t&&p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:t})]})}const Eg=Symbol.for("yaml.alias"),Bm=Symbol.for("yaml.document"),Nr=Symbol.for("yaml.map"),fE=Symbol.for("yaml.pair"),ia=Symbol.for("yaml.scalar"),Gl=Symbol.for("yaml.seq"),Ai=Symbol.for("yaml.node.type"),Tr=e=>!!e&&typeof e=="object"&&e[Ai]===Eg,ys=e=>!!e&&typeof e=="object"&&e[Ai]===Bm,Vl=e=>!!e&&typeof e=="object"&&e[Ai]===Nr,Dt=e=>!!e&&typeof e=="object"&&e[Ai]===fE,Nt=e=>!!e&&typeof e=="object"&&e[Ai]===ia,Ql=e=>!!e&&typeof e=="object"&&e[Ai]===Gl;function zt(e){if(e&&typeof e=="object")switch(e[Ai]){case Nr:case Gl:return!0}return!1}function Ut(e){if(e&&typeof e=="object")switch(e[Ai]){case Eg:case Nr:case ia:case Gl:return!0}return!1}const hE=e=>(Nt(e)||zt(e))&&!!e.anchor,Kn=Symbol("break visit"),pE=Symbol("skip children"),na=Symbol("remove node");function xs(e,t){const n=mE(t);ys(e)?yl(null,e.contents,n,Object.freeze([e]))===na&&(e.contents=null):yl(null,e,n,Object.freeze([]))}xs.BREAK=Kn;xs.SKIP=pE;xs.REMOVE=na;function yl(e,t,n,a){const s=gE(e,t,n,a);if(Ut(s)||Dt(s))return bE(e,a,s),yl(e,s,n,a);if(typeof s!="symbol"){if(zt(t)){a=Object.freeze(a.concat(t));for(let l=0;l<t.items.length;++l){const c=yl(l,t.items[l],n,a);if(typeof c=="number")l=c-1;else{if(c===Kn)return Kn;c===na&&(t.items.splice(l,1),l-=1)}}}else if(Dt(t)){a=Object.freeze(a.concat(t));const l=yl("key",t.key,n,a);if(l===Kn)return Kn;l===na&&(t.key=null);const c=yl("value",t.value,n,a);if(c===Kn)return Kn;c===na&&(t.value=null)}}return s}async function af(e,t){const n=mE(t);ys(e)?await xl(null,e.contents,n,Object.freeze([e]))===na&&(e.contents=null):await xl(null,e,n,Object.freeze([]))}af.BREAK=Kn;af.SKIP=pE;af.REMOVE=na;async function xl(e,t,n,a){const s=await gE(e,t,n,a);if(Ut(s)||Dt(s))return bE(e,a,s),xl(e,s,n,a);if(typeof s!="symbol"){if(zt(t)){a=Object.freeze(a.concat(t));for(let l=0;l<t.items.length;++l){const c=await xl(l,t.items[l],n,a);if(typeof c=="number")l=c-1;else{if(c===Kn)return Kn;c===na&&(t.items.splice(l,1),l-=1)}}}else if(Dt(t)){a=Object.freeze(a.concat(t));const l=await xl("key",t.key,n,a);if(l===Kn)return Kn;l===na&&(t.key=null);const c=await xl("value",t.value,n,a);if(c===Kn)return Kn;c===na&&(t.value=null)}}return s}function mE(e){return typeof e=="object"&&(e.Collection||e.Node||e.Value)?Object.assign({Alias:e.Node,Map:e.Node,Scalar:e.Node,Seq:e.Node},e.Value&&{Map:e.Value,Scalar:e.Value,Seq:e.Value},e.Collection&&{Map:e.Collection,Seq:e.Collection},e):e}function gE(e,t,n,a){var s,l,c,d,f;if(typeof n=="function")return n(e,t,a);if(Vl(t))return(s=n.Map)==null?void 0:s.call(n,e,t,a);if(Ql(t))return(l=n.Seq)==null?void 0:l.call(n,e,t,a);if(Dt(t))return(c=n.Pair)==null?void 0:c.call(n,e,t,a);if(Nt(t))return(d=n.Scalar)==null?void 0:d.call(n,e,t,a);if(Tr(t))return(f=n.Alias)==null?void 0:f.call(n,e,t,a)}function bE(e,t,n){const a=t[t.length-1];if(zt(a))a.items[e]=n;else if(Dt(a))e==="key"?a.key=n:a.value=n;else if(ys(a))a.contents=n;else{const s=Tr(a)?"alias":"scalar";throw new Error(`Cannot replace node with ${s} parent`)}}const BI={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},UI=e=>e.replace(/[!,[\]{}]/g,t=>BI[t]);class On{constructor(t,n){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},On.defaultYaml,t),this.tags=Object.assign({},On.defaultTags,n)}clone(){const t=new On(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){const t=new On(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:On.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},On.defaultTags);break}return t}add(t,n){this.atNextDocument&&(this.yaml={explicit:On.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},On.defaultTags),this.atNextDocument=!1);const a=t.trim().split(/[ \t]+/),s=a.shift();switch(s){case"%TAG":{if(a.length!==2&&(n(0,"%TAG directive should contain exactly two parts"),a.length<2))return!1;const[l,c]=a;return this.tags[l]=c,!0}case"%YAML":{if(this.yaml.explicit=!0,a.length!==1)return n(0,"%YAML directive should contain exactly one part"),!1;const[l]=a;if(l==="1.1"||l==="1.2")return this.yaml.version=l,!0;{const c=/^\d+\.\d+$/.test(l);return n(6,`Unsupported YAML version ${l}`,c),!1}}default:return n(0,`Unknown directive ${s}`,!0),!1}}tagName(t,n){if(t==="!")return"!";if(t[0]!=="!")return n(`Not a valid tag: ${t}`),null;if(t[1]==="<"){const c=t.slice(2,-1);return c==="!"||c==="!!"?(n(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&n("Verbatim tags must end with a >"),c)}const[,a,s]=t.match(/^(.*!)([^!]*)$/s);s||n(`The ${t} tag has no suffix`);const l=this.tags[a];if(l)try{return l+decodeURIComponent(s)}catch(c){return n(String(c)),null}return a==="!"?t:(n(`Could not resolve tag: ${t}`),null)}tagString(t){for(const[n,a]of Object.entries(this.tags))if(t.startsWith(a))return n+UI(t.substring(a.length));return t[0]==="!"?t:`!<${t}>`}toString(t){const n=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],a=Object.entries(this.tags);let s;if(t&&a.length>0&&Ut(t.contents)){const l={};xs(t.contents,(c,d)=>{Ut(d)&&d.tag&&(l[d.tag]=!0)}),s=Object.keys(l)}else s=[];for(const[l,c]of a)l==="!!"&&c==="tag:yaml.org,2002:"||(!t||s.some(d=>d.startsWith(c)))&&n.push(`%TAG ${l} ${c}`);return n.join(`
|
|
382
|
+
`)}}On.defaultYaml={explicit:!1,version:"1.2"};On.defaultTags={"!!":"tag:yaml.org,2002:"};function yE(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){const n=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(n)}return!0}function xE(e){const t=new Set;return xs(e,{Value(n,a){a.anchor&&t.add(a.anchor)}}),t}function vE(e,t){for(let n=1;;++n){const a=`${e}${n}`;if(!t.has(a))return a}}function PI(e,t){const n=[],a=new Map;let s=null;return{onAnchor:l=>{n.push(l),s??(s=xE(e));const c=vE(t,s);return s.add(c),c},setAnchors:()=>{for(const l of n){const c=a.get(l);if(typeof c=="object"&&c.anchor&&(Nt(c.node)||zt(c.node)))c.node.anchor=c.anchor;else{const d=new Error("Failed to resolve repeated object (this should not happen)");throw d.source=l,d}}},sourceObjects:a}}function vl(e,t,n,a){if(a&&typeof a=="object")if(Array.isArray(a))for(let s=0,l=a.length;s<l;++s){const c=a[s],d=vl(e,a,String(s),c);d===void 0?delete a[s]:d!==c&&(a[s]=d)}else if(a instanceof Map)for(const s of Array.from(a.keys())){const l=a.get(s),c=vl(e,a,s,l);c===void 0?a.delete(s):c!==l&&a.set(s,c)}else if(a instanceof Set)for(const s of Array.from(a)){const l=vl(e,a,s,s);l===void 0?a.delete(s):l!==s&&(a.delete(s),a.add(l))}else for(const[s,l]of Object.entries(a)){const c=vl(e,a,s,l);c===void 0?delete a[s]:c!==l&&(a[s]=c)}return e.call(t,n,a)}function Ni(e,t,n){if(Array.isArray(e))return e.map((a,s)=>Ni(a,String(s),n));if(e&&typeof e.toJSON=="function"){if(!n||!hE(e))return e.toJSON(t,n);const a={aliasCount:0,count:1,res:void 0};n.anchors.set(e,a),n.onCreate=l=>{a.res=l,delete n.onCreate};const s=e.toJSON(t,n);return n.onCreate&&n.onCreate(s),s}return typeof e=="bigint"&&!(n!=null&&n.keep)?Number(e):e}class Sg{constructor(t){Object.defineProperty(this,Ai,{value:t})}clone(){const t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:n,maxAliasCount:a,onAnchor:s,reviver:l}={}){if(!ys(t))throw new TypeError("A document argument is required");const c={anchors:new Map,doc:t,keep:!0,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof a=="number"?a:100},d=Ni(this,"",c);if(typeof s=="function")for(const{count:f,res:h}of c.anchors.values())s(h,f);return typeof l=="function"?vl(l,{"":d},"",d):d}}class rf extends Sg{constructor(t){super(Eg),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t,n){let a;n!=null&&n.aliasResolveCache?a=n.aliasResolveCache:(a=[],xs(t,{Node:(l,c)=>{(Tr(c)||hE(c))&&a.push(c)}}),n&&(n.aliasResolveCache=a));let s;for(const l of a){if(l===this)break;l.anchor===this.source&&(s=l)}return s}toJSON(t,n){if(!n)return{source:this.source};const{anchors:a,doc:s,maxAliasCount:l}=n,c=this.resolve(s,n);if(!c){const f=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(f)}let d=a.get(c);if(d||(Ni(c,null,n),d=a.get(c)),(d==null?void 0:d.res)===void 0){const f="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(f)}if(l>=0&&(d.count+=1,d.aliasCount===0&&(d.aliasCount=Nd(s,c,a)),d.count*d.aliasCount>l)){const f="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(f)}return d.res}toString(t,n,a){const s=`*${this.source}`;if(t){if(yE(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){const l=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(l)}if(t.implicitKey)return`${s} `}return s}}function Nd(e,t,n){if(Tr(t)){const a=t.resolve(e),s=n&&a&&n.get(a);return s?s.count*s.aliasCount:0}else if(zt(t)){let a=0;for(const s of t.items){const l=Nd(e,s,n);l>a&&(a=l)}return a}else if(Dt(t)){const a=Nd(e,t.key,n),s=Nd(e,t.value,n);return Math.max(a,s)}return 1}const wE=e=>!e||typeof e!="function"&&typeof e!="object";class Fe extends Sg{constructor(t){super(ia),this.value=t}toJSON(t,n){return n!=null&&n.keep?this.value:Ni(this.value,t,n)}toString(){return String(this.value)}}Fe.BLOCK_FOLDED="BLOCK_FOLDED";Fe.BLOCK_LITERAL="BLOCK_LITERAL";Fe.PLAIN="PLAIN";Fe.QUOTE_DOUBLE="QUOTE_DOUBLE";Fe.QUOTE_SINGLE="QUOTE_SINGLE";const FI="tag:yaml.org,2002:";function $I(e,t,n){if(t){const a=n.filter(l=>l.tag===t),s=a.find(l=>!l.format)??a[0];if(!s)throw new Error(`Tag ${t} not found`);return s}return n.find(a=>{var s;return((s=a.identify)==null?void 0:s.call(a,e))&&!a.format})}function vc(e,t,n){var m,x,v;if(ys(e)&&(e=e.contents),Ut(e))return e;if(Dt(e)){const E=(x=(m=n.schema[Nr]).createNode)==null?void 0:x.call(m,n.schema,null,n);return E.items.push(e),E}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());const{aliasDuplicateObjects:a,onAnchor:s,onTagObj:l,schema:c,sourceObjects:d}=n;let f;if(a&&e&&typeof e=="object"){if(f=d.get(e),f)return f.anchor??(f.anchor=s(e)),new rf(f.anchor);f={anchor:null,node:null},d.set(e,f)}t!=null&&t.startsWith("!!")&&(t=FI+t.slice(2));let h=$I(e,t,c.tags);if(!h){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){const E=new Fe(e);return f&&(f.node=E),E}h=e instanceof Map?c[Nr]:Symbol.iterator in Object(e)?c[Gl]:c[Nr]}l&&(l(h),delete n.onTagObj);const b=h!=null&&h.createNode?h.createNode(n.schema,e,n):typeof((v=h==null?void 0:h.nodeClass)==null?void 0:v.from)=="function"?h.nodeClass.from(n.schema,e,n):new Fe(e);return t?b.tag=t:h.default||(b.tag=h.tag),f&&(f.node=b),b}function Ud(e,t,n){let a=n;for(let s=t.length-1;s>=0;--s){const l=t[s];if(typeof l=="number"&&Number.isInteger(l)&&l>=0){const c=[];c[l]=a,a=c}else a=new Map([[l,a]])}return vc(a,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}const lc=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done;class EE extends Sg{constructor(t,n){super(t),Object.defineProperty(this,"schema",{value:n,configurable:!0,enumerable:!1,writable:!0})}clone(t){const n=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(n.schema=t),n.items=n.items.map(a=>Ut(a)||Dt(a)?a.clone(t):a),this.range&&(n.range=this.range.slice()),n}addIn(t,n){if(lc(t))this.add(n);else{const[a,...s]=t,l=this.get(a,!0);if(zt(l))l.addIn(s,n);else if(l===void 0&&this.schema)this.set(a,Ud(this.schema,s,n));else throw new Error(`Expected YAML collection at ${a}. Remaining path: ${s}`)}}deleteIn(t){const[n,...a]=t;if(a.length===0)return this.delete(n);const s=this.get(n,!0);if(zt(s))return s.deleteIn(a);throw new Error(`Expected YAML collection at ${n}. Remaining path: ${a}`)}getIn(t,n){const[a,...s]=t,l=this.get(a,!0);return s.length===0?!n&&Nt(l)?l.value:l:zt(l)?l.getIn(s,n):void 0}hasAllNullValues(t){return this.items.every(n=>{if(!Dt(n))return!1;const a=n.value;return a==null||t&&Nt(a)&&a.value==null&&!a.commentBefore&&!a.comment&&!a.tag})}hasIn(t){const[n,...a]=t;if(a.length===0)return this.has(n);const s=this.get(n,!0);return zt(s)?s.hasIn(a):!1}setIn(t,n){const[a,...s]=t;if(s.length===0)this.set(a,n);else{const l=this.get(a,!0);if(zt(l))l.setIn(s,n);else if(l===void 0&&this.schema)this.set(a,Ud(this.schema,s,n));else throw new Error(`Expected YAML collection at ${a}. Remaining path: ${s}`)}}}const HI=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function Ra(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}const ts=(e,t,n)=>e.endsWith(`
|
|
383
383
|
`)?Ra(n,t):n.includes(`
|
|
384
384
|
`)?`
|
|
385
385
|
`+Ra(n,t):(e.endsWith(" ")?"":" ")+n,SE="flow",Um="block",_d="quoted";function sf(e,t,n="flow",{indentAtStart:a,lineWidth:s=80,minContentWidth:l=20,onFold:c,onOverflow:d}={}){if(!s||s<0)return e;s<l&&(l=0);const f=Math.max(1+l,1+s-t.length);if(e.length<=f)return e;const h=[],b={};let m=s-t.length;typeof a=="number"&&(a>s-Math.max(2,l)?h.push(0):m=s-a);let x,v,E=!1,w=-1,k=-1,N=-1;n===Um&&(w=L0(e,w,t.length),w!==-1&&(m=w+f));for(let A;A=e[w+=1];){if(n===_d&&A==="\\"){switch(k=w,e[w+1]){case"x":w+=3;break;case"u":w+=5;break;case"U":w+=9;break;default:w+=1}N=w}if(A===`
|
|
@@ -388,7 +388,7 @@ Click to preview`},oR={you:"You",error:"Error",assistant:"assistant",outputTrunc
|
|
|
388
388
|
`&&T!==" "&&(x=w)}if(w>=m)if(x)h.push(x),m=x+f,x=void 0;else if(n===_d){for(;v===" "||v===" ";)v=A,A=e[w+=1],E=!0;const T=w>N+1?w-2:k-1;if(b[T])return e;h.push(T),b[T]=!0,m=T+f,x=void 0}else E=!0}v=A}if(E&&d&&d(),h.length===0)return e;c&&c();let C=e.slice(0,h[0]);for(let A=0;A<h.length;++A){const T=h[A],L=h[A+1]||e.length;T===0?C=`
|
|
389
389
|
${t}${e.slice(0,L)}`:(n===_d&&b[T]&&(C+=`${e[T]}\\`),C+=`
|
|
390
390
|
${t}${e.slice(T+1,L)}`)}return C}function L0(e,t,n){let a=t,s=t+1,l=e[s];for(;l===" "||l===" ";)if(t<s+n)l=e[++t];else{do l=e[++t];while(l&&l!==`
|
|
391
|
-
`);a=t,s=t+1,l=e[s]}return a}const lf=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),of=e=>/^(%|---|\.\.\.)/m.test(e);function
|
|
391
|
+
`);a=t,s=t+1,l=e[s]}return a}const lf=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),of=e=>/^(%|---|\.\.\.)/m.test(e);function qI(e,t,n){if(!t||t<0)return!1;const a=t-n,s=e.length;if(s<=a)return!1;for(let l=0,c=0;l<s;++l)if(e[l]===`
|
|
392
392
|
`){if(l-c>a)return!0;if(c=l+1,s-c<=a)return!1}return!0}function cc(e,t){const n=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return n;const{implicitKey:a}=t,s=t.options.doubleQuotedMinMultiLineLength,l=t.indent||(of(e)?" ":"");let c="",d=0;for(let f=0,h=n[f];h;h=n[++f])if(h===" "&&n[f+1]==="\\"&&n[f+2]==="n"&&(c+=n.slice(d,f)+"\\ ",f+=1,d=f,h="\\"),h==="\\")switch(n[f+1]){case"u":{c+=n.slice(d,f);const b=n.substr(f+2,4);switch(b){case"0000":c+="\\0";break;case"0007":c+="\\a";break;case"000b":c+="\\v";break;case"001b":c+="\\e";break;case"0085":c+="\\N";break;case"00a0":c+="\\_";break;case"2028":c+="\\L";break;case"2029":c+="\\P";break;default:b.substr(0,2)==="00"?c+="\\x"+b.substr(2):c+=n.substr(f,6)}f+=5,d=f+1}break;case"n":if(a||n[f+2]==='"'||n.length<s)f+=1;else{for(c+=n.slice(d,f)+`
|
|
393
393
|
|
|
394
394
|
`;n[f+2]==="\\"&&n[f+3]==="n"&&n[f+4]!=='"';)c+=`
|
|
@@ -397,21 +397,21 @@ ${t}${e.slice(T+1,L)}`)}return C}function L0(e,t,n){let a=t,s=t+1,l=e[s];for(;l=
|
|
|
397
397
|
${n}`)+"'";return t.implicitKey?a:sf(a,n,SE,lf(t,!1))}function wl(e,t){const{singleQuote:n}=t.options;let a;if(n===!1)a=cc;else{const s=e.includes('"'),l=e.includes("'");s&&!l?a=Pm:l&&!s?a=cc:a=n?Pm:cc}return a(e,t)}let Fm;try{Fm=new RegExp(`(^|(?<!
|
|
398
398
|
))
|
|
399
399
|
+(?!
|
|
400
|
-
|$)`,"g")}catch{Fm=/\n+(?!\n|$)/g}function Cd({comment:e,type:t,value:n},a,s,l){const{blockQuote:c,commentString:d,lineWidth:f}=a.options;if(!c||/\n[\t ]+$/.test(n))return wl(n,a);const h=a.indent||(a.forceBlockIndent||of(n)?" ":""),b=c==="literal"?!0:c==="folded"||t===
|
|
400
|
+
|$)`,"g")}catch{Fm=/\n+(?!\n|$)/g}function Cd({comment:e,type:t,value:n},a,s,l){const{blockQuote:c,commentString:d,lineWidth:f}=a.options;if(!c||/\n[\t ]+$/.test(n))return wl(n,a);const h=a.indent||(a.forceBlockIndent||of(n)?" ":""),b=c==="literal"?!0:c==="folded"||t===Fe.BLOCK_FOLDED?!1:t===Fe.BLOCK_LITERAL?!0:!qI(n,f,h.length);if(!n)return b?`|
|
|
401
401
|
`:`>
|
|
402
402
|
`;let m,x;for(x=n.length;x>0;--x){const L=n[x-1];if(L!==`
|
|
403
403
|
`&&L!==" "&&L!==" ")break}let v=n.substring(x);const E=v.indexOf(`
|
|
404
404
|
`);E===-1?m="-":n===v||E!==v.length-1?(m="+",l&&l()):m="",v&&(n=n.slice(0,-v.length),v[v.length-1]===`
|
|
405
405
|
`&&(v=v.slice(0,-1)),v=v.replace(Fm,`$&${h}`));let w=!1,k,N=-1;for(k=0;k<n.length;++k){const L=n[k];if(L===" ")w=!0;else if(L===`
|
|
406
406
|
`)N=k;else break}let C=n.substring(0,N<k?N+1:k);C&&(n=n.substring(C.length),C=C.replace(/\n+/g,`$&${h}`));let T=(w?h?"2":"1":"")+m;if(e&&(T+=" "+d(e.replace(/ ?[\r\n]+/g," ")),s&&s()),!b){const L=n.replace(/\n+/g,`
|
|
407
|
-
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${h}`);let M=!1;const U=lf(a,!0);c!=="folded"&&t!==
|
|
407
|
+
$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${h}`);let M=!1;const U=lf(a,!0);c!=="folded"&&t!==Fe.BLOCK_FOLDED&&(U.onOverflow=()=>{M=!0});const $=sf(`${C}${L}${v}`,h,Um,U);if(!M)return`>${T}
|
|
408
408
|
${h}${$}`}return n=n.replace(/\n+/g,`$&${h}`),`|${T}
|
|
409
|
-
${h}${C}${n}${v}`}function
|
|
409
|
+
${h}${C}${n}${v}`}function KI(e,t,n,a){const{type:s,value:l}=e,{actualString:c,implicitKey:d,indent:f,indentStep:h,inFlow:b}=t;if(d&&l.includes(`
|
|
410
410
|
`)||b&&/[[\]{},]/.test(l))return wl(l,t);if(/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(l))return d||b||!l.includes(`
|
|
411
|
-
`)?wl(l,t):Cd(e,t,n,a);if(!d&&!b&&s!==
|
|
411
|
+
`)?wl(l,t):Cd(e,t,n,a);if(!d&&!b&&s!==Fe.PLAIN&&l.includes(`
|
|
412
412
|
`))return Cd(e,t,n,a);if(of(l)){if(f==="")return t.forceBlockIndent=!0,Cd(e,t,n,a);if(d&&f===h)return wl(l,t)}const m=l.replace(/\n+/g,`$&
|
|
413
|
-
${f}`);if(c){const x=w=>{var k;return w.default&&w.tag!=="tag:yaml.org,2002:str"&&((k=w.test)==null?void 0:k.test(m))},{compat:v,tags:E}=t.doc.schema;if(E.some(x)||v!=null&&v.some(x))return wl(l,t)}return d?m:sf(m,f,SE,lf(t,!1))}function Dc(e,t,n,a){const{implicitKey:s,inFlow:l}=t,c=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:d}=e;d!==
|
|
414
|
-
${t.indent}${d}`:d}function
|
|
413
|
+
${f}`);if(c){const x=w=>{var k;return w.default&&w.tag!=="tag:yaml.org,2002:str"&&((k=w.test)==null?void 0:k.test(m))},{compat:v,tags:E}=t.doc.schema;if(E.some(x)||v!=null&&v.some(x))return wl(l,t)}return d?m:sf(m,f,SE,lf(t,!1))}function Dc(e,t,n,a){const{implicitKey:s,inFlow:l}=t,c=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)});let{type:d}=e;d!==Fe.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(c.value)&&(d=Fe.QUOTE_DOUBLE);const f=b=>{switch(b){case Fe.BLOCK_FOLDED:case Fe.BLOCK_LITERAL:return s||l?wl(c.value,t):Cd(c,t,n,a);case Fe.QUOTE_DOUBLE:return cc(c.value,t);case Fe.QUOTE_SINGLE:return Pm(c.value,t);case Fe.PLAIN:return KI(c,t,n,a);default:return null}};let h=f(d);if(h===null){const{defaultKeyType:b,defaultStringType:m}=t.options,x=s&&b||m;if(h=f(x),h===null)throw new Error(`Unsupported default string type ${x}`)}return h}function kE(e,t){const n=Object.assign({blockQuote:!0,commentString:HI,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trailingComma:!1,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t);let a;switch(n.collectionStyle){case"block":a=!1;break;case"flow":a=!0;break;default:a=null}return{anchors:new Set,doc:e,flowCollectionPadding:n.flowCollectionPadding?" ":"",indent:"",indentStep:typeof n.indent=="number"?" ".repeat(n.indent):" ",inFlow:a,options:n}}function GI(e,t){var s;if(t.tag){const l=e.filter(c=>c.tag===t.tag);if(l.length>0)return l.find(c=>c.format===t.format)??l[0]}let n,a;if(Nt(t)){a=t.value;let l=e.filter(c=>{var d;return(d=c.identify)==null?void 0:d.call(c,a)});if(l.length>1){const c=l.filter(d=>d.test);c.length>0&&(l=c)}n=l.find(c=>c.format===t.format)??l.find(c=>!c.format)}else a=t,n=e.find(l=>l.nodeClass&&a instanceof l.nodeClass);if(!n){const l=((s=a==null?void 0:a.constructor)==null?void 0:s.name)??(a===null?"null":typeof a);throw new Error(`Tag not resolved for ${l} value`)}return n}function VI(e,t,{anchors:n,doc:a}){if(!a.directives)return"";const s=[],l=(Nt(e)||zt(e))&&e.anchor;l&&yE(l)&&(n.add(l),s.push(`&${l}`));const c=e.tag??(t.default?null:t.tag);return c&&s.push(a.directives.tagString(c)),s.join(" ")}function Bl(e,t,n,a){var f;if(Dt(e))return e.toString(t,n,a);if(Tr(e)){if(t.doc.directives)return e.toString(t);if((f=t.resolvedAliases)!=null&&f.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let s;const l=Ut(e)?e:t.doc.createNode(e,{onTagObj:h=>s=h});s??(s=GI(t.doc.schema.tags,l));const c=VI(l,s,t);c.length>0&&(t.indentAtStart=(t.indentAtStart??0)+c.length+1);const d=typeof s.stringify=="function"?s.stringify(l,t,n,a):Nt(l)?Dc(l,t,n,a):l.toString(t,n,a);return c?Nt(l)||d[0]==="{"||d[0]==="["?`${c} ${d}`:`${c}
|
|
414
|
+
${t.indent}${d}`:d}function QI({key:e,value:t},n,a,s){const{allNullValues:l,doc:c,indent:d,indentStep:f,options:{commentString:h,indentSeq:b,simpleKeys:m}}=n;let x=Ut(e)&&e.comment||null;if(m){if(x)throw new Error("With simple keys, key nodes cannot have comments");if(zt(e)||!Ut(e)&&typeof e=="object"){const U="With simple keys, collection cannot be used as a key value";throw new Error(U)}}let v=!m&&(!e||x&&t==null&&!n.inFlow||zt(e)||(Nt(e)?e.type===Fe.BLOCK_FOLDED||e.type===Fe.BLOCK_LITERAL:typeof e=="object"));n=Object.assign({},n,{allNullValues:!1,implicitKey:!v&&(m||!l),indent:d+f});let E=!1,w=!1,k=Bl(e,n,()=>E=!0,()=>w=!0);if(!v&&!n.inFlow&&k.length>1024){if(m)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");v=!0}if(n.inFlow){if(l||t==null)return E&&a&&a(),k===""?"?":v?`? ${k}`:k}else if(l&&!m||t==null&&v)return k=`? ${k}`,x&&!E?k+=ts(k,n.indent,h(x)):w&&s&&s(),k;E&&(x=null),v?(x&&(k+=ts(k,n.indent,h(x))),k=`? ${k}
|
|
415
415
|
${d}:`):(k=`${k}:`,x&&(k+=ts(k,n.indent,h(x))));let N,C,A;Ut(t)?(N=!!t.spaceBefore,C=t.commentBefore,A=t.comment):(N=!1,C=null,A=null,t&&typeof t=="object"&&(t=c.createNode(t))),n.implicitKey=!1,!v&&!x&&Nt(t)&&(n.indentAtStart=k.length+1),w=!1,!b&&f.length>=2&&!n.inFlow&&!v&&Ql(t)&&!t.flow&&!t.tag&&!t.anchor&&(n.indent=n.indent.substring(2));let T=!1;const L=Bl(t,n,()=>T=!0,()=>w=!0);let M=" ";if(x||N||C){if(M=N?`
|
|
416
416
|
`:"",C){const U=h(C);M+=`
|
|
417
417
|
${Ra(U,n.indent)}`}L===""&&!n.inFlow?M===`
|
|
@@ -421,34 +421,34 @@ ${Ra(U,n.indent)}`}L===""&&!n.inFlow?M===`
|
|
|
421
421
|
${n.indent}`}else if(!v&&zt(t)){const U=L[0],$=L.indexOf(`
|
|
422
422
|
`),te=$!==-1,P=n.inFlow??t.flow??t.items.length===0;if(te||!P){let Q=!1;if(te&&(U==="&"||U==="!")){let J=L.indexOf(" ");U==="&"&&J!==-1&&J<$&&L[J+1]==="!"&&(J=L.indexOf(" ",J+1)),(J===-1||$<J)&&(Q=!0)}Q||(M=`
|
|
423
423
|
${n.indent}`)}}else(L===""||L[0]===`
|
|
424
|
-
`)&&(M="");return k+=M+L,n.inFlow?T&&a&&a():A&&!T?k+=ts(k,n.indent,h(A)):w&&s&&s(),k}function NE(e,t){(e==="debug"||e==="warn")&&console.warn(t)}const ld="<<",ja={identify:e=>e===ld||typeof e=="symbol"&&e.description===ld,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new
|
|
424
|
+
`)&&(M="");return k+=M+L,n.inFlow?T&&a&&a():A&&!T?k+=ts(k,n.indent,h(A)):w&&s&&s(),k}function NE(e,t){(e==="debug"||e==="warn")&&console.warn(t)}const ld="<<",ja={identify:e=>e===ld||typeof e=="symbol"&&e.description===ld,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new Fe(Symbol(ld)),{addToJSMap:_E}),stringify:()=>ld},YI=(e,t)=>(ja.identify(t)||Nt(t)&&(!t.type||t.type===Fe.PLAIN)&&ja.identify(t.value))&&(e==null?void 0:e.doc.schema.tags.some(n=>n.tag===ja.tag&&n.default));function _E(e,t,n){if(n=e&&Tr(n)?n.resolve(e.doc):n,Ql(n))for(const a of n.items)Bp(e,t,a);else if(Array.isArray(n))for(const a of n)Bp(e,t,a);else Bp(e,t,n)}function Bp(e,t,n){const a=e&&Tr(n)?n.resolve(e.doc):n;if(!Vl(a))throw new Error("Merge sources must be maps or map aliases");const s=a.toJSON(null,e,Map);for(const[l,c]of s)t instanceof Map?t.has(l)||t.set(l,c):t instanceof Set?t.add(l):Object.prototype.hasOwnProperty.call(t,l)||Object.defineProperty(t,l,{value:c,writable:!0,enumerable:!0,configurable:!0});return t}function CE(e,t,{key:n,value:a}){if(Ut(n)&&n.addToJSMap)n.addToJSMap(e,t,a);else if(YI(e,n))_E(e,t,a);else{const s=Ni(n,"",e);if(t instanceof Map)t.set(s,Ni(a,s,e));else if(t instanceof Set)t.add(s);else{const l=WI(n,s,e),c=Ni(a,l,e);l in t?Object.defineProperty(t,l,{value:c,writable:!0,enumerable:!0,configurable:!0}):t[l]=c}}return t}function WI(e,t,n){if(t===null)return"";if(typeof t!="object")return String(t);if(Ut(e)&&(n!=null&&n.doc)){const a=kE(n.doc,{});a.anchors=new Set;for(const l of n.anchors.keys())a.anchors.add(l.anchor);a.inFlow=!0,a.inStringifyKey=!0;const s=e.toString(a);if(!n.mapKeyWarned){let l=JSON.stringify(s);l.length>40&&(l=l.substring(0,36)+'..."'),NE(n.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${l}. Set mapAsMap: true to use object keys.`),n.mapKeyWarned=!0}return s}return JSON.stringify(t)}function kg(e,t,n){const a=vc(e,void 0,n),s=vc(t,void 0,n);return new wn(a,s)}class wn{constructor(t,n=null){Object.defineProperty(this,Ai,{value:fE}),this.key=t,this.value=n}clone(t){let{key:n,value:a}=this;return Ut(n)&&(n=n.clone(t)),Ut(a)&&(a=a.clone(t)),new wn(n,a)}toJSON(t,n){const a=n!=null&&n.mapAsMap?new Map:{};return CE(n,a,this)}toString(t,n,a){return t!=null&&t.doc?QI(this,t,n,a):JSON.stringify(this)}}function AE(e,t,n){return(t.inFlow??e.flow?ZI:XI)(e,t,n)}function XI({comment:e,items:t},n,{blockItemPrefix:a,flowChars:s,itemIndent:l,onChompKeep:c,onComment:d}){const{indent:f,options:{commentString:h}}=n,b=Object.assign({},n,{indent:l,type:null});let m=!1;const x=[];for(let E=0;E<t.length;++E){const w=t[E];let k=null;if(Ut(w))!m&&w.spaceBefore&&x.push(""),Pd(n,x,w.commentBefore,m),w.comment&&(k=w.comment);else if(Dt(w)){const C=Ut(w.key)?w.key:null;C&&(!m&&C.spaceBefore&&x.push(""),Pd(n,x,C.commentBefore,m))}m=!1;let N=Bl(w,b,()=>k=null,()=>m=!0);k&&(N+=ts(N,l,h(k))),m&&k&&(m=!1),x.push(a+N)}let v;if(x.length===0)v=s.start+s.end;else{v=x[0];for(let E=1;E<x.length;++E){const w=x[E];v+=w?`
|
|
425
425
|
${f}${w}`:`
|
|
426
426
|
`}}return e?(v+=`
|
|
427
|
-
`+Ra(h(e),f),d&&d()):m&&c&&c(),v}function
|
|
427
|
+
`+Ra(h(e),f),d&&d()):m&&c&&c(),v}function ZI({items:e},t,{flowChars:n,itemIndent:a}){const{indent:s,indentStep:l,flowCollectionPadding:c,options:{commentString:d}}=t;a+=l;const f=Object.assign({},t,{indent:a,inFlow:!0,type:null});let h=!1,b=0;const m=[];for(let E=0;E<e.length;++E){const w=e[E];let k=null;if(Ut(w))w.spaceBefore&&m.push(""),Pd(t,m,w.commentBefore,!1),w.comment&&(k=w.comment);else if(Dt(w)){const C=Ut(w.key)?w.key:null;C&&(C.spaceBefore&&m.push(""),Pd(t,m,C.commentBefore,!1),C.comment&&(h=!0));const A=Ut(w.value)?w.value:null;A?(A.comment&&(k=A.comment),A.commentBefore&&(h=!0)):w.value==null&&(C!=null&&C.comment)&&(k=C.comment)}k&&(h=!0);let N=Bl(w,f,()=>k=null);h||(h=m.length>b||N.includes(`
|
|
428
428
|
`)),E<e.length-1?N+=",":t.options.trailingComma&&(t.options.lineWidth>0&&(h||(h=m.reduce((C,A)=>C+A.length+2,2)+(N.length+2)>t.options.lineWidth)),h&&(N+=",")),k&&(N+=ts(N,a,d(k))),m.push(N),b=m.length}const{start:x,end:v}=n;if(m.length===0)return x+v;if(!h){const E=m.reduce((w,k)=>w+k.length+2,2);h=t.options.lineWidth>0&&E>t.options.lineWidth}if(h){let E=x;for(const w of m)E+=w?`
|
|
429
429
|
${l}${s}${w}`:`
|
|
430
430
|
`;return`${E}
|
|
431
|
-
${s}${v}`}else return`${x}${c}${m.join(" ")}${c}${v}`}function Pd({indent:e,options:{commentString:t}},n,a,s){if(a&&s&&(a=a.replace(/^\n+/,"")),a){const l=Ra(t(a),e);n.push(l.trimStart())}}function ns(e,t){const n=Nt(t)?t.value:t;for(const a of e)if(Dt(a)&&(a.key===t||a.key===n||Nt(a.key)&&a.key.value===n))return a}class li extends EE{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Nr,t),this.items=[]}static from(t,n,a){const{keepUndefined:s,replacer:l}=a,c=new this(t),d=(f,h)=>{if(typeof l=="function")h=l.call(n,f,h);else if(Array.isArray(l)&&!l.includes(f))return;(h!==void 0||s)&&c.items.push(kg(f,h,a))};if(n instanceof Map)for(const[f,h]of n)d(f,h);else if(n&&typeof n=="object")for(const f of Object.keys(n))d(f,n[f]);return typeof t.sortMapEntries=="function"&&c.items.sort(t.sortMapEntries),c}add(t,n){var c;let a;Dt(t)?a=t:!t||typeof t!="object"||!("key"in t)?a=new wn(t,t==null?void 0:t.value):a=new wn(t.key,t.value);const s=ns(this.items,a.key),l=(c=this.schema)==null?void 0:c.sortMapEntries;if(s){if(!n)throw new Error(`Key ${a.key} already set`);Nt(s.value)&&wE(a.value)?s.value.value=a.value:s.value=a.value}else if(l){const d=this.items.findIndex(f=>l(a,f)<0);d===-1?this.items.push(a):this.items.splice(d,0,a)}else this.items.push(a)}delete(t){const n=ns(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const a=ns(this.items,t),s=a==null?void 0:a.value;return(!n&&Nt(s)?s.value:s)??void 0}has(t){return!!ns(this.items,t)}set(t,n){this.add(new wn(t,n),!0)}toJSON(t,n,a){const s=a?new a:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(s);for(const l of this.items)CE(n,s,l);return s}toString(t,n,a){if(!t)return JSON.stringify(this);for(const s of this.items)if(!Dt(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),AE(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:a,onComment:n})}}const Yl={collection:"map",default:!0,nodeClass:li,tag:"tag:yaml.org,2002:map",resolve(e,t){return Vl(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>li.from(e,t,n)};class _r extends EE{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Gl,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=od(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const a=od(t);if(typeof a!="number")return;const s=this.items[a];return!n&&Nt(s)?s.value:s}has(t){const n=od(t);return typeof n=="number"&&n<this.items.length}set(t,n){const a=od(t);if(typeof a!="number")throw new Error(`Expected a valid index, not ${t}.`);const s=this.items[a];Nt(s)&&wE(n)?s.value=n:this.items[a]=n}toJSON(t,n){const a=[];n!=null&&n.onCreate&&n.onCreate(a);let s=0;for(const l of this.items)a.push(Ni(l,String(s++),n));return a}toString(t,n,a){return t?AE(this,t,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(t.indent||"")+" ",onChompKeep:a,onComment:n}):JSON.stringify(this)}static from(t,n,a){const{replacer:s}=a,l=new this(t);if(n&&Symbol.iterator in Object(n)){let c=0;for(let d of n){if(typeof s=="function"){const f=n instanceof Set?d:String(c++);d=s.call(n,f,d)}l.items.push(vc(d,void 0,a))}}return l}}function od(e){let t=Nt(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}const Wl={collection:"seq",default:!0,nodeClass:_r,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Ql(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>_r.from(e,t,n)},cf={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,a){return t=Object.assign({actualString:!0},t),Dc(e,t,n,a)}},uf={identify:e=>e==null,createNode:()=>new
|
|
432
|
-
`:" ")}return Dc({comment:e,type:t,value:d},a,s,l)}};function IE(e,t){if(Ql(e))for(let n=0;n<e.items.length;++n){let a=e.items[n];if(!Dt(a)){if(Vl(a)){a.items.length>1&&t("Each pair must have its own sequence indicator");const s=a.items[0]||new wn(new
|
|
431
|
+
${s}${v}`}else return`${x}${c}${m.join(" ")}${c}${v}`}function Pd({indent:e,options:{commentString:t}},n,a,s){if(a&&s&&(a=a.replace(/^\n+/,"")),a){const l=Ra(t(a),e);n.push(l.trimStart())}}function ns(e,t){const n=Nt(t)?t.value:t;for(const a of e)if(Dt(a)&&(a.key===t||a.key===n||Nt(a.key)&&a.key.value===n))return a}class li extends EE{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(Nr,t),this.items=[]}static from(t,n,a){const{keepUndefined:s,replacer:l}=a,c=new this(t),d=(f,h)=>{if(typeof l=="function")h=l.call(n,f,h);else if(Array.isArray(l)&&!l.includes(f))return;(h!==void 0||s)&&c.items.push(kg(f,h,a))};if(n instanceof Map)for(const[f,h]of n)d(f,h);else if(n&&typeof n=="object")for(const f of Object.keys(n))d(f,n[f]);return typeof t.sortMapEntries=="function"&&c.items.sort(t.sortMapEntries),c}add(t,n){var c;let a;Dt(t)?a=t:!t||typeof t!="object"||!("key"in t)?a=new wn(t,t==null?void 0:t.value):a=new wn(t.key,t.value);const s=ns(this.items,a.key),l=(c=this.schema)==null?void 0:c.sortMapEntries;if(s){if(!n)throw new Error(`Key ${a.key} already set`);Nt(s.value)&&wE(a.value)?s.value.value=a.value:s.value=a.value}else if(l){const d=this.items.findIndex(f=>l(a,f)<0);d===-1?this.items.push(a):this.items.splice(d,0,a)}else this.items.push(a)}delete(t){const n=ns(this.items,t);return n?this.items.splice(this.items.indexOf(n),1).length>0:!1}get(t,n){const a=ns(this.items,t),s=a==null?void 0:a.value;return(!n&&Nt(s)?s.value:s)??void 0}has(t){return!!ns(this.items,t)}set(t,n){this.add(new wn(t,n),!0)}toJSON(t,n,a){const s=a?new a:n!=null&&n.mapAsMap?new Map:{};n!=null&&n.onCreate&&n.onCreate(s);for(const l of this.items)CE(n,s,l);return s}toString(t,n,a){if(!t)return JSON.stringify(this);for(const s of this.items)if(!Dt(s))throw new Error(`Map items must all be pairs; found ${JSON.stringify(s)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),AE(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:a,onComment:n})}}const Yl={collection:"map",default:!0,nodeClass:li,tag:"tag:yaml.org,2002:map",resolve(e,t){return Vl(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,n)=>li.from(e,t,n)};class _r extends EE{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(Gl,t),this.items=[]}add(t){this.items.push(t)}delete(t){const n=od(t);return typeof n!="number"?!1:this.items.splice(n,1).length>0}get(t,n){const a=od(t);if(typeof a!="number")return;const s=this.items[a];return!n&&Nt(s)?s.value:s}has(t){const n=od(t);return typeof n=="number"&&n<this.items.length}set(t,n){const a=od(t);if(typeof a!="number")throw new Error(`Expected a valid index, not ${t}.`);const s=this.items[a];Nt(s)&&wE(n)?s.value=n:this.items[a]=n}toJSON(t,n){const a=[];n!=null&&n.onCreate&&n.onCreate(a);let s=0;for(const l of this.items)a.push(Ni(l,String(s++),n));return a}toString(t,n,a){return t?AE(this,t,{blockItemPrefix:"- ",flowChars:{start:"[",end:"]"},itemIndent:(t.indent||"")+" ",onChompKeep:a,onComment:n}):JSON.stringify(this)}static from(t,n,a){const{replacer:s}=a,l=new this(t);if(n&&Symbol.iterator in Object(n)){let c=0;for(let d of n){if(typeof s=="function"){const f=n instanceof Set?d:String(c++);d=s.call(n,f,d)}l.items.push(vc(d,void 0,a))}}return l}}function od(e){let t=Nt(e)?e.value:e;return t&&typeof t=="string"&&(t=Number(t)),typeof t=="number"&&Number.isInteger(t)&&t>=0?t:null}const Wl={collection:"seq",default:!0,nodeClass:_r,tag:"tag:yaml.org,2002:seq",resolve(e,t){return Ql(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,n)=>_r.from(e,t,n)},cf={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,n,a){return t=Object.assign({actualString:!0},t),Dc(e,t,n,a)}},uf={identify:e=>e==null,createNode:()=>new Fe(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new Fe(null),stringify:({source:e},t)=>typeof e=="string"&&uf.test.test(e)?e:t.options.nullStr},Ng={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new Fe(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},n){if(e&&Ng.test.test(e)){const a=e[0]==="t"||e[0]==="T";if(t===a)return e}return t?n.options.trueStr:n.options.falseStr}};function Fi({format:e,minFractionDigits:t,tag:n,value:a}){if(typeof a=="bigint")return String(a);const s=typeof a=="number"?a:Number(a);if(!isFinite(s))return isNaN(s)?".nan":s<0?"-.inf":".inf";let l=Object.is(a,-0)?"-0":JSON.stringify(a);if(!e&&t&&(!n||n==="tag:yaml.org,2002:float")&&/^\d/.test(l)){let c=l.indexOf(".");c<0&&(c=l.length,l+=".");let d=t-(l.length-c-1);for(;d-- >0;)l+="0"}return l}const TE={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Fi},OE={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Fi(e)}},RE={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){const t=new Fe(parseFloat(e)),n=e.indexOf(".");return n!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-n-1),t},stringify:Fi},df=e=>typeof e=="bigint"||Number.isInteger(e),_g=(e,t,n,{intAsBigInt:a})=>a?BigInt(e):parseInt(e.substring(t),n);function jE(e,t,n){const{value:a}=e;return df(a)&&a>=0?n+a.toString(t):Fi(e)}const ME={identify:e=>df(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,n)=>_g(e,2,8,n),stringify:e=>jE(e,8,"0o")},DE={identify:df,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,n)=>_g(e,0,10,n),stringify:Fi},LE={identify:e=>df(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,n)=>_g(e,2,16,n),stringify:e=>jE(e,16,"0x")},JI=[Yl,Wl,cf,uf,Ng,ME,DE,LE,TE,OE,RE];function I0(e){return typeof e=="bigint"||Number.isInteger(e)}const cd=({value:e})=>JSON.stringify(e),e3=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:cd},{identify:e=>e==null,createNode:()=>new Fe(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:cd},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:cd},{identify:I0,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:n})=>n?BigInt(e):parseInt(e,10),stringify:({value:e})=>I0(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:cd}],t3={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},n3=[Yl,Wl].concat(e3,t3),Cg={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof atob=="function"){const n=atob(e.replace(/[\n\r]/g,"")),a=new Uint8Array(n.length);for(let s=0;s<n.length;++s)a[s]=n.charCodeAt(s);return a}else return t("This environment does not support reading binary tags; either Buffer or atob is required"),e},stringify({comment:e,type:t,value:n},a,s,l){if(!n)return"";const c=n;let d;if(typeof btoa=="function"){let f="";for(let h=0;h<c.length;++h)f+=String.fromCharCode(c[h]);d=btoa(f)}else throw new Error("This environment does not support writing binary tags; either Buffer or btoa is required");if(t??(t=Fe.BLOCK_LITERAL),t!==Fe.QUOTE_DOUBLE){const f=Math.max(a.options.lineWidth-a.indent.length,a.options.minContentWidth),h=Math.ceil(d.length/f),b=new Array(h);for(let m=0,x=0;m<h;++m,x+=f)b[m]=d.substr(x,f);d=b.join(t===Fe.BLOCK_LITERAL?`
|
|
432
|
+
`:" ")}return Dc({comment:e,type:t,value:d},a,s,l)}};function IE(e,t){if(Ql(e))for(let n=0;n<e.items.length;++n){let a=e.items[n];if(!Dt(a)){if(Vl(a)){a.items.length>1&&t("Each pair must have its own sequence indicator");const s=a.items[0]||new wn(new Fe(null));if(a.commentBefore&&(s.key.commentBefore=s.key.commentBefore?`${a.commentBefore}
|
|
433
433
|
${s.key.commentBefore}`:a.commentBefore),a.comment){const l=s.value??s.key;l.comment=l.comment?`${a.comment}
|
|
434
|
-
${l.comment}`:a.comment}a=s}e.items[n]=Dt(a)?a:new wn(a)}}else t("Expected a sequence for this tag");return e}function zE(e,t,n){const{replacer:a}=n,s=new _r(e);s.tag="tag:yaml.org,2002:pairs";let l=0;if(t&&Symbol.iterator in Object(t))for(let c of t){typeof a=="function"&&(c=a.call(t,String(l++),c));let d,f;if(Array.isArray(c))if(c.length===2)d=c[0],f=c[1];else throw new TypeError(`Expected [key, value] tuple: ${c}`);else if(c&&c instanceof Object){const h=Object.keys(c);if(h.length===1)d=h[0],f=c[d];else throw new TypeError(`Expected tuple with one key, not ${h.length} keys`)}else d=c;s.items.push(kg(d,f,n))}return s}const Ag={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:IE,createNode:zE};class El extends _r{constructor(){super(),this.add=li.prototype.add.bind(this),this.delete=li.prototype.delete.bind(this),this.get=li.prototype.get.bind(this),this.has=li.prototype.has.bind(this),this.set=li.prototype.set.bind(this),this.tag=El.tag}toJSON(t,n){if(!n)return super.toJSON(t);const a=new Map;n!=null&&n.onCreate&&n.onCreate(a);for(const s of this.items){let l,c;if(Dt(s)?(l=Ni(s.key,"",n),c=Ni(s.value,l,n)):l=Ni(s,"",n),a.has(l))throw new Error("Ordered maps must not include duplicate keys");a.set(l,c)}return a}static from(t,n,a){const s=zE(t,n,a),l=new this;return l.items=s.items,l}}El.tag="tag:yaml.org,2002:omap";const Tg={collection:"seq",identify:e=>e instanceof Map,nodeClass:El,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=IE(e,t),a=[];for(const{key:s}of n.items)Nt(s)&&(a.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):a.push(s.value));return Object.assign(new El,n)},createNode:(e,t,n)=>El.from(e,t,n)};function BE({value:e,source:t},n){return t&&(e?UE:PE).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const UE={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new
|
|
434
|
+
${l.comment}`:a.comment}a=s}e.items[n]=Dt(a)?a:new wn(a)}}else t("Expected a sequence for this tag");return e}function zE(e,t,n){const{replacer:a}=n,s=new _r(e);s.tag="tag:yaml.org,2002:pairs";let l=0;if(t&&Symbol.iterator in Object(t))for(let c of t){typeof a=="function"&&(c=a.call(t,String(l++),c));let d,f;if(Array.isArray(c))if(c.length===2)d=c[0],f=c[1];else throw new TypeError(`Expected [key, value] tuple: ${c}`);else if(c&&c instanceof Object){const h=Object.keys(c);if(h.length===1)d=h[0],f=c[d];else throw new TypeError(`Expected tuple with one key, not ${h.length} keys`)}else d=c;s.items.push(kg(d,f,n))}return s}const Ag={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:IE,createNode:zE};class El extends _r{constructor(){super(),this.add=li.prototype.add.bind(this),this.delete=li.prototype.delete.bind(this),this.get=li.prototype.get.bind(this),this.has=li.prototype.has.bind(this),this.set=li.prototype.set.bind(this),this.tag=El.tag}toJSON(t,n){if(!n)return super.toJSON(t);const a=new Map;n!=null&&n.onCreate&&n.onCreate(a);for(const s of this.items){let l,c;if(Dt(s)?(l=Ni(s.key,"",n),c=Ni(s.value,l,n)):l=Ni(s,"",n),a.has(l))throw new Error("Ordered maps must not include duplicate keys");a.set(l,c)}return a}static from(t,n,a){const s=zE(t,n,a),l=new this;return l.items=s.items,l}}El.tag="tag:yaml.org,2002:omap";const Tg={collection:"seq",identify:e=>e instanceof Map,nodeClass:El,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){const n=IE(e,t),a=[];for(const{key:s}of n.items)Nt(s)&&(a.includes(s.value)?t(`Ordered maps must not include duplicate keys: ${s.value}`):a.push(s.value));return Object.assign(new El,n)},createNode:(e,t,n)=>El.from(e,t,n)};function BE({value:e,source:t},n){return t&&(e?UE:PE).test.test(t)?t:e?n.options.trueStr:n.options.falseStr}const UE={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new Fe(!0),stringify:BE},PE={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new Fe(!1),stringify:BE},i3={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:Fi},a3={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){const t=Number(e.value);return isFinite(t)?t.toExponential():Fi(e)}},r3={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){const t=new Fe(parseFloat(e.replace(/_/g,""))),n=e.indexOf(".");if(n!==-1){const a=e.substring(n+1).replace(/_/g,"");a[a.length-1]==="0"&&(t.minFractionDigits=a.length)}return t},stringify:Fi},Lc=e=>typeof e=="bigint"||Number.isInteger(e);function ff(e,t,n,{intAsBigInt:a}){const s=e[0];if((s==="-"||s==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),a){switch(n){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}const c=BigInt(e);return s==="-"?BigInt(-1)*c:c}const l=parseInt(e,n);return s==="-"?-1*l:l}function Og(e,t,n){const{value:a}=e;if(Lc(a)){const s=a.toString(t);return a<0?"-"+n+s.substr(1):n+s}return Fi(e)}const s3={identify:Lc,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,n)=>ff(e,2,2,n),stringify:e=>Og(e,2,"0b")},l3={identify:Lc,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,n)=>ff(e,1,8,n),stringify:e=>Og(e,8,"0")},o3={identify:Lc,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,n)=>ff(e,0,10,n),stringify:Fi},c3={identify:Lc,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,n)=>ff(e,2,16,n),stringify:e=>Og(e,16,"0x")};class Sl extends li{constructor(t){super(t),this.tag=Sl.tag}add(t){let n;Dt(t)?n=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?n=new wn(t.key,null):n=new wn(t,null),ns(this.items,n.key)||this.items.push(n)}get(t,n){const a=ns(this.items,t);return!n&&Dt(a)?Nt(a.key)?a.key.value:a.key:a}set(t,n){if(typeof n!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof n}`);const a=ns(this.items,t);a&&!n?this.items.splice(this.items.indexOf(a),1):!a&&n&&this.items.push(new wn(t))}toJSON(t,n){return super.toJSON(t,n,Set)}toString(t,n,a){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),n,a);throw new Error("Set items must all have null values")}static from(t,n,a){const{replacer:s}=a,l=new this(t);if(n&&Symbol.iterator in Object(n))for(let c of n)typeof s=="function"&&(c=s.call(n,c,c)),l.items.push(kg(c,null,a));return l}}Sl.tag="tag:yaml.org,2002:set";const Rg={collection:"map",identify:e=>e instanceof Set,nodeClass:Sl,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,n)=>Sl.from(e,t,n),resolve(e,t){if(Vl(e)){if(e.hasAllNullValues(!0))return Object.assign(new Sl,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};function jg(e,t){const n=e[0],a=n==="-"||n==="+"?e.substring(1):e,s=c=>t?BigInt(c):Number(c),l=a.replace(/_/g,"").split(":").reduce((c,d)=>c*s(60)+s(d),s(0));return n==="-"?s(-1)*l:l}function FE(e){let{value:t}=e,n=c=>c;if(typeof t=="bigint")n=c=>BigInt(c);else if(isNaN(t)||!isFinite(t))return Fi(e);let a="";t<0&&(a="-",t*=n(-1));const s=n(60),l=[t%s];return t<60?l.unshift(0):(t=(t-l[0])/s,l.unshift(t%s),t>=60&&(t=(t-l[0])/s,l.unshift(t))),a+l.map(c=>String(c).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}const $E={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:n})=>jg(e,n),stringify:FE},HE={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>jg(e,!1),stringify:FE},hf={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){const t=e.match(hf.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");const[,n,a,s,l,c,d]=t.map(Number),f=t[7]?Number((t[7]+"00").substr(1,3)):0;let h=Date.UTC(n,a-1,s,l||0,c||0,d||0,f);const b=t[8];if(b&&b!=="Z"){let m=jg(b,!1);Math.abs(m)<30&&(m*=60),h-=6e4*m}return new Date(h)},stringify:({value:e})=>(e==null?void 0:e.toISOString().replace(/(T00:00:00)?\.000Z$/,""))??""},z0=[Yl,Wl,cf,uf,UE,PE,s3,l3,o3,c3,i3,a3,r3,Cg,ja,Tg,Ag,Rg,$E,HE,hf],B0=new Map([["core",JI],["failsafe",[Yl,Wl,cf]],["json",n3],["yaml11",z0],["yaml-1.1",z0]]),U0={binary:Cg,bool:Ng,float:RE,floatExp:OE,floatNaN:TE,floatTime:HE,int:DE,intHex:LE,intOct:ME,intTime:$E,map:Yl,merge:ja,null:uf,omap:Tg,pairs:Ag,seq:Wl,set:Rg,timestamp:hf},u3={"tag:yaml.org,2002:binary":Cg,"tag:yaml.org,2002:merge":ja,"tag:yaml.org,2002:omap":Tg,"tag:yaml.org,2002:pairs":Ag,"tag:yaml.org,2002:set":Rg,"tag:yaml.org,2002:timestamp":hf};function Up(e,t,n){const a=B0.get(t);if(a&&!e)return n&&!a.includes(ja)?a.concat(ja):a.slice();let s=a;if(!s)if(Array.isArray(e))s=[];else{const l=Array.from(B0.keys()).filter(c=>c!=="yaml11").map(c=>JSON.stringify(c)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${l} or define customTags array`)}if(Array.isArray(e))for(const l of e)s=s.concat(l);else typeof e=="function"&&(s=e(s.slice()));return n&&(s=s.concat(ja)),s.reduce((l,c)=>{const d=typeof c=="string"?U0[c]:c;if(!d){const f=JSON.stringify(c),h=Object.keys(U0).map(b=>JSON.stringify(b)).join(", ");throw new Error(`Unknown custom tag ${f}; use one of ${h}`)}return l.includes(d)||l.push(d),l},[])}const d3=(e,t)=>e.key<t.key?-1:e.key>t.key?1:0;let qE=class KE{constructor({compat:t,customTags:n,merge:a,resolveKnownTags:s,schema:l,sortMapEntries:c,toStringDefaults:d}){this.compat=Array.isArray(t)?Up(t,"compat"):t?Up(null,t):null,this.name=typeof l=="string"&&l||"core",this.knownTags=s?u3:{},this.tags=Up(n,this.name,a),this.toStringOptions=d??null,Object.defineProperty(this,Nr,{value:Yl}),Object.defineProperty(this,ia,{value:cf}),Object.defineProperty(this,Gl,{value:Wl}),this.sortMapEntries=typeof c=="function"?c:c===!0?d3:null}clone(){const t=Object.create(KE.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};function f3(e,t){var f;const n=[];let a=t.directives===!0;if(t.directives!==!1&&e.directives){const h=e.directives.toString(e);h?(n.push(h),a=!0):e.directives.docStart&&(a=!0)}a&&n.push("---");const s=kE(e,t),{commentString:l}=s.options;if(e.commentBefore){n.length!==1&&n.unshift("");const h=l(e.commentBefore);n.unshift(Ra(h,""))}let c=!1,d=null;if(e.contents){if(Ut(e.contents)){if(e.contents.spaceBefore&&a&&n.push(""),e.contents.commentBefore){const m=l(e.contents.commentBefore);n.push(Ra(m,""))}s.forceBlockIndent=!!e.comment,d=e.contents.comment}const h=d?void 0:()=>c=!0;let b=Bl(e.contents,s,()=>d=null,h);d&&(b+=ts(b,"",l(d))),(b[0]==="|"||b[0]===">")&&n[n.length-1]==="---"?n[n.length-1]=`--- ${b}`:n.push(b)}else n.push(Bl(e.contents,s));if((f=e.directives)!=null&&f.docEnd)if(e.comment){const h=l(e.comment);h.includes(`
|
|
435
435
|
`)?(n.push("..."),n.push(Ra(h,""))):n.push(`... ${h}`)}else n.push("...");else{let h=e.comment;h&&c&&(h=h.replace(/^\n+/,"")),h&&((!c||d)&&n[n.length-1]!==""&&n.push(""),n.push(Ra(l(h),"")))}return n.join(`
|
|
436
436
|
`)+`
|
|
437
|
-
`}class Xl{constructor(t,n,a){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Ai,{value:Bm});let s=null;typeof n=="function"||Array.isArray(n)?s=n:a===void 0&&n&&(a=n,n=void 0);const l=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},a);this.options=l;let{version:c}=l;a!=null&&a._directives?(this.directives=a._directives.atDocument(),this.directives.yaml.explicit&&(c=this.directives.yaml.version)):this.directives=new On({version:c}),this.setSchema(c,a),this.contents=t===void 0?null:this.createNode(t,s,a)}clone(){const t=Object.create(Xl.prototype,{[Ai]:{value:Bm}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=Ut(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){dl(this.contents)&&this.contents.add(t)}addIn(t,n){dl(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const a=xE(this);t.anchor=!n||a.has(n)?vE(n||"a",a):n}return new rf(t.anchor)}createNode(t,n,a){let s;if(typeof n=="function")t=n.call({"":t},"",t),s=n;else if(Array.isArray(n)){const k=C=>typeof C=="number"||C instanceof String||C instanceof Number,N=n.filter(k).map(String);N.length>0&&(n=n.concat(N)),s=n}else a===void 0&&n&&(a=n,n=void 0);const{aliasDuplicateObjects:l,anchorPrefix:c,flow:d,keepUndefined:f,onTagObj:h,tag:b}=a??{},{onAnchor:m,setAnchors:x,sourceObjects:v}=
|
|
437
|
+
`}class Xl{constructor(t,n,a){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,Ai,{value:Bm});let s=null;typeof n=="function"||Array.isArray(n)?s=n:a===void 0&&n&&(a=n,n=void 0);const l=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},a);this.options=l;let{version:c}=l;a!=null&&a._directives?(this.directives=a._directives.atDocument(),this.directives.yaml.explicit&&(c=this.directives.yaml.version)):this.directives=new On({version:c}),this.setSchema(c,a),this.contents=t===void 0?null:this.createNode(t,s,a)}clone(){const t=Object.create(Xl.prototype,{[Ai]:{value:Bm}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=Ut(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){dl(this.contents)&&this.contents.add(t)}addIn(t,n){dl(this.contents)&&this.contents.addIn(t,n)}createAlias(t,n){if(!t.anchor){const a=xE(this);t.anchor=!n||a.has(n)?vE(n||"a",a):n}return new rf(t.anchor)}createNode(t,n,a){let s;if(typeof n=="function")t=n.call({"":t},"",t),s=n;else if(Array.isArray(n)){const k=C=>typeof C=="number"||C instanceof String||C instanceof Number,N=n.filter(k).map(String);N.length>0&&(n=n.concat(N)),s=n}else a===void 0&&n&&(a=n,n=void 0);const{aliasDuplicateObjects:l,anchorPrefix:c,flow:d,keepUndefined:f,onTagObj:h,tag:b}=a??{},{onAnchor:m,setAnchors:x,sourceObjects:v}=PI(this,c||"a"),E={aliasDuplicateObjects:l??!0,keepUndefined:f??!1,onAnchor:m,onTagObj:h,replacer:s,schema:this.schema,sourceObjects:v},w=vc(t,b,E);return d&&zt(w)&&(w.flow=!0),x(),w}createPair(t,n,a={}){const s=this.createNode(t,null,a),l=this.createNode(n,null,a);return new wn(s,l)}delete(t){return dl(this.contents)?this.contents.delete(t):!1}deleteIn(t){return lc(t)?this.contents==null?!1:(this.contents=null,!0):dl(this.contents)?this.contents.deleteIn(t):!1}get(t,n){return zt(this.contents)?this.contents.get(t,n):void 0}getIn(t,n){return lc(t)?!n&&Nt(this.contents)?this.contents.value:this.contents:zt(this.contents)?this.contents.getIn(t,n):void 0}has(t){return zt(this.contents)?this.contents.has(t):!1}hasIn(t){return lc(t)?this.contents!==void 0:zt(this.contents)?this.contents.hasIn(t):!1}set(t,n){this.contents==null?this.contents=Ud(this.schema,[t],n):dl(this.contents)&&this.contents.set(t,n)}setIn(t,n){lc(t)?this.contents=n:this.contents==null?this.contents=Ud(this.schema,Array.from(t),n):dl(this.contents)&&this.contents.setIn(t,n)}setSchema(t,n={}){typeof t=="number"&&(t=String(t));let a;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new On({version:"1.1"}),a={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new On({version:t}),a={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,a=null;break;default:{const s=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${s}`)}}if(n.schema instanceof Object)this.schema=n.schema;else if(a)this.schema=new qE(Object.assign(a,n));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:n,mapAsMap:a,maxAliasCount:s,onAnchor:l,reviver:c}={}){const d={anchors:new Map,doc:this,keep:!t,mapAsMap:a===!0,mapKeyWarned:!1,maxAliasCount:typeof s=="number"?s:100},f=Ni(this.contents,n??"",d);if(typeof l=="function")for(const{count:h,res:b}of d.anchors.values())l(b,h);return typeof c=="function"?vl(c,{"":f},"",f):f}toJSON(t,n){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:n})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){const n=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${n}`)}return f3(this,t)}}function dl(e){if(zt(e))return!0;throw new Error("Expected a YAML collection as document contents")}class Mg extends Error{constructor(t,n,a,s){super(),this.name=t,this.code=a,this.message=s,this.pos=n}}class is extends Mg{constructor(t,n,a){super("YAMLParseError",t,n,a)}}class GE extends Mg{constructor(t,n,a){super("YAMLWarning",t,n,a)}}const Fd=(e,t)=>n=>{if(n.pos[0]===-1)return;n.linePos=n.pos.map(d=>t.linePos(d));const{line:a,col:s}=n.linePos[0];n.message+=` at line ${a}, column ${s}`;let l=s-1,c=e.substring(t.lineStarts[a-1],t.lineStarts[a]).replace(/[\n\r]+$/,"");if(l>=60&&c.length>80){const d=Math.min(l-39,c.length-79);c="…"+c.substring(d),l-=d-1}if(c.length>80&&(c=c.substring(0,79)+"…"),a>1&&/^ *$/.test(c.substring(0,l))){let d=e.substring(t.lineStarts[a-2],t.lineStarts[a-1]);d.length>80&&(d=d.substring(0,79)+`…
|
|
438
438
|
`),c=d+c}if(/[^ ]/.test(c)){let d=1;const f=n.linePos[1];(f==null?void 0:f.line)===a&&f.col>s&&(d=Math.max(1,Math.min(f.col-s,80-l)));const h=" ".repeat(l)+"^".repeat(d);n.message+=`:
|
|
439
439
|
|
|
440
440
|
${c}
|
|
441
441
|
${h}
|
|
442
442
|
`}};function Ul(e,{flow:t,indicator:n,next:a,offset:s,onError:l,parentIndent:c,startOnNewline:d}){let f=!1,h=d,b=d,m="",x="",v=!1,E=!1,w=null,k=null,N=null,C=null,A=null,T=null,L=null;for(const $ of e)switch(E&&($.type!=="space"&&$.type!=="newline"&&$.type!=="comma"&&l($.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),E=!1),w&&(h&&$.type!=="comment"&&$.type!=="newline"&&l(w,"TAB_AS_INDENT","Tabs are not allowed as indentation"),w=null),$.type){case"space":!t&&(n!=="doc-start"||(a==null?void 0:a.type)!=="flow-collection")&&$.source.includes(" ")&&(w=$),b=!0;break;case"comment":{b||l($,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const te=$.source.substring(1)||" ";m?m+=x+te:m=te,x="",h=!1;break}case"newline":h?m?m+=$.source:(!T||n!=="seq-item-ind")&&(f=!0):x+=$.source,h=!0,v=!0,(k||N)&&(C=$),b=!0;break;case"anchor":k&&l($,"MULTIPLE_ANCHORS","A node can have at most one anchor"),$.source.endsWith(":")&&l($.offset+$.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),k=$,L??(L=$.offset),h=!1,b=!1,E=!0;break;case"tag":{N&&l($,"MULTIPLE_TAGS","A node can have at most one tag"),N=$,L??(L=$.offset),h=!1,b=!1,E=!0;break}case n:(k||N)&&l($,"BAD_PROP_ORDER",`Anchors and tags must be after the ${$.source} indicator`),T&&l($,"UNEXPECTED_TOKEN",`Unexpected ${$.source} in ${t??"collection"}`),T=$,h=n==="seq-item-ind"||n==="explicit-key-ind",b=!1;break;case"comma":if(t){A&&l($,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),A=$,h=!1,b=!1;break}default:l($,"UNEXPECTED_TOKEN",`Unexpected ${$.type} token`),h=!1,b=!1}const M=e[e.length-1],U=M?M.offset+M.source.length:s;return E&&a&&a.type!=="space"&&a.type!=="newline"&&a.type!=="comma"&&(a.type!=="scalar"||a.source!=="")&&l(a.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),w&&(h&&w.indent<=c||(a==null?void 0:a.type)==="block-map"||(a==null?void 0:a.type)==="block-seq")&&l(w,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:A,found:T,spaceBefore:f,comment:m,hasNewline:v,anchor:k,tag:N,newlineAfterProp:C,end:U,start:L??U}}function wc(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(`
|
|
443
|
-
`))return!0;if(e.end){for(const t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(const t of e.items){for(const n of t.start)if(n.type==="newline")return!0;if(t.sep){for(const n of t.sep)if(n.type==="newline")return!0}if(wc(t.key)||wc(t.value))return!0}return!1;default:return!0}}function $m(e,t,n){if((t==null?void 0:t.type)==="flow-collection"){const a=t.end[0];a.indent===e&&(a.source==="]"||a.source==="}")&&wc(t)&&n(a,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function VE(e,t,n){const{uniqueKeys:a}=e.options;if(a===!1)return!1;const s=typeof a=="function"?a:(l,c)=>l===c||Nt(l)&&Nt(c)&&l.value===c.value;return t.some(l=>s(l.key,n))}const P0="All mapping items must start at the same column";function
|
|
443
|
+
`))return!0;if(e.end){for(const t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(const t of e.items){for(const n of t.start)if(n.type==="newline")return!0;if(t.sep){for(const n of t.sep)if(n.type==="newline")return!0}if(wc(t.key)||wc(t.value))return!0}return!1;default:return!0}}function $m(e,t,n){if((t==null?void 0:t.type)==="flow-collection"){const a=t.end[0];a.indent===e&&(a.source==="]"||a.source==="}")&&wc(t)&&n(a,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}function VE(e,t,n){const{uniqueKeys:a}=e.options;if(a===!1)return!1;const s=typeof a=="function"?a:(l,c)=>l===c||Nt(l)&&Nt(c)&&l.value===c.value;return t.some(l=>s(l.key,n))}const P0="All mapping items must start at the same column";function h3({composeNode:e,composeEmptyNode:t},n,a,s,l){var b;const c=(l==null?void 0:l.nodeClass)??li,d=new c(n.schema);n.atRoot&&(n.atRoot=!1);let f=a.offset,h=null;for(const m of a.items){const{start:x,key:v,sep:E,value:w}=m,k=Ul(x,{indicator:"explicit-key-ind",next:v??(E==null?void 0:E[0]),offset:f,onError:s,parentIndent:a.indent,startOnNewline:!0}),N=!k.found;if(N){if(v&&(v.type==="block-seq"?s(f,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in v&&v.indent!==a.indent&&s(f,"BAD_INDENT",P0)),!k.anchor&&!k.tag&&!E){h=k.end,k.comment&&(d.comment?d.comment+=`
|
|
444
444
|
`+k.comment:d.comment=k.comment);continue}(k.newlineAfterProp||wc(v))&&s(v??x[x.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else((b=k.found)==null?void 0:b.indent)!==a.indent&&s(f,"BAD_INDENT",P0);n.atKey=!0;const C=k.end,A=v?e(n,v,k,s):t(n,C,x,null,k,s);n.schema.compat&&$m(a.indent,v,s),n.atKey=!1,VE(n,d.items,A)&&s(C,"DUPLICATE_KEY","Map keys must be unique");const T=Ul(E??[],{indicator:"map-value-ind",next:w,offset:A.range[2],onError:s,parentIndent:a.indent,startOnNewline:!v||v.type==="block-scalar"});if(f=T.end,T.found){N&&((w==null?void 0:w.type)==="block-map"&&!T.hasNewline&&s(f,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),n.options.strict&&k.start<T.found.offset-1024&&s(A.range,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit block mapping key"));const L=w?e(n,w,T,s):t(n,f,E,null,T,s);n.schema.compat&&$m(a.indent,w,s),f=L.range[2];const M=new wn(A,L);n.options.keepSourceTokens&&(M.srcToken=m),d.items.push(M)}else{N&&s(A.range,"MISSING_CHAR","Implicit map keys need to be followed by map values"),T.comment&&(A.comment?A.comment+=`
|
|
445
|
-
`+T.comment:A.comment=T.comment);const L=new wn(A);n.options.keepSourceTokens&&(L.srcToken=m),d.items.push(L)}}return h&&h<f&&s(h,"IMPOSSIBLE","Map comment with trailing content"),d.range=[a.offset,f,h??f],d}function
|
|
445
|
+
`+T.comment:A.comment=T.comment);const L=new wn(A);n.options.keepSourceTokens&&(L.srcToken=m),d.items.push(L)}}return h&&h<f&&s(h,"IMPOSSIBLE","Map comment with trailing content"),d.range=[a.offset,f,h??f],d}function p3({composeNode:e,composeEmptyNode:t},n,a,s,l){const c=(l==null?void 0:l.nodeClass)??_r,d=new c(n.schema);n.atRoot&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let f=a.offset,h=null;for(const{start:b,value:m}of a.items){const x=Ul(b,{indicator:"seq-item-ind",next:m,offset:f,onError:s,parentIndent:a.indent,startOnNewline:!0});if(!x.found)if(x.anchor||x.tag||m)(m==null?void 0:m.type)==="block-seq"?s(x.end,"BAD_INDENT","All sequence items must start at the same column"):s(f,"MISSING_CHAR","Sequence item without - indicator");else{h=x.end,x.comment&&(d.comment=x.comment);continue}const v=m?e(n,m,x,s):t(n,x.end,b,null,x,s);n.schema.compat&&$m(a.indent,m,s),f=v.range[2],d.items.push(v)}return d.range=[a.offset,f,h??f],d}function Ic(e,t,n,a){let s="";if(e){let l=!1,c="";for(const d of e){const{source:f,type:h}=d;switch(h){case"space":l=!0;break;case"comment":{n&&!l&&a(d,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");const b=f.substring(1)||" ";s?s+=c+b:s=b,c="";break}case"newline":s&&(c+=f),l=!0;break;default:a(d,"UNEXPECTED_TOKEN",`Unexpected ${h} at node end`)}t+=f.length}}return{comment:s,offset:t}}const Pp="Block collections are not allowed within flow collections",Fp=e=>e&&(e.type==="block-map"||e.type==="block-seq");function m3({composeNode:e,composeEmptyNode:t},n,a,s,l){var k;const c=a.start.source==="{",d=c?"flow map":"flow sequence",f=(l==null?void 0:l.nodeClass)??(c?li:_r),h=new f(n.schema);h.flow=!0;const b=n.atRoot;b&&(n.atRoot=!1),n.atKey&&(n.atKey=!1);let m=a.offset+a.start.source.length;for(let N=0;N<a.items.length;++N){const C=a.items[N],{start:A,key:T,sep:L,value:M}=C,U=Ul(A,{flow:d,indicator:"explicit-key-ind",next:T??(L==null?void 0:L[0]),offset:m,onError:s,parentIndent:a.indent,startOnNewline:!1});if(!U.found){if(!U.anchor&&!U.tag&&!L&&!M){N===0&&U.comma?s(U.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${d}`):N<a.items.length-1&&s(U.start,"UNEXPECTED_TOKEN",`Unexpected empty item in ${d}`),U.comment&&(h.comment?h.comment+=`
|
|
446
446
|
`+U.comment:h.comment=U.comment),m=U.end;continue}!c&&n.options.strict&&wc(T)&&s(T,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line")}if(N===0)U.comma&&s(U.comma,"UNEXPECTED_TOKEN",`Unexpected , in ${d}`);else if(U.comma||s(U.start,"MISSING_CHAR",`Missing , between ${d} items`),U.comment){let $="";e:for(const te of A)switch(te.type){case"comma":case"space":break;case"comment":$=te.source.substring(1);break e;default:break e}if($){let te=h.items[h.items.length-1];Dt(te)&&(te=te.value??te.key),te.comment?te.comment+=`
|
|
447
447
|
`+$:te.comment=$,U.comment=U.comment.substring($.length+1)}}if(!c&&!L&&!U.found){const $=M?e(n,M,U,s):t(n,U.end,L,null,U,s);h.items.push($),m=$.range[2],Fp(M)&&s($.range,"BLOCK_IN_FLOW",Pp)}else{n.atKey=!0;const $=U.end,te=T?e(n,T,U,s):t(n,$,A,null,U,s);Fp(T)&&s(te.range,"BLOCK_IN_FLOW",Pp),n.atKey=!1;const P=Ul(L??[],{flow:d,indicator:"map-value-ind",next:M,offset:te.range[2],onError:s,parentIndent:a.indent,startOnNewline:!1});if(P.found){if(!c&&!U.found&&n.options.strict){if(L)for(const me of L){if(me===P.found)break;if(me.type==="newline"){s(me,"MULTILINE_IMPLICIT_KEY","Implicit keys of flow sequence pairs need to be on a single line");break}}U.start<P.found.offset-1024&&s(P.found,"KEY_OVER_1024_CHARS","The : indicator must be at most 1024 chars after the start of an implicit flow sequence key")}}else M&&("source"in M&&((k=M.source)==null?void 0:k[0])===":"?s(M,"MISSING_CHAR",`Missing space after : in ${d}`):s(P.start,"MISSING_CHAR",`Missing , or : between ${d} items`));const Q=M?e(n,M,P,s):P.found?t(n,P.end,L,null,P,s):null;Q?Fp(M)&&s(Q.range,"BLOCK_IN_FLOW",Pp):P.comment&&(te.comment?te.comment+=`
|
|
448
448
|
`+P.comment:te.comment=P.comment);const J=new wn(te,Q);if(n.options.keepSourceTokens&&(J.srcToken=C),c){const me=h;VE(n,me.items,te)&&s($,"DUPLICATE_KEY","Map keys must be unique"),me.items.push(J)}else{const me=new li(n.schema);me.flow=!0,me.items.push(J);const le=(Q??te).range;me.range=[te.range[0],le[1],le[2]],h.items.push(me)}m=Q?Q.range[2]:P.end}}const x=c?"}":"]",[v,...E]=a.end;let w=m;if((v==null?void 0:v.source)===x)w=v.offset+v.source.length;else{const N=d[0].toUpperCase()+d.substring(1),C=b?`${N} must end with a ${x}`:`${N} in block collection must be sufficiently indented and end with a ${x}`;s(m,b?"MISSING_CHAR":"BAD_INDENT",C),v&&v.source.length!==1&&E.unshift(v)}if(E.length>0){const N=Ic(E,w,n.options.strict,s);N.comment&&(h.comment?h.comment+=`
|
|
449
|
-
`+N.comment:h.comment=N.comment),h.range=[a.offset,w,N.offset]}else h.range=[a.offset,w,w];return h}function $p(e,t,n,a,s,l){const c=n.type==="block-map"?
|
|
449
|
+
`+N.comment:h.comment=N.comment),h.range=[a.offset,w,N.offset]}else h.range=[a.offset,w,w];return h}function $p(e,t,n,a,s,l){const c=n.type==="block-map"?h3(e,t,n,a,l):n.type==="block-seq"?p3(e,t,n,a,l):m3(e,t,n,a,l),d=c.constructor;return s==="!"||s===d.tagName?(c.tag=d.tagName,c):(s&&(c.tag=s),c)}function g3(e,t,n,a,s){var x;const l=a.tag,c=l?t.directives.tagName(l.source,v=>s(l,"TAG_RESOLVE_FAILED",v)):null;if(n.type==="block-seq"){const{anchor:v,newlineAfterProp:E}=a,w=v&&l?v.offset>l.offset?v:l:v??l;w&&(!E||E.offset<w.offset)&&s(w,"MISSING_CHAR","Missing newline after block sequence props")}const d=n.type==="block-map"?"map":n.type==="block-seq"?"seq":n.start.source==="{"?"map":"seq";if(!l||!c||c==="!"||c===li.tagName&&d==="map"||c===_r.tagName&&d==="seq")return $p(e,t,n,s,c);let f=t.schema.tags.find(v=>v.tag===c&&v.collection===d);if(!f){const v=t.schema.knownTags[c];if((v==null?void 0:v.collection)===d)t.schema.tags.push(Object.assign({},v,{default:!1})),f=v;else return v?s(l,"BAD_COLLECTION_TYPE",`${v.tag} used for ${d} collection, but expects ${v.collection??"scalar"}`,!0):s(l,"TAG_RESOLVE_FAILED",`Unresolved tag: ${c}`,!0),$p(e,t,n,s,c)}const h=$p(e,t,n,s,c,f),b=((x=f.resolve)==null?void 0:x.call(f,h,v=>s(l,"TAG_RESOLVE_FAILED",v),t.options))??h,m=Ut(b)?b:new Fe(b);return m.range=h.range,m.tag=c,f!=null&&f.format&&(m.format=f.format),m}function QE(e,t,n){const a=t.offset,s=b3(t,e.options.strict,n);if(!s)return{value:"",type:null,comment:"",range:[a,a,a]};const l=s.mode===">"?Fe.BLOCK_FOLDED:Fe.BLOCK_LITERAL,c=t.source?y3(t.source):[];let d=c.length;for(let w=c.length-1;w>=0;--w){const k=c[w][1];if(k===""||k==="\r")d=w;else break}if(d===0){const w=s.chomp==="+"&&c.length>0?`
|
|
450
450
|
`.repeat(Math.max(1,c.length-1)):"";let k=a+s.length;return t.source&&(k+=t.source.length),{value:w,type:l,comment:s.comment,range:[a,k,k]}}let f=t.indent+s.indent,h=t.offset+s.length,b=0;for(let w=0;w<d;++w){const[k,N]=c[w];if(N===""||N==="\r")s.indent===0&&k.length>f&&(f=k.length);else{k.length<f&&n(h+k.length,"MISSING_CHAR","Block scalars with more-indented leading empty lines must use an explicit indentation indicator"),s.indent===0&&(f=k.length),b=w,f===0&&!e.atRoot&&n(h,"BAD_INDENT","Block scalar values in collections must be indented");break}h+=k.length+N.length+1}for(let w=c.length-1;w>=d;--w)c[w][0].length>f&&(d=w+1);let m="",x="",v=!1;for(let w=0;w<b;++w)m+=c[w][0].slice(f)+`
|
|
451
|
-
`;for(let w=b;w<d;++w){let[k,N]=c[w];h+=k.length+N.length+1;const C=N[N.length-1]==="\r";if(C&&(N=N.slice(0,-1)),N&&k.length<f){const T=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;n(h-N.length-(C?2:1),"BAD_INDENT",T),k=""}l===
|
|
451
|
+
`;for(let w=b;w<d;++w){let[k,N]=c[w];h+=k.length+N.length+1;const C=N[N.length-1]==="\r";if(C&&(N=N.slice(0,-1)),N&&k.length<f){const T=`Block scalar lines must not be less indented than their ${s.indent?"explicit indentation indicator":"first line"}`;n(h-N.length-(C?2:1),"BAD_INDENT",T),k=""}l===Fe.BLOCK_LITERAL?(m+=x+k.slice(f)+N,x=`
|
|
452
452
|
`):k.length>f||N[0]===" "?(x===" "?x=`
|
|
453
453
|
`:!v&&x===`
|
|
454
454
|
`&&(x=`
|
|
@@ -461,41 +461,41 @@ ${h}
|
|
|
461
461
|
`+c[w][0].slice(f);m[m.length-1]!==`
|
|
462
462
|
`&&(m+=`
|
|
463
463
|
`);break;default:m+=`
|
|
464
|
-
`}const E=a+s.length+t.source.length;return{value:m,type:l,comment:s.comment,range:[a,E,E]}}function
|
|
464
|
+
`}const E=a+s.length+t.source.length;return{value:m,type:l,comment:s.comment,range:[a,E,E]}}function b3({offset:e,props:t},n,a){if(t[0].type!=="block-scalar-header")return a(t[0],"IMPOSSIBLE","Block scalar header not found"),null;const{source:s}=t[0],l=s[0];let c=0,d="",f=-1;for(let x=1;x<s.length;++x){const v=s[x];if(!d&&(v==="-"||v==="+"))d=v;else{const E=Number(v);!c&&E?c=E:f===-1&&(f=e+x)}}f!==-1&&a(f,"UNEXPECTED_TOKEN",`Block scalar header includes extra characters: ${s}`);let h=!1,b="",m=s.length;for(let x=1;x<t.length;++x){const v=t[x];switch(v.type){case"space":h=!0;case"newline":m+=v.source.length;break;case"comment":n&&!h&&a(v,"MISSING_CHAR","Comments must be separated from other tokens by white space characters"),m+=v.source.length,b=v.source.substring(1);break;case"error":a(v,"UNEXPECTED_TOKEN",v.message),m+=v.source.length;break;default:{const E=`Unexpected token in block scalar header: ${v.type}`;a(v,"UNEXPECTED_TOKEN",E);const w=v.source;w&&typeof w=="string"&&(m+=w.length)}}}return{mode:l,indent:c,chomp:d,comment:b,length:m}}function y3(e){const t=e.split(/\n( *)/),n=t[0],a=n.match(/^( *)/),l=[a!=null&&a[1]?[a[1],n.slice(a[1].length)]:["",n]];for(let c=1;c<t.length;c+=2)l.push([t[c],t[c+1]]);return l}function YE(e,t,n){const{offset:a,type:s,source:l,end:c}=e;let d,f;const h=(x,v,E)=>n(a+x,v,E);switch(s){case"scalar":d=Fe.PLAIN,f=x3(l,h);break;case"single-quoted-scalar":d=Fe.QUOTE_SINGLE,f=v3(l,h);break;case"double-quoted-scalar":d=Fe.QUOTE_DOUBLE,f=w3(l,h);break;default:return n(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${s}`),{value:"",type:null,comment:"",range:[a,a+l.length,a+l.length]}}const b=a+l.length,m=Ic(c,b,t,n);return{value:f,type:d,comment:m.comment,range:[a,b,m.offset]}}function x3(e,t){let n="";switch(e[0]){case" ":n="a tab character";break;case",":n="flow indicator character ,";break;case"%":n="directive indicator character %";break;case"|":case">":{n=`block scalar indicator ${e[0]}`;break}case"@":case"`":{n=`reserved character ${e[0]}`;break}}return n&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${n}`),WE(e)}function v3(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),WE(e.slice(1,-1)).replace(/''/g,"'")}function WE(e){let t,n;try{t=new RegExp(`(.*?)(?<![ ])[ ]*\r?
|
|
465
465
|
`,"sy"),n=new RegExp(`[ ]*(.*?)(?:(?<![ ])[ ]*)?\r?
|
|
466
466
|
`,"sy")}catch{t=/(.*?)[ \t]*\r?\n/sy,n=/[ \t]*(.*?)[ \t]*\r?\n/sy}let a=t.exec(e);if(!a)return e;let s=a[1],l=" ",c=t.lastIndex;for(n.lastIndex=c;a=n.exec(e);)a[1]===""?l===`
|
|
467
467
|
`?s+=l:l=`
|
|
468
|
-
`:(s+=l+a[1],l=" "),c=n.lastIndex;const d=/[ \t]*(.*)/sy;return d.lastIndex=c,a=d.exec(e),s+l+((a==null?void 0:a[1])??"")}function
|
|
468
|
+
`:(s+=l+a[1],l=" "),c=n.lastIndex;const d=/[ \t]*(.*)/sy;return d.lastIndex=c,a=d.exec(e),s+l+((a==null?void 0:a[1])??"")}function w3(e,t){let n="";for(let a=1;a<e.length-1;++a){const s=e[a];if(!(s==="\r"&&e[a+1]===`
|
|
469
469
|
`))if(s===`
|
|
470
|
-
`){const{fold:l,offset:c}=
|
|
470
|
+
`){const{fold:l,offset:c}=E3(e,a);n+=l,a=c}else if(s==="\\"){let l=e[++a];const c=S3[l];if(c)n+=c;else if(l===`
|
|
471
471
|
`)for(l=e[a+1];l===" "||l===" ";)l=e[++a+1];else if(l==="\r"&&e[a+1]===`
|
|
472
|
-
`)for(l=e[++a+1];l===" "||l===" ";)l=e[++a+1];else if(l==="x"||l==="u"||l==="U"){const d={x:2,u:4,U:8}[l];n+=
|
|
472
|
+
`)for(l=e[++a+1];l===" "||l===" ";)l=e[++a+1];else if(l==="x"||l==="u"||l==="U"){const d={x:2,u:4,U:8}[l];n+=k3(e,a+1,d,t),a+=d}else{const d=e.substr(a-1,2);t(a-1,"BAD_DQ_ESCAPE",`Invalid escape sequence ${d}`),n+=d}}else if(s===" "||s===" "){const l=a;let c=e[a+1];for(;c===" "||c===" ";)c=e[++a+1];c!==`
|
|
473
473
|
`&&!(c==="\r"&&e[a+2]===`
|
|
474
|
-
`)&&(n+=a>l?e.slice(l,a+1):s)}else n+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function
|
|
474
|
+
`)&&(n+=a>l?e.slice(l,a+1):s)}else n+=s}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),n}function E3(e,t){let n="",a=e[t+1];for(;(a===" "||a===" "||a===`
|
|
475
475
|
`||a==="\r")&&!(a==="\r"&&e[t+2]!==`
|
|
476
476
|
`);)a===`
|
|
477
477
|
`&&(n+=`
|
|
478
|
-
`),t+=1,a=e[t+1];return n||(n=" "),{fold:n,offset:t}}const
|
|
479
|
-
`,r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function
|
|
478
|
+
`),t+=1,a=e[t+1];return n||(n=" "),{fold:n,offset:t}}const S3={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:`
|
|
479
|
+
`,r:"\r",t:" ",v:"\v",N:"
",_:" ",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function k3(e,t,n,a){const s=e.substr(t,n),c=s.length===n&&/^[0-9a-fA-F]+$/.test(s)?parseInt(s,16):NaN;if(isNaN(c)){const d=e.substr(t-2,n+2);return a(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${d}`),d}return String.fromCodePoint(c)}function XE(e,t,n,a){const{value:s,type:l,comment:c,range:d}=t.type==="block-scalar"?QE(e,t,a):YE(t,e.options.strict,a),f=n?e.directives.tagName(n.source,m=>a(n,"TAG_RESOLVE_FAILED",m)):null;let h;e.options.stringKeys&&e.atKey?h=e.schema[ia]:f?h=N3(e.schema,s,f,n,a):t.type==="scalar"?h=_3(e,s,t,a):h=e.schema[ia];let b;try{const m=h.resolve(s,x=>a(n??t,"TAG_RESOLVE_FAILED",x),e.options);b=Nt(m)?m:new Fe(m)}catch(m){const x=m instanceof Error?m.message:String(m);a(n??t,"TAG_RESOLVE_FAILED",x),b=new Fe(s)}return b.range=d,b.source=s,l&&(b.type=l),f&&(b.tag=f),h.format&&(b.format=h.format),c&&(b.comment=c),b}function N3(e,t,n,a,s){var d;if(n==="!")return e[ia];const l=[];for(const f of e.tags)if(!f.collection&&f.tag===n)if(f.default&&f.test)l.push(f);else return f;for(const f of l)if((d=f.test)!=null&&d.test(t))return f;const c=e.knownTags[n];return c&&!c.collection?(e.tags.push(Object.assign({},c,{default:!1,test:void 0})),c):(s(a,"TAG_RESOLVE_FAILED",`Unresolved tag: ${n}`,n!=="tag:yaml.org,2002:str"),e[ia])}function _3({atKey:e,directives:t,schema:n},a,s,l){const c=n.tags.find(d=>{var f;return(d.default===!0||e&&d.default==="key")&&((f=d.test)==null?void 0:f.test(a))})||n[ia];if(n.compat){const d=n.compat.find(f=>{var h;return f.default&&((h=f.test)==null?void 0:h.test(a))})??n[ia];if(c.tag!==d.tag){const f=t.tagString(c.tag),h=t.tagString(d.tag),b=`Value may be parsed as either ${f} or ${h}`;l(s,"TAG_RESOLVE_FAILED",b,!0)}}return c}function C3(e,t,n){if(t){n??(n=t.length);for(let a=n-1;a>=0;--a){let s=t[a];switch(s.type){case"space":case"comment":case"newline":e-=s.source.length;continue}for(s=t[++a];(s==null?void 0:s.type)==="space";)e+=s.source.length,s=t[++a];break}}return e}const A3={composeNode:ZE,composeEmptyNode:Dg};function ZE(e,t,n,a){const s=e.atKey,{spaceBefore:l,comment:c,anchor:d,tag:f}=n;let h,b=!0;switch(t.type){case"alias":h=T3(e,t,a),(d||f)&&a(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":h=XE(e,t,f,a),d&&(h.anchor=d.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":try{h=g3(A3,e,t,n,a),d&&(h.anchor=d.source.substring(1))}catch(m){const x=m instanceof Error?m.message:String(m);a(t,"RESOURCE_EXHAUSTION",x)}break;default:{const m=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;a(t,"UNEXPECTED_TOKEN",m),b=!1}}return h??(h=Dg(e,t.offset,void 0,null,n,a)),d&&h.anchor===""&&a(d,"BAD_ALIAS","Anchor cannot be an empty string"),s&&e.options.stringKeys&&(!Nt(h)||typeof h.value!="string"||h.tag&&h.tag!=="tag:yaml.org,2002:str")&&a(f??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),l&&(h.spaceBefore=!0),c&&(t.type==="scalar"&&t.source===""?h.comment=c:h.commentBefore=c),e.options.keepSourceTokens&&b&&(h.srcToken=t),h}function Dg(e,t,n,a,{spaceBefore:s,comment:l,anchor:c,tag:d,end:f},h){const b={type:"scalar",offset:C3(t,n,a),indent:-1,source:""},m=XE(e,b,d,h);return c&&(m.anchor=c.source.substring(1),m.anchor===""&&h(c,"BAD_ALIAS","Anchor cannot be an empty string")),s&&(m.spaceBefore=!0),l&&(m.comment=l,m.range[2]=f),m}function T3({options:e},{offset:t,source:n,end:a},s){const l=new rf(n.substring(1));l.source===""&&s(t,"BAD_ALIAS","Alias cannot be an empty string"),l.source.endsWith(":")&&s(t+n.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);const c=t+n.length,d=Ic(a,c,e.strict,s);return l.range=[t,c,d.offset],d.comment&&(l.comment=d.comment),l}function O3(e,t,{offset:n,start:a,value:s,end:l},c){const d=Object.assign({_directives:t},e),f=new Xl(void 0,d),h={atKey:!1,atRoot:!0,directives:f.directives,options:f.options,schema:f.schema},b=Ul(a,{indicator:"doc-start",next:s??(l==null?void 0:l[0]),offset:n,onError:c,parentIndent:0,startOnNewline:!0});b.found&&(f.directives.docStart=!0,s&&(s.type==="block-map"||s.type==="block-seq")&&!b.hasNewline&&c(b.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),f.contents=s?ZE(h,s,b,c):Dg(h,b.end,a,null,b,c);const m=f.contents.range[2],x=Ic(l,m,!1,c);return x.comment&&(f.comment=x.comment),f.range=[n,m,x.offset],f}function ec(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];const{offset:t,source:n}=e;return[t,t+(typeof n=="string"?n.length:1)]}function F0(e){var s;let t="",n=!1,a=!1;for(let l=0;l<e.length;++l){const c=e[l];switch(c[0]){case"#":t+=(t===""?"":a?`
|
|
480
480
|
|
|
481
481
|
`:`
|
|
482
482
|
`)+(c.substring(1)||" "),n=!0,a=!1;break;case"%":((s=e[l+1])==null?void 0:s[0])!=="#"&&(l+=1),n=!1;break;default:n||(a=!0),n=!1}}return{comment:t,afterEmptyLine:a}}class Lg{constructor(t={}){this.doc=null,this.atDirectives=!1,this.prelude=[],this.errors=[],this.warnings=[],this.onError=(n,a,s,l)=>{const c=ec(n);l?this.warnings.push(new GE(c,a,s)):this.errors.push(new is(c,a,s))},this.directives=new On({version:t.version||"1.2"}),this.options=t}decorate(t,n){const{comment:a,afterEmptyLine:s}=F0(this.prelude);if(a){const l=t.contents;if(n)t.comment=t.comment?`${t.comment}
|
|
483
483
|
${a}`:a;else if(s||t.directives.docStart||!l)t.commentBefore=a;else if(zt(l)&&!l.flow&&l.items.length>0){let c=l.items[0];Dt(c)&&(c=c.key);const d=c.commentBefore;c.commentBefore=d?`${a}
|
|
484
484
|
${d}`:a}else{const c=l.commentBefore;l.commentBefore=c?`${a}
|
|
485
|
-
${c}`:a}}n?(Array.prototype.push.apply(t.errors,this.errors),Array.prototype.push.apply(t.warnings,this.warnings)):(t.errors=this.errors,t.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:F0(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,n=!1,a=-1){for(const s of t)yield*this.next(s);yield*this.end(n,a)}*next(t){switch(t.type){case"directive":this.directives.add(t.source,(n,a,s)=>{const l=ec(t);l[0]+=n,this.onError(l,"BAD_DIRECTIVE",a,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=
|
|
486
|
-
${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new is(ec(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){const a=Object.assign({_directives:this.directives},this.options),s=new Xl(void 0,a);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,n,n],this.decorate(s,!1),yield s}}}function
|
|
485
|
+
${c}`:a}}n?(Array.prototype.push.apply(t.errors,this.errors),Array.prototype.push.apply(t.warnings,this.warnings)):(t.errors=this.errors,t.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:F0(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,n=!1,a=-1){for(const s of t)yield*this.next(s);yield*this.end(n,a)}*next(t){switch(t.type){case"directive":this.directives.add(t.source,(n,a,s)=>{const l=ec(t);l[0]+=n,this.onError(l,"BAD_DIRECTIVE",a,s)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{const n=O3(this.options,this.directives,t,this.onError);this.atDirectives&&!n.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(n,!1),this.doc&&(yield this.doc),this.doc=n,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{const n=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,a=new is(ec(t),"UNEXPECTED_TOKEN",n);this.atDirectives||!this.doc?this.errors.push(a):this.doc.errors.push(a);break}case"doc-end":{if(!this.doc){const a="Unexpected doc-end without preceding document";this.errors.push(new is(ec(t),"UNEXPECTED_TOKEN",a));break}this.doc.directives.docEnd=!0;const n=Ic(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),n.comment){const a=this.doc.comment;this.doc.comment=a?`${a}
|
|
486
|
+
${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.push(new is(ec(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,n=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){const a=Object.assign({_directives:this.directives},this.options),s=new Xl(void 0,a);this.atDirectives&&this.onError(n,"MISSING_CHAR","Missing directives-end indicator line"),s.range=[0,n,n],this.decorate(s,!1),yield s}}}function R3(e,t=!0,n){if(e){const a=(s,l,c)=>{const d=typeof s=="number"?s:Array.isArray(s)?s[0]:s.offset;if(n)n(d,l,c);else throw new is([d,d+1],l,c)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return YE(e,t,a);case"block-scalar":return QE({options:{strict:t}},e,a)}}return null}function j3(e,t){const{implicitKey:n=!1,indent:a,inFlow:s=!1,offset:l=-1,type:c="PLAIN"}=t,d=Dc({type:c,value:e},{implicitKey:n,indent:a>0?" ".repeat(a):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}}),f=t.end??[{type:"newline",offset:-1,indent:a,source:`
|
|
487
487
|
`}];switch(d[0]){case"|":case">":{const h=d.indexOf(`
|
|
488
488
|
`),b=d.substring(0,h),m=d.substring(h+1)+`
|
|
489
489
|
`,x=[{type:"block-scalar-header",offset:l,indent:a,source:b}];return JE(x,f)||x.push({type:"newline",offset:-1,indent:a,source:`
|
|
490
|
-
`}),{type:"block-scalar",offset:l,indent:a,props:x,source:m}}case'"':return{type:"double-quoted-scalar",offset:l,indent:a,source:d,end:f};case"'":return{type:"single-quoted-scalar",offset:l,indent:a,source:d,end:f};default:return{type:"scalar",offset:l,indent:a,source:d,end:f}}}function
|
|
490
|
+
`}),{type:"block-scalar",offset:l,indent:a,props:x,source:m}}case'"':return{type:"double-quoted-scalar",offset:l,indent:a,source:d,end:f};case"'":return{type:"single-quoted-scalar",offset:l,indent:a,source:d,end:f};default:return{type:"scalar",offset:l,indent:a,source:d,end:f}}}function M3(e,t,n={}){let{afterKey:a=!1,implicitKey:s=!1,inFlow:l=!1,type:c}=n,d="indent"in e?e.indent:null;if(a&&typeof d=="number"&&(d+=2),!c)switch(e.type){case"single-quoted-scalar":c="QUOTE_SINGLE";break;case"double-quoted-scalar":c="QUOTE_DOUBLE";break;case"block-scalar":{const h=e.props[0];if(h.type!=="block-scalar-header")throw new Error("Invalid block scalar header");c=h.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:c="PLAIN"}const f=Dc({type:c,value:t},{implicitKey:s||d===null,indent:d!==null&&d>0?" ".repeat(d):"",inFlow:l,options:{blockQuote:!0,lineWidth:-1}});switch(f[0]){case"|":case">":D3(e,f);break;case'"':Hp(e,f,"double-quoted-scalar");break;case"'":Hp(e,f,"single-quoted-scalar");break;default:Hp(e,f,"scalar")}}function D3(e,t){const n=t.indexOf(`
|
|
491
491
|
`),a=t.substring(0,n),s=t.substring(n+1)+`
|
|
492
492
|
`;if(e.type==="block-scalar"){const l=e.props[0];if(l.type!=="block-scalar-header")throw new Error("Invalid block scalar header");l.source=a,e.source=s}else{const{offset:l}=e,c="indent"in e?e.indent:-1,d=[{type:"block-scalar-header",offset:l,indent:c,source:a}];JE(d,"end"in e?e.end:void 0)||d.push({type:"newline",offset:-1,indent:c,source:`
|
|
493
493
|
`});for(const f of Object.keys(e))f!=="type"&&f!=="offset"&&delete e[f];Object.assign(e,{type:"block-scalar",indent:c,props:d,source:s})}}function JE(e,t){if(t)for(const n of t)switch(n.type){case"space":case"comment":e.push(n);break;case"newline":return e.push(n),!0}return!1}function Hp(e,t,n){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=n,e.source=t;break;case"block-scalar":{const a=e.props.slice(1);let s=t.length;e.props[0].type==="block-scalar-header"&&(s-=e.props[0].source.length);for(const l of a)l.offset+=s;delete e.props,Object.assign(e,{type:n,source:t,end:a});break}case"block-map":case"block-seq":{const s={type:"newline",offset:e.offset+t.length,indent:e.indent,source:`
|
|
494
|
-
`};delete e.items,Object.assign(e,{type:n,source:t,end:[s]});break}default:{const a="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(l=>l.type==="space"||l.type==="comment"||l.type==="newline"):[];for(const l of Object.keys(e))l!=="type"&&l!=="offset"&&delete e[l];Object.assign(e,{type:n,indent:a,source:t,end:s})}}}const
|
|
494
|
+
`};delete e.items,Object.assign(e,{type:n,source:t,end:[s]});break}default:{const a="indent"in e?e.indent:-1,s="end"in e&&Array.isArray(e.end)?e.end.filter(l=>l.type==="space"||l.type==="comment"||l.type==="newline"):[];for(const l of Object.keys(e))l!=="type"&&l!=="offset"&&delete e[l];Object.assign(e,{type:n,indent:a,source:t,end:s})}}}const L3=e=>"type"in e?$d(e):Ad(e);function $d(e){switch(e.type){case"block-scalar":{let t="";for(const n of e.props)t+=$d(n);return t+e.source}case"block-map":case"block-seq":{let t="";for(const n of e.items)t+=Ad(n);return t}case"flow-collection":{let t=e.start.source;for(const n of e.items)t+=Ad(n);for(const n of e.end)t+=n.source;return t}case"document":{let t=Ad(e);if(e.end)for(const n of e.end)t+=n.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(const n of e.end)t+=n.source;return t}}}function Ad({start:e,key:t,sep:n,value:a}){let s="";for(const l of e)s+=l.source;if(t&&(s+=$d(t)),n)for(const l of n)s+=l.source;return a&&(s+=$d(a)),s}const Hm=Symbol("break visit"),I3=Symbol("skip children"),eS=Symbol("remove item");function ms(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),tS(Object.freeze([]),e,t)}ms.BREAK=Hm;ms.SKIP=I3;ms.REMOVE=eS;ms.itemAtPath=(e,t)=>{let n=e;for(const[a,s]of t){const l=n==null?void 0:n[a];if(l&&"items"in l)n=l.items[s];else return}return n};ms.parentCollection=(e,t)=>{const n=ms.itemAtPath(e,t.slice(0,-1)),a=t[t.length-1][0],s=n==null?void 0:n[a];if(s&&"items"in s)return s;throw new Error("Parent collection not found")};function tS(e,t,n){let a=n(t,e);if(typeof a=="symbol")return a;for(const s of["key","value"]){const l=t[s];if(l&&"items"in l){for(let c=0;c<l.items.length;++c){const d=tS(Object.freeze(e.concat([[s,c]])),l.items[c],n);if(typeof d=="number")c=d-1;else{if(d===Hm)return Hm;d===eS&&(l.items.splice(c,1),c-=1)}}typeof a=="function"&&s==="key"&&(a=a(t,e))}}return typeof a=="function"?a(t,e):a}const pf="\uFEFF",mf="",gf="",Ec="",z3=e=>!!e&&"items"in e,B3=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function U3(e){switch(e){case pf:return"<BOM>";case mf:return"<DOC>";case gf:return"<FLOW_END>";case Ec:return"<SCALAR>";default:return JSON.stringify(e)}}function nS(e){switch(e){case pf:return"byte-order-mark";case mf:return"doc-mode";case gf:return"flow-error-end";case Ec:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case`
|
|
495
495
|
`:case`\r
|
|
496
|
-
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}const
|
|
497
|
-
`:case"\r":case" ":return!0;default:return!1}}const $0=new Set("0123456789ABCDEFabcdef"),
|
|
498
|
-
\r `),qp=e=>!e
|
|
496
|
+
`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}const P3=Object.freeze(Object.defineProperty({__proto__:null,BOM:pf,DOCUMENT:mf,FLOW_END:gf,SCALAR:Ec,createScalarToken:j3,isCollection:z3,isScalar:B3,prettyToken:U3,resolveAsScalar:R3,setScalarValue:M3,stringify:L3,tokenType:nS,visit:ms},Symbol.toStringTag,{value:"Module"}));function Li(e){switch(e){case void 0:case" ":case`
|
|
497
|
+
`:case"\r":case" ":return!0;default:return!1}}const $0=new Set("0123456789ABCDEFabcdef"),F3=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),ud=new Set(",[]{}"),$3=new Set(` ,[]{}
|
|
498
|
+
\r `),qp=e=>!e||$3.has(e);class iS{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,n=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!n;let a=this.next??"stream";for(;a&&(n||this.hasChars(1));)a=yield*this.parseNext(a)}atLineEnd(){let t=this.pos,n=this.buffer[t];for(;n===" "||n===" ";)n=this.buffer[++t];return!n||n==="#"||n===`
|
|
499
499
|
`?!0:n==="\r"?this.buffer[t+1]===`
|
|
500
500
|
`:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let n=this.buffer[t];if(this.indentNext>0){let a=0;for(;n===" ";)n=this.buffer[++a+t];if(n==="\r"){const s=this.buffer[a+t+1];if(s===`
|
|
501
501
|
`||!s&&!this.atEnd)return t+a+1}return n===`
|
|
@@ -510,57 +510,57 @@ ${n.comment}`:n.comment}this.doc.range[2]=n.offset;break}default:this.errors.pus
|
|
|
510
510
|
`&&l>=this.pos&&l+1+n>d)t=l;else break}while(!0);return yield Ec,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){const t=this.flowLevel>0;let n=this.pos-1,a=this.pos-1,s;for(;s=this.buffer[++a];)if(s===":"){const l=this.buffer[a+1];if(Li(l)||t&&ud.has(l))break;n=a}else if(Li(s)){let l=this.buffer[a+1];if(s==="\r"&&(l===`
|
|
511
511
|
`?(a+=1,s=`
|
|
512
512
|
`,l=this.buffer[a+1]):n=a),l==="#"||t&&ud.has(l))break;if(s===`
|
|
513
|
-
`){const c=this.continueScalar(a+1);if(c===-1)break;a=Math.max(a,c-2)}}else{if(t&&ud.has(s))break;n=a}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Ec,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){const a=this.buffer.slice(this.pos,t);return a?(yield a,this.pos+=a.length,a.length):(n&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(qp))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const t=this.flowLevel>0,n=this.charAt(1);if(Li(n)||t&&ud.has(n))return t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!Li(n)&&n!==">";)n=this.buffer[++t];return yield*this.pushToIndex(n===">"?t+1:t,!1)}else{let t=this.pos+1,n=this.buffer[t];for(;n;)if(
|
|
513
|
+
`){const c=this.continueScalar(a+1);if(c===-1)break;a=Math.max(a,c-2)}}else{if(t&&ud.has(s))break;n=a}return!s&&!this.atEnd?this.setNext("plain-scalar"):(yield Ec,yield*this.pushToIndex(n+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,n){const a=this.buffer.slice(this.pos,t);return a?(yield a,this.pos+=a.length,a.length):(n&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(qp))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{const t=this.flowLevel>0,n=this.charAt(1);if(Li(n)||t&&ud.has(n))return t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,n=this.buffer[t];for(;!Li(n)&&n!==">";)n=this.buffer[++t];return yield*this.pushToIndex(n===">"?t+1:t,!1)}else{let t=this.pos+1,n=this.buffer[t];for(;n;)if(F3.has(n))n=this.buffer[++t];else if(n==="%"&&$0.has(this.buffer[t+1])&&$0.has(this.buffer[t+2]))n=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){const t=this.buffer[this.pos];return t===`
|
|
514
514
|
`?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===`
|
|
515
515
|
`?yield*this.pushCount(2):0}*pushSpaces(t){let n=this.pos-1,a;do a=this.buffer[++n];while(a===" "||t&&a===" ");const s=n-this.pos;return s>0&&(yield this.buffer.substr(this.pos,s),this.pos=n),s}*pushUntil(t){let n=this.pos,a=this.buffer[n];for(;!t(a);)a=this.buffer[++n];return yield*this.pushToIndex(n,!1)}}class aS{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let n=0,a=this.lineStarts.length;for(;n<a;){const l=n+a>>1;this.lineStarts[l]<t?n=l+1:a=l}if(this.lineStarts[n]===t)return{line:n+1,col:1};if(n===0)return{line:0,col:t};const s=this.lineStarts[n-1];return{line:n,col:t-s+1}}}}function pr(e,t){for(let n=0;n<e.length;++n)if(e[n].type===t)return!0;return!1}function H0(e){for(let t=0;t<e.length;++t)switch(e[t].type){case"space":case"comment":case"newline":break;default:return t}return-1}function rS(e){switch(e==null?void 0:e.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"flow-collection":return!0;default:return!1}}function dd(e){switch(e.type){case"document":return e.start;case"block-map":{const t=e.items[e.items.length-1];return t.sep??t.start}case"block-seq":return e.items[e.items.length-1].start;default:return[]}}function fl(e){var n;if(e.length===0)return[];let t=e.length;e:for(;--t>=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;((n=e[++t])==null?void 0:n.type)==="space";);return e.splice(t,e.length)}function q0(e){if(e.start.type==="flow-seq-start")for(const t of e.items)t.sep&&!t.value&&!pr(t.start,"explicit-key-ind")&&!pr(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,rS(t.value)?t.value.end?Array.prototype.push.apply(t.value.end,t.sep):t.value.end=t.sep:Array.prototype.push.apply(t.start,t.sep),delete t.sep)}class Ig{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new iS,this.onNewLine=t}*parse(t,n=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(const a of this.lexer.lex(t,n))yield*this.next(a);n||(yield*this.end())}*next(t){if(this.source=t,this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}const n=nS(t);if(n)if(n==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=n,yield*this.step(),n){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{const a=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:a,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){const t=this.peek(1);if(this.type==="doc-end"&&(t==null?void 0:t.type)!=="doc-end"){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){const n=t??this.stack.pop();if(!n)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield n;else{const a=this.peek(1);switch(n.type==="block-scalar"?n.indent="indent"in a?a.indent:0:n.type==="flow-collection"&&a.type==="document"&&(n.indent=0),n.type==="flow-collection"&&q0(n),a.type){case"document":a.value=n;break;case"block-scalar":a.props.push(n);break;case"block-map":{const s=a.items[a.items.length-1];if(s.value){a.items.push({start:[],key:n,sep:[]}),this.onKeyLine=!0;return}else if(s.sep)s.value=n;else{Object.assign(s,{key:n,sep:[]}),this.onKeyLine=!s.explicitKey;return}break}case"block-seq":{const s=a.items[a.items.length-1];s.value?a.items.push({start:[],value:n}):s.value=n;break}case"flow-collection":{const s=a.items[a.items.length-1];!s||s.value?a.items.push({start:[],key:n,sep:[]}):s.sep?s.value=n:Object.assign(s,{key:n,sep:[]});return}default:yield*this.pop(),yield*this.pop(n)}if((a.type==="document"||a.type==="block-map"||a.type==="block-seq")&&(n.type==="block-map"||n.type==="block-seq")){const s=n.items[n.items.length-1];s&&!s.sep&&!s.value&&s.start.length>0&&H0(s.start)===-1&&(n.indent===0||s.start.every(l=>l.type!=="comment"||l.indent<n.indent))&&(a.type==="document"?a.end=s.start:a.items.push({start:s.start}),n.items.splice(-1,1))}}}*stream(){switch(this.type){case"directive-line":yield{type:"directive",offset:this.offset,source:this.source};return;case"byte-order-mark":case"space":case"comment":case"newline":yield this.sourceToken;return;case"doc-mode":case"doc-start":{const t={type:"document",offset:this.offset,start:[]};this.type==="doc-start"&&t.start.push(this.sourceToken),this.stack.push(t);return}}yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML stream`,source:this.source}}*document(t){if(t.value)return yield*this.lineEnd(t);switch(this.type){case"doc-start":{H0(t.start)!==-1?(yield*this.pop(),yield*this.step()):t.start.push(this.sourceToken);return}case"anchor":case"tag":case"space":case"comment":case"newline":t.start.push(this.sourceToken);return}const n=this.startBlockValue(t);n?this.stack.push(n):yield{type:"error",offset:this.offset,message:`Unexpected ${this.type} token in YAML document`,source:this.source}}*scalar(t){if(this.type==="map-value-ind"){const n=dd(this.peek(2)),a=fl(n);let s;t.end?(s=t.end,s.push(this.sourceToken),delete t.end):s=[this.sourceToken];const l={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:a,key:t,sep:s}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=l}else yield*this.lineEnd(t)}*blockScalar(t){switch(this.type){case"space":case"comment":case"newline":t.props.push(this.sourceToken);return;case"scalar":if(t.source=this.source,this.atNewLine=!0,this.indent=0,this.onNewLine){let n=this.source.indexOf(`
|
|
516
516
|
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
|
|
517
517
|
`,n)+1}yield*this.pop();break;default:yield*this.pop(),yield*this.step()}}*blockMap(t){var a;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(this.onKeyLine=!1,n.value){const s="end"in n.value?n.value.end:void 0,l=Array.isArray(s)?s[s.length-1]:void 0;(l==null?void 0:l.type)==="comment"?s==null||s.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else if(n.sep)n.sep.push(this.sourceToken);else{if(this.atIndentedComment(n.start,t.indent)){const s=t.items[t.items.length-2],l=(a=s==null?void 0:s.value)==null?void 0:a.end;if(Array.isArray(l)){Array.prototype.push.apply(l,n.start),l.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return}if(this.indent>=t.indent){const s=!this.onKeyLine&&this.indent===t.indent,l=s&&(n.sep||n.explicitKey)&&this.type!=="seq-item-ind";let c=[];if(l&&n.sep&&!n.value){const d=[];for(let f=0;f<n.sep.length;++f){const h=n.sep[f];switch(h.type){case"newline":d.push(f);break;case"space":break;case"comment":h.indent>t.indent&&(d.length=0);break;default:d.length=0}}d.length>=2&&(c=n.sep.splice(d[1]))}switch(this.type){case"anchor":case"tag":l||n.value?(c.push(this.sourceToken),t.items.push({start:c}),this.onKeyLine=!0):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"explicit-key-ind":!n.sep&&!n.explicitKey?(n.start.push(this.sourceToken),n.explicitKey=!0):l||n.value?(c.push(this.sourceToken),t.items.push({start:c,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(n.explicitKey)if(n.sep)if(n.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(pr(n.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:c,key:null,sep:[this.sourceToken]}]});else if(rS(n.key)&&!pr(n.sep,"newline")){const d=fl(n.start),f=n.key,h=n.sep;h.push(this.sourceToken),delete n.key,delete n.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:d,key:f,sep:h}]})}else c.length>0?n.sep=n.sep.concat(c,this.sourceToken):n.sep.push(this.sourceToken);else if(pr(n.start,"newline"))Object.assign(n,{key:null,sep:[this.sourceToken]});else{const d=fl(n.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:d,key:null,sep:[this.sourceToken]}]})}else n.sep?n.value||l?t.items.push({start:c,key:null,sep:[this.sourceToken]}):pr(n.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const d=this.flowScalar(this.type);l||n.value?(t.items.push({start:c,key:d,sep:[]}),this.onKeyLine=!0):n.sep?this.stack.push(d):(Object.assign(n,{key:d,sep:[]}),this.onKeyLine=!0);return}default:{const d=this.startBlockValue(t);if(d){if(d.type==="block-seq"){if(!n.explicitKey&&n.sep&&!pr(n.sep,"newline")){yield*this.pop({type:"error",offset:this.offset,message:"Unexpected block-seq-ind on same line with key",source:this.source});return}}else s&&t.items.push({start:c});this.stack.push(d);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){var a;const n=t.items[t.items.length-1];switch(this.type){case"newline":if(n.value){const s="end"in n.value?n.value.end:void 0,l=Array.isArray(s)?s[s.length-1]:void 0;(l==null?void 0:l.type)==="comment"?s==null||s.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else n.start.push(this.sourceToken);return;case"space":case"comment":if(n.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(n.start,t.indent)){const s=t.items[t.items.length-2],l=(a=s==null?void 0:s.value)==null?void 0:a.end;if(Array.isArray(l)){Array.prototype.push.apply(l,n.start),l.push(this.sourceToken),t.items.pop();return}}n.start.push(this.sourceToken)}return;case"anchor":case"tag":if(n.value||this.indent<=t.indent)break;n.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;n.value||pr(n.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return}if(this.indent>t.indent){const s=this.startBlockValue(t);if(s){this.stack.push(s);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){const n=t.items[t.items.length-1];if(this.type==="flow-error-end"){let a;do yield*this.pop(),a=this.peek(1);while((a==null?void 0:a.type)==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!n||n.sep?t.items.push({start:[this.sourceToken]}):n.start.push(this.sourceToken);return;case"map-value-ind":!n||n.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):Object.assign(n,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!n||n.value?t.items.push({start:[this.sourceToken]}):n.sep?n.sep.push(this.sourceToken):n.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{const s=this.flowScalar(this.type);!n||n.value?t.items.push({start:[],key:s,sep:[]}):n.sep?this.stack.push(s):Object.assign(n,{key:s,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}const a=this.startBlockValue(t);a?this.stack.push(a):(yield*this.pop(),yield*this.step())}else{const a=this.peek(2);if(a.type==="block-map"&&(this.type==="map-value-ind"&&a.indent===t.indent||this.type==="newline"&&!a.items[a.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&a.type!=="flow-collection"){const s=dd(a),l=fl(s);q0(t);const c=t.end.splice(1,t.end.length);c.push(this.sourceToken);const d={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:l,key:t,sep:c}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=d}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let n=this.source.indexOf(`
|
|
518
518
|
`)+1;for(;n!==0;)this.onNewLine(this.offset+n),n=this.source.indexOf(`
|
|
519
|
-
`,n)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const n=dd(t),a=fl(n);return a.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=dd(t),a=fl(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(a=>a.type==="newline"||a.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function sS(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new aS||null,prettyErrors:t}}function F3(e,t={}){const{lineCounter:n,prettyErrors:a}=sS(t),s=new Ig(n==null?void 0:n.addNewLine),l=new Lg(t),c=Array.from(l.compose(s.parse(e)));if(a&&n)for(const d of c)d.errors.forEach(Fd(e,n)),d.warnings.forEach(Fd(e,n));return c.length>0?c:Object.assign([],{empty:!0},l.streamInfo())}function lS(e,t={}){const{lineCounter:n,prettyErrors:a}=sS(t),s=new Ig(n==null?void 0:n.addNewLine),l=new Lg(t);let c=null;for(const d of l.compose(s.parse(e),!0,e.length))if(!c)c=d;else if(c.options.logLevel!=="silent"){c.errors.push(new is(d.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return a&&n&&(c.errors.forEach(Fd(e,n)),c.warnings.forEach(Fd(e,n))),c}function $3(e,t,n){let a;typeof t=="function"?a=t:n===void 0&&t&&typeof t=="object"&&(n=t);const s=lS(e,n);if(!s)return null;if(s.warnings.forEach(l=>NE(s.options.logLevel,l)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:a},n))}function H3(e,t,n){let a=null;if(typeof t=="function"||Array.isArray(t)?a=t:n===void 0&&t&&(n=t),typeof n=="string"&&(n=n.length),typeof n=="number"){const s=Math.round(n);n=s<1?void 0:s>8?{indent:8}:{indent:s}}if(e===void 0){const{keepUndefined:s}=n??t??{};if(!s)return}return ys(e)&&!a?e.toString(n):new Xl(e,a,n).toString(n)}const K0=Object.freeze(Object.defineProperty({__proto__:null,Alias:rf,CST:B3,Composer:Lg,Document:Xl,Lexer:iS,LineCounter:aS,Pair:wn,Parser:Ig,Scalar:Pe,Schema:qE,YAMLError:Mg,YAMLMap:li,YAMLParseError:is,YAMLSeq:_r,YAMLWarning:GE,isAlias:Tr,isCollection:zt,isDocument:ys,isMap:Vl,isNode:Ut,isPair:Dt,isScalar:Nt,isSeq:Ql,parse:$3,parseAllDocuments:F3,parseDocument:lS,stringify:H3,visit:xs,visitAsync:af},Symbol.toStringTag,{value:"Module"}));function q3({projectName:e,file:t,onClose:n,onSaved:a}){const{t:s}=Fe("projects"),l=Vn(),{alert:c}=ui(),{data:d,isLoading:f,isError:h,error:b,refetch:m}=ct({queryKey:["pipeline-file",e,t],queryFn:()=>pI(e,t)}),[x,v]=O.useState("structured"),[E,w]=O.useState(null),[k,N]=O.useState(null);O.useEffect(()=>{d&&E===null&&(w(d.content),N(d.etag),d.parseError&&v("yaml"))},[d,E]),O.useEffect(()=>{const U=$=>{$.key==="Escape"&&n()};return window.addEventListener("keydown",U),()=>window.removeEventListener("keydown",U)},[n]);const C=Gn({mutationFn:()=>{if(E===null||k===null)throw new Error("no draft");return mI(e,t,E,k)},onSuccess:U=>{N(U.etag),l.invalidateQueries({queryKey:["pipeline-file",e,t]}),l.invalidateQueries({queryKey:["project-pipelines",e]}),a()},onError:U=>{const $=U.status;c({title:s($===409?"pipelineEditor.etagConflict":$===422?"pipelineEditor.yamlInvalid":"pipelineEditor.saveFailed"),body:U instanceof Error?U.message:String(U)})}}),A=E!==null&&d&&E!==d.content,{parsed:T,parseError:L}=O.useMemo(()=>{if(E===null)return{parsed:null,parseError:null};try{return{parsed:K0.parse(E)??{},parseError:null}}catch(U){return{parsed:null,parseError:U instanceof Error?U.message:String(U)}}},[E]),M=U=>{try{const $=K0.stringify(U,{lineWidth:0});w($)}catch($){c({title:s("pipelineEditor.yamlSerializeFailed"),body:$ instanceof Error?$.message:String($)})}};return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-8 w-full max-w-4xl flex flex-col",style:{maxHeight:"calc(100vh - 64px)"},children:[p.jsxs("header",{className:"flex items-start justify-between gap-3 mb-3 flex-shrink-0",children:[p.jsxs("div",{children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold flex items-center gap-2",children:[p.jsx(y0,{size:20,strokeWidth:2.5}),p.jsx("code",{className:"font-[family-name:var(--font-mono)] text-lg",children:t}),(d==null?void 0:d.isActive)&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)",padding:"2px 8px"},children:"active"})]}),p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] mt-1",children:[e,"/pipelines/",t,k&&` · etag ${k}`]})]}),p.jsx("button",{className:"nb-btn nb-btn-mint p-2",onClick:n,type:"button","aria-label":s("pipelineEditor.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),f&&p.jsx("p",{className:"text-[var(--color-text-muted)]",children:s("pipelineEditor.loading")}),h&&p.jsx("p",{className:"text-[var(--color-crashed)]",children:s("pipelineEditor.loadFailed",{error:b instanceof Error?b.message:String(b)})}),d&&E!==null&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex items-center gap-3 mb-3 flex-shrink-0 flex-wrap",children:[p.jsxs("div",{className:"flex gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:[p.jsxs("button",{type:"button",onClick:()=>v("structured"),"aria-pressed":x==="structured",disabled:!!L,className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",x==="structured"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]",L?"opacity-50 cursor-not-allowed":""].join(" "),title:L??void 0,children:[p.jsx(Mc,{size:11,strokeWidth:2.5}),s("pipelineEditor.structured")]}),p.jsxs("button",{type:"button",onClick:()=>v("yaml"),"aria-pressed":x==="yaml",className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",x==="yaml"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]"].join(" "),children:[p.jsx(y0,{size:11,strokeWidth:2.5}),s("pipelineEditor.rawYaml")]})]}),L&&p.jsxs("div",{className:"flex items-center gap-1 text-xs text-[var(--color-crashed)] font-bold",children:[p.jsx(gc,{size:12,strokeWidth:2.5}),"YAML parse: ",L]}),(d==null?void 0:d.isActive)&&p.jsx("span",{className:"text-xs text-[var(--color-stuck)] font-bold ml-auto",children:s("pipelineEditor.activeWarn")})]}),p.jsxs("div",{className:"flex-1 overflow-auto",children:[x==="structured"&&T&&p.jsx(K3,{parsed:T,onChange:M}),x==="yaml"&&p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:400,resize:"vertical"},value:E,onChange:U=>w(U.target.value),spellCheck:!1,"aria-label":s("pipelineEditor.yamlAria")})]}),p.jsxs("div",{className:"flex items-center justify-between mt-3 pt-3 border-t-2 border-dashed border-[var(--color-text)] flex-shrink-0",children:[p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:A?p.jsx("span",{className:"text-[var(--color-stuck)] font-bold",children:s("pipelineEditor.unsaved")}):C.isSuccess?p.jsxs("span",{className:"text-[var(--color-running)] font-bold flex items-center gap-1",children:[p.jsx(bc,{size:12,strokeWidth:2.5})," ",s("pipelineEditor.saved")]}):s("pipelineEditor.noChanges")}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx("button",{className:"nb-btn",style:{padding:"6px 14px"},onClick:()=>{w(null),m()},disabled:C.isPending,type:"button",children:s("pipelineEditor.reload")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 14px"},onClick:()=>C.mutate(),disabled:!A||C.isPending,type:"button","aria-label":s("pipelineEditor.saveAria"),children:[C.isPending?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):p.jsx(tf,{size:13,strokeWidth:3}),s("pipelineEditor.save")]})]})]})]})]})})}function K3({parsed:e,onChange:t}){const{t:n}=Fe("projects"),a=e.stages??[],s=h=>{t({...e,stages:h})},l=()=>{s([...a,{name:`stage-${a.length+1}`,on_complete:"move_card Done"}])},c=h=>{s(a.filter((b,m)=>m!==h))},d=(h,b)=>{const m=[...a],x=h+b;x<0||x>=m.length||([m[h],m[x]]=[m[x],m[h]],s(m))},f=(h,b)=>{s(a.map((m,x)=>x===h?{...m,...b}:m))};return p.jsxs("div",{className:"flex flex-col gap-4",children:[p.jsxs("div",{className:"flex items-center gap-3 p-3 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[p.jsx("span",{className:"font-bold",children:"mode:"}),p.jsxs("select",{className:"nb-input",style:{padding:"4px 10px",fontSize:12},value:e.mode??"project",onChange:h=>t({...e,mode:h.target.value}),children:[p.jsx("option",{value:"project",children:"project"}),p.jsx("option",{value:"steps",children:"steps"})]})]}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:n("pipelineEditor.modeProject")})]}),p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center justify-between mb-2",children:[p.jsxs("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider",children:["Stages (",a.length,")"]}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-mint",style:{padding:"4px 12px",fontSize:12},onClick:l,"aria-label":n("pipelineEditor.addStageAria"),children:[p.jsx(Pi,{size:11,strokeWidth:3})," ",n("pipelineEditor.addStage")]})]}),a.length===0?p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic p-4 border-2 border-dashed border-[var(--color-text)] rounded-lg text-center",children:n("pipelineEditor.noStages")}):p.jsx("div",{className:"flex flex-col gap-3",children:a.map((h,b)=>p.jsx(G3,{stage:h,index:b,total:a.length,onChange:m=>f(b,m),onRemove:()=>c(b),onMoveUp:()=>d(b,-1),onMoveDown:()=>d(b,1)},b))})]})]})}function G3({stage:e,index:t,total:n,onChange:a,onRemove:s,onMoveUp:l,onMoveDown:c}){const{t:d}=Fe("projects"),f=e.on_fail??{};return p.jsxs("div",{className:"nb-card bg-[var(--color-bg-cream)] p-4",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("h4",{className:"font-[family-name:var(--font-heading)] font-bold text-sm",children:["Stage #",t+1,e.name&&p.jsx("code",{className:"ml-2 text-xs font-[family-name:var(--font-mono)] bg-[var(--color-bg)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded",children:e.name})]}),p.jsxs("div",{className:"flex gap-1",children:[p.jsx("button",{type:"button",className:"nb-btn",style:{padding:"3px 8px"},onClick:l,disabled:t===0,"aria-label":d("pipelineEditor.moveUpAria"),children:p.jsx(YT,{size:12,strokeWidth:3})}),p.jsx("button",{type:"button",className:"nb-btn",style:{padding:"3px 8px"},onClick:c,disabled:t===n-1,"aria-label":d("pipelineEditor.moveDownAria"),children:p.jsx(jc,{size:12,strokeWidth:3})}),p.jsx("button",{type:"button",className:"nb-btn nb-btn-danger",style:{padding:"3px 8px"},onClick:s,"aria-label":d("pipelineEditor.deleteStageAria"),children:p.jsx(Kl,{size:12,strokeWidth:3})})]})]}),p.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[p.jsx(dr,{label:"name",hint:d("pipelineEditor.stageNameHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.name??"",onChange:h=>a({name:h.target.value}),placeholder:"develop"})}),p.jsx(dr,{label:"profile",hint:d("pipelineEditor.stageProfileHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.profile??"",onChange:h=>a({profile:h.target.value||void 0}),placeholder:"fullstack"})}),p.jsx(dr,{label:"card_state",hint:d("pipelineEditor.stageCardStateHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.card_state??"",onChange:h=>a({card_state:h.target.value||void 0}),placeholder:"Inprogress"})}),p.jsx(dr,{label:"timeout",hint:d("pipelineEditor.stageTimeoutHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.timeout??"",onChange:h=>a({timeout:h.target.value||void 0}),placeholder:"2h"})}),p.jsx(dr,{label:"trigger",hint:d("pipelineEditor.stageTriggerHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.trigger??"",onChange:h=>a({trigger:h.target.value||void 0}),placeholder:"card_enters 'Todo'"})}),p.jsx(dr,{label:"on_complete",hint:d("pipelineEditor.stageOnCompleteHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.on_complete??"",onChange:h=>a({on_complete:h.target.value}),placeholder:"move_card Done"})})]}),p.jsxs("div",{className:"mt-4 pt-3 border-t-2 border-dashed border-[var(--color-text)]",children:[p.jsx("h5",{className:"text-xs font-bold uppercase tracking-wider mb-2 text-[var(--color-text-muted)]",children:"on_fail"}),p.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[p.jsx(dr,{label:"action",hint:d("pipelineEditor.stageOnFailureActionHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:f.action??"",onChange:h=>a({on_fail:{...f,action:h.target.value||void 0}}),placeholder:"label NEEDS-FIX"})}),p.jsx(dr,{label:"comment",hint:d("pipelineEditor.stageCommentHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:f.comment??"",onChange:h=>a({on_fail:{...f,comment:h.target.value||void 0}}),placeholder:"Worker failed. Check logs."})})]}),p.jsxs("label",{className:"flex items-center gap-2 mt-3 text-sm cursor-pointer",children:[p.jsx("input",{type:"checkbox",checked:f.halt??!0,onChange:h=>a({on_fail:{...f,halt:h.target.checked}})}),p.jsx("span",{className:"font-bold",children:"halt"}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:d("pipelineEditor.stopOnFailureNote")})]})]})]})}function dr({label:e,hint:t,children:n}){return p.jsxs("label",{className:"flex flex-col gap-1",children:[p.jsx("span",{className:"text-xs font-bold font-[family-name:var(--font-mono)]",children:e}),n,t&&p.jsx("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:t})]})}function V3({onCancel:e,onCreate:t,hasActive:n,hasSample:a,isPending:s}){const{t:l}=Fe("projects"),[c,d]=O.useState(""),[f,h]=O.useState("blank");O.useEffect(()=>{const E=w=>{w.key==="Escape"&&e()};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[e]);const b=c.trim(),m=b.endsWith(".yaml")?b:b?`${b}.yaml`:"",x=m&&/^[a-zA-Z0-9_.-]+\.yaml$/.test(m),v=()=>{!x||s||t(m,f)};return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsxs("header",{className:"flex items-start justify-between mb-4",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:l("newPipelineDialog.title")}),p.jsx("button",{className:"nb-btn nb-btn-mint p-2",onClick:e,type:"button","aria-label":l("newPipelineDialog.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),p.jsxs("form",{onSubmit:E=>{E.preventDefault(),v()},className:"flex flex-col gap-4",children:[p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:l("newPipelineDialog.filename")}),p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:l("newPipelineDialog.filenamePlaceholder"),value:c,onChange:E=>d(E.target.value),autoFocus:!0}),p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:[l("newPipelineDialog.savedAs",{name:m||"xxx.yaml"})," ",l("newPipelineDialog.filenameHint")]})]}),p.jsxs("fieldset",{className:"flex flex-col gap-2",children:[p.jsx("legend",{className:"text-sm font-bold mb-1",children:l("newPipelineDialog.initial")}),p.jsx(Kp,{value:"blank",current:f,label:l("newPipelineDialog.blankLabel"),desc:l("newPipelineDialog.blankDesc"),onSelect:h}),p.jsx(Kp,{value:"sample",current:f,label:l("newPipelineDialog.tutorialLabel"),desc:l("newPipelineDialog.tutorialDesc"),onSelect:h,disabled:!a,disabledReason:l("newPipelineDialog.tutorialDisabled")}),p.jsx(Kp,{value:"active",current:f,label:l("newPipelineDialog.copyLabel"),desc:l("newPipelineDialog.copyDesc"),onSelect:h,disabled:!n,disabledReason:l("newPipelineDialog.copyDisabled")})]}),p.jsxs("div",{className:"flex gap-3 justify-end pt-2",children:[p.jsx("button",{className:"nb-btn",onClick:e,type:"button",disabled:s,children:l("newPipelineDialog.cancel")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"submit",disabled:!x||s,"aria-label":l("newPipelineDialog.createAria"),children:[s?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):p.jsx(Pi,{size:13,strokeWidth:3}),l("newPipelineDialog.create")]})]})]})]})})}function Kp({value:e,current:t,label:n,desc:a,onSelect:s,disabled:l,disabledReason:c}){const d=t===e;return p.jsxs("label",{className:["flex items-start gap-2 p-2 rounded-lg border-2 cursor-pointer",l?"border-[var(--color-border-light)] opacity-50 cursor-not-allowed":d?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)]":"border-[var(--color-border-light)] hover:bg-[var(--color-bg-cream)] hover:border-[var(--color-text)]"].join(" "),children:[p.jsx("input",{type:"radio",name:"pipeline-template",value:e,checked:d,disabled:l,onChange:()=>s(e),className:"mt-1 flex-shrink-0"}),p.jsxs("div",{className:"flex-1",children:[p.jsx("div",{className:"text-sm font-bold",children:n}),p.jsx("div",{className:"text-xs text-[var(--color-text-muted)]",children:l?c:a})]})]})}function Q3(){var c;const{t:e}=Fe("projects"),{name:t=""}=jw(),n=Cr(),[a,s]=O.useState("overview"),l=ct({queryKey:["project",t],queryFn:()=>lI(t),enabled:!!t});return p.jsxs("div",{className:"flex flex-col gap-5 max-w-4xl",children:[p.jsxs("header",{className:"flex items-center gap-3",children:[p.jsxs("button",{type:"button",onClick:()=>n("/projects"),className:"nb-btn",style:{padding:"6px 12px"},"aria-label":e("detail.backAria"),children:[p.jsx(Kw,{size:14,strokeWidth:3}),e("detail.back")]}),p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-3xl font-bold flex-1",children:t}),p.jsx(bs,{to:`/board?project=${encodeURIComponent(t)}`,className:"nb-btn nb-btn-mint",children:e("detail.board")})]}),p.jsxs("nav",{className:"flex gap-2 flex-wrap",children:[p.jsx(fd,{current:a,value:"overview",onSelect:s,icon:h2,children:e("detail.tabs.overview")}),p.jsx(fd,{current:a,value:"config",onSelect:s,icon:Xw,children:e("detail.tabs.config")}),p.jsx(fd,{current:a,value:"pipelines",onSelect:s,icon:tE,children:"Pipelines"}),p.jsx(fd,{current:a,value:"danger",onSelect:s,icon:Kl,children:e("detail.tabs.danger")})]}),a==="overview"&&p.jsx(Y3,{name:t,data:l.data,loading:l.isLoading}),a==="config"&&p.jsx(W3,{name:t}),a==="pipelines"&&p.jsx(X3,{name:t}),a==="danger"&&p.jsx(Z3,{name:t,repoDir:((c=l.data)==null?void 0:c.repoDir)??null})]})}function fd({current:e,value:t,onSelect:n,icon:a,children:s}){const l=e===t;return p.jsxs("button",{type:"button",onClick:()=>n(t),"aria-current":l?"page":void 0,className:["nb-btn",l?"nb-btn-primary":""].join(" "),style:{padding:"6px 14px",fontSize:13},children:[p.jsx(a,{size:13,strokeWidth:2.5}),s]})}function Y3({name:e,data:t,loading:n}){const{t:a}=Fe("projects");return n?p.jsx("div",{className:"nb-card",children:p.jsx("p",{className:"text-[var(--color-text-muted)]",children:a("detail.loading")})}):t?p.jsx("div",{className:"nb-card",children:p.jsxs("dl",{className:"grid grid-cols-[160px_1fr] gap-y-3 text-sm",children:[p.jsx("dt",{className:"font-bold",children:a("detail.repo")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.repoDir??"—"}),p.jsx("dt",{className:"font-bold",children:a("detail.pmBackend")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.pmBackend}),p.jsx("dt",{className:"font-bold",children:"Agent"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.agentProvider}),p.jsx("dt",{className:"font-bold",children:a("detail.cards")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:a("detail.cardsSummary",{total:t.cards.total,ip:t.cards.inprogress,done:t.cards.done})}),p.jsx("dt",{className:"font-bold",children:a("detail.workers")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:a("detail.workersSummary",{total:t.workers.total,active:t.workers.active})}),p.jsx("dt",{className:"font-bold",children:"Pipeline"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.pipelineStatus}),p.jsx("dt",{className:"font-bold",children:a("detail.lastActivity")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.lastActivityAt?new Date(t.lastActivityAt).toLocaleString():"—"})]})}):p.jsx("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:p.jsx("p",{children:a("detail.notFound",{name:e})})})}function W3({name:e}){const{t}=Fe("projects"),n=Vn(),{alert:a}=ui(),{data:s,isLoading:l,isError:c,error:d,refetch:f}=ct({queryKey:["project-conf",e],queryFn:()=>cI(e)}),[h,b]=O.useState(null),[m,x]=O.useState(null);O.useEffect(()=>{s&&h===null&&(b(s.content),x(s.etag))},[s,h]);const v=h!==null&&s!==void 0&&h!==s.content,E=Gn({mutationFn:()=>{if(h===null||m===null)throw new Error("no draft");return uI(e,h,m)},onSuccess:w=>{x(w.etag),n.invalidateQueries({queryKey:["project-conf",e]}),n.invalidateQueries({queryKey:["project",e]})},onError:w=>{const k=w.status;a({title:t(k===409?"detail.config.etagConflict":"detail.config.saveFailed"),body:k===409?t("detail.config.etagConflictBody"):w instanceof Error?w.message:String(w)})}});return l?p.jsx("div",{className:"nb-card",children:p.jsx("p",{className:"text-[var(--color-text-muted)]",children:t("detail.config.loading")})}):c?p.jsx("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:p.jsx("p",{children:t("detail.config.loadFailed",{error:d instanceof Error?d.message:String(d)})})}):p.jsxs("div",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("div",{children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-lg font-bold",children:p.jsxs("code",{className:"font-[family-name:var(--font-mono)] text-sm bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded",children:["~/.coral/projects/",e,"/conf"]})}),m&&p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] mt-1",children:["etag: ",m]})]}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs("button",{type:"button",className:"nb-btn",style:{padding:"6px 12px"},onClick:()=>{b(null),f()},disabled:E.isPending,"aria-label":t("detail.config.reloadAria"),children:[p.jsx(zl,{size:13,strokeWidth:2.5}),t("detail.config.reload")]}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-primary",style:{padding:"6px 12px"},onClick:()=>E.mutate(),disabled:!v||E.isPending,"aria-label":t("detail.config.saveAria"),children:[E.isPending?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):E.isSuccess&&!v?p.jsx(KT,{size:13,strokeWidth:3}):p.jsx(tf,{size:13,strokeWidth:3}),t("detail.config.save")]})]})]}),p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:480,resize:"vertical"},value:h??"",onChange:w=>b(w.target.value),spellCheck:!1,"aria-label":t("detail.config.editorAria")}),v&&p.jsx("p",{className:"text-xs text-[var(--color-stuck)] mt-2 font-bold",children:t("detail.config.unsaved")})]})}function X3({name:e}){const{t}=Fe("projects"),n=Vn(),{confirm:a,alert:s}=ui(),{data:l,isLoading:c}=ct({queryKey:["project-pipelines",e],queryFn:()=>fI(e)}),[d,f]=O.useState(null),[h,b]=O.useState(!1),m=Gn({mutationFn:w=>hI(e,w),onSuccess:()=>n.invalidateQueries({queryKey:["project-pipelines",e]}),onError:w=>{s({title:t("detail.pipeline.switchFailed"),body:w instanceof Error?w.message:String(w)})}}),x=Gn({mutationFn:w=>bI(e,w),onSuccess:()=>n.invalidateQueries({queryKey:["project-pipelines",e]}),onError:w=>{s({title:t("detail.pipeline.deleteFailed"),body:w instanceof Error?w.message:String(w)})}}),v=Gn({mutationFn:w=>gI(e,w.name,w.template),onSuccess:w=>{n.invalidateQueries({queryKey:["project-pipelines",e]}),b(!1),f(w.name)},onError:w=>{s({title:t("detail.pipeline.createFailed"),body:w instanceof Error?w.message:String(w)})}});if(c)return p.jsx("div",{className:"nb-card",children:p.jsx("p",{className:"text-[var(--color-text-muted)]",children:t("detail.loading")})});const E=[];l!=null&&l.active&&E.push({name:l.active,isActive:!0});for(const w of(l==null?void 0:l.available)??[])E.push({name:w.name,isActive:!1});return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-lg font-bold",children:"Pipelines"}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-mint",style:{padding:"6px 12px",fontSize:12},onClick:()=>b(!0),disabled:v.isPending,"aria-label":t("detail.pipeline.newAria"),children:[p.jsx(Pi,{size:12,strokeWidth:3}),t("detail.pipeline.new")]})]}),E.length===0?p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic p-4 border-2 border-dashed border-[var(--color-text)] rounded-lg text-center",children:t("detail.pipeline.empty")}):p.jsx("ul",{className:"flex flex-col gap-2",children:E.map(w=>p.jsxs("li",{className:"flex items-center gap-3 p-3 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsx(tE,{size:16,strokeWidth:2.5}),p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold flex-1",children:w.name}),w.isActive&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"active"}),p.jsxs("div",{className:"flex gap-1",children:[p.jsxs("button",{type:"button",className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>f(w.name),"aria-label":t("detail.pipeline.editAria",{name:w.name}),children:[p.jsx(xg,{size:11,strokeWidth:2.5}),t("detail.pipeline.edit")]}),!w.isActive&&p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"nb-btn nb-btn-primary",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{await a({title:t("detail.pipeline.switchTitle",{name:w.name}),body:t("detail.pipeline.switchBody",{name:w.name}),confirm:t("detail.pipeline.switchConfirm")})&&m.mutate(w.name)},disabled:m.isPending,"aria-label":t("detail.pipeline.switchAria",{name:w.name}),children:t("detail.pipeline.switch")}),p.jsx("button",{type:"button",className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{await a({title:t("detail.pipeline.deleteTitle",{name:w.name}),body:t("detail.pipeline.deleteBody"),confirm:t("detail.pipeline.deleteConfirm"),danger:!0})&&x.mutate(w.name)},disabled:x.isPending,"aria-label":t("detail.pipeline.deleteAria",{name:w.name}),children:p.jsx(Kl,{size:11,strokeWidth:2.5})})]})]})]},w.name))})]}),d&&p.jsx(q3,{projectName:e,file:d,onClose:()=>f(null),onSaved:()=>{n.invalidateQueries({queryKey:["project-pipelines",e]})}}),h&&p.jsx(V3,{hasActive:!!(l!=null&&l.active),hasSample:!0,isPending:v.isPending,onCancel:()=>b(!1),onCreate:(w,k)=>v.mutate({name:w,template:k})})]})}function Z3({name:e,repoDir:t}){const{t:n}=Fe("projects"),a=Cr(),s=Vn(),{alert:l}=ui(),[c,d]=O.useState(""),[f,h]=O.useState(!0),b=Gn({mutationFn:()=>dI(e,{includeClaudeDir:f}),onSuccess:m=>{s.invalidateQueries({queryKey:["projects"]});const x=m.claudeRemoved.filter(v=>v.ok).map(v=>v.path);l({title:n("detail.danger.deletedTitle"),body:x.length>0?n("detail.danger.deletedBodyClean",{paths:x.join(`
|
|
520
|
-
`)}):n("detail.danger.deletedBody")}).then(()=>a("/projects"))},onError:m=>{l({title:n("detail.danger.deleteFailed"),body:m instanceof Error?m.message:String(m)})}});return p.jsxs("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-lg font-bold mb-2 text-[var(--color-crashed)]",children:n("detail.danger.delete")}),p.jsx("p",{className:"text-sm mb-4",children:n("detail.danger.deleteHint",{path:`~/.coral/projects/${e}/`})}),t&&p.jsxs("label",{className:"flex items-start gap-2 mb-4 p-3 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-lg cursor-pointer",children:[p.jsx("input",{type:"checkbox",checked:f,onChange:m=>h(m.target.checked),className:"mt-0.5"}),p.jsxs("div",{className:"flex-1",children:[p.jsx("div",{className:"text-sm font-bold",children:n("detail.danger.alsoCleanRepo")}),p.jsxs("div",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:[t,"/.claude/"]}),p.jsx("div",{className:"text-xs text-[var(--color-text-muted)] mt-1",children:n("detail.danger.repoUntouched")})]})]}),p.jsx("div",{className:"mb-4",children:p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:n("detail.danger.confirmType",{name:e})}),p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:c,onChange:m=>d(m.target.value),placeholder:e})]})}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-danger",disabled:c!==e||b.isPending,onClick:()=>b.mutate(),"aria-label":n("detail.danger.deleteAria"),children:[b.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(Kl,{size:14,strokeWidth:3}),n("detail.danger.deleteBtn")]})]})}function zg(e){const t=e?`?project=${encodeURIComponent(e)}`:"";return qt(`/api/skills${t}`)}function J3(e){return qt(`/api/skills/${encodeURIComponent(e)}`)}function ez(e,t){return qt(`/api/skills/${encodeURIComponent(e)}/references/${encodeURIComponent(t)}`)}async function bf(e,t){const n=await fetch(e,{method:"POST",headers:t?{"Content-Type":"application/json"}:void 0,body:t?JSON.stringify(t):void 0});if(!n.ok)throw new Error(`${n.status}: ${await n.text()}`);return n.json().catch(()=>({}))}function tz(e,t){return bf(`/api/skills/${encodeURIComponent(e)}/link`,{project:t})}function nz(e,t){return fetch(`/api/skills/${encodeURIComponent(e)}/link?project=${encodeURIComponent(t)}`,{method:"DELETE"}).then(n=>{if(!n.ok)throw new Error(`${n.status}`);return n.json()})}function iz(e,t){return bf(`/api/skills/${encodeURIComponent(e)}/freeze`,{project:t})}function az(e,t){return bf(`/api/skills/${encodeURIComponent(e)}/unfreeze`,{project:t})}function rz(){return bf("/api/skills/sync")}function sz({project:e,isPending:t,onCancel:n,onCreate:a}){var A;const{t:s}=Fe("board"),[l,c]=O.useState(""),[d,f]=O.useState(""),[h,b]=O.useState(new Set),[m,x]=O.useState(!1),v=ct({queryKey:["skills-all",e],queryFn:()=>zg(e)});O.useEffect(()=>{const T=L=>{L.key==="Escape"&&n()};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[n]);const w=l.trim().length>0&&l.trim().length<=200&&!t,k=T=>{const L=new Set(h);L.has(T)?L.delete(T):L.add(T),b(L)},N=()=>{w&&a({title:l.trim(),description:d.trim(),skills:[...h],labels:["AI-PIPELINE"],initialState:m?"Backlog":"Planning"})},C=((A=v.data)==null?void 0:A.data)??[];return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-8 w-full max-w-xl flex flex-col",style:{maxHeight:"calc(100vh - 64px)"},children:[p.jsxs("header",{className:"flex items-center justify-between mb-4 flex-shrink-0",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold",children:s("newCardDialog.title")}),p.jsx("button",{className:"nb-btn nb-btn-mint p-2",onClick:n,type:"button","aria-label":s("newCardDialog.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),p.jsxs("form",{onSubmit:T=>{T.preventDefault(),N()},className:"flex flex-col gap-4 overflow-auto",children:[p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:s("newCardDialog.titleField")}),p.jsx("input",{type:"text",className:"nb-input w-full",placeholder:s("newCardDialog.titlePlaceholder"),value:l,onChange:T=>c(T.target.value),maxLength:200,autoFocus:!0,required:!0}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.titleHint")})]}),p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:s("newCardDialog.descField")}),p.jsx("textarea",{className:"nb-input w-full",style:{minHeight:120,resize:"vertical"},placeholder:s("newCardDialog.descPlaceholder"),value:d,onChange:T=>f(T.target.value)}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.descHint")})]}),p.jsxs("div",{className:"flex flex-col gap-2",children:[p.jsx("span",{className:"text-sm font-bold",children:s("card.skills")}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.skillsHint")}),v.isLoading&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:s("newCardDialog.loadingSkills")}),v.isError&&p.jsx("p",{className:"text-xs text-[var(--color-crashed)]",children:s("newCardDialog.loadFailed",{error:v.error instanceof Error?v.error.message:String(v.error)})}),C.length>0&&p.jsx("div",{className:"flex flex-wrap gap-2",children:C.map(T=>{const L=h.has(T.name);return p.jsx("button",{type:"button",onClick:()=>k(T.name),className:["px-2.5 py-1 text-xs font-[family-name:var(--font-mono)] rounded-full border-2 transition-all",L?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)] font-bold":"bg-[var(--color-bg)] border-[var(--color-border-light)] hover:border-[var(--color-text)]"].join(" "),"aria-pressed":L,children:T.name},T.name)})}),h.size>0&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.selected",{count:h.size,names:[...h].join(", ")})})]}),p.jsxs("div",{className:"flex flex-col gap-2",children:[p.jsx("span",{className:"text-sm font-bold",children:s("newCardDialog.dispatchField")}),p.jsxs("label",{className:"flex items-center gap-3 cursor-pointer select-none p-3 border-[2px] border-[var(--color-text)] rounded-lg bg-[var(--color-bg-cream)]",children:[p.jsx("input",{type:"checkbox",className:"w-4 h-4 accent-[var(--color-cta)] cursor-pointer",checked:m,onChange:T=>x(T.target.checked)}),p.jsxs("div",{className:"flex-1",children:[p.jsx("div",{className:"text-sm font-bold",children:s("newCardDialog.dispatchToggle")}),p.jsxs("div",{className:"text-xs text-[var(--color-text-muted)] mt-0.5",children:[s("newCardDialog.dispatchOff")," ",s("newCardDialog.dispatchOn")]})]})]})]})]}),p.jsxs("div",{className:"flex gap-2 justify-end mt-4 pt-3 border-t-2 border-dashed border-[var(--color-text)] flex-shrink-0",children:[p.jsx("button",{className:"nb-btn",style:{padding:"6px 14px"},onClick:n,disabled:t,type:"button",children:s("newCardDialog.cancel")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 14px"},onClick:N,disabled:!w,type:"button","aria-label":s("newCardDialog.createAria"),children:[t?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):p.jsx(Pi,{size:13,strokeWidth:3}),s("newCardDialog.create")]})]})]})})}function lz(e){return qt(`/api/projects/${encodeURIComponent(e)}/cards`)}function oz(e,t){return qt(`/api/projects/${encodeURIComponent(e)}/cards/${t}`)}async function Zl(e,t){const n=await fetch(e,{method:"POST",headers:t?{"Content-Type":"application/json"}:void 0,body:t?JSON.stringify(t):void 0});if(!n.ok){const a=await n.text();throw new Error(`${n.status} ${n.statusText}: ${a}`)}return n.json().catch(()=>({}))}function cz(e,t){return Zl(`/api/projects/${encodeURIComponent(e)}/cards/${t}/reset`)}async function uz(e,t){const n=await fetch(`/api/projects/${encodeURIComponent(e)}/cards/${t}`,{method:"DELETE"});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}}function dz(e,t){return Zl(`/api/projects/${encodeURIComponent(e)}/cards/${t}/launch`)}function fz(e,t){const n=typeof t=="string"?{title:t}:t;return Zl(`/api/projects/${encodeURIComponent(e)}/cards`,n)}async function hz(e,t,n){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/cards/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({state:n})});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}}async function pz(e,t,n){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/cards/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}return a.json()}function mz(e){return Zl(`/api/projects/${encodeURIComponent(e)}/pipeline/start`)}function gz(e){return Zl(`/api/projects/${encodeURIComponent(e)}/pipeline/stop`)}function bz(e,t){return Zl(`/api/projects/${encodeURIComponent(e)}/pipeline/reset`,t??{})}function yz(e){const t=Vn();O.useEffect(()=>{if(!e)return;const n=`/stream/projects/${encodeURIComponent(e)}`,a=new EventSource(n),s=d=>{try{const f=JSON.parse(d.data);t.invalidateQueries({queryKey:["cards",f.project]}),t.invalidateQueries({queryKey:["card",f.project,f.seq]}),t.invalidateQueries({queryKey:["projects"]})}catch{}},l=d=>{try{const f=JSON.parse(d.data);t.invalidateQueries({queryKey:["workers",f.project]}),t.invalidateQueries({queryKey:["projects"]})}catch{}},c=d=>{try{const f=JSON.parse(d.data);t.invalidateQueries({queryKey:["pipeline-status",f.project]}),t.invalidateQueries({queryKey:["projects"]})}catch{}};return a.addEventListener("card.created",s),a.addEventListener("card.updated",s),a.addEventListener("card.moved",s),a.addEventListener("card.deleted",s),a.addEventListener("worker.updated",l),a.addEventListener("worker.added",l),a.addEventListener("worker.deleted",l),a.addEventListener("pipeline.status",c),a.addEventListener("pipeline.started",c),a.addEventListener("pipeline.stopped",c),()=>a.close()},[e,t])}const xz=new Set(["python","typescript","golang","rust","kotlin","swift","java"]),vz=new Set(["frontend","backend","mobile","database","devops"]),wz=new Set(["backend-architect","frontend-developer","code-reviewer","database-optimizer","devops-automator","security-engineer","qa-tester","security","qa","architect","db-opt"]),Ez=new Set(["coding-standards","tdd-workflow","git-workflow","architecture-decision-records","debugging-workflow"]);function Sz(e){return xz.has(e)?"lang":vz.has(e)?"end":wz.has(e)?"persona":Ez.has(e)?"workflow":"other"}const kz={lang:"var(--color-accent-purple)",end:"var(--color-secondary)",persona:"var(--color-primary)",workflow:"var(--color-accent-mint)",other:"var(--color-bg)"};function oS({name:e}){const t=kz[Sz(e)];return p.jsx("span",{className:"nb-badge",style:{background:t},children:e})}function cS({label:e,kind:t="default"}){const n=t==="warn"?"var(--color-accent-pink)":t==="accent"?"var(--color-accent-yellow)":"var(--color-bg-cream)";return p.jsx("span",{className:"nb-badge",style:{background:n},children:e})}function Nz({card:e,onClick:t,done:n,draggable:a}){const{t:s,i18n:l}=Fe("board"),c=e.labels.some(d=>d.startsWith("STARTED-"))&&!n;return p.jsxs("article",{onClick:t,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),t())},draggable:a,onDragStart:d=>{d.dataTransfer.setData("application/x-sps-card-seq",String(e.seq)),d.dataTransfer.effectAllowed="move"},tabIndex:0,role:"button","aria-label":`Card #${e.seq}: ${e.title}`,className:["bg-[var(--color-bg)] border-[3px] border-[var(--color-text)] rounded-xl p-3","shadow-[3px_3px_0_var(--color-text)] cursor-pointer","transition-[transform,box-shadow] duration-[180ms] ease-out","hover:-translate-x-0.5 hover:-translate-y-0.5 hover:shadow-[5px_5px_0_var(--color-text)]","focus:outline-none focus-visible:ring-[3px] focus-visible:ring-offset-2 focus-visible:ring-[var(--color-text)]",n?"opacity-60":"",a?"active:cursor-grabbing":""].join(" "),children:[p.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-[11px] px-2 py-0.5 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-full",children:["#",e.seq]}),c&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"running"})]}),p.jsx("p",{className:`font-bold text-sm leading-5 mb-2 line-clamp-2 ${n?"line-through decoration-2":""}`,children:e.title}),(e.skills.length>0||e.labels.length>0)&&p.jsxs("div",{className:"flex flex-wrap gap-1 mb-2",children:[e.skills.slice(0,3).map(d=>p.jsx(oS,{name:d},d)),e.labels.filter(d=>d==="NEEDS-FIX").map(d=>p.jsx(cS,{label:d,kind:"warn"},d))]}),e.checklist&&e.checklist.total>0&&p.jsx(_z,{stats:e.checklist}),p.jsxs("div",{className:"pt-2 border-t-[1.5px] border-dashed border-[var(--color-border-light)] flex items-center gap-2 text-[11px] font-[family-name:var(--font-mono)] text-[var(--color-text-subtle)]",children:[p.jsx("span",{children:Cz(e.updatedAt??e.createdAt,s("card.justNow"),l.resolvedLanguage)}),e.branch&&p.jsxs("span",{className:"truncate",children:["· ",e.branch]})]})]})}function _z({stats:e}){const{t}=Fe("board");return p.jsxs("div",{className:"mb-2",children:[p.jsxs("div",{className:"flex items-center justify-between text-[11px] font-[family-name:var(--font-mono)] mb-1",children:[p.jsx("span",{className:"font-bold",children:t("cardModal.checklistCount",{done:e.done,total:e.total})}),p.jsxs("span",{className:"text-[var(--color-text-subtle)]",children:[e.percent,"%"]})]}),p.jsx("div",{className:"w-full h-1.5 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-full overflow-hidden mb-1.5",children:p.jsx("div",{className:"h-full bg-[var(--color-cta)] transition-[width] duration-200",style:{width:`${e.percent}%`}})}),p.jsxs("ul",{className:"text-[11px] space-y-0.5",children:[e.items.slice(0,3).map((n,a)=>p.jsxs("li",{className:`flex items-start gap-1 ${n.done?"opacity-60 line-through":""}`,children:[p.jsx("span",{className:"flex-shrink-0 mt-0.5",children:n.done?"✓":"○"}),p.jsx("span",{className:"line-clamp-1",children:n.text})]},a)),e.items.length>3&&p.jsx("li",{className:"text-[var(--color-text-subtle)] italic pl-3",children:t("card.checklistMore",{count:e.items.length-3})})]})]})}function Cz(e,t="just now",n){if(!e)return"—";const a=new Date(e),s=Date.now()-a.getTime();return s<6e4?t:s<36e5?`${Math.floor(s/6e4)}m ago`:s<864e5?`${Math.floor(s/36e5)}h ago`:a.toLocaleDateString(n)}function Az({label:e,bg:t,cards:n,onCardClick:a,onDropCard:s}){const[l,c]=O.useState(!1);return p.jsxs("div",{className:["flex flex-col p-3 rounded-2xl border-[3px] min-h-[280px] h-full min-h-0 overflow-hidden","transition-all",l?"border-[var(--color-cta)] shadow-[4px_4px_0_var(--color-cta)]":"border-[var(--color-text)]"].join(" "),style:{background:t},onDragOver:d=>{!s||!d.dataTransfer.types.includes("application/x-sps-card-seq")||(d.preventDefault(),d.dataTransfer.dropEffect="move",l||c(!0))},onDragLeave:()=>c(!1),onDrop:d=>{if(c(!1),!s)return;const f=d.dataTransfer.getData("application/x-sps-card-seq"),h=Number.parseInt(f,10);Number.isFinite(h)&&(d.preventDefault(),s(h))},children:[p.jsxs("div",{className:"flex items-center justify-between px-1 pb-2 mb-2 border-b-2 border-[var(--color-text)] shrink-0",children:[p.jsx("span",{className:"font-[family-name:var(--font-heading)] font-bold text-sm uppercase tracking-wider",children:e}),p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold text-xs px-2 py-0.5 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-full",children:n.length})]}),p.jsxs("div",{className:"flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto pr-1 -mr-1",style:{scrollbarWidth:"thin",scrollbarColor:"var(--color-text) transparent"},children:[n.length===0&&p.jsx("div",{className:"text-xs text-[var(--color-text-muted)] text-center py-6 italic",children:"— 空 —"}),n.map(d=>p.jsx(Nz,{card:d,onClick:()=>a(d),done:e==="Done",draggable:!!s},d.seq))]})]})}function qm(e,t){if(!e)return"";const n=Array.isArray(t)?t:[t],a=e.split(`
|
|
519
|
+
`,n)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;const n=dd(t),a=fl(n);return a.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;const n=dd(t),a=fl(n);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:a,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,n){return this.type!=="comment"||this.indent<=n?!1:t.every(a=>a.type==="newline"||a.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}}function sS(e){const t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new aS||null,prettyErrors:t}}function H3(e,t={}){const{lineCounter:n,prettyErrors:a}=sS(t),s=new Ig(n==null?void 0:n.addNewLine),l=new Lg(t),c=Array.from(l.compose(s.parse(e)));if(a&&n)for(const d of c)d.errors.forEach(Fd(e,n)),d.warnings.forEach(Fd(e,n));return c.length>0?c:Object.assign([],{empty:!0},l.streamInfo())}function lS(e,t={}){const{lineCounter:n,prettyErrors:a}=sS(t),s=new Ig(n==null?void 0:n.addNewLine),l=new Lg(t);let c=null;for(const d of l.compose(s.parse(e),!0,e.length))if(!c)c=d;else if(c.options.logLevel!=="silent"){c.errors.push(new is(d.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return a&&n&&(c.errors.forEach(Fd(e,n)),c.warnings.forEach(Fd(e,n))),c}function q3(e,t,n){let a;typeof t=="function"?a=t:n===void 0&&t&&typeof t=="object"&&(n=t);const s=lS(e,n);if(!s)return null;if(s.warnings.forEach(l=>NE(s.options.logLevel,l)),s.errors.length>0){if(s.options.logLevel!=="silent")throw s.errors[0];s.errors=[]}return s.toJS(Object.assign({reviver:a},n))}function K3(e,t,n){let a=null;if(typeof t=="function"||Array.isArray(t)?a=t:n===void 0&&t&&(n=t),typeof n=="string"&&(n=n.length),typeof n=="number"){const s=Math.round(n);n=s<1?void 0:s>8?{indent:8}:{indent:s}}if(e===void 0){const{keepUndefined:s}=n??t??{};if(!s)return}return ys(e)&&!a?e.toString(n):new Xl(e,a,n).toString(n)}const K0=Object.freeze(Object.defineProperty({__proto__:null,Alias:rf,CST:P3,Composer:Lg,Document:Xl,Lexer:iS,LineCounter:aS,Pair:wn,Parser:Ig,Scalar:Fe,Schema:qE,YAMLError:Mg,YAMLMap:li,YAMLParseError:is,YAMLSeq:_r,YAMLWarning:GE,isAlias:Tr,isCollection:zt,isDocument:ys,isMap:Vl,isNode:Ut,isPair:Dt,isScalar:Nt,isSeq:Ql,parse:q3,parseAllDocuments:H3,parseDocument:lS,stringify:K3,visit:xs,visitAsync:af},Symbol.toStringTag,{value:"Module"}));function G3({projectName:e,file:t,onClose:n,onSaved:a}){const{t:s}=Ue("projects"),l=Vn(),{alert:c}=ui(),{data:d,isLoading:f,isError:h,error:b,refetch:m}=ct({queryKey:["pipeline-file",e,t],queryFn:()=>gI(e,t)}),[x,v]=O.useState("structured"),[E,w]=O.useState(null),[k,N]=O.useState(null);O.useEffect(()=>{d&&E===null&&(w(d.content),N(d.etag),d.parseError&&v("yaml"))},[d,E]),O.useEffect(()=>{const U=$=>{$.key==="Escape"&&n()};return window.addEventListener("keydown",U),()=>window.removeEventListener("keydown",U)},[n]);const C=Gn({mutationFn:()=>{if(E===null||k===null)throw new Error("no draft");return bI(e,t,E,k)},onSuccess:U=>{N(U.etag),l.invalidateQueries({queryKey:["pipeline-file",e,t]}),l.invalidateQueries({queryKey:["project-pipelines",e]}),a()},onError:U=>{const $=U.status;c({title:s($===409?"pipelineEditor.etagConflict":$===422?"pipelineEditor.yamlInvalid":"pipelineEditor.saveFailed"),body:U instanceof Error?U.message:String(U)})}}),A=E!==null&&d&&E!==d.content,{parsed:T,parseError:L}=O.useMemo(()=>{if(E===null)return{parsed:null,parseError:null};try{return{parsed:K0.parse(E)??{},parseError:null}}catch(U){return{parsed:null,parseError:U instanceof Error?U.message:String(U)}}},[E]),M=U=>{try{const $=K0.stringify(U,{lineWidth:0});w($)}catch($){c({title:s("pipelineEditor.yamlSerializeFailed"),body:$ instanceof Error?$.message:String($)})}};return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-8 w-full max-w-4xl flex flex-col",style:{maxHeight:"calc(100vh - 64px)"},children:[p.jsxs("header",{className:"flex items-start justify-between gap-3 mb-3 flex-shrink-0",children:[p.jsxs("div",{children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold flex items-center gap-2",children:[p.jsx(y0,{size:20,strokeWidth:2.5}),p.jsx("code",{className:"font-[family-name:var(--font-mono)] text-lg",children:t}),(d==null?void 0:d.isActive)&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)",padding:"2px 8px"},children:"active"})]}),p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] mt-1",children:[e,"/pipelines/",t,k&&` · etag ${k}`]})]}),p.jsx("button",{className:"nb-btn nb-btn-mint p-2",onClick:n,type:"button","aria-label":s("pipelineEditor.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),f&&p.jsx("p",{className:"text-[var(--color-text-muted)]",children:s("pipelineEditor.loading")}),h&&p.jsx("p",{className:"text-[var(--color-crashed)]",children:s("pipelineEditor.loadFailed",{error:b instanceof Error?b.message:String(b)})}),d&&E!==null&&p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex items-center gap-3 mb-3 flex-shrink-0 flex-wrap",children:[p.jsxs("div",{className:"flex gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:[p.jsxs("button",{type:"button",onClick:()=>v("structured"),"aria-pressed":x==="structured",disabled:!!L,className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",x==="structured"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]",L?"opacity-50 cursor-not-allowed":""].join(" "),title:L??void 0,children:[p.jsx(Mc,{size:11,strokeWidth:2.5}),s("pipelineEditor.structured")]}),p.jsxs("button",{type:"button",onClick:()=>v("yaml"),"aria-pressed":x==="yaml",className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",x==="yaml"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]"].join(" "),children:[p.jsx(y0,{size:11,strokeWidth:2.5}),s("pipelineEditor.rawYaml")]})]}),L&&p.jsxs("div",{className:"flex items-center gap-1 text-xs text-[var(--color-crashed)] font-bold",children:[p.jsx(gc,{size:12,strokeWidth:2.5}),"YAML parse: ",L]}),(d==null?void 0:d.isActive)&&p.jsx("span",{className:"text-xs text-[var(--color-stuck)] font-bold ml-auto",children:s("pipelineEditor.activeWarn")})]}),p.jsxs("div",{className:"flex-1 overflow-auto",children:[x==="structured"&&T&&p.jsx(V3,{parsed:T,onChange:M}),x==="yaml"&&p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:400,resize:"vertical"},value:E,onChange:U=>w(U.target.value),spellCheck:!1,"aria-label":s("pipelineEditor.yamlAria")})]}),p.jsxs("div",{className:"flex items-center justify-between mt-3 pt-3 border-t-2 border-dashed border-[var(--color-text)] flex-shrink-0",children:[p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:A?p.jsx("span",{className:"text-[var(--color-stuck)] font-bold",children:s("pipelineEditor.unsaved")}):C.isSuccess?p.jsxs("span",{className:"text-[var(--color-running)] font-bold flex items-center gap-1",children:[p.jsx(bc,{size:12,strokeWidth:2.5})," ",s("pipelineEditor.saved")]}):s("pipelineEditor.noChanges")}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx("button",{className:"nb-btn",style:{padding:"6px 14px"},onClick:()=>{w(null),m()},disabled:C.isPending,type:"button",children:s("pipelineEditor.reload")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 14px"},onClick:()=>C.mutate(),disabled:!A||C.isPending,type:"button","aria-label":s("pipelineEditor.saveAria"),children:[C.isPending?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):p.jsx(tf,{size:13,strokeWidth:3}),s("pipelineEditor.save")]})]})]})]})]})})}function V3({parsed:e,onChange:t}){const{t:n}=Ue("projects"),a=e.stages??[],s=h=>{t({...e,stages:h})},l=()=>{s([...a,{name:`stage-${a.length+1}`,on_complete:"move_card Done"}])},c=h=>{s(a.filter((b,m)=>m!==h))},d=(h,b)=>{const m=[...a],x=h+b;x<0||x>=m.length||([m[h],m[x]]=[m[x],m[h]],s(m))},f=(h,b)=>{s(a.map((m,x)=>x===h?{...m,...b}:m))};return p.jsxs("div",{className:"flex flex-col gap-4",children:[p.jsxs("div",{className:"flex items-center gap-3 p-3 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsxs("label",{className:"flex items-center gap-2 text-sm",children:[p.jsx("span",{className:"font-bold",children:"mode:"}),p.jsxs("select",{className:"nb-input",style:{padding:"4px 10px",fontSize:12},value:e.mode??"project",onChange:h=>t({...e,mode:h.target.value}),children:[p.jsx("option",{value:"project",children:"project"}),p.jsx("option",{value:"steps",children:"steps"})]})]}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:n("pipelineEditor.modeProject")})]}),p.jsxs("div",{children:[p.jsxs("div",{className:"flex items-center justify-between mb-2",children:[p.jsxs("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider",children:["Stages (",a.length,")"]}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-mint",style:{padding:"4px 12px",fontSize:12},onClick:l,"aria-label":n("pipelineEditor.addStageAria"),children:[p.jsx(Pi,{size:11,strokeWidth:3})," ",n("pipelineEditor.addStage")]})]}),a.length===0?p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic p-4 border-2 border-dashed border-[var(--color-text)] rounded-lg text-center",children:n("pipelineEditor.noStages")}):p.jsx("div",{className:"flex flex-col gap-3",children:a.map((h,b)=>p.jsx(Q3,{stage:h,index:b,total:a.length,onChange:m=>f(b,m),onRemove:()=>c(b),onMoveUp:()=>d(b,-1),onMoveDown:()=>d(b,1)},b))})]})]})}function Q3({stage:e,index:t,total:n,onChange:a,onRemove:s,onMoveUp:l,onMoveDown:c}){const{t:d}=Ue("projects"),f=e.on_fail??{};return p.jsxs("div",{className:"nb-card bg-[var(--color-bg-cream)] p-4",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("h4",{className:"font-[family-name:var(--font-heading)] font-bold text-sm",children:["Stage #",t+1,e.name&&p.jsx("code",{className:"ml-2 text-xs font-[family-name:var(--font-mono)] bg-[var(--color-bg)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded",children:e.name})]}),p.jsxs("div",{className:"flex gap-1",children:[p.jsx("button",{type:"button",className:"nb-btn",style:{padding:"3px 8px"},onClick:l,disabled:t===0,"aria-label":d("pipelineEditor.moveUpAria"),children:p.jsx(YT,{size:12,strokeWidth:3})}),p.jsx("button",{type:"button",className:"nb-btn",style:{padding:"3px 8px"},onClick:c,disabled:t===n-1,"aria-label":d("pipelineEditor.moveDownAria"),children:p.jsx(jc,{size:12,strokeWidth:3})}),p.jsx("button",{type:"button",className:"nb-btn nb-btn-danger",style:{padding:"3px 8px"},onClick:s,"aria-label":d("pipelineEditor.deleteStageAria"),children:p.jsx(Kl,{size:12,strokeWidth:3})})]})]}),p.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[p.jsx(dr,{label:"name",hint:d("pipelineEditor.stageNameHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.name??"",onChange:h=>a({name:h.target.value}),placeholder:"develop"})}),p.jsx(dr,{label:"profile",hint:d("pipelineEditor.stageProfileHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.profile??"",onChange:h=>a({profile:h.target.value||void 0}),placeholder:"fullstack"})}),p.jsx(dr,{label:"card_state",hint:d("pipelineEditor.stageCardStateHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.card_state??"",onChange:h=>a({card_state:h.target.value||void 0}),placeholder:"Inprogress"})}),p.jsx(dr,{label:"timeout",hint:d("pipelineEditor.stageTimeoutHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.timeout??"",onChange:h=>a({timeout:h.target.value||void 0}),placeholder:"2h"})}),p.jsx(dr,{label:"trigger",hint:d("pipelineEditor.stageTriggerHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.trigger??"",onChange:h=>a({trigger:h.target.value||void 0}),placeholder:"card_enters 'Todo'"})}),p.jsx(dr,{label:"on_complete",hint:d("pipelineEditor.stageOnCompleteHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:e.on_complete??"",onChange:h=>a({on_complete:h.target.value}),placeholder:"move_card Done"})})]}),p.jsxs("div",{className:"mt-4 pt-3 border-t-2 border-dashed border-[var(--color-text)]",children:[p.jsx("h5",{className:"text-xs font-bold uppercase tracking-wider mb-2 text-[var(--color-text-muted)]",children:"on_fail"}),p.jsxs("div",{className:"grid grid-cols-2 gap-3 text-sm",children:[p.jsx(dr,{label:"action",hint:d("pipelineEditor.stageOnFailureActionHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:f.action??"",onChange:h=>a({on_fail:{...f,action:h.target.value||void 0}}),placeholder:"label NEEDS-FIX"})}),p.jsx(dr,{label:"comment",hint:d("pipelineEditor.stageCommentHint"),children:p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",value:f.comment??"",onChange:h=>a({on_fail:{...f,comment:h.target.value||void 0}}),placeholder:"Worker failed. Check logs."})})]}),p.jsxs("label",{className:"flex items-center gap-2 mt-3 text-sm cursor-pointer",children:[p.jsx("input",{type:"checkbox",checked:f.halt??!0,onChange:h=>a({on_fail:{...f,halt:h.target.checked}})}),p.jsx("span",{className:"font-bold",children:"halt"}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:d("pipelineEditor.stopOnFailureNote")})]})]})]})}function dr({label:e,hint:t,children:n}){return p.jsxs("label",{className:"flex flex-col gap-1",children:[p.jsx("span",{className:"text-xs font-bold font-[family-name:var(--font-mono)]",children:e}),n,t&&p.jsx("span",{className:"text-[10px] text-[var(--color-text-muted)]",children:t})]})}function Y3({onCancel:e,onCreate:t,hasActive:n,hasSample:a,isPending:s}){const{t:l}=Ue("projects"),[c,d]=O.useState(""),[f,h]=O.useState("blank");O.useEffect(()=>{const E=w=>{w.key==="Escape"&&e()};return window.addEventListener("keydown",E),()=>window.removeEventListener("keydown",E)},[e]);const b=c.trim(),m=b.endsWith(".yaml")?b:b?`${b}.yaml`:"",x=m&&/^[a-zA-Z0-9_.-]+\.yaml$/.test(m),v=()=>{!x||s||t(m,f)};return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-50 flex items-center justify-center p-6 bg-black/30",children:p.jsxs("div",{className:"nb-card max-w-md w-full",children:[p.jsxs("header",{className:"flex items-start justify-between mb-4",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:l("newPipelineDialog.title")}),p.jsx("button",{className:"nb-btn nb-btn-mint p-2",onClick:e,type:"button","aria-label":l("newPipelineDialog.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),p.jsxs("form",{onSubmit:E=>{E.preventDefault(),v()},className:"flex flex-col gap-4",children:[p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:l("newPipelineDialog.filename")}),p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",placeholder:l("newPipelineDialog.filenamePlaceholder"),value:c,onChange:E=>d(E.target.value),autoFocus:!0}),p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)]",children:[l("newPipelineDialog.savedAs",{name:m||"xxx.yaml"})," ",l("newPipelineDialog.filenameHint")]})]}),p.jsxs("fieldset",{className:"flex flex-col gap-2",children:[p.jsx("legend",{className:"text-sm font-bold mb-1",children:l("newPipelineDialog.initial")}),p.jsx(Kp,{value:"blank",current:f,label:l("newPipelineDialog.blankLabel"),desc:l("newPipelineDialog.blankDesc"),onSelect:h}),p.jsx(Kp,{value:"sample",current:f,label:l("newPipelineDialog.tutorialLabel"),desc:l("newPipelineDialog.tutorialDesc"),onSelect:h,disabled:!a,disabledReason:l("newPipelineDialog.tutorialDisabled")}),p.jsx(Kp,{value:"active",current:f,label:l("newPipelineDialog.copyLabel"),desc:l("newPipelineDialog.copyDesc"),onSelect:h,disabled:!n,disabledReason:l("newPipelineDialog.copyDisabled")})]}),p.jsxs("div",{className:"flex gap-3 justify-end pt-2",children:[p.jsx("button",{className:"nb-btn",onClick:e,type:"button",disabled:s,children:l("newPipelineDialog.cancel")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"submit",disabled:!x||s,"aria-label":l("newPipelineDialog.createAria"),children:[s?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):p.jsx(Pi,{size:13,strokeWidth:3}),l("newPipelineDialog.create")]})]})]})]})})}function Kp({value:e,current:t,label:n,desc:a,onSelect:s,disabled:l,disabledReason:c}){const d=t===e;return p.jsxs("label",{className:["flex items-start gap-2 p-2 rounded-lg border-2 cursor-pointer",l?"border-[var(--color-border-light)] opacity-50 cursor-not-allowed":d?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)]":"border-[var(--color-border-light)] hover:bg-[var(--color-bg-cream)] hover:border-[var(--color-text)]"].join(" "),children:[p.jsx("input",{type:"radio",name:"pipeline-template",value:e,checked:d,disabled:l,onChange:()=>s(e),className:"mt-1 flex-shrink-0"}),p.jsxs("div",{className:"flex-1",children:[p.jsx("div",{className:"text-sm font-bold",children:n}),p.jsx("div",{className:"text-xs text-[var(--color-text-muted)]",children:l?c:a})]})]})}function W3(){var c;const{t:e}=Ue("projects"),{name:t=""}=jw(),n=Cr(),[a,s]=O.useState("overview"),l=ct({queryKey:["project",t],queryFn:()=>cI(t),enabled:!!t});return p.jsxs("div",{className:"flex flex-col gap-5 max-w-4xl",children:[p.jsxs("header",{className:"flex items-center gap-3",children:[p.jsxs("button",{type:"button",onClick:()=>n("/projects"),className:"nb-btn",style:{padding:"6px 12px"},"aria-label":e("detail.backAria"),children:[p.jsx(Kw,{size:14,strokeWidth:3}),e("detail.back")]}),p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-3xl font-bold flex-1",children:t}),p.jsx(bs,{to:`/board?project=${encodeURIComponent(t)}`,className:"nb-btn nb-btn-mint",children:e("detail.board")})]}),p.jsxs("nav",{className:"flex gap-2 flex-wrap",children:[p.jsx(fd,{current:a,value:"overview",onSelect:s,icon:h2,children:e("detail.tabs.overview")}),p.jsx(fd,{current:a,value:"config",onSelect:s,icon:Xw,children:e("detail.tabs.config")}),p.jsx(fd,{current:a,value:"pipelines",onSelect:s,icon:tE,children:"Pipelines"}),p.jsx(fd,{current:a,value:"danger",onSelect:s,icon:Kl,children:e("detail.tabs.danger")})]}),a==="overview"&&p.jsx(X3,{name:t,data:l.data,loading:l.isLoading}),a==="config"&&p.jsx(Z3,{name:t}),a==="pipelines"&&p.jsx(J3,{name:t}),a==="danger"&&p.jsx(ez,{name:t,repoDir:((c=l.data)==null?void 0:c.repoDir)??null})]})}function fd({current:e,value:t,onSelect:n,icon:a,children:s}){const l=e===t;return p.jsxs("button",{type:"button",onClick:()=>n(t),"aria-current":l?"page":void 0,className:["nb-btn",l?"nb-btn-primary":""].join(" "),style:{padding:"6px 14px",fontSize:13},children:[p.jsx(a,{size:13,strokeWidth:2.5}),s]})}function X3({name:e,data:t,loading:n}){const{t:a}=Ue("projects");return n?p.jsx("div",{className:"nb-card",children:p.jsx("p",{className:"text-[var(--color-text-muted)]",children:a("detail.loading")})}):t?p.jsx("div",{className:"nb-card",children:p.jsxs("dl",{className:"grid grid-cols-[160px_1fr] gap-y-3 text-sm",children:[p.jsx("dt",{className:"font-bold",children:a("detail.repo")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.repoDir??"—"}),p.jsx("dt",{className:"font-bold",children:a("detail.pmBackend")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.pmBackend}),p.jsx("dt",{className:"font-bold",children:"Agent"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.agentProvider}),p.jsx("dt",{className:"font-bold",children:a("detail.cards")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:a("detail.cardsSummary",{total:t.cards.total,ip:t.cards.inprogress,done:t.cards.done})}),p.jsx("dt",{className:"font-bold",children:a("detail.workers")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:a("detail.workersSummary",{total:t.workers.total,active:t.workers.active})}),p.jsx("dt",{className:"font-bold",children:"Pipeline"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.pipelineStatus}),p.jsx("dt",{className:"font-bold",children:a("detail.lastActivity")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.lastActivityAt?new Date(t.lastActivityAt).toLocaleString():"—"})]})}):p.jsx("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:p.jsx("p",{children:a("detail.notFound",{name:e})})})}function Z3({name:e}){const{t}=Ue("projects"),n=Vn(),{alert:a}=ui(),{data:s,isLoading:l,isError:c,error:d,refetch:f}=ct({queryKey:["project-conf",e],queryFn:()=>dI(e)}),[h,b]=O.useState(null),[m,x]=O.useState(null);O.useEffect(()=>{s&&h===null&&(b(s.content),x(s.etag))},[s,h]);const v=h!==null&&s!==void 0&&h!==s.content,E=Gn({mutationFn:()=>{if(h===null||m===null)throw new Error("no draft");return fI(e,h,m)},onSuccess:w=>{x(w.etag),n.invalidateQueries({queryKey:["project-conf",e]}),n.invalidateQueries({queryKey:["project",e]})},onError:w=>{const k=w.status;a({title:t(k===409?"detail.config.etagConflict":"detail.config.saveFailed"),body:k===409?t("detail.config.etagConflictBody"):w instanceof Error?w.message:String(w)})}});return l?p.jsx("div",{className:"nb-card",children:p.jsx("p",{className:"text-[var(--color-text-muted)]",children:t("detail.config.loading")})}):c?p.jsx("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:p.jsx("p",{children:t("detail.config.loadFailed",{error:d instanceof Error?d.message:String(d)})})}):p.jsxs("div",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("div",{children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-lg font-bold",children:p.jsxs("code",{className:"font-[family-name:var(--font-mono)] text-sm bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded",children:["~/.coral/projects/",e,"/conf"]})}),m&&p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] mt-1",children:["etag: ",m]})]}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs("button",{type:"button",className:"nb-btn",style:{padding:"6px 12px"},onClick:()=>{b(null),f()},disabled:E.isPending,"aria-label":t("detail.config.reloadAria"),children:[p.jsx(zl,{size:13,strokeWidth:2.5}),t("detail.config.reload")]}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-primary",style:{padding:"6px 12px"},onClick:()=>E.mutate(),disabled:!v||E.isPending,"aria-label":t("detail.config.saveAria"),children:[E.isPending?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):E.isSuccess&&!v?p.jsx(KT,{size:13,strokeWidth:3}):p.jsx(tf,{size:13,strokeWidth:3}),t("detail.config.save")]})]})]}),p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:480,resize:"vertical"},value:h??"",onChange:w=>b(w.target.value),spellCheck:!1,"aria-label":t("detail.config.editorAria")}),v&&p.jsx("p",{className:"text-xs text-[var(--color-stuck)] mt-2 font-bold",children:t("detail.config.unsaved")})]})}function J3({name:e}){const{t}=Ue("projects"),n=Vn(),{confirm:a,alert:s}=ui(),{data:l,isLoading:c}=ct({queryKey:["project-pipelines",e],queryFn:()=>pI(e)}),[d,f]=O.useState(null),[h,b]=O.useState(!1),m=Gn({mutationFn:w=>mI(e,w),onSuccess:()=>n.invalidateQueries({queryKey:["project-pipelines",e]}),onError:w=>{s({title:t("detail.pipeline.switchFailed"),body:w instanceof Error?w.message:String(w)})}}),x=Gn({mutationFn:w=>xI(e,w),onSuccess:()=>n.invalidateQueries({queryKey:["project-pipelines",e]}),onError:w=>{s({title:t("detail.pipeline.deleteFailed"),body:w instanceof Error?w.message:String(w)})}}),v=Gn({mutationFn:w=>yI(e,w.name,w.template),onSuccess:w=>{n.invalidateQueries({queryKey:["project-pipelines",e]}),b(!1),f(w.name)},onError:w=>{s({title:t("detail.pipeline.createFailed"),body:w instanceof Error?w.message:String(w)})}});if(c)return p.jsx("div",{className:"nb-card",children:p.jsx("p",{className:"text-[var(--color-text-muted)]",children:t("detail.loading")})});const E=[];l!=null&&l.active&&E.push({name:l.active,isActive:!0});for(const w of(l==null?void 0:l.available)??[])E.push({name:w.name,isActive:!1});return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-lg font-bold",children:"Pipelines"}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-mint",style:{padding:"6px 12px",fontSize:12},onClick:()=>b(!0),disabled:v.isPending,"aria-label":t("detail.pipeline.newAria"),children:[p.jsx(Pi,{size:12,strokeWidth:3}),t("detail.pipeline.new")]})]}),E.length===0?p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic p-4 border-2 border-dashed border-[var(--color-text)] rounded-lg text-center",children:t("detail.pipeline.empty")}):p.jsx("ul",{className:"flex flex-col gap-2",children:E.map(w=>p.jsxs("li",{className:"flex items-center gap-3 p-3 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsx(tE,{size:16,strokeWidth:2.5}),p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold flex-1",children:w.name}),w.isActive&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"active"}),p.jsxs("div",{className:"flex gap-1",children:[p.jsxs("button",{type:"button",className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>f(w.name),"aria-label":t("detail.pipeline.editAria",{name:w.name}),children:[p.jsx(xg,{size:11,strokeWidth:2.5}),t("detail.pipeline.edit")]}),!w.isActive&&p.jsxs(p.Fragment,{children:[p.jsx("button",{type:"button",className:"nb-btn nb-btn-primary",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{await a({title:t("detail.pipeline.switchTitle",{name:w.name}),body:t("detail.pipeline.switchBody",{name:w.name}),confirm:t("detail.pipeline.switchConfirm")})&&m.mutate(w.name)},disabled:m.isPending,"aria-label":t("detail.pipeline.switchAria",{name:w.name}),children:t("detail.pipeline.switch")}),p.jsx("button",{type:"button",className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{await a({title:t("detail.pipeline.deleteTitle",{name:w.name}),body:t("detail.pipeline.deleteBody"),confirm:t("detail.pipeline.deleteConfirm"),danger:!0})&&x.mutate(w.name)},disabled:x.isPending,"aria-label":t("detail.pipeline.deleteAria",{name:w.name}),children:p.jsx(Kl,{size:11,strokeWidth:2.5})})]})]})]},w.name))})]}),d&&p.jsx(G3,{projectName:e,file:d,onClose:()=>f(null),onSaved:()=>{n.invalidateQueries({queryKey:["project-pipelines",e]})}}),h&&p.jsx(Y3,{hasActive:!!(l!=null&&l.active),hasSample:!0,isPending:v.isPending,onCancel:()=>b(!1),onCreate:(w,k)=>v.mutate({name:w,template:k})})]})}function ez({name:e,repoDir:t}){const{t:n}=Ue("projects"),a=Cr(),s=Vn(),{alert:l}=ui(),[c,d]=O.useState(""),[f,h]=O.useState(!0),b=Gn({mutationFn:()=>hI(e,{includeClaudeDir:f}),onSuccess:m=>{s.invalidateQueries({queryKey:["projects"]});const x=m.claudeRemoved.filter(v=>v.ok).map(v=>v.path);l({title:n("detail.danger.deletedTitle"),body:x.length>0?n("detail.danger.deletedBodyClean",{paths:x.join(`
|
|
520
|
+
`)}):n("detail.danger.deletedBody")}).then(()=>a("/projects"))},onError:m=>{l({title:n("detail.danger.deleteFailed"),body:m instanceof Error?m.message:String(m)})}});return p.jsxs("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-lg font-bold mb-2 text-[var(--color-crashed)]",children:n("detail.danger.delete")}),p.jsx("p",{className:"text-sm mb-4",children:n("detail.danger.deleteHint",{path:`~/.coral/projects/${e}/`})}),t&&p.jsxs("label",{className:"flex items-start gap-2 mb-4 p-3 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-lg cursor-pointer",children:[p.jsx("input",{type:"checkbox",checked:f,onChange:m=>h(m.target.checked),className:"mt-0.5"}),p.jsxs("div",{className:"flex-1",children:[p.jsx("div",{className:"text-sm font-bold",children:n("detail.danger.alsoCleanRepo")}),p.jsxs("div",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:[t,"/.claude/"]}),p.jsx("div",{className:"text-xs text-[var(--color-text-muted)] mt-1",children:n("detail.danger.repoUntouched")})]})]}),p.jsx("div",{className:"mb-4",children:p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:n("detail.danger.confirmType",{name:e})}),p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-mono)]",value:c,onChange:m=>d(m.target.value),placeholder:e})]})}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-danger",disabled:c!==e||b.isPending,onClick:()=>b.mutate(),"aria-label":n("detail.danger.deleteAria"),children:[b.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(Kl,{size:14,strokeWidth:3}),n("detail.danger.deleteBtn")]})]})}function zg(e){const t=e?`?project=${encodeURIComponent(e)}`:"";return qt(`/api/skills${t}`)}function tz(e){return qt(`/api/skills/${encodeURIComponent(e)}`)}function nz(e,t){return qt(`/api/skills/${encodeURIComponent(e)}/references/${encodeURIComponent(t)}`)}async function bf(e,t){const n=await fetch(e,{method:"POST",headers:t?{"Content-Type":"application/json"}:void 0,body:t?JSON.stringify(t):void 0});if(!n.ok)throw new Error(`${n.status}: ${await n.text()}`);return n.json().catch(()=>({}))}function iz(e,t){return bf(`/api/skills/${encodeURIComponent(e)}/link`,{project:t})}function az(e,t){return fetch(`/api/skills/${encodeURIComponent(e)}/link?project=${encodeURIComponent(t)}`,{method:"DELETE"}).then(n=>{if(!n.ok)throw new Error(`${n.status}`);return n.json()})}function rz(e,t){return bf(`/api/skills/${encodeURIComponent(e)}/freeze`,{project:t})}function sz(e,t){return bf(`/api/skills/${encodeURIComponent(e)}/unfreeze`,{project:t})}function lz(){return bf("/api/skills/sync")}function oz({project:e,isPending:t,onCancel:n,onCreate:a}){var A;const{t:s}=Ue("board"),[l,c]=O.useState(""),[d,f]=O.useState(""),[h,b]=O.useState(new Set),[m,x]=O.useState(!1),v=ct({queryKey:["skills-all",e],queryFn:()=>zg(e)});O.useEffect(()=>{const T=L=>{L.key==="Escape"&&n()};return window.addEventListener("keydown",T),()=>window.removeEventListener("keydown",T)},[n]);const w=l.trim().length>0&&l.trim().length<=200&&!t,k=T=>{const L=new Set(h);L.has(T)?L.delete(T):L.add(T),b(L)},N=()=>{w&&a({title:l.trim(),description:d.trim(),skills:[...h],labels:["AI-PIPELINE"],initialState:m?"Backlog":"Planning"})},C=((A=v.data)==null?void 0:A.data)??[];return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-8 w-full max-w-xl flex flex-col",style:{maxHeight:"calc(100vh - 64px)"},children:[p.jsxs("header",{className:"flex items-center justify-between mb-4 flex-shrink-0",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold",children:s("newCardDialog.title")}),p.jsx("button",{className:"nb-btn nb-btn-mint p-2",onClick:n,type:"button","aria-label":s("newCardDialog.closeAria"),children:p.jsx(Ci,{size:14,strokeWidth:3})})]}),p.jsxs("form",{onSubmit:T=>{T.preventDefault(),N()},className:"flex flex-col gap-4 overflow-auto",children:[p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:s("newCardDialog.titleField")}),p.jsx("input",{type:"text",className:"nb-input w-full",placeholder:s("newCardDialog.titlePlaceholder"),value:l,onChange:T=>c(T.target.value),maxLength:200,autoFocus:!0,required:!0}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.titleHint")})]}),p.jsxs("label",{className:"flex flex-col gap-1.5",children:[p.jsx("span",{className:"text-sm font-bold",children:s("newCardDialog.descField")}),p.jsx("textarea",{className:"nb-input w-full",style:{minHeight:120,resize:"vertical"},placeholder:s("newCardDialog.descPlaceholder"),value:d,onChange:T=>f(T.target.value)}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.descHint")})]}),p.jsxs("div",{className:"flex flex-col gap-2",children:[p.jsx("span",{className:"text-sm font-bold",children:s("card.skills")}),p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.skillsHint")}),v.isLoading&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:s("newCardDialog.loadingSkills")}),v.isError&&p.jsx("p",{className:"text-xs text-[var(--color-crashed)]",children:s("newCardDialog.loadFailed",{error:v.error instanceof Error?v.error.message:String(v.error)})}),C.length>0&&p.jsx("div",{className:"flex flex-wrap gap-2",children:C.map(T=>{const L=h.has(T.name);return p.jsx("button",{type:"button",onClick:()=>k(T.name),className:["px-2.5 py-1 text-xs font-[family-name:var(--font-mono)] rounded-full border-2 transition-all",L?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)] font-bold":"bg-[var(--color-bg)] border-[var(--color-border-light)] hover:border-[var(--color-text)]"].join(" "),"aria-pressed":L,children:T.name},T.name)})}),h.size>0&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)]",children:s("newCardDialog.selected",{count:h.size,names:[...h].join(", ")})})]}),p.jsxs("div",{className:"flex flex-col gap-2",children:[p.jsx("span",{className:"text-sm font-bold",children:s("newCardDialog.dispatchField")}),p.jsxs("label",{className:"flex items-center gap-3 cursor-pointer select-none p-3 border-[2px] border-[var(--color-text)] rounded-lg bg-[var(--color-bg-cream)]",children:[p.jsx("input",{type:"checkbox",className:"w-4 h-4 accent-[var(--color-cta)] cursor-pointer",checked:m,onChange:T=>x(T.target.checked)}),p.jsxs("div",{className:"flex-1",children:[p.jsx("div",{className:"text-sm font-bold",children:s("newCardDialog.dispatchToggle")}),p.jsxs("div",{className:"text-xs text-[var(--color-text-muted)] mt-0.5",children:[s("newCardDialog.dispatchOff")," ",s("newCardDialog.dispatchOn")]})]})]})]})]}),p.jsxs("div",{className:"flex gap-2 justify-end mt-4 pt-3 border-t-2 border-dashed border-[var(--color-text)] flex-shrink-0",children:[p.jsx("button",{className:"nb-btn",style:{padding:"6px 14px"},onClick:n,disabled:t,type:"button",children:s("newCardDialog.cancel")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 14px"},onClick:N,disabled:!w,type:"button","aria-label":s("newCardDialog.createAria"),children:[t?p.jsx(Bt,{size:13,strokeWidth:3,className:"animate-spin"}):p.jsx(Pi,{size:13,strokeWidth:3}),s("newCardDialog.create")]})]})]})})}function cz(e){return qt(`/api/projects/${encodeURIComponent(e)}/cards`)}function uz(e,t){return qt(`/api/projects/${encodeURIComponent(e)}/cards/${t}`)}async function Zl(e,t){const n=await fetch(e,{method:"POST",headers:t?{"Content-Type":"application/json"}:void 0,body:t?JSON.stringify(t):void 0});if(!n.ok){const a=await n.text();throw new Error(`${n.status} ${n.statusText}: ${a}`)}return n.json().catch(()=>({}))}function dz(e,t){return Zl(`/api/projects/${encodeURIComponent(e)}/cards/${t}/reset`)}async function fz(e,t){const n=await fetch(`/api/projects/${encodeURIComponent(e)}/cards/${t}`,{method:"DELETE"});if(!n.ok){const a=await n.text();throw new Error(`${n.status}: ${a}`)}}function hz(e,t){return Zl(`/api/projects/${encodeURIComponent(e)}/cards/${t}/launch`)}function pz(e,t){const n=typeof t=="string"?{title:t}:t;return Zl(`/api/projects/${encodeURIComponent(e)}/cards`,n)}async function mz(e,t,n){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/cards/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({state:n})});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}}async function gz(e,t,n){const a=await fetch(`/api/projects/${encodeURIComponent(e)}/cards/${t}`,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!a.ok){const s=await a.text();throw new Error(`${a.status}: ${s}`)}return a.json()}function bz(e){return Zl(`/api/projects/${encodeURIComponent(e)}/pipeline/start`)}function yz(e){return Zl(`/api/projects/${encodeURIComponent(e)}/pipeline/stop`)}function xz(e,t){return Zl(`/api/projects/${encodeURIComponent(e)}/pipeline/reset`,t??{})}function vz(e){const t=Vn();O.useEffect(()=>{if(!e)return;const n=`/stream/projects/${encodeURIComponent(e)}`,a=new EventSource(n),s=d=>{try{const f=JSON.parse(d.data);t.invalidateQueries({queryKey:["cards",f.project]}),t.invalidateQueries({queryKey:["card",f.project,f.seq]}),t.invalidateQueries({queryKey:["projects"]})}catch{}},l=d=>{try{const f=JSON.parse(d.data);t.invalidateQueries({queryKey:["workers",f.project]}),t.invalidateQueries({queryKey:["projects"]})}catch{}},c=d=>{try{const f=JSON.parse(d.data);t.invalidateQueries({queryKey:["pipeline-status",f.project]}),t.invalidateQueries({queryKey:["projects"]})}catch{}};return a.addEventListener("card.created",s),a.addEventListener("card.updated",s),a.addEventListener("card.moved",s),a.addEventListener("card.deleted",s),a.addEventListener("worker.updated",l),a.addEventListener("worker.added",l),a.addEventListener("worker.deleted",l),a.addEventListener("pipeline.status",c),a.addEventListener("pipeline.started",c),a.addEventListener("pipeline.stopped",c),()=>a.close()},[e,t])}const wz=new Set(["python","typescript","golang","rust","kotlin","swift","java"]),Ez=new Set(["frontend","backend","mobile","database","devops"]),Sz=new Set(["backend-architect","frontend-developer","code-reviewer","database-optimizer","devops-automator","security-engineer","qa-tester","security","qa","architect","db-opt"]),kz=new Set(["coding-standards","tdd-workflow","git-workflow","architecture-decision-records","debugging-workflow"]);function Nz(e){return wz.has(e)?"lang":Ez.has(e)?"end":Sz.has(e)?"persona":kz.has(e)?"workflow":"other"}const _z={lang:"var(--color-accent-purple)",end:"var(--color-secondary)",persona:"var(--color-primary)",workflow:"var(--color-accent-mint)",other:"var(--color-bg)"};function oS({name:e}){const t=_z[Nz(e)];return p.jsx("span",{className:"nb-badge",style:{background:t},children:e})}function cS({label:e,kind:t="default"}){const n=t==="warn"?"var(--color-accent-pink)":t==="accent"?"var(--color-accent-yellow)":"var(--color-bg-cream)";return p.jsx("span",{className:"nb-badge",style:{background:n},children:e})}function Cz({card:e,onClick:t,done:n,draggable:a}){const{t:s,i18n:l}=Ue("board"),c=e.labels.some(d=>d.startsWith("STARTED-"))&&!n;return p.jsxs("article",{onClick:t,onKeyDown:d=>{(d.key==="Enter"||d.key===" ")&&(d.preventDefault(),t())},draggable:a,onDragStart:d=>{d.dataTransfer.setData("application/x-sps-card-seq",String(e.seq)),d.dataTransfer.effectAllowed="move"},tabIndex:0,role:"button","aria-label":`Card #${e.seq}: ${e.title}`,className:["bg-[var(--color-bg)] border-[3px] border-[var(--color-text)] rounded-xl p-3","shadow-[3px_3px_0_var(--color-text)] cursor-pointer","transition-[transform,box-shadow] duration-[180ms] ease-out","hover:-translate-x-0.5 hover:-translate-y-0.5 hover:shadow-[5px_5px_0_var(--color-text)]","focus:outline-none focus-visible:ring-[3px] focus-visible:ring-offset-2 focus-visible:ring-[var(--color-text)]",n?"opacity-60":"",a?"active:cursor-grabbing":""].join(" "),children:[p.jsxs("div",{className:"flex items-center justify-between gap-2 mb-2",children:[p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-[11px] px-2 py-0.5 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-full",children:["#",e.seq]}),c&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"running"})]}),p.jsx("p",{className:`font-bold text-sm leading-5 mb-2 line-clamp-2 ${n?"line-through decoration-2":""}`,children:e.title}),(e.skills.length>0||e.labels.length>0)&&p.jsxs("div",{className:"flex flex-wrap gap-1 mb-2",children:[e.skills.slice(0,3).map(d=>p.jsx(oS,{name:d},d)),e.labels.filter(d=>d==="NEEDS-FIX").map(d=>p.jsx(cS,{label:d,kind:"warn"},d))]}),e.checklist&&e.checklist.total>0&&p.jsx(Az,{stats:e.checklist}),p.jsxs("div",{className:"pt-2 border-t-[1.5px] border-dashed border-[var(--color-border-light)] flex items-center gap-2 text-[11px] font-[family-name:var(--font-mono)] text-[var(--color-text-subtle)]",children:[p.jsx("span",{children:Tz(e.updatedAt??e.createdAt,s("card.justNow"),l.resolvedLanguage)}),e.branch&&p.jsxs("span",{className:"truncate",children:["· ",e.branch]})]})]})}function Az({stats:e}){const{t}=Ue("board");return p.jsxs("div",{className:"mb-2",children:[p.jsxs("div",{className:"flex items-center justify-between text-[11px] font-[family-name:var(--font-mono)] mb-1",children:[p.jsx("span",{className:"font-bold",children:t("cardModal.checklistCount",{done:e.done,total:e.total})}),p.jsxs("span",{className:"text-[var(--color-text-subtle)]",children:[e.percent,"%"]})]}),p.jsx("div",{className:"w-full h-1.5 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-full overflow-hidden mb-1.5",children:p.jsx("div",{className:"h-full bg-[var(--color-cta)] transition-[width] duration-200",style:{width:`${e.percent}%`}})}),p.jsxs("ul",{className:"text-[11px] space-y-0.5",children:[e.items.slice(0,3).map((n,a)=>p.jsxs("li",{className:`flex items-start gap-1 ${n.done?"opacity-60 line-through":""}`,children:[p.jsx("span",{className:"flex-shrink-0 mt-0.5",children:n.done?"✓":"○"}),p.jsx("span",{className:"line-clamp-1",children:n.text})]},a)),e.items.length>3&&p.jsx("li",{className:"text-[var(--color-text-subtle)] italic pl-3",children:t("card.checklistMore",{count:e.items.length-3})})]})]})}function Tz(e,t="just now",n){if(!e)return"—";const a=new Date(e),s=Date.now()-a.getTime();return s<6e4?t:s<36e5?`${Math.floor(s/6e4)}m ago`:s<864e5?`${Math.floor(s/36e5)}h ago`:a.toLocaleDateString(n)}function Oz({label:e,bg:t,cards:n,onCardClick:a,onDropCard:s}){const[l,c]=O.useState(!1);return p.jsxs("div",{className:["flex flex-col p-3 rounded-2xl border-[3px] min-h-[280px] h-full min-h-0 overflow-hidden","transition-all",l?"border-[var(--color-cta)] shadow-[4px_4px_0_var(--color-cta)]":"border-[var(--color-text)]"].join(" "),style:{background:t},onDragOver:d=>{!s||!d.dataTransfer.types.includes("application/x-sps-card-seq")||(d.preventDefault(),d.dataTransfer.dropEffect="move",l||c(!0))},onDragLeave:()=>c(!1),onDrop:d=>{if(c(!1),!s)return;const f=d.dataTransfer.getData("application/x-sps-card-seq"),h=Number.parseInt(f,10);Number.isFinite(h)&&(d.preventDefault(),s(h))},children:[p.jsxs("div",{className:"flex items-center justify-between px-1 pb-2 mb-2 border-b-2 border-[var(--color-text)] shrink-0",children:[p.jsx("span",{className:"font-[family-name:var(--font-heading)] font-bold text-sm uppercase tracking-wider",children:e}),p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold text-xs px-2 py-0.5 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-full",children:n.length})]}),p.jsxs("div",{className:"flex flex-col gap-2 flex-1 min-h-0 overflow-y-auto pr-1 -mr-1",style:{scrollbarWidth:"thin",scrollbarColor:"var(--color-text) transparent"},children:[n.length===0&&p.jsx("div",{className:"text-xs text-[var(--color-text-muted)] text-center py-6 italic",children:"— 空 —"}),n.map(d=>p.jsx(Cz,{card:d,onClick:()=>a(d),done:e==="Done",draggable:!!s},d.seq))]})]})}function qm(e,t){if(!e)return"";const n=Array.isArray(t)?t:[t],a=e.split(`
|
|
521
521
|
`);for(const s of n){const l=new RegExp(`^##\\s+${s}\\s*$`),c=a.findIndex(f=>l.test(f));if(c===-1)continue;let d=a.length;for(let f=c+1;f<a.length;f++)if(/^##\s+/.test(a[f]??"")){d=f;break}return a.slice(c+1,d).join(`
|
|
522
|
-
`).trim()}return""}function Gp(e){return qm(e,["Description","描述"])}function Tz({project:e,seq:t,onClose:n,onChanged:a}){var oe,ce,ne,j,D,Y,R,ye,X,fe,he;const{t:s}=Fe("board"),l=Vn(),{confirm:c,alert:d}=ui(),{data:f,isLoading:h,isError:b,error:m,refetch:x}=ct({queryKey:["card",e,t],queryFn:()=>oz(e,t)}),[v,E]=O.useState(!1),[w,k]=O.useState(""),[N,C]=O.useState(""),[A,T]=O.useState(new Set),[L,M]=O.useState([]),[U,$]=O.useState(""),te=ct({queryKey:["skills-all",e],queryFn:()=>zg(e),enabled:v}),Q=((ce=(oe=ct({queryKey:["projects"],queryFn:Ar,refetchInterval:1e4}).data)==null?void 0:oe.data.find(K=>K.name===e))==null?void 0:ce.pipelineStatus)==="running";O.useEffect(()=>{v&&f&&(k(f.title),C(Gp(f.body)),T(new Set(f.skills)),M([...f.labels]))},[v,f]),O.useEffect(()=>{const K=ue=>{ue.key==="Escape"&&(v?E(!1):n())};return window.addEventListener("keydown",K),()=>window.removeEventListener("keydown",K)},[n,v]);const J=Gn({mutationFn:()=>{if(!f)throw new Error("no data");const K={},ue=w.trim();ue&&ue!==f.title&&(K.title=ue);const Oe=Gp(f.body);N!==Oe&&(K.description=N);const dt=[...A].sort(),ft=[...f.skills].sort();return JSON.stringify(dt)!==JSON.stringify(ft)&&(K.skills=dt),JSON.stringify(L)!==JSON.stringify(f.labels)&&(K.labels=L),Object.keys(K).length===0?Promise.resolve({ok:!0,noop:!0}):pz(e,t,K)},onSuccess:()=>{l.invalidateQueries({queryKey:["card",e,t]}),l.invalidateQueries({queryKey:["cards",e]}),E(!1),a()},onError:K=>{d({title:s("cardModal.saveFailed"),body:K instanceof Error?K.message:String(K)})}}),me=O.useMemo(()=>{if(!v||!f)return!1;if(w.trim()!==f.title||N!==Gp(f.body))return!0;const K=[...A].sort(),ue=[...f.skills].sort();return JSON.stringify(K)!==JSON.stringify(ue)||JSON.stringify(L)!==JSON.stringify(f.labels)},[v,f,w,N,A,L]),le=K=>{const ue=new Set(A);ue.has(K)?ue.delete(K):ue.add(K),T(ue)},ee=()=>{const K=U.trim();if(K){if(L.includes(K)){$("");return}M([...L,K]),$("")}},H=K=>{M(L.filter(ue=>ue!==K))};return p.jsx("div",{role:"dialog","aria-modal":"true","aria-labelledby":"card-modal-title",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-12 w-full max-w-3xl bg-[var(--color-bg)]",children:[p.jsxs("header",{className:"flex items-start justify-between gap-4 mb-4",children:[p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-xs px-2 py-0.5 bg-[var(--color-accent-purple)] border-2 border-[var(--color-text)] rounded-full",children:["#",t]}),(f==null?void 0:f.state)&&p.jsx("span",{className:"font-[family-name:var(--font-mono)] text-xs px-2 py-0.5 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-full font-semibold",children:f.state}),v&&p.jsx("span",{className:"text-xs font-bold text-[var(--color-stuck)]",children:s("cardModal.editing")})]}),v?p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-heading)] text-xl font-bold",value:w,onChange:K=>k(K.target.value),maxLength:200,"aria-label":s("cardModal.ariaTitle")}):p.jsx("h2",{id:"card-modal-title",className:"font-[family-name:var(--font-heading)] text-2xl font-bold break-words",children:(f==null?void 0:f.title)??s("cardModal.loading")})]}),p.jsxs("div",{className:"flex gap-2 flex-shrink-0",children:[!v&&f&&p.jsxs("button",{onClick:()=>E(!0),className:"nb-btn",style:{padding:"6px 12px"},type:"button","aria-label":s("cardModal.editAria"),children:[p.jsx(xg,{size:12,strokeWidth:2.5})," ",s("cardModal.edit")]}),p.jsx("button",{onClick:n,className:"nb-btn nb-btn-mint p-2","aria-label":s("cardModal.closeAria"),type:"button",children:p.jsx(Ci,{size:14,strokeWidth:3})})]})]}),h&&p.jsx("p",{className:"text-[var(--color-text-muted)]",children:s("cardModal.loading")}),b&&p.jsx("p",{className:"text-[var(--color-crashed)]",children:s("cardModal.loadFailed",{error:m instanceof Error?m.message:String(m)})}),f&&p.jsxs("div",{className:"flex flex-col gap-4",children:[f.branch&&!v&&p.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[p.jsx(x2,{size:14}),p.jsx("span",{className:"font-[family-name:var(--font-mono)]",children:f.branch})]}),v?p.jsxs(p.Fragment,{children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Skills"}),te.isLoading&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:s("cardModal.loadingSkills")}),te.data&&te.data.data.length>0&&p.jsx("div",{className:"flex flex-wrap gap-1.5",children:te.data.data.map(K=>{const ue=A.has(K.name);return p.jsx("button",{type:"button",onClick:()=>le(K.name),"aria-pressed":ue,className:["px-2.5 py-1 text-xs font-[family-name:var(--font-mono)] rounded-full border-2 transition-all",ue?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)] font-bold":"bg-[var(--color-bg)] border-[var(--color-border-light)] hover:border-[var(--color-text)]"].join(" "),children:K.name},K.name)})})]}),p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Labels"}),p.jsxs("div",{className:"flex flex-wrap gap-1.5 items-center",children:[L.map(K=>p.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-[family-name:var(--font-mono)] bg-[var(--color-accent-yellow)] border-2 border-[var(--color-text)] rounded-full",children:[K,p.jsx("button",{type:"button",onClick:()=>H(K),className:"hover:text-[var(--color-crashed)]","aria-label":s("cardModal.removeLabelAria",{label:K}),children:p.jsx(Ci,{size:10,strokeWidth:3})})]},K)),p.jsx("input",{type:"text",className:"nb-input",style:{padding:"4px 8px",fontSize:12,width:140},placeholder:s("cardModal.addLabelPlaceholder"),value:U,onChange:K=>$(K.target.value),onKeyDown:K=>{K.key==="Enter"&&!K.nativeEvent.isComposing&&(K.preventDefault(),ee())}}),U&&p.jsx("button",{type:"button",className:"nb-btn",style:{padding:"2px 6px",fontSize:11},onClick:ee,"aria-label":s("cardModal.addLabelAria"),children:p.jsx(Pi,{size:10,strokeWidth:3})})]}),p.jsx("p",{className:"text-[10px] text-[var(--color-text-muted)] mt-1",children:s("cardModal.labelsNote")})]})]}):p.jsxs(p.Fragment,{children:[f.skills.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Skills"}),p.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:f.skills.map(K=>p.jsx(oS,{name:K},K))})]}),f.labels.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Labels"}),p.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:f.labels.map(K=>p.jsx(cS,{label:K,kind:K==="NEEDS-FIX"?"warn":"default"},K))})]})]}),v?p.jsxs(p.Fragment,{children:[p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("card.description")}),p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:180,resize:"vertical"},value:N,onChange:K=>C(K.target.value),"aria-label":s("cardModal.ariaCardDesc")}),p.jsx("p",{className:"text-[10px] text-[var(--color-text-muted)] mt-1",children:s("cardModal.descNote")})]}),(((ye=f.checklist)==null?void 0:ye.total)??0)>0&&p.jsxs("div",{className:"nb-card bg-[var(--color-bg-cream)] p-3",children:[p.jsx("div",{className:"flex items-center justify-between mb-2",children:p.jsx("span",{className:"font-bold text-sm",children:s("cardModal.checklistCount",{done:((X=f.checklist)==null?void 0:X.done)??0,total:((fe=f.checklist)==null?void 0:fe.total)??0})})}),p.jsx("ul",{className:"text-sm space-y-1",children:(((he=f.checklist)==null?void 0:he.items)??[]).map((K,ue)=>p.jsxs("li",{className:`flex items-start gap-2 ${K.done?"opacity-60 line-through":""}`,children:[p.jsx("span",{children:K.done?"✓":"○"}),p.jsx("span",{children:K.text})]},ue))})]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("card.description")}),p.jsx("pre",{className:"text-xs whitespace-pre-wrap font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4 max-h-64 overflow-auto",children:qm(f.body,["Description","描述"])||s("card.empty")})]}),p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("cardModal.checklistCount",{done:((ne=f.checklist)==null?void 0:ne.done)??0,total:((j=f.checklist)==null?void 0:j.total)??0})}),p.jsx("div",{className:"nb-card bg-[var(--color-bg-cream)] p-3",children:(((D=f.checklist)==null?void 0:D.total)??0)>0?p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"flex items-center justify-end mb-2",children:p.jsx("div",{className:"w-24 h-2 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-full overflow-hidden",children:p.jsx("div",{className:"h-full bg-[var(--color-cta)]",style:{width:`${((Y=f.checklist)==null?void 0:Y.percent)??0}%`}})})}),p.jsx("ul",{className:"text-sm space-y-1",children:(((R=f.checklist)==null?void 0:R.items)??[]).map((K,ue)=>p.jsxs("li",{className:`flex items-start gap-2 ${K.done?"opacity-60 line-through":""}`,children:[p.jsx("span",{children:K.done?"✓":"○"}),p.jsx("span",{children:K.text})]},ue))})]}):p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:s("cardModal.checklistEmpty")})})]}),p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("card.log")}),p.jsx("pre",{className:"text-xs whitespace-pre-wrap font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4 max-h-64 overflow-auto",children:qm(f.body,["Log","日志"])||s("card.empty")})]})]}),p.jsx("div",{className:"flex gap-2 pt-2 border-t-2 border-[var(--color-border-light)] justify-end flex-wrap",children:v?p.jsxs(p.Fragment,{children:[p.jsx("button",{className:"nb-btn",type:"button",onClick:()=>{E(!1),x()},disabled:J.isPending,children:s("cardModal.cancel")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",onClick:()=>J.mutate(),disabled:!me||!w.trim()||J.isPending,"aria-label":s("cardModal.saveAria"),children:[J.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(tf,{size:14,strokeWidth:3}),s("cardModal.save")]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",disabled:f.state==="Done"||Q,title:f.state==="Done"?s("cardModal.doneCannotStart"):Q?s("cardModal.pipelineRunningCannotStart"):void 0,onClick:async()=>{try{await dz(e,t),a()}catch(K){d({title:s("cardModal.launchFailed"),body:K instanceof Error?K.message:String(K)})}},children:[p.jsx(vg,{size:14,strokeWidth:3}),s("cardModal.launchWorker")]}),p.jsxs("button",{className:"nb-btn nb-btn-yellow",type:"button",onClick:async()=>{if(await c({title:s("cardModal.resetTitle",{seq:t}),body:s("cardModal.resetBody"),confirm:s("cardModal.resetConfirm"),danger:!0}))try{await cz(e,t),a(),n()}catch(ue){d({title:s("cardModal.resetFailed"),body:ue instanceof Error?ue.message:String(ue)})}},children:[p.jsx(Ww,{size:14,strokeWidth:2.5}),s("cardModal.resetButton")]}),p.jsxs("button",{className:"nb-btn",style:{background:"var(--color-crashed)",color:"var(--color-bg)"},type:"button",onClick:async()=>{if(!(!await c({title:s("cardModal.deleteTitle",{seq:t}),body:s("cardModal.deleteBody",{title:f.title}),confirm:s("cardModal.deleteContinue"),danger:!0})||!await c({title:s("cardModal.deleteFinalTitle"),body:s("cardModal.deleteFinalBody",{seq:t}),confirm:s("cardModal.deleteFinalConfirm"),danger:!0})))try{await uz(e,t),a(),n()}catch(Oe){d({title:s("cardModal.deleteFailed"),body:Oe instanceof Error?Oe.message:String(Oe)})}},"aria-label":s("cardModal.deleteAria"),children:[p.jsx(Kl,{size:14,strokeWidth:2.5}),s("cardModal.deleteButton")]})]})})]})]})})}function Oz({current:e,onChange:t}){const[n,a]=O.useState(!1),s=O.useRef(null),{data:l}=ct({queryKey:["projects"],queryFn:Ar});return O.useEffect(()=>{const c=d=>{var f;(f=s.current)!=null&&f.contains(d.target)||a(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[]),p.jsxs("div",{className:"relative",ref:s,children:[p.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 px-3 py-2 bg-[var(--color-bg)] border-[3px] border-[var(--color-text)] rounded-xl shadow-[3px_3px_0_var(--color-text)] font-[family-name:var(--font-mono)] text-sm font-bold hover:-translate-x-px hover:-translate-y-px hover:shadow-[4px_4px_0_var(--color-text)] transition-[transform,box-shadow] duration-150",onClick:()=>a(c=>!c),children:[e,p.jsx(jc,{size:14,strokeWidth:2.5})]}),n&&l&&p.jsx("div",{className:"absolute right-0 mt-2 z-20 min-w-[200px] bg-[var(--color-bg)] border-[3px] border-[var(--color-text)] rounded-xl shadow-[5px_5px_0_var(--color-text)] overflow-hidden",children:l.data.map(c=>p.jsxs("button",{type:"button",onClick:()=>{t(c.name),a(!1)},className:["w-full text-left px-4 py-2 text-sm font-semibold",c.name===e?"bg-[var(--color-accent-mint)]":"hover:bg-[var(--color-bg-cream)]"].join(" "),children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)]",children:c.name}),p.jsxs("span",{className:"ml-2 text-xs text-[var(--color-text-muted)]",children:[c.cards.total," cards"]})]},c.name))})]})}const Rz=[{state:"Planning",label:"Planning",bg:"var(--color-accent-purple)"},{state:"Backlog",label:"Backlog",bg:"var(--color-bg-cream)"},{state:"Todo",label:"Todo",bg:"var(--color-accent-yellow)"},{state:"Inprogress",label:"Inprogress",bg:"var(--color-secondary)"},{state:"QA",label:"QA / Review",bg:"var(--color-accent-pink)"},{state:"Done",label:"Done",bg:"var(--color-accent-mint)"}],uS="sps-console:last-board-project";function jz(){if(typeof window>"u")return null;try{return localStorage.getItem(uS)}catch{return null}}function Mz(e){if(!(typeof window>"u"))try{localStorage.setItem(uS,e)}catch{}}function Dz(){var H,oe,ce;const{t:e}=Fe("board"),[t,n]=Pw(),a=t.get("project"),[s,l]=O.useState(null),[c,d]=O.useState(""),[f,h]=O.useState(()=>new Set),[b,m]=O.useState(()=>new Set),{confirm:x,alert:v}=ui();yz(a);const E=ct({queryKey:["projects"],queryFn:Ar}),w=ct({queryKey:["cards",a],queryFn:()=>lz(a??""),enabled:!!a}),k=Vn(),N=()=>{k.invalidateQueries({queryKey:["cards",a]}),k.invalidateQueries({queryKey:["projects"]}),k.invalidateQueries({queryKey:["pipeline-status",a]})},C=ne=>{n({project:ne})};O.useEffect(()=>{var j;if(a){Mz(a);return}const ne=jz();ne&&((j=E.data)!=null&&j.data.some(D=>D.name===ne))&&n({project:ne},{replace:!0})},[a,E.data,n]);const A=Gn({mutationFn:()=>mz(a),onSuccess:()=>{N()},onError:ne=>{v({title:e("errors.startFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),T=Gn({mutationFn:()=>gz(a),onSuccess:()=>N(),onError:ne=>{v({title:e("errors.stopFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),L=Gn({mutationFn:()=>bz(a,{all:!0}),onSuccess:()=>N(),onError:ne=>{v({title:e("errors.resetFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),[M,U]=O.useState(!1),$=Gn({mutationFn:ne=>fz(a,ne),onSuccess:()=>{N(),U(!1)},onError:ne=>{v({title:e("errors.createFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),te=Gn({mutationFn:({seq:ne,state:j})=>hz(a,ne,j),onMutate:async({seq:ne,state:j})=>{await k.cancelQueries({queryKey:["cards",a]});const D=k.getQueryData(["cards",a]);return D&&k.setQueryData(["cards",a],{...D,data:D.data.map(Y=>Y.seq===ne?{...Y,state:j}:Y)}),{prev:D}},onError:(ne,j,D)=>{D!=null&&D.prev&&k.setQueryData(["cards",a],D.prev),v({title:e("errors.moveFailed"),body:ne instanceof Error?ne.message:String(ne)})},onSettled:()=>{k.invalidateQueries({queryKey:["cards",a]})}}),P=((H=w.data)==null?void 0:H.data)??[],{allSkills:Q,allLabels:J}=O.useMemo(()=>{const ne=new Set,j=new Set;for(const D of P){for(const Y of D.skills)ne.add(Y);for(const Y of D.labels)j.add(Y)}return{allSkills:[...ne].sort(),allLabels:[...j].sort()}},[P]);if(!a)return p.jsxs("div",{className:"flex flex-col gap-6 max-w-4xl",children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold",children:e("title")}),p.jsxs("div",{className:"nb-card bg-[var(--color-accent-yellow)] max-w-2xl",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-3",children:e("selectProject")}),p.jsx("p",{className:"text-sm mb-4 text-[var(--color-text-muted)]",children:e("selectHint")}),p.jsx("div",{className:"flex flex-wrap gap-2",children:(oe=E.data)==null?void 0:oe.data.map(ne=>p.jsx("button",{className:"nb-btn nb-btn-blue",onClick:()=>C(ne.name),type:"button",children:ne.name},ne.name))})]})]});const me=P.filter(ne=>{if(c){const j=c.toLowerCase();if(!(ne.title.toLowerCase().includes(j)||ne.skills.some(Y=>Y.toLowerCase().includes(j))||ne.labels.some(Y=>Y.toLowerCase().includes(j))))return!1}return!(f.size>0&&!ne.skills.some(D=>f.has(D))||b.size>0&&!ne.labels.some(D=>b.has(D)))}),le=(ce=E.data)==null?void 0:ce.data.find(ne=>ne.name===a),ee=(le==null?void 0:le.pipelineStatus)==="running";return p.jsxs("div",{className:"flex flex-col gap-4 max-w-full flex-1 min-h-0",children:[p.jsxs("header",{className:"flex items-center justify-between flex-wrap gap-3 shrink-0",children:[p.jsxs("div",{children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:e("titleEmoji")}),p.jsx("p",{className:"text-[var(--color-text-muted)] text-sm mt-1",children:le?e("summary",{name:le.name,cards:le.cards.total,workers:le.workers.active}):e("loadingProject")})]}),p.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[p.jsx(Oz,{current:a,onChange:C}),p.jsxs("button",{className:ee?"nb-btn nb-btn-danger":"nb-btn nb-btn-primary",onClick:()=>ee?T.mutate():A.mutate(),disabled:A.isPending||T.isPending,type:"button","aria-label":e(ee?"actions.ariaStopPipeline":"actions.ariaStartPipeline"),title:e(ee?"actions.ariaStopPipeline":"actions.ariaStartPipeline"),children:[A.isPending||T.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):ee?p.jsx(Zw,{size:14,strokeWidth:3}):p.jsx(vg,{size:14,strokeWidth:3}),e(ee?"actions.stop":"actions.start")]}),p.jsxs("button",{className:"nb-btn nb-btn-yellow",type:"button",onClick:async()=>{await x({title:e("errors.resetTitle"),body:e("errors.resetBody"),confirm:e("errors.resetConfirm"),danger:!0})&&L.mutate()},disabled:L.isPending,children:[L.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(Ww,{size:14,strokeWidth:2.5}),e("actions.reset")]}),p.jsxs("button",{className:"nb-btn nb-btn-mint",type:"button",onClick:()=>U(!0),disabled:$.isPending,children:[$.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(Pi,{size:14,strokeWidth:3}),e("actions.newCard")]})]})]}),p.jsxs("div",{className:"flex items-center gap-3 flex-wrap shrink-0",children:[p.jsxs("div",{className:"relative flex-1 max-w-md",children:[p.jsx(Dd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-subtle)]"}),p.jsx("input",{className:"nb-input pl-9 w-full",placeholder:e("actions.searchPlaceholder"),value:c,onChange:ne=>d(ne.target.value),"aria-label":e("actions.ariaSearch")})]}),p.jsx(G0,{label:"skill",options:Q,selected:f,onChange:h}),p.jsx(G0,{label:"label",options:J,selected:b,onChange:m}),(c||f.size>0||b.size>0)&&p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>{d(""),h(new Set),m(new Set)},type:"button","aria-label":e("actions.ariaClearFilter"),children:[p.jsx(Ci,{size:11,strokeWidth:3}),e("actions.clear")]}),p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)] flex items-center gap-1 font-[family-name:var(--font-mono)]",children:[p.jsx(b2,{size:12}),me.length," / ",P.length]})]}),w.isError&&p.jsxs("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:[p.jsx("p",{className:"font-semibold",children:e("errors.loadFailed")}),p.jsx("p",{className:"text-sm mt-1 text-[var(--color-text-muted)]",children:w.error instanceof Error?w.error.message:String(w.error)})]}),!w.isError&&p.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6 auto-rows-fr gap-3 flex-1 min-h-0",children:Rz.map(ne=>p.jsx(Az,{label:ne.label,bg:ne.bg,cards:me.filter(Lz(ne.state)),onCardClick:j=>l(j.seq),onDropCard:j=>te.mutate({seq:j,state:ne.state})},ne.state))}),s!==null&&p.jsx(Tz,{project:a,seq:s,onClose:()=>l(null),onChanged:N}),M&&p.jsx(sz,{project:a,isPending:$.isPending,onCancel:()=>U(!1),onCreate:ne=>$.mutate(ne)})]})}function Lz(e){return t=>e==="QA"?t.state==="QA"||t.state==="Review":e==="Done"?t.state==="Done"||t.state==="Canceled":t.state===e}function G0({label:e,options:t,selected:n,onChange:a}){const{t:s}=Fe("board"),[l,c]=O.useState(!1),d=O.useRef(null);O.useEffect(()=>{if(!l)return;const m=v=>{var E;(E=d.current)!=null&&E.contains(v.target)||c(!1)},x=v=>{v.key==="Escape"&&c(!1)};return window.addEventListener("click",m),window.addEventListener("keydown",x),()=>{window.removeEventListener("click",m),window.removeEventListener("keydown",x)}},[l]);const f=m=>{const x=new Set(n);x.has(m)?x.delete(m):x.add(m),a(x)},h=t.length===0,b=n.size;return p.jsxs("div",{ref:d,className:"relative",children:[p.jsxs("button",{type:"button",className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>!h&&c(m=>!m),disabled:h,"aria-haspopup":"listbox","aria-expanded":l,"aria-label":s("actions.ariaFilterBy",{label:e}),children:[e,b>0&&p.jsx("span",{className:"ml-1 px-1.5 py-0.5 text-[10px] font-bold rounded-full bg-[var(--color-primary)] text-[var(--color-text)] border border-[var(--color-text)]",children:b}),p.jsx(jc,{size:11,strokeWidth:3,className:["transition-transform",l?"rotate-180":""].join(" ")})]}),l&&p.jsxs("div",{role:"listbox",className:"absolute left-0 top-full mt-2 z-20 min-w-[200px] max-h-64 overflow-auto nb-card p-2",style:{padding:8},children:[t.map(m=>{const x=n.has(m);return p.jsxs("label",{className:["flex items-center gap-2 px-2 py-1.5 rounded cursor-pointer text-sm font-[family-name:var(--font-mono)]",x?"bg-[var(--color-accent-mint)]":"hover:bg-[var(--color-bg-cream)]"].join(" "),children:[p.jsx("input",{type:"checkbox",checked:x,onChange:()=>f(m),className:"flex-shrink-0"}),p.jsx("span",{className:"truncate",children:m})]},m)}),b>0&&p.jsx("button",{type:"button",className:"w-full mt-2 pt-2 border-t-2 border-dashed border-[var(--color-text)] text-xs font-bold text-[var(--color-crashed)] text-center",onClick:()=>a(new Set),children:s("actions.clearSelection")})]})]})}function Iz(){return qt("/api/workers/all")}function zz(e){return qt(`/api/projects/${encodeURIComponent(e)}/workers`)}function Bz(e,t){return qt(`/api/projects/${encodeURIComponent(e)}/workers/${t}`)}async function dS(e,t){const n=await fetch(e,{method:"POST",headers:t?{"Content-Type":"application/json"}:void 0,body:t?JSON.stringify(t):void 0});if(!n.ok)throw new Error(`${n.status}: ${await n.text()}`);return n.json().catch(()=>({}))}function V0(e,t){return dS(`/api/projects/${encodeURIComponent(e)}/workers/${t}/kill`)}function Uz(e,t,n){return dS(`/api/projects/${encodeURIComponent(e)}/workers/${t}/launch`,n?{seq:n}:void 0)}function Bg({state:e}){const n={running:{bg:"var(--color-running-bg)",color:"var(--color-running)",label:"running"},starting:{bg:"var(--color-secondary)",color:"var(--color-text)",label:"starting",icon:p.jsx(Bt,{size:9,strokeWidth:3,className:"animate-spin"})},stuck:{bg:"var(--color-stuck-bg)",color:"var(--color-stuck)",label:"stuck"},crashed:{bg:"var(--color-crashed-bg)",color:"var(--color-crashed)",label:"crashed",icon:p.jsx(J2,{size:9,strokeWidth:2.5})},idle:{bg:"var(--color-idle-bg)",color:"var(--color-idle)",label:"idle"}}[e];return p.jsxs("span",{className:"nb-status inline-flex items-center gap-1",style:{background:n.bg,color:n.color},children:[n.icon,n.label]})}function Ug(e){if(e==null||e<=0)return"—";const t=Math.floor(e/1e3),n=Math.floor(t/3600),a=Math.floor(t%3600/60),s=t%60;return n>0?`${n}h ${a}m`:a>0?`${a}m ${s}s`:`${s}s`}function Pz(e){if(e==null||e<=0)return"text-[var(--color-text-muted)]";const t=e/6e4;return t<10?"text-[var(--color-running)]":t<60?"text-[var(--color-stuck)]":"text-[var(--color-crashed)]"}function Pg(e){const t=Date.now()-new Date(e).getTime();return t<6e4?sn.t("workers:format.secondsAgo",{value:Math.floor(t/1e3)}):t<36e5?sn.t("workers:format.minutesAgo",{value:Math.floor(t/6e4)}):sn.t("workers:format.hoursAgo",{value:Math.floor(t/36e5)})}function Fz({alerts:e,selected:t,onSelect:n}){const{t:a}=Fe("workers");return e.length===0?p.jsxs("div",{className:"nb-card bg-[var(--color-running-bg)] flex items-center gap-3",children:[p.jsx(bc,{size:18,strokeWidth:2.5,className:"text-[var(--color-running)]"}),p.jsx("span",{className:"text-sm font-bold text-[var(--color-running)]",children:a("alerts.allHealthy")})]}):p.jsxs("section",{children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-2 flex items-center gap-2 text-[var(--color-crashed)]",children:[p.jsx(oO,{size:14,strokeWidth:2.5}),"Alerts (",e.length,")"]}),p.jsx("div",{className:"flex flex-col gap-2",children:e.map(s=>{const l=(t==null?void 0:t.project)===s.project&&(t==null?void 0:t.slot)===s.slot;return p.jsxs("button",{type:"button",onClick:()=>n(s.project,s.slot),className:["nb-card p-3 text-left",s.state==="crashed"?"bg-[var(--color-crashed-bg)]":"bg-[var(--color-stuck-bg)]",l?"ring-4 ring-[var(--color-text)]":""].join(" "),children:[p.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[p.jsx(Bg,{state:s.state}),p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold",children:[s.project,"/worker-",s.slot]}),s.card&&p.jsxs("span",{className:"truncate",children:["#",s.card.seq," ",s.card.title]}),p.jsxs("span",{className:"ml-auto text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] flex items-center gap-1",children:[p.jsx(n2,{size:10,strokeWidth:2.5}),Ug(s.runtimeMs)]})]}),s.markerUpdatedAt&&p.jsx("div",{className:"text-xs text-[var(--color-text-muted)] mt-1 font-[family-name:var(--font-mono)]",children:s.state==="crashed"?a("alerts.pidDead"):a("alerts.markerStalled",{relative:Pg(s.markerUpdatedAt)})})]},`${s.project}-${s.slot}`)})})]})}function $z({active:e,selected:t,onSelect:n}){return e.length===0?p.jsx("div",{className:"nb-card bg-[var(--color-bg-cream)]",children:p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic",children:"没有 worker 在运行。"})}):p.jsxs("section",{children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-2 flex items-center gap-2",children:[p.jsx(Jd,{size:14,strokeWidth:2.5}),"Active (",e.length,")"]}),p.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:e.map(a=>{const s=(t==null?void 0:t.project)===a.project&&(t==null?void 0:t.slot)===a.slot;return p.jsxs("button",{type:"button",onClick:()=>n(a.project,a.slot),className:["nb-card p-3 text-left",a.state==="starting"?"bg-[var(--color-secondary)]":"bg-[var(--color-running-bg)]",s?"ring-4 ring-[var(--color-text)]":""].join(" "),children:[p.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[p.jsx(Bg,{state:a.state}),p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-sm flex-1 truncate",children:[a.project,"/worker-",a.slot]}),p.jsx("span",{className:`text-xs font-[family-name:var(--font-mono)] ${Pz(a.runtimeMs)}`,children:Ug(a.runtimeMs)})]}),a.card&&p.jsxs("div",{className:"text-sm font-semibold mb-1 truncate",children:["#",a.card.seq," · ",a.card.title]}),p.jsxs("div",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] flex items-center gap-2 mb-1",children:[a.stage&&p.jsxs("span",{children:["stage: ",a.stage]}),a.markerUpdatedAt&&p.jsxs("span",{className:"ml-auto",children:["marker ",Pg(a.markerUpdatedAt)]})]}),a.lastLogLine&&p.jsxs("div",{className:"text-[11px] font-[family-name:var(--font-mono)] text-[var(--color-text-muted)] bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded px-2 py-1 mt-2 truncate",children:[p.jsx(Jw,{size:9,strokeWidth:2.5,className:"inline-block mr-1 align-text-bottom"}),a.lastLogLine.msg]})]},`${a.project}-${a.slot}`)})})]})}function Hz({capacity:e,selected:t,onSelect:n}){const{t:a}=Fe("workers");return e.length===0?null:p.jsxs("section",{children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-2",children:a("capacity.title")}),p.jsx("div",{className:"nb-card p-0 overflow-hidden",children:p.jsxs("table",{className:"w-full text-sm",children:[p.jsx("thead",{children:p.jsxs("tr",{className:"bg-[var(--color-bg-cream)] border-b-2 border-[var(--color-text)]",children:[p.jsx("th",{className:"px-3 py-2 text-left font-bold text-xs uppercase tracking-wider",children:a("capacity.project")}),p.jsx("th",{className:"px-3 py-2 text-left font-bold text-xs uppercase tracking-wider",children:a("capacity.inUse")}),p.jsx("th",{className:"px-3 py-2 text-right font-bold text-xs uppercase tracking-wider",children:"running"}),p.jsx("th",{className:"px-3 py-2 text-right font-bold text-xs uppercase tracking-wider",children:a("capacity.other")}),p.jsx("th",{className:"px-3 py-2"})]})}),p.jsx("tbody",{children:e.map(s=>{const l=s.running+s.starting+s.stuck+s.crashed,c=(t==null?void 0:t.project)===s.project;return p.jsxs("tr",{onClick:()=>n(s.project),className:["border-b border-dashed border-[var(--color-border-light)] last:border-0 cursor-pointer hover:bg-[var(--color-accent-yellow)]",c?"bg-[var(--color-accent-yellow)]":""].join(" "),children:[p.jsx("td",{className:"px-3 py-2 font-[family-name:var(--font-mono)] font-bold",children:s.project}),p.jsx("td",{className:"px-3 py-2",children:p.jsx(qz,{total:s.total,cap:s})}),p.jsxs("td",{className:"px-3 py-2 text-right font-[family-name:var(--font-mono)]",children:[p.jsx("span",{className:"text-[var(--color-running)] font-bold",children:s.running}),p.jsxs("span",{className:"text-[var(--color-text-muted)]",children:["/",s.total]})]}),p.jsxs("td",{className:"px-3 py-2 text-right text-xs font-[family-name:var(--font-mono)] text-[var(--color-text-muted)]",children:[s.starting>0&&p.jsxs("span",{className:"mr-2",children:["starting ",s.starting]}),s.stuck>0&&p.jsxs("span",{className:"text-[var(--color-stuck)] font-bold mr-2",children:["stuck ",s.stuck]}),s.crashed>0&&p.jsxs("span",{className:"text-[var(--color-crashed)] font-bold mr-2",children:["crashed ",s.crashed]}),l===0&&p.jsx("span",{children:"idle"})]}),p.jsx("td",{className:"px-3 py-2 text-right",children:p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:a("capacity.details")})})]},s.project)})})]})})]})}function qz({total:e,cap:t}){const n=[];for(let a=0;a<t.crashed;a++)n.push("crashed");for(let a=0;a<t.stuck;a++)n.push("stuck");for(let a=0;a<t.starting;a++)n.push("starting");for(let a=0;a<t.running;a++)n.push("running");for(let a=0;a<t.idle;a++)n.push("idle");return p.jsxs("div",{className:"flex gap-1 items-center",children:[n.map((a,s)=>p.jsx("span",{className:"inline-block w-3 h-3 rounded-full border-2 border-[var(--color-text)]",style:{background:Kz(a)},title:a},s)),p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)] ml-2 font-[family-name:var(--font-mono)]",children:[e," slot",e!==1?"s":""]})]})}function Kz(e){switch(e){case"running":return"var(--color-running-bg)";case"starting":return"var(--color-secondary)";case"stuck":return"var(--color-stuck-bg)";case"crashed":return"var(--color-crashed-bg)";default:return"var(--color-idle-bg)"}}function Gz({project:e,initialSlot:t,onChange:n}){var h;const{t:a}=Fe("workers"),s=ct({queryKey:["workers",e],queryFn:()=>zz(e),refetchInterval:3e3}),l=((h=s.data)==null?void 0:h.data)??[],[c,d]=O.useState(null);O.useEffect(()=>{if(l.length===0){d(null);return}const b=l[0].slot;d(m=>m!=null&&l.some(x=>x.slot===m)?m:t!=null&&l.some(x=>x.slot===t)?t:b)},[e,t,l.length]);const f=l.find(b=>b.slot===c)??null;return p.jsxs("div",{className:"flex flex-col h-full",children:[p.jsxs("div",{className:"px-4 py-3 border-b-2 border-[var(--color-text)] bg-[var(--color-bg-cream)]",children:[p.jsxs("div",{className:"flex items-center justify-between mb-2",children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold truncate",children:e}),p.jsx(bs,{to:`/board?project=${encodeURIComponent(e)}`,className:"text-xs underline text-[var(--color-text-muted)] hover:text-[var(--color-text)]",children:a("capacity.boardLink")})]}),s.isLoading&&l.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("capacity.loadingWorkers")}):l.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("capacity.noSlots")}):p.jsx("div",{className:"flex flex-wrap gap-2",children:l.map(b=>p.jsx(Vz,{worker:b,active:b.slot===c,onClick:()=>d(b.slot)},b.slot))})]}),f?p.jsx(Qz,{project:e,worker:f,onChange:n}):p.jsx("div",{className:"flex-1 flex items-center justify-center p-6 text-center",children:p.jsx("p",{className:"text-sm text-[var(--color-text-muted)]",children:l.length===0?a("capacity.noWorkers"):a("capacity.selectWorker")})})]})}function Vz({worker:e,active:t,onClick:n}){const{t:a}=Fe("workers");return p.jsxs("button",{type:"button",onClick:n,className:["nb-card p-2 text-left min-w-[130px] transition-transform",t?"ring-4 ring-[var(--color-text)]":"opacity-80 hover:opacity-100"].join(" "),children:[p.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[p.jsx(Bg,{state:e.state}),p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-xs",children:["worker-",e.slot]})]}),e.card?p.jsxs("div",{className:"text-[11px] truncate font-[family-name:var(--font-mono)]",children:["#",e.card.seq," ",e.card.title]}):p.jsx("div",{className:"text-[11px] text-[var(--color-text-muted)] italic",children:a("capacity.idle")})]})}function Qz({project:e,worker:t,onChange:n}){var b,m;const{t:a}=Fe("workers"),{confirm:s,alert:l}=ui(),c=t.state==="crashed"||t.state==="stuck",d=ct({queryKey:["worker-detail",e,t.slot],queryFn:()=>Bz(e,t.slot),refetchInterval:3e3}),f=((b=d.data)==null?void 0:b.recentOutput)??[],h=((m=d.data)==null?void 0:m.recentLogs)??[];return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex-1 overflow-auto p-4 flex flex-col gap-4",children:[t.card?p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-[var(--color-text-muted)] mb-1",children:a("capacity.currentCard")}),p.jsxs("div",{className:"text-sm font-semibold break-words",children:["#",t.card.seq," · ",t.card.title]})]}):p.jsx("div",{className:"text-sm text-[var(--color-text-muted)] italic",children:a("capacity.slotIdle")}),p.jsxs("dl",{className:"grid grid-cols-[100px_1fr] gap-y-2 text-sm",children:[p.jsx("dt",{className:"font-bold",children:"Stage"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.stage??"—"}),p.jsx("dt",{className:"font-bold",children:"PID"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.pid??"—"}),p.jsx("dt",{className:"font-bold",children:"Runtime"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:Ug(t.runtimeMs)}),p.jsx("dt",{className:"font-bold",children:"Started"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)] text-xs",children:t.startedAt?new Date(t.startedAt).toLocaleString():"—"}),p.jsx("dt",{className:"font-bold",children:"Marker"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)] text-xs",children:t.markerUpdatedAt?Pg(t.markerUpdatedAt):"—"})]}),p.jsxs("div",{children:[p.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-[var(--color-text-muted)] mb-1 flex items-center gap-1",children:[p.jsx(Jw,{size:10,strokeWidth:2.5}),a("capacity.outputRecent",{count:f.length})]}),d.isLoading&&f.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("loading")}):f.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("capacity.outputEmpty")}):p.jsx("pre",{className:"text-xs font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded p-2 max-h-80 overflow-auto whitespace-pre-wrap break-words",children:f.map(x=>`${x.ts?`${x.ts} [${x.kind}] `:`[${x.kind}] `}${x.text}`).join(`
|
|
522
|
+
`).trim()}return""}function Gp(e){return qm(e,["Description","描述"])}function Rz({project:e,seq:t,onClose:n,onChanged:a}){var oe,ce,ne,j,D,Y,R,ye,X,fe,he;const{t:s}=Ue("board"),l=Vn(),{confirm:c,alert:d}=ui(),{data:f,isLoading:h,isError:b,error:m,refetch:x}=ct({queryKey:["card",e,t],queryFn:()=>uz(e,t)}),[v,E]=O.useState(!1),[w,k]=O.useState(""),[N,C]=O.useState(""),[A,T]=O.useState(new Set),[L,M]=O.useState([]),[U,$]=O.useState(""),te=ct({queryKey:["skills-all",e],queryFn:()=>zg(e),enabled:v}),Q=((ce=(oe=ct({queryKey:["projects"],queryFn:Ar,refetchInterval:1e4}).data)==null?void 0:oe.data.find(K=>K.name===e))==null?void 0:ce.pipelineStatus)==="running";O.useEffect(()=>{v&&f&&(k(f.title),C(Gp(f.body)),T(new Set(f.skills)),M([...f.labels]))},[v,f]),O.useEffect(()=>{const K=ue=>{ue.key==="Escape"&&(v?E(!1):n())};return window.addEventListener("keydown",K),()=>window.removeEventListener("keydown",K)},[n,v]);const J=Gn({mutationFn:()=>{if(!f)throw new Error("no data");const K={},ue=w.trim();ue&&ue!==f.title&&(K.title=ue);const Oe=Gp(f.body);N!==Oe&&(K.description=N);const dt=[...A].sort(),ft=[...f.skills].sort();return JSON.stringify(dt)!==JSON.stringify(ft)&&(K.skills=dt),JSON.stringify(L)!==JSON.stringify(f.labels)&&(K.labels=L),Object.keys(K).length===0?Promise.resolve({ok:!0,noop:!0}):gz(e,t,K)},onSuccess:()=>{l.invalidateQueries({queryKey:["card",e,t]}),l.invalidateQueries({queryKey:["cards",e]}),E(!1),a()},onError:K=>{d({title:s("cardModal.saveFailed"),body:K instanceof Error?K.message:String(K)})}}),me=O.useMemo(()=>{if(!v||!f)return!1;if(w.trim()!==f.title||N!==Gp(f.body))return!0;const K=[...A].sort(),ue=[...f.skills].sort();return JSON.stringify(K)!==JSON.stringify(ue)||JSON.stringify(L)!==JSON.stringify(f.labels)},[v,f,w,N,A,L]),le=K=>{const ue=new Set(A);ue.has(K)?ue.delete(K):ue.add(K),T(ue)},ee=()=>{const K=U.trim();if(K){if(L.includes(K)){$("");return}M([...L,K]),$("")}},H=K=>{M(L.filter(ue=>ue!==K))};return p.jsx("div",{role:"dialog","aria-modal":"true","aria-labelledby":"card-modal-title",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-12 w-full max-w-3xl bg-[var(--color-bg)]",children:[p.jsxs("header",{className:"flex items-start justify-between gap-4 mb-4",children:[p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsxs("div",{className:"flex items-center gap-3 mb-1",children:[p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-xs px-2 py-0.5 bg-[var(--color-accent-purple)] border-2 border-[var(--color-text)] rounded-full",children:["#",t]}),(f==null?void 0:f.state)&&p.jsx("span",{className:"font-[family-name:var(--font-mono)] text-xs px-2 py-0.5 bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-full font-semibold",children:f.state}),v&&p.jsx("span",{className:"text-xs font-bold text-[var(--color-stuck)]",children:s("cardModal.editing")})]}),v?p.jsx("input",{type:"text",className:"nb-input w-full font-[family-name:var(--font-heading)] text-xl font-bold",value:w,onChange:K=>k(K.target.value),maxLength:200,"aria-label":s("cardModal.ariaTitle")}):p.jsx("h2",{id:"card-modal-title",className:"font-[family-name:var(--font-heading)] text-2xl font-bold break-words",children:(f==null?void 0:f.title)??s("cardModal.loading")})]}),p.jsxs("div",{className:"flex gap-2 flex-shrink-0",children:[!v&&f&&p.jsxs("button",{onClick:()=>E(!0),className:"nb-btn",style:{padding:"6px 12px"},type:"button","aria-label":s("cardModal.editAria"),children:[p.jsx(xg,{size:12,strokeWidth:2.5})," ",s("cardModal.edit")]}),p.jsx("button",{onClick:n,className:"nb-btn nb-btn-mint p-2","aria-label":s("cardModal.closeAria"),type:"button",children:p.jsx(Ci,{size:14,strokeWidth:3})})]})]}),h&&p.jsx("p",{className:"text-[var(--color-text-muted)]",children:s("cardModal.loading")}),b&&p.jsx("p",{className:"text-[var(--color-crashed)]",children:s("cardModal.loadFailed",{error:m instanceof Error?m.message:String(m)})}),f&&p.jsxs("div",{className:"flex flex-col gap-4",children:[f.branch&&!v&&p.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[p.jsx(x2,{size:14}),p.jsx("span",{className:"font-[family-name:var(--font-mono)]",children:f.branch})]}),v?p.jsxs(p.Fragment,{children:[p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Skills"}),te.isLoading&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:s("cardModal.loadingSkills")}),te.data&&te.data.data.length>0&&p.jsx("div",{className:"flex flex-wrap gap-1.5",children:te.data.data.map(K=>{const ue=A.has(K.name);return p.jsx("button",{type:"button",onClick:()=>le(K.name),"aria-pressed":ue,className:["px-2.5 py-1 text-xs font-[family-name:var(--font-mono)] rounded-full border-2 transition-all",ue?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)] font-bold":"bg-[var(--color-bg)] border-[var(--color-border-light)] hover:border-[var(--color-text)]"].join(" "),children:K.name},K.name)})})]}),p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Labels"}),p.jsxs("div",{className:"flex flex-wrap gap-1.5 items-center",children:[L.map(K=>p.jsxs("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 text-xs font-[family-name:var(--font-mono)] bg-[var(--color-accent-yellow)] border-2 border-[var(--color-text)] rounded-full",children:[K,p.jsx("button",{type:"button",onClick:()=>H(K),className:"hover:text-[var(--color-crashed)]","aria-label":s("cardModal.removeLabelAria",{label:K}),children:p.jsx(Ci,{size:10,strokeWidth:3})})]},K)),p.jsx("input",{type:"text",className:"nb-input",style:{padding:"4px 8px",fontSize:12,width:140},placeholder:s("cardModal.addLabelPlaceholder"),value:U,onChange:K=>$(K.target.value),onKeyDown:K=>{K.key==="Enter"&&!K.nativeEvent.isComposing&&(K.preventDefault(),ee())}}),U&&p.jsx("button",{type:"button",className:"nb-btn",style:{padding:"2px 6px",fontSize:11},onClick:ee,"aria-label":s("cardModal.addLabelAria"),children:p.jsx(Pi,{size:10,strokeWidth:3})})]}),p.jsx("p",{className:"text-[10px] text-[var(--color-text-muted)] mt-1",children:s("cardModal.labelsNote")})]})]}):p.jsxs(p.Fragment,{children:[f.skills.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Skills"}),p.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:f.skills.map(K=>p.jsx(oS,{name:K},K))})]}),f.labels.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-sm font-bold mb-1.5",children:"Labels"}),p.jsx("div",{className:"flex items-center gap-2 flex-wrap",children:f.labels.map(K=>p.jsx(cS,{label:K,kind:K==="NEEDS-FIX"?"warn":"default"},K))})]})]}),v?p.jsxs(p.Fragment,{children:[p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("card.description")}),p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:180,resize:"vertical"},value:N,onChange:K=>C(K.target.value),"aria-label":s("cardModal.ariaCardDesc")}),p.jsx("p",{className:"text-[10px] text-[var(--color-text-muted)] mt-1",children:s("cardModal.descNote")})]}),(((ye=f.checklist)==null?void 0:ye.total)??0)>0&&p.jsxs("div",{className:"nb-card bg-[var(--color-bg-cream)] p-3",children:[p.jsx("div",{className:"flex items-center justify-between mb-2",children:p.jsx("span",{className:"font-bold text-sm",children:s("cardModal.checklistCount",{done:((X=f.checklist)==null?void 0:X.done)??0,total:((fe=f.checklist)==null?void 0:fe.total)??0})})}),p.jsx("ul",{className:"text-sm space-y-1",children:(((he=f.checklist)==null?void 0:he.items)??[]).map((K,ue)=>p.jsxs("li",{className:`flex items-start gap-2 ${K.done?"opacity-60 line-through":""}`,children:[p.jsx("span",{children:K.done?"✓":"○"}),p.jsx("span",{children:K.text})]},ue))})]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("card.description")}),p.jsx("pre",{className:"text-xs whitespace-pre-wrap font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4 max-h-64 overflow-auto",children:qm(f.body,["Description","描述"])||s("card.empty")})]}),p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("cardModal.checklistCount",{done:((ne=f.checklist)==null?void 0:ne.done)??0,total:((j=f.checklist)==null?void 0:j.total)??0})}),p.jsx("div",{className:"nb-card bg-[var(--color-bg-cream)] p-3",children:(((D=f.checklist)==null?void 0:D.total)??0)>0?p.jsxs(p.Fragment,{children:[p.jsx("div",{className:"flex items-center justify-end mb-2",children:p.jsx("div",{className:"w-24 h-2 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-full overflow-hidden",children:p.jsx("div",{className:"h-full bg-[var(--color-cta)]",style:{width:`${((Y=f.checklist)==null?void 0:Y.percent)??0}%`}})})}),p.jsx("ul",{className:"text-sm space-y-1",children:(((R=f.checklist)==null?void 0:R.items)??[]).map((K,ue)=>p.jsxs("li",{className:`flex items-start gap-2 ${K.done?"opacity-60 line-through":""}`,children:[p.jsx("span",{children:K.done?"✓":"○"}),p.jsx("span",{children:K.text})]},ue))})]}):p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:s("cardModal.checklistEmpty")})})]}),p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("card.log")}),p.jsx("pre",{className:"text-xs whitespace-pre-wrap font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4 max-h-64 overflow-auto",children:qm(f.body,["Log","日志"])||s("card.empty")})]})]}),p.jsx("div",{className:"flex gap-2 pt-2 border-t-2 border-[var(--color-border-light)] justify-end flex-wrap",children:v?p.jsxs(p.Fragment,{children:[p.jsx("button",{className:"nb-btn",type:"button",onClick:()=>{E(!1),x()},disabled:J.isPending,children:s("cardModal.cancel")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",onClick:()=>J.mutate(),disabled:!me||!w.trim()||J.isPending,"aria-label":s("cardModal.saveAria"),children:[J.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(tf,{size:14,strokeWidth:3}),s("cardModal.save")]})]}):p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn nb-btn-primary",type:"button",disabled:f.state==="Done"||Q,title:f.state==="Done"?s("cardModal.doneCannotStart"):Q?s("cardModal.pipelineRunningCannotStart"):void 0,onClick:async()=>{try{await hz(e,t),a()}catch(K){d({title:s("cardModal.launchFailed"),body:K instanceof Error?K.message:String(K)})}},children:[p.jsx(vg,{size:14,strokeWidth:3}),s("cardModal.launchWorker")]}),p.jsxs("button",{className:"nb-btn nb-btn-yellow",type:"button",onClick:async()=>{if(await c({title:s("cardModal.resetTitle",{seq:t}),body:s("cardModal.resetBody"),confirm:s("cardModal.resetConfirm"),danger:!0}))try{await dz(e,t),a(),n()}catch(ue){d({title:s("cardModal.resetFailed"),body:ue instanceof Error?ue.message:String(ue)})}},children:[p.jsx(Ww,{size:14,strokeWidth:2.5}),s("cardModal.resetButton")]}),p.jsxs("button",{className:"nb-btn",style:{background:"var(--color-crashed)",color:"var(--color-bg)"},type:"button",onClick:async()=>{if(!(!await c({title:s("cardModal.deleteTitle",{seq:t}),body:s("cardModal.deleteBody",{title:f.title}),confirm:s("cardModal.deleteContinue"),danger:!0})||!await c({title:s("cardModal.deleteFinalTitle"),body:s("cardModal.deleteFinalBody",{seq:t}),confirm:s("cardModal.deleteFinalConfirm"),danger:!0})))try{await fz(e,t),a(),n()}catch(Oe){d({title:s("cardModal.deleteFailed"),body:Oe instanceof Error?Oe.message:String(Oe)})}},"aria-label":s("cardModal.deleteAria"),children:[p.jsx(Kl,{size:14,strokeWidth:2.5}),s("cardModal.deleteButton")]})]})})]})]})})}function jz({current:e,onChange:t}){const[n,a]=O.useState(!1),s=O.useRef(null),{data:l}=ct({queryKey:["projects"],queryFn:Ar});return O.useEffect(()=>{const c=d=>{var f;(f=s.current)!=null&&f.contains(d.target)||a(!1)};return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[]),p.jsxs("div",{className:"relative",ref:s,children:[p.jsxs("button",{type:"button",className:"inline-flex items-center gap-2 px-3 py-2 bg-[var(--color-bg)] border-[3px] border-[var(--color-text)] rounded-xl shadow-[3px_3px_0_var(--color-text)] font-[family-name:var(--font-mono)] text-sm font-bold hover:-translate-x-px hover:-translate-y-px hover:shadow-[4px_4px_0_var(--color-text)] transition-[transform,box-shadow] duration-150",onClick:()=>a(c=>!c),children:[e,p.jsx(jc,{size:14,strokeWidth:2.5})]}),n&&l&&p.jsx("div",{className:"absolute right-0 mt-2 z-20 min-w-[200px] bg-[var(--color-bg)] border-[3px] border-[var(--color-text)] rounded-xl shadow-[5px_5px_0_var(--color-text)] overflow-hidden",children:l.data.map(c=>p.jsxs("button",{type:"button",onClick:()=>{t(c.name),a(!1)},className:["w-full text-left px-4 py-2 text-sm font-semibold",c.name===e?"bg-[var(--color-accent-mint)]":"hover:bg-[var(--color-bg-cream)]"].join(" "),children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)]",children:c.name}),p.jsxs("span",{className:"ml-2 text-xs text-[var(--color-text-muted)]",children:[c.cards.total," cards"]})]},c.name))})]})}const Mz=[{state:"Planning",label:"Planning",bg:"var(--color-accent-purple)"},{state:"Backlog",label:"Backlog",bg:"var(--color-bg-cream)"},{state:"Todo",label:"Todo",bg:"var(--color-accent-yellow)"},{state:"Inprogress",label:"Inprogress",bg:"var(--color-secondary)"},{state:"QA",label:"QA / Review",bg:"var(--color-accent-pink)"},{state:"Done",label:"Done",bg:"var(--color-accent-mint)"}],uS="sps-console:last-board-project";function Dz(){if(typeof window>"u")return null;try{return localStorage.getItem(uS)}catch{return null}}function Lz(e){if(!(typeof window>"u"))try{localStorage.setItem(uS,e)}catch{}}function Iz(){var H,oe,ce;const{t:e}=Ue("board"),[t,n]=Pw(),a=t.get("project"),[s,l]=O.useState(null),[c,d]=O.useState(""),[f,h]=O.useState(()=>new Set),[b,m]=O.useState(()=>new Set),{confirm:x,alert:v}=ui();vz(a);const E=ct({queryKey:["projects"],queryFn:Ar}),w=ct({queryKey:["cards",a],queryFn:()=>cz(a??""),enabled:!!a}),k=Vn(),N=()=>{k.invalidateQueries({queryKey:["cards",a]}),k.invalidateQueries({queryKey:["projects"]}),k.invalidateQueries({queryKey:["pipeline-status",a]})},C=ne=>{n({project:ne})};O.useEffect(()=>{var j;if(a){Lz(a);return}const ne=Dz();ne&&((j=E.data)!=null&&j.data.some(D=>D.name===ne))&&n({project:ne},{replace:!0})},[a,E.data,n]);const A=Gn({mutationFn:()=>bz(a),onSuccess:()=>{N()},onError:ne=>{v({title:e("errors.startFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),T=Gn({mutationFn:()=>yz(a),onSuccess:()=>N(),onError:ne=>{v({title:e("errors.stopFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),L=Gn({mutationFn:()=>xz(a,{all:!0}),onSuccess:()=>N(),onError:ne=>{v({title:e("errors.resetFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),[M,U]=O.useState(!1),$=Gn({mutationFn:ne=>pz(a,ne),onSuccess:()=>{N(),U(!1)},onError:ne=>{v({title:e("errors.createFailed"),body:ne instanceof Error?ne.message:String(ne)})}}),te=Gn({mutationFn:({seq:ne,state:j})=>mz(a,ne,j),onMutate:async({seq:ne,state:j})=>{await k.cancelQueries({queryKey:["cards",a]});const D=k.getQueryData(["cards",a]);return D&&k.setQueryData(["cards",a],{...D,data:D.data.map(Y=>Y.seq===ne?{...Y,state:j}:Y)}),{prev:D}},onError:(ne,j,D)=>{D!=null&&D.prev&&k.setQueryData(["cards",a],D.prev),v({title:e("errors.moveFailed"),body:ne instanceof Error?ne.message:String(ne)})},onSettled:()=>{k.invalidateQueries({queryKey:["cards",a]})}}),P=((H=w.data)==null?void 0:H.data)??[],{allSkills:Q,allLabels:J}=O.useMemo(()=>{const ne=new Set,j=new Set;for(const D of P){for(const Y of D.skills)ne.add(Y);for(const Y of D.labels)j.add(Y)}return{allSkills:[...ne].sort(),allLabels:[...j].sort()}},[P]);if(!a)return p.jsxs("div",{className:"flex flex-col gap-6 max-w-4xl",children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold",children:e("title")}),p.jsxs("div",{className:"nb-card bg-[var(--color-accent-yellow)] max-w-2xl",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-3",children:e("selectProject")}),p.jsx("p",{className:"text-sm mb-4 text-[var(--color-text-muted)]",children:e("selectHint")}),p.jsx("div",{className:"flex flex-wrap gap-2",children:(oe=E.data)==null?void 0:oe.data.map(ne=>p.jsx("button",{className:"nb-btn nb-btn-blue",onClick:()=>C(ne.name),type:"button",children:ne.name},ne.name))})]})]});const me=P.filter(ne=>{if(c){const j=c.toLowerCase();if(!(ne.title.toLowerCase().includes(j)||ne.skills.some(Y=>Y.toLowerCase().includes(j))||ne.labels.some(Y=>Y.toLowerCase().includes(j))))return!1}return!(f.size>0&&!ne.skills.some(D=>f.has(D))||b.size>0&&!ne.labels.some(D=>b.has(D)))}),le=(ce=E.data)==null?void 0:ce.data.find(ne=>ne.name===a),ee=(le==null?void 0:le.pipelineStatus)==="running";return p.jsxs("div",{className:"flex flex-col gap-4 max-w-full flex-1 min-h-0",children:[p.jsxs("header",{className:"flex items-center justify-between flex-wrap gap-3 shrink-0",children:[p.jsxs("div",{children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:e("titleEmoji")}),p.jsx("p",{className:"text-[var(--color-text-muted)] text-sm mt-1",children:le?e("summary",{name:le.name,cards:le.cards.total,workers:le.workers.active}):e("loadingProject")})]}),p.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[p.jsx(jz,{current:a,onChange:C}),p.jsxs("button",{className:ee?"nb-btn nb-btn-danger":"nb-btn nb-btn-primary",onClick:()=>ee?T.mutate():A.mutate(),disabled:A.isPending||T.isPending,type:"button","aria-label":e(ee?"actions.ariaStopPipeline":"actions.ariaStartPipeline"),title:e(ee?"actions.ariaStopPipeline":"actions.ariaStartPipeline"),children:[A.isPending||T.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):ee?p.jsx(Zw,{size:14,strokeWidth:3}):p.jsx(vg,{size:14,strokeWidth:3}),e(ee?"actions.stop":"actions.start")]}),p.jsxs("button",{className:"nb-btn nb-btn-yellow",type:"button",onClick:async()=>{await x({title:e("errors.resetTitle"),body:e("errors.resetBody"),confirm:e("errors.resetConfirm"),danger:!0})&&L.mutate()},disabled:L.isPending,children:[L.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(Ww,{size:14,strokeWidth:2.5}),e("actions.reset")]}),p.jsxs("button",{className:"nb-btn nb-btn-mint",type:"button",onClick:()=>U(!0),disabled:$.isPending,children:[$.isPending?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(Pi,{size:14,strokeWidth:3}),e("actions.newCard")]})]})]}),p.jsxs("div",{className:"flex items-center gap-3 flex-wrap shrink-0",children:[p.jsxs("div",{className:"relative flex-1 max-w-md",children:[p.jsx(Dd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-subtle)]"}),p.jsx("input",{className:"nb-input pl-9 w-full",placeholder:e("actions.searchPlaceholder"),value:c,onChange:ne=>d(ne.target.value),"aria-label":e("actions.ariaSearch")})]}),p.jsx(G0,{label:"skill",options:Q,selected:f,onChange:h}),p.jsx(G0,{label:"label",options:J,selected:b,onChange:m}),(c||f.size>0||b.size>0)&&p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>{d(""),h(new Set),m(new Set)},type:"button","aria-label":e("actions.ariaClearFilter"),children:[p.jsx(Ci,{size:11,strokeWidth:3}),e("actions.clear")]}),p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)] flex items-center gap-1 font-[family-name:var(--font-mono)]",children:[p.jsx(b2,{size:12}),me.length," / ",P.length]})]}),w.isError&&p.jsxs("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:[p.jsx("p",{className:"font-semibold",children:e("errors.loadFailed")}),p.jsx("p",{className:"text-sm mt-1 text-[var(--color-text-muted)]",children:w.error instanceof Error?w.error.message:String(w.error)})]}),!w.isError&&p.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-6 auto-rows-fr gap-3 flex-1 min-h-0",children:Mz.map(ne=>p.jsx(Oz,{label:ne.label,bg:ne.bg,cards:me.filter(zz(ne.state)),onCardClick:j=>l(j.seq),onDropCard:j=>te.mutate({seq:j,state:ne.state})},ne.state))}),s!==null&&p.jsx(Rz,{project:a,seq:s,onClose:()=>l(null),onChanged:N}),M&&p.jsx(oz,{project:a,isPending:$.isPending,onCancel:()=>U(!1),onCreate:ne=>$.mutate(ne)})]})}function zz(e){return t=>e==="QA"?t.state==="QA"||t.state==="Review":e==="Done"?t.state==="Done"||t.state==="Canceled":t.state===e}function G0({label:e,options:t,selected:n,onChange:a}){const{t:s}=Ue("board"),[l,c]=O.useState(!1),d=O.useRef(null);O.useEffect(()=>{if(!l)return;const m=v=>{var E;(E=d.current)!=null&&E.contains(v.target)||c(!1)},x=v=>{v.key==="Escape"&&c(!1)};return window.addEventListener("click",m),window.addEventListener("keydown",x),()=>{window.removeEventListener("click",m),window.removeEventListener("keydown",x)}},[l]);const f=m=>{const x=new Set(n);x.has(m)?x.delete(m):x.add(m),a(x)},h=t.length===0,b=n.size;return p.jsxs("div",{ref:d,className:"relative",children:[p.jsxs("button",{type:"button",className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>!h&&c(m=>!m),disabled:h,"aria-haspopup":"listbox","aria-expanded":l,"aria-label":s("actions.ariaFilterBy",{label:e}),children:[e,b>0&&p.jsx("span",{className:"ml-1 px-1.5 py-0.5 text-[10px] font-bold rounded-full bg-[var(--color-primary)] text-[var(--color-text)] border border-[var(--color-text)]",children:b}),p.jsx(jc,{size:11,strokeWidth:3,className:["transition-transform",l?"rotate-180":""].join(" ")})]}),l&&p.jsxs("div",{role:"listbox",className:"absolute left-0 top-full mt-2 z-20 min-w-[200px] max-h-64 overflow-auto nb-card p-2",style:{padding:8},children:[t.map(m=>{const x=n.has(m);return p.jsxs("label",{className:["flex items-center gap-2 px-2 py-1.5 rounded cursor-pointer text-sm font-[family-name:var(--font-mono)]",x?"bg-[var(--color-accent-mint)]":"hover:bg-[var(--color-bg-cream)]"].join(" "),children:[p.jsx("input",{type:"checkbox",checked:x,onChange:()=>f(m),className:"flex-shrink-0"}),p.jsx("span",{className:"truncate",children:m})]},m)}),b>0&&p.jsx("button",{type:"button",className:"w-full mt-2 pt-2 border-t-2 border-dashed border-[var(--color-text)] text-xs font-bold text-[var(--color-crashed)] text-center",onClick:()=>a(new Set),children:s("actions.clearSelection")})]})]})}function Bz(){return qt("/api/workers/all")}function Uz(e){return qt(`/api/projects/${encodeURIComponent(e)}/workers`)}function Pz(e,t){return qt(`/api/projects/${encodeURIComponent(e)}/workers/${t}`)}async function dS(e,t){const n=await fetch(e,{method:"POST",headers:t?{"Content-Type":"application/json"}:void 0,body:t?JSON.stringify(t):void 0});if(!n.ok)throw new Error(`${n.status}: ${await n.text()}`);return n.json().catch(()=>({}))}function V0(e,t){return dS(`/api/projects/${encodeURIComponent(e)}/workers/${t}/kill`)}function Fz(e,t,n){return dS(`/api/projects/${encodeURIComponent(e)}/workers/${t}/launch`,n?{seq:n}:void 0)}function Bg({state:e}){const n={running:{bg:"var(--color-running-bg)",color:"var(--color-running)",label:"running"},starting:{bg:"var(--color-secondary)",color:"var(--color-text)",label:"starting",icon:p.jsx(Bt,{size:9,strokeWidth:3,className:"animate-spin"})},stuck:{bg:"var(--color-stuck-bg)",color:"var(--color-stuck)",label:"stuck"},crashed:{bg:"var(--color-crashed-bg)",color:"var(--color-crashed)",label:"crashed",icon:p.jsx(J2,{size:9,strokeWidth:2.5})},idle:{bg:"var(--color-idle-bg)",color:"var(--color-idle)",label:"idle"}}[e];return p.jsxs("span",{className:"nb-status inline-flex items-center gap-1",style:{background:n.bg,color:n.color},children:[n.icon,n.label]})}function Ug(e){if(e==null||e<=0)return"—";const t=Math.floor(e/1e3),n=Math.floor(t/3600),a=Math.floor(t%3600/60),s=t%60;return n>0?`${n}h ${a}m`:a>0?`${a}m ${s}s`:`${s}s`}function $z(e){if(e==null||e<=0)return"text-[var(--color-text-muted)]";const t=e/6e4;return t<10?"text-[var(--color-running)]":t<60?"text-[var(--color-stuck)]":"text-[var(--color-crashed)]"}function Pg(e){const t=Date.now()-new Date(e).getTime();return t<6e4?sn.t("workers:format.secondsAgo",{value:Math.floor(t/1e3)}):t<36e5?sn.t("workers:format.minutesAgo",{value:Math.floor(t/6e4)}):sn.t("workers:format.hoursAgo",{value:Math.floor(t/36e5)})}function Hz({alerts:e,selected:t,onSelect:n}){const{t:a}=Ue("workers");return e.length===0?p.jsxs("div",{className:"nb-card bg-[var(--color-running-bg)] flex items-center gap-3",children:[p.jsx(bc,{size:18,strokeWidth:2.5,className:"text-[var(--color-running)]"}),p.jsx("span",{className:"text-sm font-bold text-[var(--color-running)]",children:a("alerts.allHealthy")})]}):p.jsxs("section",{children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-2 flex items-center gap-2 text-[var(--color-crashed)]",children:[p.jsx(oO,{size:14,strokeWidth:2.5}),"Alerts (",e.length,")"]}),p.jsx("div",{className:"flex flex-col gap-2",children:e.map(s=>{const l=(t==null?void 0:t.project)===s.project&&(t==null?void 0:t.slot)===s.slot;return p.jsxs("button",{type:"button",onClick:()=>n(s.project,s.slot),className:["nb-card p-3 text-left",s.state==="crashed"?"bg-[var(--color-crashed-bg)]":"bg-[var(--color-stuck-bg)]",l?"ring-4 ring-[var(--color-text)]":""].join(" "),children:[p.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[p.jsx(Bg,{state:s.state}),p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold",children:[s.project,"/worker-",s.slot]}),s.card&&p.jsxs("span",{className:"truncate",children:["#",s.card.seq," ",s.card.title]}),p.jsxs("span",{className:"ml-auto text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] flex items-center gap-1",children:[p.jsx(n2,{size:10,strokeWidth:2.5}),Ug(s.runtimeMs)]})]}),s.markerUpdatedAt&&p.jsx("div",{className:"text-xs text-[var(--color-text-muted)] mt-1 font-[family-name:var(--font-mono)]",children:s.state==="crashed"?a("alerts.pidDead"):a("alerts.markerStalled",{relative:Pg(s.markerUpdatedAt)})})]},`${s.project}-${s.slot}`)})})]})}function qz({active:e,selected:t,onSelect:n}){const{t:a}=Ue("workers");return e.length===0?p.jsx("div",{className:"nb-card bg-[var(--color-bg-cream)]",children:p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic",children:a("active.noneRunning")})}):p.jsxs("section",{children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-2 flex items-center gap-2",children:[p.jsx(Jd,{size:14,strokeWidth:2.5}),a("active.heading")," (",e.length,")"]}),p.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-3",children:e.map(s=>{const l=(t==null?void 0:t.project)===s.project&&(t==null?void 0:t.slot)===s.slot;return p.jsxs("button",{type:"button",onClick:()=>n(s.project,s.slot),className:["nb-card p-3 text-left",s.state==="starting"?"bg-[var(--color-secondary)]":"bg-[var(--color-running-bg)]",l?"ring-4 ring-[var(--color-text)]":""].join(" "),children:[p.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[p.jsx(Bg,{state:s.state}),p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-sm flex-1 truncate",children:[s.project,"/worker-",s.slot]}),p.jsx("span",{className:`text-xs font-[family-name:var(--font-mono)] ${$z(s.runtimeMs)}`,children:Ug(s.runtimeMs)})]}),s.card&&p.jsxs("div",{className:"text-sm font-semibold mb-1 truncate",children:["#",s.card.seq," · ",s.card.title]}),p.jsxs("div",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] flex items-center gap-2 mb-1",children:[s.stage&&p.jsx("span",{children:a("active.stage",{name:s.stage})}),s.markerUpdatedAt&&p.jsx("span",{className:"ml-auto",children:a("active.marker",{relative:Pg(s.markerUpdatedAt)})})]}),s.lastLogLine&&p.jsxs("div",{className:"text-[11px] font-[family-name:var(--font-mono)] text-[var(--color-text-muted)] bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded px-2 py-1 mt-2 truncate",children:[p.jsx(Jw,{size:9,strokeWidth:2.5,className:"inline-block mr-1 align-text-bottom"}),s.lastLogLine.msg]})]},`${s.project}-${s.slot}`)})})]})}function Kz({capacity:e,selected:t,onSelect:n}){const{t:a}=Ue("workers");return e.length===0?null:p.jsxs("section",{children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-sm font-bold uppercase tracking-wider mb-2",children:a("capacity.title")}),p.jsx("div",{className:"nb-card p-0 overflow-hidden",children:p.jsxs("table",{className:"w-full text-sm",children:[p.jsx("thead",{children:p.jsxs("tr",{className:"bg-[var(--color-bg-cream)] border-b-2 border-[var(--color-text)]",children:[p.jsx("th",{className:"px-3 py-2 text-left font-bold text-xs uppercase tracking-wider",children:a("capacity.project")}),p.jsx("th",{className:"px-3 py-2 text-left font-bold text-xs uppercase tracking-wider",children:a("capacity.inUse")}),p.jsx("th",{className:"px-3 py-2 text-right font-bold text-xs uppercase tracking-wider",children:"running"}),p.jsx("th",{className:"px-3 py-2 text-right font-bold text-xs uppercase tracking-wider",children:a("capacity.other")}),p.jsx("th",{className:"px-3 py-2"})]})}),p.jsx("tbody",{children:e.map(s=>{const l=s.running+s.starting+s.stuck+s.crashed,c=(t==null?void 0:t.project)===s.project;return p.jsxs("tr",{onClick:()=>n(s.project),className:["border-b border-dashed border-[var(--color-border-light)] last:border-0 cursor-pointer hover:bg-[var(--color-accent-yellow)]",c?"bg-[var(--color-accent-yellow)]":""].join(" "),children:[p.jsx("td",{className:"px-3 py-2 font-[family-name:var(--font-mono)] font-bold",children:s.project}),p.jsx("td",{className:"px-3 py-2",children:p.jsx(Gz,{total:s.total,cap:s})}),p.jsxs("td",{className:"px-3 py-2 text-right font-[family-name:var(--font-mono)]",children:[p.jsx("span",{className:"text-[var(--color-running)] font-bold",children:s.running}),p.jsxs("span",{className:"text-[var(--color-text-muted)]",children:["/",s.total]})]}),p.jsxs("td",{className:"px-3 py-2 text-right text-xs font-[family-name:var(--font-mono)] text-[var(--color-text-muted)]",children:[s.starting>0&&p.jsxs("span",{className:"mr-2",children:["starting ",s.starting]}),s.stuck>0&&p.jsxs("span",{className:"text-[var(--color-stuck)] font-bold mr-2",children:["stuck ",s.stuck]}),s.crashed>0&&p.jsxs("span",{className:"text-[var(--color-crashed)] font-bold mr-2",children:["crashed ",s.crashed]}),l===0&&p.jsx("span",{children:"idle"})]}),p.jsx("td",{className:"px-3 py-2 text-right",children:p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:a("capacity.details")})})]},s.project)})})]})})]})}function Gz({total:e,cap:t}){const n=[];for(let a=0;a<t.crashed;a++)n.push("crashed");for(let a=0;a<t.stuck;a++)n.push("stuck");for(let a=0;a<t.starting;a++)n.push("starting");for(let a=0;a<t.running;a++)n.push("running");for(let a=0;a<t.idle;a++)n.push("idle");return p.jsxs("div",{className:"flex gap-1 items-center",children:[n.map((a,s)=>p.jsx("span",{className:"inline-block w-3 h-3 rounded-full border-2 border-[var(--color-text)]",style:{background:Vz(a)},title:a},s)),p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)] ml-2 font-[family-name:var(--font-mono)]",children:[e," slot",e!==1?"s":""]})]})}function Vz(e){switch(e){case"running":return"var(--color-running-bg)";case"starting":return"var(--color-secondary)";case"stuck":return"var(--color-stuck-bg)";case"crashed":return"var(--color-crashed-bg)";default:return"var(--color-idle-bg)"}}function Qz({project:e,initialSlot:t,onChange:n}){var h;const{t:a}=Ue("workers"),s=ct({queryKey:["workers",e],queryFn:()=>Uz(e),refetchInterval:3e3}),l=((h=s.data)==null?void 0:h.data)??[],[c,d]=O.useState(null);O.useEffect(()=>{if(l.length===0){d(null);return}const b=l[0].slot;d(m=>m!=null&&l.some(x=>x.slot===m)?m:t!=null&&l.some(x=>x.slot===t)?t:b)},[e,t,l.length]);const f=l.find(b=>b.slot===c)??null;return p.jsxs("div",{className:"flex flex-col h-full",children:[p.jsxs("div",{className:"px-4 py-3 border-b-2 border-[var(--color-text)] bg-[var(--color-bg-cream)]",children:[p.jsxs("div",{className:"flex items-center justify-between mb-2",children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold truncate",children:e}),p.jsx(bs,{to:`/board?project=${encodeURIComponent(e)}`,className:"text-xs underline text-[var(--color-text-muted)] hover:text-[var(--color-text)]",children:a("capacity.boardLink")})]}),s.isLoading&&l.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("capacity.loadingWorkers")}):l.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("capacity.noSlots")}):p.jsx("div",{className:"flex flex-wrap gap-2",children:l.map(b=>p.jsx(Yz,{worker:b,active:b.slot===c,onClick:()=>d(b.slot)},b.slot))})]}),f?p.jsx(Wz,{project:e,worker:f,onChange:n}):p.jsx("div",{className:"flex-1 flex items-center justify-center p-6 text-center",children:p.jsx("p",{className:"text-sm text-[var(--color-text-muted)]",children:l.length===0?a("capacity.noWorkers"):a("capacity.selectWorker")})})]})}function Yz({worker:e,active:t,onClick:n}){const{t:a}=Ue("workers");return p.jsxs("button",{type:"button",onClick:n,className:["nb-card p-2 text-left min-w-[130px] transition-transform",t?"ring-4 ring-[var(--color-text)]":"opacity-80 hover:opacity-100"].join(" "),children:[p.jsxs("div",{className:"flex items-center gap-2 mb-1",children:[p.jsx(Bg,{state:e.state}),p.jsxs("span",{className:"font-[family-name:var(--font-mono)] font-bold text-xs",children:["worker-",e.slot]})]}),e.card?p.jsxs("div",{className:"text-[11px] truncate font-[family-name:var(--font-mono)]",children:["#",e.card.seq," ",e.card.title]}):p.jsx("div",{className:"text-[11px] text-[var(--color-text-muted)] italic",children:a("capacity.idle")})]})}function Wz({project:e,worker:t,onChange:n}){var b,m;const{t:a}=Ue("workers"),{confirm:s,alert:l}=ui(),c=t.state==="crashed"||t.state==="stuck",d=ct({queryKey:["worker-detail",e,t.slot],queryFn:()=>Pz(e,t.slot),refetchInterval:3e3}),f=((b=d.data)==null?void 0:b.recentOutput)??[],h=((m=d.data)==null?void 0:m.recentLogs)??[];return p.jsxs(p.Fragment,{children:[p.jsxs("div",{className:"flex-1 overflow-auto p-4 flex flex-col gap-4",children:[t.card?p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-[var(--color-text-muted)] mb-1",children:a("capacity.currentCard")}),p.jsxs("div",{className:"text-sm font-semibold break-words",children:["#",t.card.seq," · ",t.card.title]})]}):p.jsx("div",{className:"text-sm text-[var(--color-text-muted)] italic",children:a("capacity.slotIdle")}),p.jsxs("dl",{className:"grid grid-cols-[100px_1fr] gap-y-2 text-sm",children:[p.jsx("dt",{className:"font-bold",children:"Stage"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.stage??"—"}),p.jsx("dt",{className:"font-bold",children:"PID"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.pid??"—"}),p.jsx("dt",{className:"font-bold",children:"Runtime"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:Ug(t.runtimeMs)}),p.jsx("dt",{className:"font-bold",children:"Started"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)] text-xs",children:t.startedAt?new Date(t.startedAt).toLocaleString():"—"}),p.jsx("dt",{className:"font-bold",children:"Marker"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)] text-xs",children:t.markerUpdatedAt?Pg(t.markerUpdatedAt):"—"})]}),p.jsxs("div",{children:[p.jsxs("div",{className:"text-xs font-bold uppercase tracking-wider text-[var(--color-text-muted)] mb-1 flex items-center gap-1",children:[p.jsx(Jw,{size:10,strokeWidth:2.5}),a("capacity.outputRecent",{count:f.length})]}),d.isLoading&&f.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("loading")}):f.length===0?p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] italic",children:a("capacity.outputEmpty")}):p.jsx("pre",{className:"text-xs font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded p-2 max-h-80 overflow-auto whitespace-pre-wrap break-words",children:f.map(x=>`${x.ts?`${x.ts} [${x.kind}] `:`[${x.kind}] `}${x.text}`).join(`
|
|
523
523
|
`)})]}),h.length>0&&p.jsxs("div",{children:[p.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-[var(--color-text-muted)] mb-1 opacity-60",children:a("capacity.heartbeatRecent",{count:h.length})}),p.jsx("pre",{className:"text-xs font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded p-2 max-h-40 overflow-auto whitespace-pre-wrap break-words opacity-80",children:h.map(x=>`${x.ts??""} [${x.level}] ${x.msg}`).join(`
|
|
524
|
-
`)}),p.jsx(bs,{to:`/logs?project=${encodeURIComponent(e)}&worker=${t.slot}`,className:"text-xs underline text-[var(--color-running)] mt-1 inline-block",children:a("capacity.viewFullLog")})]})]}),p.jsxs("div",{className:"px-4 py-3 border-t-2 border-[var(--color-text)] bg-[var(--color-bg-cream)] flex gap-2 justify-end flex-wrap",children:[c&&t.card&&p.jsxs("button",{type:"button",className:"nb-btn nb-btn-mint",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{if(await s({title:a("actions.restartTitle",{slot:t.slot}),body:a("actions.restartBody",{seq:t.card.seq}),confirm:a("actions.restartConfirm")})){try{await V0(e,t.slot)}catch{}try{await Uz(e,t.slot,t.card.seq),n()}catch(v){l({title:a("actions.restartFailed"),body:v instanceof Error?v.message:String(v)})}}},children:[p.jsx(rO,{size:11,strokeWidth:2.5})," ",a("actions.restart")]}),t.state!=="idle"&&p.jsxs("button",{type:"button",className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{if(await s({title:a("actions.killTitle",{slot:t.slot}),body:a("actions.killBody"),confirm:a("actions.killConfirm"),danger:!0}))try{await V0(e,t.slot),n()}catch(v){l({title:a("actions.killFailed"),body:v instanceof Error?v.message:String(v)})}},children:[p.jsx(pO,{size:11,strokeWidth:2.5})," ",a("actions.kill")]})]})]})}function Yz(){var c;const{t:e}=Fe("workers"),t=Vn(),[n,a]=O.useState(null),s=ct({queryKey:["workers-agg"],queryFn:Iz,refetchInterval:5e3});O.useEffect(()=>{if(!s.data)return;const d=s.data.capacity.map(h=>h.project),f=[];for(const h of d){const b=new EventSource(`/stream/projects/${encodeURIComponent(h)}`),m=()=>{t.invalidateQueries({queryKey:["workers-agg"]})};b.addEventListener("worker.updated",m),b.addEventListener("worker.added",m),b.addEventListener("worker.deleted",m),b.addEventListener("card.updated",m),f.push(b)}return()=>{for(const h of f)h.close()}},[(c=s.data)==null?void 0:c.capacity.map(d=>d.project).join(","),t]);const l=O.useMemo(()=>{if(!s.data)return{projects:0,running:0,starting:0,stuck:0,crashed:0,idle:0};const d={projects:s.data.capacity.length,running:0,starting:0,stuck:0,crashed:0,idle:0};for(const f of s.data.capacity)d.running+=f.running,d.starting+=f.starting,d.stuck+=f.stuck,d.crashed+=f.crashed,d.idle+=f.idle;return d},[s.data]);return p.jsxs("div",{className:"flex flex-col gap-4 h-[calc(100vh-140px)]",children:[p.jsxs("header",{className:"flex items-center justify-between flex-wrap gap-3",children:[p.jsxs("div",{children:[p.jsxs("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:[e("title")," 👷"]}),p.jsxs("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:[e("summary",{projects:l.projects,running:l.running,starting:l.starting}),p.jsx("span",{className:"text-[var(--color-stuck)]",children:e("stuck",{count:l.stuck})})," ·"," ",p.jsx("span",{className:"text-[var(--color-crashed)]",children:e("crashed",{count:l.crashed})}),e("idle",{count:l.idle})]})]}),p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>s.refetch(),disabled:s.isFetching,type:"button","aria-label":e("refreshAria"),children:[s.isFetching?p.jsx(Bt,{size:12,strokeWidth:3,className:"animate-spin"}):p.jsx(zl,{size:12,strokeWidth:2.5}),e("refresh")]})]}),p.jsxs("div",{className:"grid grid-cols-1 xl:grid-cols-2 gap-4 flex-1 min-h-0",children:[p.jsxs("div",{className:"flex flex-col gap-4 overflow-auto pr-2",children:[s.isLoading&&p.jsx("p",{className:"text-[var(--color-text-muted)] italic",children:e("loading")}),s.isError&&p.jsx("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:p.jsx("p",{children:e("loadFailed",{error:s.error instanceof Error?s.error.message:String(s.error)})})}),s.data&&p.jsxs(p.Fragment,{children:[p.jsx(Fz,{alerts:s.data.alerts,selected:n,onSelect:(d,f)=>a({project:d,slot:f})}),p.jsx($z,{active:s.data.active,selected:n,onSelect:(d,f)=>a({project:d,slot:f})}),p.jsx(Hz,{capacity:s.data.capacity,selected:n,onSelect:d=>a({project:d})})]})]}),p.jsx("aside",{className:"nb-card p-0 overflow-hidden flex flex-col h-full",children:n?p.jsx(Gz,{project:n.project,initialSlot:n.slot,onChange:()=>t.invalidateQueries({queryKey:["workers-agg"]})}):p.jsx("div",{className:"flex-1 flex items-center justify-center p-6 text-center",children:p.jsxs("div",{children:[p.jsx(Jd,{size:32,className:"mx-auto mb-3 text-[var(--color-text-subtle)]",strokeWidth:2}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)]",children:e("selectHint")})]})})})]})]})}function Wz(e){const t=new URLSearchParams;return e.project&&t.set("project",e.project),e.worker&&t.set("worker",e.worker),t.set("limit",String(e.limit)),e.since&&t.set("since",e.since),qt(`/api/logs?${t}`)}function Xz(e){const t=new URLSearchParams({project:e.project});return e.worker&&t.set("worker",e.worker),`/stream/logs?${t}`}const Zz=["error","warn","info","debug"],Jz=["error","warn","info"];function eB(){var te,P;const{t:e}=Fe("logs"),[t,n]=Pw(),a=t.get("project"),s=t.get("worker")??"",[l,c]=O.useState([]),[d,f]=O.useState(!1),[h,b]=O.useState(!0),[m,x]=O.useState(()=>new Set(Jz)),[v,E]=O.useState(""),[w,k]=O.useState("live"),[N,C]=O.useState(()=>{const Q=new Date(Date.now()-36e5),J=me=>String(me).padStart(2,"0");return`${Q.getFullYear()}-${J(Q.getMonth()+1)}-${J(Q.getDate())}T${J(Q.getHours())}:${J(Q.getMinutes())}`}),A=O.useRef(null),T=!a,L=ct({queryKey:["projects"],queryFn:Ar}),{data:M,refetch:U}=ct({queryKey:["logs",a??"agg",s,w,w==="history"?N:"live"],queryFn:()=>Wz({project:a||void 0,worker:s||void 0,limit:w==="history"?2e3:500,since:w==="history"?new Date(N).toISOString():void 0}),refetchInterval:T&&w==="live"?5e3:!1});O.useEffect(()=>{M!=null&&M.data&&c(M.data)},[M]),O.useEffect(()=>{if(!a||w!=="live")return;const Q=Xz({project:a,worker:s||void 0}),J=new EventSource(Q);return J.addEventListener("log.line",me=>{if(!d)try{const le=JSON.parse(me.data);c(ee=>{const H=[...ee,le];return H.length>5e3&&H.splice(0,H.length-5e3),H})}catch{}}),()=>J.close()},[a,s,d,w]),O.useEffect(()=>{if(!h)return;const Q=A.current;Q&&(Q.scrollTop=Q.scrollHeight)},[l,h]);const $=O.useMemo(()=>{const Q=v.toLowerCase();return l.filter(J=>!(!m.has(J.level)||Q&&!J.msg.toLowerCase().includes(Q)))},[l,m,v]);return p.jsxs("div",{className:"flex flex-col gap-4 max-w-full",children:[p.jsx("header",{className:"flex items-center justify-between gap-3 flex-wrap",children:p.jsxs("div",{children:[p.jsxs("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:[e("title")," 📜"]}),p.jsxs("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:[e("header",{scope:T?e("scopeAll",{count:((te=L.data)==null?void 0:te.data.length)??0}):a,worker:s?` · worker-${s}`:"",mode:e(T&&w==="live"?"modeLive":"modeTail"),count:l.length}),d&&p.jsx("span",{className:"text-[var(--color-stuck)] ml-2 font-bold",children:"⏸ PAUSED"})]})]})}),p.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[p.jsxs("div",{className:"flex gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:[p.jsxs("button",{type:"button",onClick:()=>k("live"),"aria-pressed":w==="live",className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",w==="live"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]"].join(" "),children:[p.jsx(Yw,{size:11,strokeWidth:2.5}),e("live")]}),p.jsxs("button",{type:"button",onClick:()=>k("history"),"aria-pressed":w==="history",className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",w==="history"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]"].join(" "),children:[p.jsx(E2,{size:11,strokeWidth:2.5}),e("history")]})]}),w==="history"&&p.jsxs(p.Fragment,{children:[p.jsx("input",{type:"datetime-local",className:"nb-input",style:{padding:"4px 8px",fontSize:12},value:N,onChange:Q=>C(Q.target.value),"aria-label":e("queryStartAria")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 12px",fontSize:12},onClick:()=>U(),type:"button","aria-label":e("queryAria"),children:[p.jsx(Dd,{size:11,strokeWidth:3}),e("query")]})]}),p.jsxs("div",{className:"relative",children:[p.jsx(yc,{size:14,strokeWidth:2.5,className:"absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none text-[var(--color-text)]"}),p.jsxs("select",{className:"nb-input appearance-none pl-9 pr-9 font-[family-name:var(--font-mono)] cursor-pointer",style:{padding:"10px 36px 10px 36px",fontSize:13,minWidth:180},value:a??"",onChange:Q=>{const J=Q.target.value;n(J?{project:J}:{})},"aria-label":e("filterProjectAria"),children:[p.jsx("option",{value:"",children:e("allProjectsOption")}),(P=L.data)==null?void 0:P.data.map(Q=>p.jsx("option",{value:Q.name,children:Q.name},Q.name))]}),p.jsx(jc,{size:14,strokeWidth:3,className:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none text-[var(--color-text)]"})]}),p.jsxs("div",{className:"relative flex-1 max-w-md",children:[p.jsx(Dd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-subtle)]"}),p.jsx("input",{className:"nb-input pl-9 w-full",placeholder:e("filterPlaceholder"),value:v,onChange:Q=>E(Q.target.value),"aria-label":e("filterAria")})]}),p.jsx("div",{className:"flex items-center gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:Zz.map(Q=>p.jsx(tB,{level:Q,enabled:m.has(Q),onToggle:()=>{x(J=>{const me=new Set(J);return me.has(Q)?me.delete(Q):me.add(Q),me})}},Q))}),p.jsxs("div",{className:"ml-auto flex gap-2",children:[w==="live"&&p.jsxs(p.Fragment,{children:[p.jsx("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>b(Q=>!Q),type:"button",children:h?"✓ Auto-scroll":"Auto-scroll"}),p.jsx("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>f(Q=>!Q),type:"button",children:d?p.jsxs(p.Fragment,{children:[p.jsx(vg,{size:12,strokeWidth:3})," Resume"]}):p.jsxs(p.Fragment,{children:[p.jsx(P2,{size:12,strokeWidth:3})," Pause"]})})]}),p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>{const Q=new Blob([$.map(le=>le.raw).join(`
|
|
525
|
-
`)],{type:"text/plain"}),J=URL.createObjectURL(Q),me=document.createElement("a");me.href=J,me.download=`${a}-log-${Date.now()}.log`,me.click(),URL.revokeObjectURL(J)},type:"button",children:[p.jsx(Gw,{size:12,strokeWidth:2.5})," Export"]})]})]}),p.jsxs("div",{className:"nb-card p-0 overflow-hidden",children:[p.jsxs("div",{className:"px-4 py-2 bg-[var(--color-bg-cream)] border-b-2 border-[var(--color-text)] flex items-center justify-between font-[family-name:var(--font-mono)] text-xs",children:[p.jsx("span",{className:"text-[var(--color-text-muted)]",children:(M==null?void 0:M.file)??"~/.coral/projects/.../logs/*.log"}),w==="live"?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"live"}):p.jsx("span",{className:"nb-status",style:{background:"var(--color-accent-purple)",color:"var(--color-text)"},children:"history"})]}),p.jsxs("div",{ref:A,className:"overflow-auto font-[family-name:var(--font-mono)] text-[12px] leading-[22px] max-h-[70vh] bg-[var(--color-bg)] p-2",onScroll:Q=>{const J=Q.currentTarget;!(J.scrollHeight-J.scrollTop-J.clientHeight<40)&&h&&b(!1)},children:[$.map((Q,J)=>p.jsx(nB,{line:Q},J)),$.length===0&&p.jsx("div",{className:"text-center py-12 text-[var(--color-text-subtle)]",children:e("noMatches")})]})]})]})}function tB({level:e,enabled:t,onToggle:n}){const a={error:"var(--color-crashed-bg)",warn:"var(--color-stuck-bg)",info:"var(--color-secondary)",debug:"var(--color-accent-purple)"},s={error:"var(--color-crashed)",warn:"var(--color-stuck)",info:"var(--color-text)",debug:"var(--color-text)"};return p.jsx("button",{type:"button",onClick:n,"aria-pressed":t,className:["px-3 py-0.5 rounded-full font-[family-name:var(--font-mono)] text-[10px] font-bold tracking-widest cursor-pointer",t?"border-[1.5px] border-[var(--color-text)]":"text-[var(--color-text-subtle)]"].join(" "),style:t?{background:a[e],color:s[e]}:{},children:e.toUpperCase()})}function nB({line:e}){var a;const t={error:"bg-[var(--color-crashed)] text-[var(--color-text)]",warn:"bg-[var(--color-stuck)] text-[var(--color-text)]",info:"bg-[var(--color-secondary)] text-[var(--color-text)]",debug:"",trace:""},n=!!e.project;return p.jsxs("div",{className:["grid gap-2 px-2 py-0.5 rounded hover:bg-[var(--color-bg-cream)]",n?"grid-cols-[100px_90px_60px_1fr]":"grid-cols-[100px_60px_1fr]"].join(" "),children:[p.jsx("span",{className:"text-[var(--color-text-subtle)] whitespace-nowrap",children:e.ts?((a=e.ts.split("T")[1])==null?void 0:a.replace("Z",""))??e.ts:"--"}),n&&p.jsx("span",{className:"truncate text-[var(--color-text-muted)] font-bold",title:e.project,children:e.project}),p.jsx("span",{className:`text-center font-bold ${t[e.level]??""}`,style:{borderRadius:4,padding:"0 6px"},children:e.level.toUpperCase()}),p.jsx("span",{className:"truncate text-[var(--color-text)]",children:e.msg})]})}function iB(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const aB=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,rB=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,sB={};function Q0(e,t){return(sB.jsx?rB:aB).test(e)}const lB=/[ \t\n\f\r]/g;function oB(e){return typeof e=="object"?e.type==="text"?Y0(e.value):!1:Y0(e)}function Y0(e){return e.replace(lB,"")===""}class zc{constructor(t,n,a){this.normal=n,this.property=t,a&&(this.space=a)}}zc.prototype.normal={};zc.prototype.property={};zc.prototype.space=void 0;function fS(e,t){const n={},a={};for(const s of e)Object.assign(n,s.property),Object.assign(a,s.normal);return new zc(n,a,t)}function Km(e){return e.toLowerCase()}class Qn{constructor(t,n){this.attribute=n,this.property=t}}Qn.prototype.attribute="";Qn.prototype.booleanish=!1;Qn.prototype.boolean=!1;Qn.prototype.commaOrSpaceSeparated=!1;Qn.prototype.commaSeparated=!1;Qn.prototype.defined=!1;Qn.prototype.mustUseProperty=!1;Qn.prototype.number=!1;Qn.prototype.overloadedBoolean=!1;Qn.prototype.property="";Qn.prototype.spaceSeparated=!1;Qn.prototype.space=void 0;let cB=0;const Ge=vs(),nn=vs(),Gm=vs(),ge=vs(),Ct=vs(),kl=vs(),ri=vs();function vs(){return 2**++cB}const Vm=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ge,booleanish:nn,commaOrSpaceSeparated:ri,commaSeparated:kl,number:ge,overloadedBoolean:Gm,spaceSeparated:Ct},Symbol.toStringTag,{value:"Module"})),Vp=Object.keys(Vm);class Fg extends Qn{constructor(t,n,a,s){let l=-1;if(super(t,n),W0(this,"space",s),typeof a=="number")for(;++l<Vp.length;){const c=Vp[l];W0(this,Vp[l],(a&Vm[c])===Vm[c])}}}Fg.prototype.defined=!0;function W0(e,t,n){n&&(e[t]=n)}function Jl(e){const t={},n={};for(const[a,s]of Object.entries(e.properties)){const l=new Fg(a,e.transform(e.attributes||{},a),s,e.space);e.mustUseProperty&&e.mustUseProperty.includes(a)&&(l.mustUseProperty=!0),t[a]=l,n[Km(a)]=a,n[Km(l.attribute)]=a}return new zc(t,n,e.space)}const hS=Jl({properties:{ariaActiveDescendant:null,ariaAtomic:nn,ariaAutoComplete:null,ariaBusy:nn,ariaChecked:nn,ariaColCount:ge,ariaColIndex:ge,ariaColSpan:ge,ariaControls:Ct,ariaCurrent:null,ariaDescribedBy:Ct,ariaDetails:null,ariaDisabled:nn,ariaDropEffect:Ct,ariaErrorMessage:null,ariaExpanded:nn,ariaFlowTo:Ct,ariaGrabbed:nn,ariaHasPopup:null,ariaHidden:nn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Ct,ariaLevel:ge,ariaLive:null,ariaModal:nn,ariaMultiLine:nn,ariaMultiSelectable:nn,ariaOrientation:null,ariaOwns:Ct,ariaPlaceholder:null,ariaPosInSet:ge,ariaPressed:nn,ariaReadOnly:nn,ariaRelevant:null,ariaRequired:nn,ariaRoleDescription:Ct,ariaRowCount:ge,ariaRowIndex:ge,ariaRowSpan:ge,ariaSelected:nn,ariaSetSize:ge,ariaSort:null,ariaValueMax:ge,ariaValueMin:ge,ariaValueNow:ge,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function pS(e,t){return t in e?e[t]:t}function mS(e,t){return pS(e,t.toLowerCase())}const uB=Jl({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:kl,acceptCharset:Ct,accessKey:Ct,action:null,allow:null,allowFullScreen:Ge,allowPaymentRequest:Ge,allowUserMedia:Ge,alt:null,as:null,async:Ge,autoCapitalize:null,autoComplete:Ct,autoFocus:Ge,autoPlay:Ge,blocking:Ct,capture:null,charSet:null,checked:Ge,cite:null,className:Ct,cols:ge,colSpan:null,content:null,contentEditable:nn,controls:Ge,controlsList:Ct,coords:ge|kl,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ge,defer:Ge,dir:null,dirName:null,disabled:Ge,download:Gm,draggable:nn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ge,formTarget:null,headers:Ct,height:ge,hidden:Gm,high:ge,href:null,hrefLang:null,htmlFor:Ct,httpEquiv:Ct,id:null,imageSizes:null,imageSrcSet:null,inert:Ge,inputMode:null,integrity:null,is:null,isMap:Ge,itemId:null,itemProp:Ct,itemRef:Ct,itemScope:Ge,itemType:Ct,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ge,low:ge,manifest:null,max:null,maxLength:ge,media:null,method:null,min:null,minLength:ge,multiple:Ge,muted:Ge,name:null,nonce:null,noModule:Ge,noValidate:Ge,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ge,optimum:ge,pattern:null,ping:Ct,placeholder:null,playsInline:Ge,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ge,referrerPolicy:null,rel:Ct,required:Ge,reversed:Ge,rows:ge,rowSpan:ge,sandbox:Ct,scope:null,scoped:Ge,seamless:Ge,selected:Ge,shadowRootClonable:Ge,shadowRootDelegatesFocus:Ge,shadowRootMode:null,shape:null,size:ge,sizes:null,slot:null,span:ge,spellCheck:nn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ge,step:null,style:null,tabIndex:ge,target:null,title:null,translate:null,type:null,typeMustMatch:Ge,useMap:null,value:nn,width:ge,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Ct,axis:null,background:null,bgColor:null,border:ge,borderColor:null,bottomMargin:ge,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ge,declare:Ge,event:null,face:null,frame:null,frameBorder:null,hSpace:ge,leftMargin:ge,link:null,longDesc:null,lowSrc:null,marginHeight:ge,marginWidth:ge,noResize:Ge,noHref:Ge,noShade:Ge,noWrap:Ge,object:null,profile:null,prompt:null,rev:null,rightMargin:ge,rules:null,scheme:null,scrolling:nn,standby:null,summary:null,text:null,topMargin:ge,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ge,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Ge,disableRemotePlayback:Ge,prefix:null,property:null,results:ge,security:null,unselectable:null},space:"html",transform:mS}),dB=Jl({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:ri,accentHeight:ge,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ge,amplitude:ge,arabicForm:null,ascent:ge,attributeName:null,attributeType:null,azimuth:ge,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ge,by:null,calcMode:null,capHeight:ge,className:Ct,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:ge,diffuseConstant:ge,direction:null,display:null,dur:null,divisor:ge,dominantBaseline:null,download:Ge,dx:null,dy:null,edgeMode:null,editable:null,elevation:ge,enableBackground:null,end:null,event:null,exponent:ge,externalResourcesRequired:null,fill:null,fillOpacity:ge,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:kl,g2:kl,glyphName:kl,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ge,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ge,horizOriginX:ge,horizOriginY:ge,id:null,ideographic:ge,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ge,k:ge,k1:ge,k2:ge,k3:ge,k4:ge,kernelMatrix:ri,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ge,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:ge,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:ge,overlineThickness:ge,paintOrder:null,panose1:null,path:null,pathLength:ge,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Ct,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ge,pointsAtY:ge,pointsAtZ:ge,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ri,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ri,rev:ri,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ri,requiredFeatures:ri,requiredFonts:ri,requiredFormats:ri,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:ge,specularExponent:ge,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ge,strikethroughThickness:ge,string:null,stroke:null,strokeDashArray:ri,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ge,strokeOpacity:ge,strokeWidth:null,style:null,surfaceScale:ge,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ri,tabIndex:ge,tableValues:null,target:null,targetX:ge,targetY:ge,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ri,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ge,underlineThickness:ge,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ge,values:null,vAlphabetic:ge,vMathematical:ge,vectorEffect:null,vHanging:ge,vIdeographic:ge,version:null,vertAdvY:ge,vertOriginX:ge,vertOriginY:ge,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ge,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:pS}),gS=Jl({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),bS=Jl({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:mS}),yS=Jl({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),fB={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},hB=/[A-Z]/g,X0=/-[a-z]/g,pB=/^data[-\w.:]+$/i;function mB(e,t){const n=Km(t);let a=t,s=Qn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&pB.test(t)){if(t.charAt(4)==="-"){const l=t.slice(5).replace(X0,bB);a="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=t.slice(4);if(!X0.test(l)){let c=l.replace(hB,gB);c.charAt(0)!=="-"&&(c="-"+c),t="data"+c}}s=Fg}return new s(a,t)}function gB(e){return"-"+e.toLowerCase()}function bB(e){return e.charAt(1).toUpperCase()}const yB=fS([hS,uB,gS,bS,yS],"html"),$g=fS([hS,dB,gS,bS,yS],"svg");function xB(e){return e.join(" ").trim()}var hl={},Qp,Z0;function vB(){if(Z0)return Qp;Z0=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,l=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,d=/^\s+|\s+$/g,f=`
|
|
526
|
-
`,h="/",b="*",m="",x="comment",v="declaration";function E(k,N){if(typeof k!="string")throw new TypeError("First argument must be a string");if(!k)return[];N=N||{};var C=1,A=1;function T(le){var ee=le.match(t);ee&&(C+=ee.length);var H=le.lastIndexOf(f);A=~H?le.length-H:A+le.length}function L(){var le={line:C,column:A};return function(ee){return ee.position=new M(le),te(),ee}}function M(le){this.start=le,this.end={line:C,column:A},this.source=N.source}M.prototype.content=k;function U(le){var ee=new Error(N.source+":"+C+":"+A+": "+le);if(ee.reason=le,ee.filename=N.source,ee.line=C,ee.column=A,ee.source=k,!N.silent)throw ee}function $(le){var ee=le.exec(k);if(ee){var H=ee[0];return T(H),k=k.slice(H.length),ee}}function te(){$(n)}function P(le){var ee;for(le=le||[];ee=Q();)ee!==!1&&le.push(ee);return le}function Q(){var le=L();if(!(h!=k.charAt(0)||b!=k.charAt(1))){for(var ee=2;m!=k.charAt(ee)&&(b!=k.charAt(ee)||h!=k.charAt(ee+1));)++ee;if(ee+=2,m===k.charAt(ee-1))return U("End of comment missing");var H=k.slice(2,ee-2);return A+=2,T(H),k=k.slice(ee),A+=2,le({type:x,comment:H})}}function J(){var le=L(),ee=$(a);if(ee){if(Q(),!$(s))return U("property missing ':'");var H=$(l),oe=le({type:v,property:w(ee[0].replace(e,m)),value:H?w(H[0].replace(e,m)):m});return $(c),oe}}function me(){var le=[];P(le);for(var ee;ee=J();)ee!==!1&&(le.push(ee),P(le));return le}return te(),me()}function w(k){return k?k.replace(d,m):m}return Qp=E,Qp}var J0;function wB(){if(J0)return hl;J0=1;var e=hl&&hl.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(hl,"__esModule",{value:!0}),hl.default=n;const t=e(vB());function n(a,s){let l=null;if(!a||typeof a!="string")return l;const c=(0,t.default)(a),d=typeof s=="function";return c.forEach(f=>{if(f.type!=="declaration")return;const{property:h,value:b}=f;d?s(h,b,f):b&&(l=l||{},l[h]=b)}),l}return hl}var tc={},e1;function EB(){if(e1)return tc;e1=1,Object.defineProperty(tc,"__esModule",{value:!0}),tc.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,a=/^-(webkit|moz|ms|o|khtml)-/,s=/^-(ms)-/,l=function(h){return!h||n.test(h)||e.test(h)},c=function(h,b){return b.toUpperCase()},d=function(h,b){return"".concat(b,"-")},f=function(h,b){return b===void 0&&(b={}),l(h)?h:(h=h.toLowerCase(),b.reactCompat?h=h.replace(s,d):h=h.replace(a,d),h.replace(t,c))};return tc.camelCase=f,tc}var nc,t1;function SB(){if(t1)return nc;t1=1;var e=nc&&nc.__importDefault||function(s){return s&&s.__esModule?s:{default:s}},t=e(wB()),n=EB();function a(s,l){var c={};return!s||typeof s!="string"||(0,t.default)(s,function(d,f){d&&f&&(c[(0,n.camelCase)(d,l)]=f)}),c}return a.default=a,nc=a,nc}var kB=SB();const NB=ag(kB),xS=vS("end"),Hg=vS("start");function vS(e){return t;function t(n){const a=n&&n.position&&n.position[e]||{};if(typeof a.line=="number"&&a.line>0&&typeof a.column=="number"&&a.column>0)return{line:a.line,column:a.column,offset:typeof a.offset=="number"&&a.offset>-1?a.offset:void 0}}}function _B(e){const t=Hg(e),n=xS(e);if(t&&n)return{start:t,end:n}}function uc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?n1(e.position):"start"in e||"end"in e?n1(e):"line"in e||"column"in e?Qm(e):""}function Qm(e){return i1(e&&e.line)+":"+i1(e&&e.column)}function n1(e){return Qm(e&&e.start)+"-"+Qm(e&&e.end)}function i1(e){return e&&typeof e=="number"?e:1}class En extends Error{constructor(t,n,a){super(),typeof n=="string"&&(a=n,n=void 0);let s="",l={},c=!1;if(n&&("line"in n&&"column"in n?l={place:n}:"start"in n&&"end"in n?l={place:n}:"type"in n?l={ancestors:[n],place:n.position}:l={...n}),typeof t=="string"?s=t:!l.cause&&t&&(c=!0,s=t.message,l.cause=t),!l.ruleId&&!l.source&&typeof a=="string"){const f=a.indexOf(":");f===-1?l.ruleId=a:(l.source=a.slice(0,f),l.ruleId=a.slice(f+1))}if(!l.place&&l.ancestors&&l.ancestors){const f=l.ancestors[l.ancestors.length-1];f&&(l.place=f.position)}const d=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=d?d.column:void 0,this.fatal=void 0,this.file="",this.message=s,this.line=d?d.line:void 0,this.name=uc(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=c&&l.cause&&typeof l.cause.stack=="string"?l.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}En.prototype.file="";En.prototype.name="";En.prototype.reason="";En.prototype.message="";En.prototype.stack="";En.prototype.column=void 0;En.prototype.line=void 0;En.prototype.ancestors=void 0;En.prototype.cause=void 0;En.prototype.fatal=void 0;En.prototype.place=void 0;En.prototype.ruleId=void 0;En.prototype.source=void 0;const qg={}.hasOwnProperty,CB=new Map,AB=/[A-Z]/g,TB=new Set(["table","tbody","thead","tfoot","tr"]),OB=new Set(["td","th"]),wS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function RB(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let a;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");a=UB(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");a=BB(n,t.jsx,t.jsxs)}const s={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:a,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?$g:yB,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},l=ES(s,e,void 0);return l&&typeof l!="string"?l:s.create(e,s.Fragment,{children:l||void 0},void 0)}function ES(e,t,n){if(t.type==="element")return jB(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return MB(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return LB(e,t,n);if(t.type==="mdxjsEsm")return DB(e,t);if(t.type==="root")return IB(e,t,n);if(t.type==="text")return zB(e,t)}function jB(e,t,n){const a=e.schema;let s=a;t.tagName.toLowerCase()==="svg"&&a.space==="html"&&(s=$g,e.schema=s),e.ancestors.push(t);const l=kS(e,t.tagName,!1),c=PB(e,t);let d=Gg(e,t);return TB.has(t.tagName)&&(d=d.filter(function(f){return typeof f=="string"?!oB(f):!0})),SS(e,c,l,t),Kg(c,d),e.ancestors.pop(),e.schema=a,e.create(t,l,c,n)}function MB(e,t){if(t.data&&t.data.estree&&e.evaluater){const a=t.data.estree.body[0];return a.type,e.evaluater.evaluateExpression(a.expression)}Sc(e,t.position)}function DB(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Sc(e,t.position)}function LB(e,t,n){const a=e.schema;let s=a;t.name==="svg"&&a.space==="html"&&(s=$g,e.schema=s),e.ancestors.push(t);const l=t.name===null?e.Fragment:kS(e,t.name,!0),c=FB(e,t),d=Gg(e,t);return SS(e,c,l,t),Kg(c,d),e.ancestors.pop(),e.schema=a,e.create(t,l,c,n)}function IB(e,t,n){const a={};return Kg(a,Gg(e,t)),e.create(t,e.Fragment,a,n)}function zB(e,t){return t.value}function SS(e,t,n,a){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=a)}function Kg(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function BB(e,t,n){return a;function a(s,l,c,d){const h=Array.isArray(c.children)?n:t;return d?h(l,c,d):h(l,c)}}function UB(e,t){return n;function n(a,s,l,c){const d=Array.isArray(l.children),f=Hg(a);return t(s,l,c,d,{columnNumber:f?f.column-1:void 0,fileName:e,lineNumber:f?f.line:void 0},void 0)}}function PB(e,t){const n={};let a,s;for(s in t.properties)if(s!=="children"&&qg.call(t.properties,s)){const l=$B(e,s,t.properties[s]);if(l){const[c,d]=l;e.tableCellAlignToStyle&&c==="align"&&typeof d=="string"&&OB.has(t.tagName)?a=d:n[c]=d}}if(a){const l=n.style||(n.style={});l[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=a}return n}function FB(e,t){const n={};for(const a of t.attributes)if(a.type==="mdxJsxExpressionAttribute")if(a.data&&a.data.estree&&e.evaluater){const l=a.data.estree.body[0];l.type;const c=l.expression;c.type;const d=c.properties[0];d.type,Object.assign(n,e.evaluater.evaluateExpression(d.argument))}else Sc(e,t.position);else{const s=a.name;let l;if(a.value&&typeof a.value=="object")if(a.value.data&&a.value.data.estree&&e.evaluater){const d=a.value.data.estree.body[0];d.type,l=e.evaluater.evaluateExpression(d.expression)}else Sc(e,t.position);else l=a.value===null?!0:a.value;n[s]=l}return n}function Gg(e,t){const n=[];let a=-1;const s=e.passKeys?new Map:CB;for(;++a<t.children.length;){const l=t.children[a];let c;if(e.passKeys){const f=l.type==="element"?l.tagName:l.type==="mdxJsxFlowElement"||l.type==="mdxJsxTextElement"?l.name:void 0;if(f){const h=s.get(f)||0;c=f+"-"+h,s.set(f,h+1)}}const d=ES(e,l,c);d!==void 0&&n.push(d)}return n}function $B(e,t,n){const a=mB(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=a.commaSeparated?iB(n):xB(n)),a.property==="style"){let s=typeof n=="object"?n:HB(e,String(n));return e.stylePropertyNameCase==="css"&&(s=qB(s)),["style",s]}return[e.elementAttributeNameCase==="react"&&a.space?fB[a.property]||a.property:a.attribute,n]}}function HB(e,t){try{return NB(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const a=n,s=new En("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:a,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw s.file=e.filePath||void 0,s.url=wS+"#cannot-parse-style-attribute",s}}function kS(e,t,n){let a;if(!n)a={type:"Literal",value:t};else if(t.includes(".")){const s=t.split(".");let l=-1,c;for(;++l<s.length;){const d=Q0(s[l])?{type:"Identifier",name:s[l]}:{type:"Literal",value:s[l]};c=c?{type:"MemberExpression",object:c,property:d,computed:!!(l&&d.type==="Literal"),optional:!1}:d}a=c}else a=Q0(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(a.type==="Literal"){const s=a.value;return qg.call(e.components,s)?e.components[s]:s}if(e.evaluater)return e.evaluater.evaluateExpression(a);Sc(e)}function Sc(e,t){const n=new En("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=wS+"#cannot-handle-mdx-estrees-without-createevaluater",n}function qB(e){const t={};let n;for(n in e)qg.call(e,n)&&(t[KB(n)]=e[n]);return t}function KB(e){let t=e.replace(AB,GB);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function GB(e){return"-"+e.toLowerCase()}const Yp={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},VB={};function Vg(e,t){const n=VB,a=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,s=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return NS(e,a,s)}function NS(e,t,n){if(QB(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return a1(e.children,t,n)}return Array.isArray(e)?a1(e,t,n):""}function a1(e,t,n){const a=[];let s=-1;for(;++s<e.length;)a[s]=NS(e[s],t,n);return a.join("")}function QB(e){return!!(e&&typeof e=="object")}const r1=document.createElement("i");function Qg(e){const t="&"+e+";";r1.innerHTML=t;const n=r1.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function oi(e,t,n,a){const s=e.length;let l=0,c;if(t<0?t=-t>s?0:s+t:t=t>s?s:t,n=n>0?n:0,a.length<1e4)c=Array.from(a),c.unshift(t,n),e.splice(...c);else for(n&&e.splice(t,n);l<a.length;)c=a.slice(l,l+1e4),c.unshift(t,0),e.splice(...c),l+=1e4,t+=1e4}function ki(e,t){return e.length>0?(oi(e,e.length,0,t),e):t}const s1={}.hasOwnProperty;function _S(e){const t={};let n=-1;for(;++n<e.length;)YB(t,e[n]);return t}function YB(e,t){let n;for(n in t){const s=(s1.call(e,n)?e[n]:void 0)||(e[n]={}),l=t[n];let c;if(l)for(c in l){s1.call(s,c)||(s[c]=[]);const d=l[c];WB(s[c],Array.isArray(d)?d:d?[d]:[])}}}function WB(e,t){let n=-1;const a=[];for(;++n<t.length;)(t[n].add==="after"?e:a).push(t[n]);oi(e,0,0,a)}function CS(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Bi(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Rn=Or(/[A-Za-z]/),vn=Or(/[\dA-Za-z]/),XB=Or(/[#-'*+\--9=?A-Z^-~]/);function Hd(e){return e!==null&&(e<32||e===127)}const Ym=Or(/\d/),ZB=Or(/[\dA-Fa-f]/),JB=Or(/[!-/:-@[-`{-~]/);function je(e){return e!==null&&e<-2}function kt(e){return e!==null&&(e<0||e===32)}function Xe(e){return e===-2||e===-1||e===32}const yf=Or(new RegExp("\\p{P}|\\p{S}","u")),gs=Or(/\s/);function Or(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function eo(e){const t=[];let n=-1,a=0,s=0;for(;++n<e.length;){const l=e.charCodeAt(n);let c="";if(l===37&&vn(e.charCodeAt(n+1))&&vn(e.charCodeAt(n+2)))s=2;else if(l<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(l))||(c=String.fromCharCode(l));else if(l>55295&&l<57344){const d=e.charCodeAt(n+1);l<56320&&d>56319&&d<57344?(c=String.fromCharCode(l,d),s=1):c="�"}else c=String.fromCharCode(l);c&&(t.push(e.slice(a,n),encodeURIComponent(c)),a=n+s+1,c=""),s&&(n+=s,s=0)}return t.join("")+e.slice(a)}function at(e,t,n,a){const s=a?a-1:Number.POSITIVE_INFINITY;let l=0;return c;function c(f){return Xe(f)?(e.enter(n),d(f)):t(f)}function d(f){return Xe(f)&&l++<s?(e.consume(f),d):(e.exit(n),t(f))}}const e4={tokenize:t4};function t4(e){const t=e.attempt(this.parser.constructs.contentInitial,a,s);let n;return t;function a(d){if(d===null){e.consume(d);return}return e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),at(e,t,"linePrefix")}function s(d){return e.enter("paragraph"),l(d)}function l(d){const f=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=f),n=f,c(d)}function c(d){if(d===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(d);return}return je(d)?(e.consume(d),e.exit("chunkText"),l):(e.consume(d),c)}}const n4={tokenize:i4},l1={tokenize:a4};function i4(e){const t=this,n=[];let a=0,s,l,c;return d;function d(A){if(a<n.length){const T=n[a];return t.containerState=T[1],e.attempt(T[0].continuation,f,h)(A)}return h(A)}function f(A){if(a++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,s&&C();const T=t.events.length;let L=T,M;for(;L--;)if(t.events[L][0]==="exit"&&t.events[L][1].type==="chunkFlow"){M=t.events[L][1].end;break}N(a);let U=T;for(;U<t.events.length;)t.events[U][1].end={...M},U++;return oi(t.events,L+1,0,t.events.slice(T)),t.events.length=U,h(A)}return d(A)}function h(A){if(a===n.length){if(!s)return x(A);if(s.currentConstruct&&s.currentConstruct.concrete)return E(A);t.interrupt=!!(s.currentConstruct&&!s._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(l1,b,m)(A)}function b(A){return s&&C(),N(a),x(A)}function m(A){return t.parser.lazy[t.now().line]=a!==n.length,c=t.now().offset,E(A)}function x(A){return t.containerState={},e.attempt(l1,v,E)(A)}function v(A){return a++,n.push([t.currentConstruct,t.containerState]),x(A)}function E(A){if(A===null){s&&C(),N(0),e.consume(A);return}return s=s||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:s,contentType:"flow",previous:l}),w(A)}function w(A){if(A===null){k(e.exit("chunkFlow"),!0),N(0),e.consume(A);return}return je(A)?(e.consume(A),k(e.exit("chunkFlow")),a=0,t.interrupt=void 0,d):(e.consume(A),w)}function k(A,T){const L=t.sliceStream(A);if(T&&L.push(null),A.previous=l,l&&(l.next=A),l=A,s.defineSkip(A.start),s.write(L),t.parser.lazy[A.start.line]){let M=s.events.length;for(;M--;)if(s.events[M][1].start.offset<c&&(!s.events[M][1].end||s.events[M][1].end.offset>c))return;const U=t.events.length;let $=U,te,P;for(;$--;)if(t.events[$][0]==="exit"&&t.events[$][1].type==="chunkFlow"){if(te){P=t.events[$][1].end;break}te=!0}for(N(a),M=U;M<t.events.length;)t.events[M][1].end={...P},M++;oi(t.events,$+1,0,t.events.slice(U)),t.events.length=M}}function N(A){let T=n.length;for(;T-- >A;){const L=n[T];t.containerState=L[1],L[0].exit.call(t,e)}n.length=A}function C(){s.write([null]),l=void 0,s=void 0,t.containerState._closeFlow=void 0}}function a4(e,t,n){return at(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Pl(e){if(e===null||kt(e)||gs(e))return 1;if(yf(e))return 2}function xf(e,t,n){const a=[];let s=-1;for(;++s<e.length;){const l=e[s].resolveAll;l&&!a.includes(l)&&(t=l(t,n),a.push(l))}return t}const Wm={name:"attention",resolveAll:r4,tokenize:s4};function r4(e,t){let n=-1,a,s,l,c,d,f,h,b;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(a=n;a--;)if(e[a][0]==="exit"&&e[a][1].type==="attentionSequence"&&e[a][1]._open&&t.sliceSerialize(e[a][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[a][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[a][1].end.offset-e[a][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;f=e[a][1].end.offset-e[a][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const m={...e[a][1].end},x={...e[n][1].start};o1(m,-f),o1(x,f),c={type:f>1?"strongSequence":"emphasisSequence",start:m,end:{...e[a][1].end}},d={type:f>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:x},l={type:f>1?"strongText":"emphasisText",start:{...e[a][1].end},end:{...e[n][1].start}},s={type:f>1?"strong":"emphasis",start:{...c.start},end:{...d.end}},e[a][1].end={...c.start},e[n][1].start={...d.end},h=[],e[a][1].end.offset-e[a][1].start.offset&&(h=ki(h,[["enter",e[a][1],t],["exit",e[a][1],t]])),h=ki(h,[["enter",s,t],["enter",c,t],["exit",c,t],["enter",l,t]]),h=ki(h,xf(t.parser.constructs.insideSpan.null,e.slice(a+1,n),t)),h=ki(h,[["exit",l,t],["enter",d,t],["exit",d,t],["exit",s,t]]),e[n][1].end.offset-e[n][1].start.offset?(b=2,h=ki(h,[["enter",e[n][1],t],["exit",e[n][1],t]])):b=0,oi(e,a-1,n-a+3,h),n=a+h.length-b-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function s4(e,t){const n=this.parser.constructs.attentionMarkers.null,a=this.previous,s=Pl(a);let l;return c;function c(f){return l=f,e.enter("attentionSequence"),d(f)}function d(f){if(f===l)return e.consume(f),d;const h=e.exit("attentionSequence"),b=Pl(f),m=!b||b===2&&s||n.includes(f),x=!s||s===2&&b||n.includes(a);return h._open=!!(l===42?m:m&&(s||!x)),h._close=!!(l===42?x:x&&(b||!m)),t(f)}}function o1(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const l4={name:"autolink",tokenize:o4};function o4(e,t,n){let a=0;return s;function s(v){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(v),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l}function l(v){return Rn(v)?(e.consume(v),c):v===64?n(v):h(v)}function c(v){return v===43||v===45||v===46||vn(v)?(a=1,d(v)):h(v)}function d(v){return v===58?(e.consume(v),a=0,f):(v===43||v===45||v===46||vn(v))&&a++<32?(e.consume(v),d):(a=0,h(v))}function f(v){return v===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(v),e.exit("autolinkMarker"),e.exit("autolink"),t):v===null||v===32||v===60||Hd(v)?n(v):(e.consume(v),f)}function h(v){return v===64?(e.consume(v),b):XB(v)?(e.consume(v),h):n(v)}function b(v){return vn(v)?m(v):n(v)}function m(v){return v===46?(e.consume(v),a=0,b):v===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(v),e.exit("autolinkMarker"),e.exit("autolink"),t):x(v)}function x(v){if((v===45||vn(v))&&a++<63){const E=v===45?x:m;return e.consume(v),E}return n(v)}}const Bc={partial:!0,tokenize:c4};function c4(e,t,n){return a;function a(l){return Xe(l)?at(e,s,"linePrefix")(l):s(l)}function s(l){return l===null||je(l)?t(l):n(l)}}const AS={continuation:{tokenize:d4},exit:f4,name:"blockQuote",tokenize:u4};function u4(e,t,n){const a=this;return s;function s(c){if(c===62){const d=a.containerState;return d.open||(e.enter("blockQuote",{_container:!0}),d.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(c),e.exit("blockQuoteMarker"),l}return n(c)}function l(c){return Xe(c)?(e.enter("blockQuotePrefixWhitespace"),e.consume(c),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(c))}}function d4(e,t,n){const a=this;return s;function s(c){return Xe(c)?at(e,l,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c):l(c)}function l(c){return e.attempt(AS,t,n)(c)}}function f4(e){e.exit("blockQuote")}const TS={name:"characterEscape",tokenize:h4};function h4(e,t,n){return a;function a(l){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(l),e.exit("escapeMarker"),s}function s(l){return JB(l)?(e.enter("characterEscapeValue"),e.consume(l),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(l)}}const OS={name:"characterReference",tokenize:p4};function p4(e,t,n){const a=this;let s=0,l,c;return d;function d(m){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),f}function f(m){return m===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(m),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),l=31,c=vn,b(m))}function h(m){return m===88||m===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(m),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),l=6,c=ZB,b):(e.enter("characterReferenceValue"),l=7,c=Ym,b(m))}function b(m){if(m===59&&s){const x=e.exit("characterReferenceValue");return c===vn&&!Qg(a.sliceSerialize(x))?n(m):(e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return c(m)&&s++<l?(e.consume(m),b):n(m)}}const c1={partial:!0,tokenize:g4},u1={concrete:!0,name:"codeFenced",tokenize:m4};function m4(e,t,n){const a=this,s={partial:!0,tokenize:L};let l=0,c=0,d;return f;function f(M){return h(M)}function h(M){const U=a.events[a.events.length-1];return l=U&&U[1].type==="linePrefix"?U[2].sliceSerialize(U[1],!0).length:0,d=M,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),b(M)}function b(M){return M===d?(c++,e.consume(M),b):c<3?n(M):(e.exit("codeFencedFenceSequence"),Xe(M)?at(e,m,"whitespace")(M):m(M))}function m(M){return M===null||je(M)?(e.exit("codeFencedFence"),a.interrupt?t(M):e.check(c1,w,T)(M)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),x(M))}function x(M){return M===null||je(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),m(M)):Xe(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),at(e,v,"whitespace")(M)):M===96&&M===d?n(M):(e.consume(M),x)}function v(M){return M===null||je(M)?m(M):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),E(M))}function E(M){return M===null||je(M)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),m(M)):M===96&&M===d?n(M):(e.consume(M),E)}function w(M){return e.attempt(s,T,k)(M)}function k(M){return e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),N}function N(M){return l>0&&Xe(M)?at(e,C,"linePrefix",l+1)(M):C(M)}function C(M){return M===null||je(M)?e.check(c1,w,T)(M):(e.enter("codeFlowValue"),A(M))}function A(M){return M===null||je(M)?(e.exit("codeFlowValue"),C(M)):(e.consume(M),A)}function T(M){return e.exit("codeFenced"),t(M)}function L(M,U,$){let te=0;return P;function P(ee){return M.enter("lineEnding"),M.consume(ee),M.exit("lineEnding"),Q}function Q(ee){return M.enter("codeFencedFence"),Xe(ee)?at(M,J,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ee):J(ee)}function J(ee){return ee===d?(M.enter("codeFencedFenceSequence"),me(ee)):$(ee)}function me(ee){return ee===d?(te++,M.consume(ee),me):te>=c?(M.exit("codeFencedFenceSequence"),Xe(ee)?at(M,le,"whitespace")(ee):le(ee)):$(ee)}function le(ee){return ee===null||je(ee)?(M.exit("codeFencedFence"),U(ee)):$(ee)}}}function g4(e,t,n){const a=this;return s;function s(c){return c===null?n(c):(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),l)}function l(c){return a.parser.lazy[a.now().line]?n(c):t(c)}}const Wp={name:"codeIndented",tokenize:y4},b4={partial:!0,tokenize:x4};function y4(e,t,n){const a=this;return s;function s(h){return e.enter("codeIndented"),at(e,l,"linePrefix",5)(h)}function l(h){const b=a.events[a.events.length-1];return b&&b[1].type==="linePrefix"&&b[2].sliceSerialize(b[1],!0).length>=4?c(h):n(h)}function c(h){return h===null?f(h):je(h)?e.attempt(b4,c,f)(h):(e.enter("codeFlowValue"),d(h))}function d(h){return h===null||je(h)?(e.exit("codeFlowValue"),c(h)):(e.consume(h),d)}function f(h){return e.exit("codeIndented"),t(h)}}function x4(e,t,n){const a=this;return s;function s(c){return a.parser.lazy[a.now().line]?n(c):je(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),s):at(e,l,"linePrefix",5)(c)}function l(c){const d=a.events[a.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(c):je(c)?s(c):n(c)}}const v4={name:"codeText",previous:E4,resolve:w4,tokenize:S4};function w4(e){let t=e.length-4,n=3,a,s;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a<t;)if(e[a][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(a=n-1,t++;++a<=t;)s===void 0?a!==t&&e[a][1].type!=="lineEnding"&&(s=a):(a===t||e[a][1].type==="lineEnding")&&(e[s][1].type="codeTextData",a!==s+2&&(e[s][1].end=e[a-1][1].end,e.splice(s+2,a-s-2),t-=a-s-2,a=s+2),s=void 0);return e}function E4(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function S4(e,t,n){let a=0,s,l;return c;function c(m){return e.enter("codeText"),e.enter("codeTextSequence"),d(m)}function d(m){return m===96?(e.consume(m),a++,d):(e.exit("codeTextSequence"),f(m))}function f(m){return m===null?n(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),f):m===96?(l=e.enter("codeTextSequence"),s=0,b(m)):je(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),f):(e.enter("codeTextData"),h(m))}function h(m){return m===null||m===32||m===96||je(m)?(e.exit("codeTextData"),f(m)):(e.consume(m),h)}function b(m){return m===96?(e.consume(m),s++,b):s===a?(e.exit("codeTextSequence"),e.exit("codeText"),t(m)):(l.type="codeTextData",h(m))}}class k4{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const a=n??Number.POSITIVE_INFINITY;return a<this.left.length?this.left.slice(t,a):t>this.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,n,a){const s=n||0;this.setCursor(Math.trunc(t));const l=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return a&&ic(this.left,a),l.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),ic(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),ic(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);ic(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);ic(this.left,n.reverse())}}}function ic(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function RS(e){const t={};let n=-1,a,s,l,c,d,f,h;const b=new k4(e);for(;++n<b.length;){for(;n in t;)n=t[n];if(a=b.get(n),n&&a[1].type==="chunkFlow"&&b.get(n-1)[1].type==="listItemPrefix"&&(f=a[1]._tokenizer.events,l=0,l<f.length&&f[l][1].type==="lineEndingBlank"&&(l+=2),l<f.length&&f[l][1].type==="content"))for(;++l<f.length&&f[l][1].type!=="content";)f[l][1].type==="chunkText"&&(f[l][1]._isInFirstContentOfListItem=!0,l++);if(a[0]==="enter")a[1].contentType&&(Object.assign(t,N4(b,n)),n=t[n],h=!0);else if(a[1]._container){for(l=n,s=void 0;l--;)if(c=b.get(l),c[1].type==="lineEnding"||c[1].type==="lineEndingBlank")c[0]==="enter"&&(s&&(b.get(s)[1].type="lineEndingBlank"),c[1].type="lineEnding",s=l);else if(!(c[1].type==="linePrefix"||c[1].type==="listItemIndent"))break;s&&(a[1].end={...b.get(s)[1].start},d=b.slice(s,n),d.unshift(a),b.splice(s,n-s+1,d))}}return oi(e,0,Number.POSITIVE_INFINITY,b.slice(0)),!h}function N4(e,t){const n=e.get(t)[1],a=e.get(t)[2];let s=t-1;const l=[];let c=n._tokenizer;c||(c=a.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(c._contentTypeTextTrailing=!0));const d=c.events,f=[],h={};let b,m,x=-1,v=n,E=0,w=0;const k=[w];for(;v;){for(;e.get(++s)[1]!==v;);l.push(s),v._tokenizer||(b=a.sliceStream(v),v.next||b.push(null),m&&c.defineSkip(v.start),v._isInFirstContentOfListItem&&(c._gfmTasklistFirstContentOfListItem=!0),c.write(b),v._isInFirstContentOfListItem&&(c._gfmTasklistFirstContentOfListItem=void 0)),m=v,v=v.next}for(v=n;++x<d.length;)d[x][0]==="exit"&&d[x-1][0]==="enter"&&d[x][1].type===d[x-1][1].type&&d[x][1].start.line!==d[x][1].end.line&&(w=x+1,k.push(w),v._tokenizer=void 0,v.previous=void 0,v=v.next);for(c.events=[],v?(v._tokenizer=void 0,v.previous=void 0):k.pop(),x=k.length;x--;){const N=d.slice(k[x],k[x+1]),C=l.pop();f.push([C,C+N.length-1]),e.splice(C,2,N)}for(f.reverse(),x=-1;++x<f.length;)h[E+f[x][0]]=E+f[x][1],E+=f[x][1]-f[x][0]-1;return h}const _4={resolve:A4,tokenize:T4},C4={partial:!0,tokenize:O4};function A4(e){return RS(e),e}function T4(e,t){let n;return a;function a(d){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),s(d)}function s(d){return d===null?l(d):je(d)?e.check(C4,c,l)(d):(e.consume(d),s)}function l(d){return e.exit("chunkContent"),e.exit("content"),t(d)}function c(d){return e.consume(d),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,s}}function O4(e,t,n){const a=this;return s;function s(c){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),at(e,l,"linePrefix")}function l(c){if(c===null||je(c))return n(c);const d=a.events[a.events.length-1];return!a.parser.constructs.disable.null.includes("codeIndented")&&d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(c):e.interrupt(a.parser.constructs.flow,n,t)(c)}}function jS(e,t,n,a,s,l,c,d,f){const h=f||Number.POSITIVE_INFINITY;let b=0;return m;function m(N){return N===60?(e.enter(a),e.enter(s),e.enter(l),e.consume(N),e.exit(l),x):N===null||N===32||N===41||Hd(N)?n(N):(e.enter(a),e.enter(c),e.enter(d),e.enter("chunkString",{contentType:"string"}),w(N))}function x(N){return N===62?(e.enter(l),e.consume(N),e.exit(l),e.exit(s),e.exit(a),t):(e.enter(d),e.enter("chunkString",{contentType:"string"}),v(N))}function v(N){return N===62?(e.exit("chunkString"),e.exit(d),x(N)):N===null||N===60||je(N)?n(N):(e.consume(N),N===92?E:v)}function E(N){return N===60||N===62||N===92?(e.consume(N),v):v(N)}function w(N){return!b&&(N===null||N===41||kt(N))?(e.exit("chunkString"),e.exit(d),e.exit(c),e.exit(a),t(N)):b<h&&N===40?(e.consume(N),b++,w):N===41?(e.consume(N),b--,w):N===null||N===32||N===40||Hd(N)?n(N):(e.consume(N),N===92?k:w)}function k(N){return N===40||N===41||N===92?(e.consume(N),w):w(N)}}function MS(e,t,n,a,s,l){const c=this;let d=0,f;return h;function h(v){return e.enter(a),e.enter(s),e.consume(v),e.exit(s),e.enter(l),b}function b(v){return d>999||v===null||v===91||v===93&&!f||v===94&&!d&&"_hiddenFootnoteSupport"in c.parser.constructs?n(v):v===93?(e.exit(l),e.enter(s),e.consume(v),e.exit(s),e.exit(a),t):je(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),b):(e.enter("chunkString",{contentType:"string"}),m(v))}function m(v){return v===null||v===91||v===93||je(v)||d++>999?(e.exit("chunkString"),b(v)):(e.consume(v),f||(f=!Xe(v)),v===92?x:m)}function x(v){return v===91||v===92||v===93?(e.consume(v),d++,m):m(v)}}function DS(e,t,n,a,s,l){let c;return d;function d(x){return x===34||x===39||x===40?(e.enter(a),e.enter(s),e.consume(x),e.exit(s),c=x===40?41:x,f):n(x)}function f(x){return x===c?(e.enter(s),e.consume(x),e.exit(s),e.exit(a),t):(e.enter(l),h(x))}function h(x){return x===c?(e.exit(l),f(c)):x===null?n(x):je(x)?(e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),at(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),b(x))}function b(x){return x===c||x===null||je(x)?(e.exit("chunkString"),h(x)):(e.consume(x),x===92?m:b)}function m(x){return x===c||x===92?(e.consume(x),b):b(x)}}function dc(e,t){let n;return a;function a(s){return je(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n=!0,a):Xe(s)?at(e,a,n?"linePrefix":"lineSuffix")(s):t(s)}}const R4={name:"definition",tokenize:M4},j4={partial:!0,tokenize:D4};function M4(e,t,n){const a=this;let s;return l;function l(v){return e.enter("definition"),c(v)}function c(v){return MS.call(a,e,d,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function d(v){return s=Bi(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),f):n(v)}function f(v){return kt(v)?dc(e,h)(v):h(v)}function h(v){return jS(e,b,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function b(v){return e.attempt(j4,m,m)(v)}function m(v){return Xe(v)?at(e,x,"whitespace")(v):x(v)}function x(v){return v===null||je(v)?(e.exit("definition"),a.parser.defined.push(s),t(v)):n(v)}}function D4(e,t,n){return a;function a(d){return kt(d)?dc(e,s)(d):n(d)}function s(d){return DS(e,l,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(d)}function l(d){return Xe(d)?at(e,c,"whitespace")(d):c(d)}function c(d){return d===null||je(d)?t(d):n(d)}}const L4={name:"hardBreakEscape",tokenize:I4};function I4(e,t,n){return a;function a(l){return e.enter("hardBreakEscape"),e.consume(l),s}function s(l){return je(l)?(e.exit("hardBreakEscape"),t(l)):n(l)}}const z4={name:"headingAtx",resolve:B4,tokenize:U4};function B4(e,t){let n=e.length-2,a=3,s,l;return e[a][1].type==="whitespace"&&(a+=2),n-2>a&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(a===n-1||n-4>a&&e[n-2][1].type==="whitespace")&&(n-=a+1===n?2:4),n>a&&(s={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},l={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"},oi(e,a,n-a+1,[["enter",s,t],["enter",l,t],["exit",l,t],["exit",s,t]])),e}function U4(e,t,n){let a=0;return s;function s(b){return e.enter("atxHeading"),l(b)}function l(b){return e.enter("atxHeadingSequence"),c(b)}function c(b){return b===35&&a++<6?(e.consume(b),c):b===null||kt(b)?(e.exit("atxHeadingSequence"),d(b)):n(b)}function d(b){return b===35?(e.enter("atxHeadingSequence"),f(b)):b===null||je(b)?(e.exit("atxHeading"),t(b)):Xe(b)?at(e,d,"whitespace")(b):(e.enter("atxHeadingText"),h(b))}function f(b){return b===35?(e.consume(b),f):(e.exit("atxHeadingSequence"),d(b))}function h(b){return b===null||b===35||kt(b)?(e.exit("atxHeadingText"),d(b)):(e.consume(b),h)}}const P4=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],d1=["pre","script","style","textarea"],F4={concrete:!0,name:"htmlFlow",resolveTo:q4,tokenize:K4},$4={partial:!0,tokenize:V4},H4={partial:!0,tokenize:G4};function q4(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function K4(e,t,n){const a=this;let s,l,c,d,f;return h;function h(R){return b(R)}function b(R){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(R),m}function m(R){return R===33?(e.consume(R),x):R===47?(e.consume(R),l=!0,w):R===63?(e.consume(R),s=3,a.interrupt?t:j):Rn(R)?(e.consume(R),c=String.fromCharCode(R),k):n(R)}function x(R){return R===45?(e.consume(R),s=2,v):R===91?(e.consume(R),s=5,d=0,E):Rn(R)?(e.consume(R),s=4,a.interrupt?t:j):n(R)}function v(R){return R===45?(e.consume(R),a.interrupt?t:j):n(R)}function E(R){const ye="CDATA[";return R===ye.charCodeAt(d++)?(e.consume(R),d===ye.length?a.interrupt?t:J:E):n(R)}function w(R){return Rn(R)?(e.consume(R),c=String.fromCharCode(R),k):n(R)}function k(R){if(R===null||R===47||R===62||kt(R)){const ye=R===47,X=c.toLowerCase();return!ye&&!l&&d1.includes(X)?(s=1,a.interrupt?t(R):J(R)):P4.includes(c.toLowerCase())?(s=6,ye?(e.consume(R),N):a.interrupt?t(R):J(R)):(s=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(R):l?C(R):A(R))}return R===45||vn(R)?(e.consume(R),c+=String.fromCharCode(R),k):n(R)}function N(R){return R===62?(e.consume(R),a.interrupt?t:J):n(R)}function C(R){return Xe(R)?(e.consume(R),C):P(R)}function A(R){return R===47?(e.consume(R),P):R===58||R===95||Rn(R)?(e.consume(R),T):Xe(R)?(e.consume(R),A):P(R)}function T(R){return R===45||R===46||R===58||R===95||vn(R)?(e.consume(R),T):L(R)}function L(R){return R===61?(e.consume(R),M):Xe(R)?(e.consume(R),L):A(R)}function M(R){return R===null||R===60||R===61||R===62||R===96?n(R):R===34||R===39?(e.consume(R),f=R,U):Xe(R)?(e.consume(R),M):$(R)}function U(R){return R===f?(e.consume(R),f=null,te):R===null||je(R)?n(R):(e.consume(R),U)}function $(R){return R===null||R===34||R===39||R===47||R===60||R===61||R===62||R===96||kt(R)?L(R):(e.consume(R),$)}function te(R){return R===47||R===62||Xe(R)?A(R):n(R)}function P(R){return R===62?(e.consume(R),Q):n(R)}function Q(R){return R===null||je(R)?J(R):Xe(R)?(e.consume(R),Q):n(R)}function J(R){return R===45&&s===2?(e.consume(R),H):R===60&&s===1?(e.consume(R),oe):R===62&&s===4?(e.consume(R),D):R===63&&s===3?(e.consume(R),j):R===93&&s===5?(e.consume(R),ne):je(R)&&(s===6||s===7)?(e.exit("htmlFlowData"),e.check($4,Y,me)(R)):R===null||je(R)?(e.exit("htmlFlowData"),me(R)):(e.consume(R),J)}function me(R){return e.check(H4,le,Y)(R)}function le(R){return e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),ee}function ee(R){return R===null||je(R)?me(R):(e.enter("htmlFlowData"),J(R))}function H(R){return R===45?(e.consume(R),j):J(R)}function oe(R){return R===47?(e.consume(R),c="",ce):J(R)}function ce(R){if(R===62){const ye=c.toLowerCase();return d1.includes(ye)?(e.consume(R),D):J(R)}return Rn(R)&&c.length<8?(e.consume(R),c+=String.fromCharCode(R),ce):J(R)}function ne(R){return R===93?(e.consume(R),j):J(R)}function j(R){return R===62?(e.consume(R),D):R===45&&s===2?(e.consume(R),j):J(R)}function D(R){return R===null||je(R)?(e.exit("htmlFlowData"),Y(R)):(e.consume(R),D)}function Y(R){return e.exit("htmlFlow"),t(R)}}function G4(e,t,n){const a=this;return s;function s(c){return je(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),l):n(c)}function l(c){return a.parser.lazy[a.now().line]?n(c):t(c)}}function V4(e,t,n){return a;function a(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),e.attempt(Bc,t,n)}}const Q4={name:"htmlText",tokenize:Y4};function Y4(e,t,n){const a=this;let s,l,c;return d;function d(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),f}function f(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),L):j===63?(e.consume(j),A):Rn(j)?(e.consume(j),$):n(j)}function h(j){return j===45?(e.consume(j),b):j===91?(e.consume(j),l=0,E):Rn(j)?(e.consume(j),C):n(j)}function b(j){return j===45?(e.consume(j),v):n(j)}function m(j){return j===null?n(j):j===45?(e.consume(j),x):je(j)?(c=m,oe(j)):(e.consume(j),m)}function x(j){return j===45?(e.consume(j),v):m(j)}function v(j){return j===62?H(j):j===45?x(j):m(j)}function E(j){const D="CDATA[";return j===D.charCodeAt(l++)?(e.consume(j),l===D.length?w:E):n(j)}function w(j){return j===null?n(j):j===93?(e.consume(j),k):je(j)?(c=w,oe(j)):(e.consume(j),w)}function k(j){return j===93?(e.consume(j),N):w(j)}function N(j){return j===62?H(j):j===93?(e.consume(j),N):w(j)}function C(j){return j===null||j===62?H(j):je(j)?(c=C,oe(j)):(e.consume(j),C)}function A(j){return j===null?n(j):j===63?(e.consume(j),T):je(j)?(c=A,oe(j)):(e.consume(j),A)}function T(j){return j===62?H(j):A(j)}function L(j){return Rn(j)?(e.consume(j),M):n(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):U(j)}function U(j){return je(j)?(c=U,oe(j)):Xe(j)?(e.consume(j),U):H(j)}function $(j){return j===45||vn(j)?(e.consume(j),$):j===47||j===62||kt(j)?te(j):n(j)}function te(j){return j===47?(e.consume(j),H):j===58||j===95||Rn(j)?(e.consume(j),P):je(j)?(c=te,oe(j)):Xe(j)?(e.consume(j),te):H(j)}function P(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),P):Q(j)}function Q(j){return j===61?(e.consume(j),J):je(j)?(c=Q,oe(j)):Xe(j)?(e.consume(j),Q):te(j)}function J(j){return j===null||j===60||j===61||j===62||j===96?n(j):j===34||j===39?(e.consume(j),s=j,me):je(j)?(c=J,oe(j)):Xe(j)?(e.consume(j),J):(e.consume(j),le)}function me(j){return j===s?(e.consume(j),s=void 0,ee):j===null?n(j):je(j)?(c=me,oe(j)):(e.consume(j),me)}function le(j){return j===null||j===34||j===39||j===60||j===61||j===96?n(j):j===47||j===62||kt(j)?te(j):(e.consume(j),le)}function ee(j){return j===47||j===62||kt(j)?te(j):n(j)}function H(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),t):n(j)}function oe(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),ce}function ce(j){return Xe(j)?at(e,ne,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):ne(j)}function ne(j){return e.enter("htmlTextData"),c(j)}}const Yg={name:"labelEnd",resolveAll:J4,resolveTo:eU,tokenize:tU},W4={tokenize:nU},X4={tokenize:iU},Z4={tokenize:aU};function J4(e){let t=-1;const n=[];for(;++t<e.length;){const a=e[t][1];if(n.push(e[t]),a.type==="labelImage"||a.type==="labelLink"||a.type==="labelEnd"){const s=a.type==="labelImage"?4:2;a.type="data",t+=s}}return e.length!==n.length&&oi(e,0,e.length,n),e}function eU(e,t){let n=e.length,a=0,s,l,c,d;for(;n--;)if(s=e[n][1],l){if(s.type==="link"||s.type==="labelLink"&&s._inactive)break;e[n][0]==="enter"&&s.type==="labelLink"&&(s._inactive=!0)}else if(c){if(e[n][0]==="enter"&&(s.type==="labelImage"||s.type==="labelLink")&&!s._balanced&&(l=n,s.type!=="labelLink")){a=2;break}}else s.type==="labelEnd"&&(c=n);const f={type:e[l][1].type==="labelLink"?"link":"image",start:{...e[l][1].start},end:{...e[e.length-1][1].end}},h={type:"label",start:{...e[l][1].start},end:{...e[c][1].end}},b={type:"labelText",start:{...e[l+a+2][1].end},end:{...e[c-2][1].start}};return d=[["enter",f,t],["enter",h,t]],d=ki(d,e.slice(l+1,l+a+3)),d=ki(d,[["enter",b,t]]),d=ki(d,xf(t.parser.constructs.insideSpan.null,e.slice(l+a+4,c-3),t)),d=ki(d,[["exit",b,t],e[c-2],e[c-1],["exit",h,t]]),d=ki(d,e.slice(c+1)),d=ki(d,[["exit",f,t]]),oi(e,l,e.length,d),e}function tU(e,t,n){const a=this;let s=a.events.length,l,c;for(;s--;)if((a.events[s][1].type==="labelImage"||a.events[s][1].type==="labelLink")&&!a.events[s][1]._balanced){l=a.events[s][1];break}return d;function d(x){return l?l._inactive?m(x):(c=a.parser.defined.includes(Bi(a.sliceSerialize({start:l.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(x),e.exit("labelMarker"),e.exit("labelEnd"),f):n(x)}function f(x){return x===40?e.attempt(W4,b,c?b:m)(x):x===91?e.attempt(X4,b,c?h:m)(x):c?b(x):m(x)}function h(x){return e.attempt(Z4,b,m)(x)}function b(x){return t(x)}function m(x){return l._balanced=!0,n(x)}}function nU(e,t,n){return a;function a(m){return e.enter("resource"),e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),s}function s(m){return kt(m)?dc(e,l)(m):l(m)}function l(m){return m===41?b(m):jS(e,c,d,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(m)}function c(m){return kt(m)?dc(e,f)(m):b(m)}function d(m){return n(m)}function f(m){return m===34||m===39||m===40?DS(e,h,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(m):b(m)}function h(m){return kt(m)?dc(e,b)(m):b(m)}function b(m){return m===41?(e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),e.exit("resource"),t):n(m)}}function iU(e,t,n){const a=this;return s;function s(d){return MS.call(a,e,l,c,"reference","referenceMarker","referenceString")(d)}function l(d){return a.parser.defined.includes(Bi(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(d):n(d)}function c(d){return n(d)}}function aU(e,t,n){return a;function a(l){return e.enter("reference"),e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),s}function s(l){return l===93?(e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),e.exit("reference"),t):n(l)}}const rU={name:"labelStartImage",resolveAll:Yg.resolveAll,tokenize:sU};function sU(e,t,n){const a=this;return s;function s(d){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(d),e.exit("labelImageMarker"),l}function l(d){return d===91?(e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelImage"),c):n(d)}function c(d){return d===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(d):t(d)}}const lU={name:"labelStartLink",resolveAll:Yg.resolveAll,tokenize:oU};function oU(e,t,n){const a=this;return s;function s(c){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),e.exit("labelLink"),l}function l(c){return c===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(c):t(c)}}const Xp={name:"lineEnding",tokenize:cU};function cU(e,t){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),at(e,t,"linePrefix")}}const Td={name:"thematicBreak",tokenize:uU};function uU(e,t,n){let a=0,s;return l;function l(h){return e.enter("thematicBreak"),c(h)}function c(h){return s=h,d(h)}function d(h){return h===s?(e.enter("thematicBreakSequence"),f(h)):a>=3&&(h===null||je(h))?(e.exit("thematicBreak"),t(h)):n(h)}function f(h){return h===s?(e.consume(h),a++,f):(e.exit("thematicBreakSequence"),Xe(h)?at(e,d,"whitespace")(h):d(h))}}const $n={continuation:{tokenize:pU},exit:gU,name:"list",tokenize:hU},dU={partial:!0,tokenize:bU},fU={partial:!0,tokenize:mU};function hU(e,t,n){const a=this,s=a.events[a.events.length-1];let l=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,c=0;return d;function d(v){const E=a.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(E==="listUnordered"?!a.containerState.marker||v===a.containerState.marker:Ym(v)){if(a.containerState.type||(a.containerState.type=E,e.enter(E,{_container:!0})),E==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Td,n,h)(v):h(v);if(!a.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),f(v)}return n(v)}function f(v){return Ym(v)&&++c<10?(e.consume(v),f):(!a.interrupt||c<2)&&(a.containerState.marker?v===a.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):n(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||v,e.check(Bc,a.interrupt?n:b,e.attempt(dU,x,m))}function b(v){return a.containerState.initialBlankLine=!0,l++,x(v)}function m(v){return Xe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),x):n(v)}function x(v){return a.containerState.size=l+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(v)}}function pU(e,t,n){const a=this;return a.containerState._closeFlow=void 0,e.check(Bc,s,l);function s(d){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,at(e,t,"listItemIndent",a.containerState.size+1)(d)}function l(d){return a.containerState.furtherBlankLines||!Xe(d)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,c(d)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(fU,t,c)(d))}function c(d){return a.containerState._closeFlow=!0,a.interrupt=void 0,at(e,e.attempt($n,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d)}}function mU(e,t,n){const a=this;return at(e,s,"listItemIndent",a.containerState.size+1);function s(l){const c=a.events[a.events.length-1];return c&&c[1].type==="listItemIndent"&&c[2].sliceSerialize(c[1],!0).length===a.containerState.size?t(l):n(l)}}function gU(e){e.exit(this.containerState.type)}function bU(e,t,n){const a=this;return at(e,s,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(l){const c=a.events[a.events.length-1];return!Xe(l)&&c&&c[1].type==="listItemPrefixWhitespace"?t(l):n(l)}}const f1={name:"setextUnderline",resolveTo:yU,tokenize:xU};function yU(e,t){let n=e.length,a,s,l;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){a=n;break}e[n][1].type==="paragraph"&&(s=n)}else e[n][1].type==="content"&&e.splice(n,1),!l&&e[n][1].type==="definition"&&(l=n);const c={type:"setextHeading",start:{...e[a][1].start},end:{...e[e.length-1][1].end}};return e[s][1].type="setextHeadingText",l?(e.splice(s,0,["enter",c,t]),e.splice(l+1,0,["exit",e[a][1],t]),e[a][1].end={...e[l][1].end}):e[a][1]=c,e.push(["exit",c,t]),e}function xU(e,t,n){const a=this;let s;return l;function l(h){let b=a.events.length,m;for(;b--;)if(a.events[b][1].type!=="lineEnding"&&a.events[b][1].type!=="linePrefix"&&a.events[b][1].type!=="content"){m=a.events[b][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||m)?(e.enter("setextHeadingLine"),s=h,c(h)):n(h)}function c(h){return e.enter("setextHeadingLineSequence"),d(h)}function d(h){return h===s?(e.consume(h),d):(e.exit("setextHeadingLineSequence"),Xe(h)?at(e,f,"lineSuffix")(h):f(h))}function f(h){return h===null||je(h)?(e.exit("setextHeadingLine"),t(h)):n(h)}}const vU={tokenize:wU};function wU(e){const t=this,n=e.attempt(Bc,a,e.attempt(this.parser.constructs.flowInitial,s,at(e,e.attempt(this.parser.constructs.flow,s,e.attempt(_4,s)),"linePrefix")));return n;function a(l){if(l===null){e.consume(l);return}return e.enter("lineEndingBlank"),e.consume(l),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function s(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const EU={resolveAll:IS()},SU=LS("string"),kU=LS("text");function LS(e){return{resolveAll:IS(e==="text"?NU:void 0),tokenize:t};function t(n){const a=this,s=this.parser.constructs[e],l=n.attempt(s,c,d);return c;function c(b){return h(b)?l(b):d(b)}function d(b){if(b===null){n.consume(b);return}return n.enter("data"),n.consume(b),f}function f(b){return h(b)?(n.exit("data"),l(b)):(n.consume(b),f)}function h(b){if(b===null)return!0;const m=s[b];let x=-1;if(m)for(;++x<m.length;){const v=m[x];if(!v.previous||v.previous.call(a,a.previous))return!0}return!1}}}function IS(e){return t;function t(n,a){let s=-1,l;for(;++s<=n.length;)l===void 0?n[s]&&n[s][1].type==="data"&&(l=s,s++):(!n[s]||n[s][1].type!=="data")&&(s!==l+2&&(n[l][1].end=n[s-1][1].end,n.splice(l+2,s-l-2),s=l+2),l=void 0);return e?e(n,a):n}}function NU(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const a=e[n-1][1],s=t.sliceStream(a);let l=s.length,c=-1,d=0,f;for(;l--;){const h=s[l];if(typeof h=="string"){for(c=h.length;h.charCodeAt(c-1)===32;)d++,c--;if(c)break;c=-1}else if(h===-2)f=!0,d++;else if(h!==-1){l++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(d=0),d){const h={type:n===e.length||f||d<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:l?c:a.start._bufferIndex+c,_index:a.start._index+l,line:a.end.line,column:a.end.column-d,offset:a.end.offset-d},end:{...a.end}};a.end={...h.start},a.start.offset===a.end.offset?Object.assign(a,h):(e.splice(n,0,["enter",h,t],["exit",h,t]),n+=2)}n++}return e}const _U={42:$n,43:$n,45:$n,48:$n,49:$n,50:$n,51:$n,52:$n,53:$n,54:$n,55:$n,56:$n,57:$n,62:AS},CU={91:R4},AU={[-2]:Wp,[-1]:Wp,32:Wp},TU={35:z4,42:Td,45:[f1,Td],60:F4,61:f1,95:Td,96:u1,126:u1},OU={38:OS,92:TS},RU={[-5]:Xp,[-4]:Xp,[-3]:Xp,33:rU,38:OS,42:Wm,60:[l4,Q4],91:lU,92:[L4,TS],93:Yg,95:Wm,96:v4},jU={null:[Wm,EU]},MU={null:[42,95]},DU={null:[]},LU=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:MU,contentInitial:CU,disable:DU,document:_U,flow:TU,flowInitial:AU,insideSpan:jU,string:OU,text:RU},Symbol.toStringTag,{value:"Module"}));function IU(e,t,n){let a={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const s={},l=[];let c=[],d=[];const f={attempt:U(L),check:U(M),consume:C,enter:A,exit:T,interrupt:U(M,{interrupt:!0})},h={code:null,containerState:{},defineSkip:w,events:[],now:E,parser:e,previous:null,sliceSerialize:x,sliceStream:v,write:m};let b=t.tokenize.call(h,f);return t.resolveAll&&l.push(t),h;function m(Q){return c=ki(c,Q),k(),c[c.length-1]!==null?[]:($(t,0),h.events=xf(l,h.events,h),h.events)}function x(Q,J){return BU(v(Q),J)}function v(Q){return zU(c,Q)}function E(){const{_bufferIndex:Q,_index:J,line:me,column:le,offset:ee}=a;return{_bufferIndex:Q,_index:J,line:me,column:le,offset:ee}}function w(Q){s[Q.line]=Q.column,P()}function k(){let Q;for(;a._index<c.length;){const J=c[a._index];if(typeof J=="string")for(Q=a._index,a._bufferIndex<0&&(a._bufferIndex=0);a._index===Q&&a._bufferIndex<J.length;)N(J.charCodeAt(a._bufferIndex));else N(J)}}function N(Q){b=b(Q)}function C(Q){je(Q)?(a.line++,a.column=1,a.offset+=Q===-3?2:1,P()):Q!==-1&&(a.column++,a.offset++),a._bufferIndex<0?a._index++:(a._bufferIndex++,a._bufferIndex===c[a._index].length&&(a._bufferIndex=-1,a._index++)),h.previous=Q}function A(Q,J){const me=J||{};return me.type=Q,me.start=E(),h.events.push(["enter",me,h]),d.push(me),me}function T(Q){const J=d.pop();return J.end=E(),h.events.push(["exit",J,h]),J}function L(Q,J){$(Q,J.from)}function M(Q,J){J.restore()}function U(Q,J){return me;function me(le,ee,H){let oe,ce,ne,j;return Array.isArray(le)?Y(le):"tokenize"in le?Y([le]):D(le);function D(fe){return he;function he(K){const ue=K!==null&&fe[K],Oe=K!==null&&fe.null,dt=[...Array.isArray(ue)?ue:ue?[ue]:[],...Array.isArray(Oe)?Oe:Oe?[Oe]:[]];return Y(dt)(K)}}function Y(fe){return oe=fe,ce=0,fe.length===0?H:R(fe[ce])}function R(fe){return he;function he(K){return j=te(),ne=fe,fe.partial||(h.currentConstruct=fe),fe.name&&h.parser.constructs.disable.null.includes(fe.name)?X():fe.tokenize.call(J?Object.assign(Object.create(h),J):h,f,ye,X)(K)}}function ye(fe){return Q(ne,j),ee}function X(fe){return j.restore(),++ce<oe.length?R(oe[ce]):H}}}function $(Q,J){Q.resolveAll&&!l.includes(Q)&&l.push(Q),Q.resolve&&oi(h.events,J,h.events.length-J,Q.resolve(h.events.slice(J),h)),Q.resolveTo&&(h.events=Q.resolveTo(h.events,h))}function te(){const Q=E(),J=h.previous,me=h.currentConstruct,le=h.events.length,ee=Array.from(d);return{from:le,restore:H};function H(){a=Q,h.previous=J,h.currentConstruct=me,h.events.length=le,d=ee,P()}}function P(){a.line in s&&a.column<2&&(a.column=s[a.line],a.offset+=s[a.line]-1)}}function zU(e,t){const n=t.start._index,a=t.start._bufferIndex,s=t.end._index,l=t.end._bufferIndex;let c;if(n===s)c=[e[n].slice(a,l)];else{if(c=e.slice(n,s),a>-1){const d=c[0];typeof d=="string"?c[0]=d.slice(a):c.shift()}l>0&&c.push(e[s].slice(0,l))}return c}function BU(e,t){let n=-1;const a=[];let s;for(;++n<e.length;){const l=e[n];let c;if(typeof l=="string")c=l;else switch(l){case-5:{c="\r";break}case-4:{c=`
|
|
524
|
+
`)}),p.jsx(bs,{to:`/logs?project=${encodeURIComponent(e)}&worker=${t.slot}`,className:"text-xs underline text-[var(--color-running)] mt-1 inline-block",children:a("capacity.viewFullLog")})]})]}),p.jsxs("div",{className:"px-4 py-3 border-t-2 border-[var(--color-text)] bg-[var(--color-bg-cream)] flex gap-2 justify-end flex-wrap",children:[c&&t.card&&p.jsxs("button",{type:"button",className:"nb-btn nb-btn-mint",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{if(await s({title:a("actions.restartTitle",{slot:t.slot}),body:a("actions.restartBody",{seq:t.card.seq}),confirm:a("actions.restartConfirm")})){try{await V0(e,t.slot)}catch{}try{await Fz(e,t.slot,t.card.seq),n()}catch(v){l({title:a("actions.restartFailed"),body:v instanceof Error?v.message:String(v)})}}},children:[p.jsx(rO,{size:11,strokeWidth:2.5})," ",a("actions.restart")]}),t.state!=="idle"&&p.jsxs("button",{type:"button",className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:async()=>{if(await s({title:a("actions.killTitle",{slot:t.slot}),body:a("actions.killBody"),confirm:a("actions.killConfirm"),danger:!0}))try{await V0(e,t.slot),n()}catch(v){l({title:a("actions.killFailed"),body:v instanceof Error?v.message:String(v)})}},children:[p.jsx(pO,{size:11,strokeWidth:2.5})," ",a("actions.kill")]})]})]})}function Xz(){var c;const{t:e}=Ue("workers"),t=Vn(),[n,a]=O.useState(null),s=ct({queryKey:["workers-agg"],queryFn:Bz,refetchInterval:5e3});O.useEffect(()=>{if(!s.data)return;const d=s.data.capacity.map(h=>h.project),f=[];for(const h of d){const b=new EventSource(`/stream/projects/${encodeURIComponent(h)}`),m=()=>{t.invalidateQueries({queryKey:["workers-agg"]})};b.addEventListener("worker.updated",m),b.addEventListener("worker.added",m),b.addEventListener("worker.deleted",m),b.addEventListener("card.updated",m),f.push(b)}return()=>{for(const h of f)h.close()}},[(c=s.data)==null?void 0:c.capacity.map(d=>d.project).join(","),t]);const l=O.useMemo(()=>{if(!s.data)return{projects:0,running:0,starting:0,stuck:0,crashed:0,idle:0};const d={projects:s.data.capacity.length,running:0,starting:0,stuck:0,crashed:0,idle:0};for(const f of s.data.capacity)d.running+=f.running,d.starting+=f.starting,d.stuck+=f.stuck,d.crashed+=f.crashed,d.idle+=f.idle;return d},[s.data]);return p.jsxs("div",{className:"flex flex-col gap-4 h-[calc(100vh-140px)]",children:[p.jsxs("header",{className:"flex items-center justify-between flex-wrap gap-3",children:[p.jsxs("div",{children:[p.jsxs("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:[e("title")," 👷"]}),p.jsxs("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:[e("summary",{projects:l.projects,running:l.running,starting:l.starting}),p.jsx("span",{className:"text-[var(--color-stuck)]",children:e("stuck",{count:l.stuck})})," ·"," ",p.jsx("span",{className:"text-[var(--color-crashed)]",children:e("crashed",{count:l.crashed})}),e("idle",{count:l.idle})]})]}),p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>s.refetch(),disabled:s.isFetching,type:"button","aria-label":e("refreshAria"),children:[s.isFetching?p.jsx(Bt,{size:12,strokeWidth:3,className:"animate-spin"}):p.jsx(zl,{size:12,strokeWidth:2.5}),e("refresh")]})]}),p.jsxs("div",{className:"grid grid-cols-1 xl:grid-cols-2 gap-4 flex-1 min-h-0",children:[p.jsxs("div",{className:"flex flex-col gap-4 overflow-auto pr-2",children:[s.isLoading&&p.jsx("p",{className:"text-[var(--color-text-muted)] italic",children:e("loading")}),s.isError&&p.jsx("div",{className:"nb-card bg-[var(--color-crashed-bg)]",children:p.jsx("p",{children:e("loadFailed",{error:s.error instanceof Error?s.error.message:String(s.error)})})}),s.data&&p.jsxs(p.Fragment,{children:[p.jsx(Hz,{alerts:s.data.alerts,selected:n,onSelect:(d,f)=>a({project:d,slot:f})}),p.jsx(qz,{active:s.data.active,selected:n,onSelect:(d,f)=>a({project:d,slot:f})}),p.jsx(Kz,{capacity:s.data.capacity,selected:n,onSelect:d=>a({project:d})})]})]}),p.jsx("aside",{className:"nb-card p-0 overflow-hidden flex flex-col h-full",children:n?p.jsx(Qz,{project:n.project,initialSlot:n.slot,onChange:()=>t.invalidateQueries({queryKey:["workers-agg"]})}):p.jsx("div",{className:"flex-1 flex items-center justify-center p-6 text-center",children:p.jsxs("div",{children:[p.jsx(Jd,{size:32,className:"mx-auto mb-3 text-[var(--color-text-subtle)]",strokeWidth:2}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)]",children:e("selectHint")})]})})})]})]})}function Zz(e){const t=new URLSearchParams;return e.project&&t.set("project",e.project),e.worker&&t.set("worker",e.worker),t.set("limit",String(e.limit)),e.since&&t.set("since",e.since),qt(`/api/logs?${t}`)}function Jz(e){const t=new URLSearchParams({project:e.project});return e.worker&&t.set("worker",e.worker),`/stream/logs?${t}`}const eB=["error","warn","info","debug"],tB=["error","warn","info"];function nB(){var te,P;const{t:e}=Ue("logs"),[t,n]=Pw(),a=t.get("project"),s=t.get("worker")??"",[l,c]=O.useState([]),[d,f]=O.useState(!1),[h,b]=O.useState(!0),[m,x]=O.useState(()=>new Set(tB)),[v,E]=O.useState(""),[w,k]=O.useState("live"),[N,C]=O.useState(()=>{const Q=new Date(Date.now()-36e5),J=me=>String(me).padStart(2,"0");return`${Q.getFullYear()}-${J(Q.getMonth()+1)}-${J(Q.getDate())}T${J(Q.getHours())}:${J(Q.getMinutes())}`}),A=O.useRef(null),T=!a,L=ct({queryKey:["projects"],queryFn:Ar}),{data:M,refetch:U}=ct({queryKey:["logs",a??"agg",s,w,w==="history"?N:"live"],queryFn:()=>Zz({project:a||void 0,worker:s||void 0,limit:w==="history"?2e3:500,since:w==="history"?new Date(N).toISOString():void 0}),refetchInterval:T&&w==="live"?5e3:!1});O.useEffect(()=>{M!=null&&M.data&&c(M.data)},[M]),O.useEffect(()=>{if(!a||w!=="live")return;const Q=Jz({project:a,worker:s||void 0}),J=new EventSource(Q);return J.addEventListener("log.line",me=>{if(!d)try{const le=JSON.parse(me.data);c(ee=>{const H=[...ee,le];return H.length>5e3&&H.splice(0,H.length-5e3),H})}catch{}}),()=>J.close()},[a,s,d,w]),O.useEffect(()=>{if(!h)return;const Q=A.current;Q&&(Q.scrollTop=Q.scrollHeight)},[l,h]);const $=O.useMemo(()=>{const Q=v.toLowerCase();return l.filter(J=>!(!m.has(J.level)||Q&&!J.msg.toLowerCase().includes(Q)))},[l,m,v]);return p.jsxs("div",{className:"flex flex-col gap-4 max-w-full",children:[p.jsx("header",{className:"flex items-center justify-between gap-3 flex-wrap",children:p.jsxs("div",{children:[p.jsxs("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold tracking-tight",children:[e("title")," 📜"]}),p.jsxs("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:[e("header",{scope:T?e("scopeAll",{count:((te=L.data)==null?void 0:te.data.length)??0}):a,worker:s?` · worker-${s}`:"",mode:e(T&&w==="live"?"modeLive":"modeTail"),count:l.length}),d&&p.jsx("span",{className:"text-[var(--color-stuck)] ml-2 font-bold",children:"⏸ PAUSED"})]})]})}),p.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[p.jsxs("div",{className:"flex gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:[p.jsxs("button",{type:"button",onClick:()=>k("live"),"aria-pressed":w==="live",className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",w==="live"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]"].join(" "),children:[p.jsx(Yw,{size:11,strokeWidth:2.5}),e("live")]}),p.jsxs("button",{type:"button",onClick:()=>k("history"),"aria-pressed":w==="history",className:["px-3 py-1 rounded-full text-xs font-bold flex items-center gap-1.5",w==="history"?"bg-[var(--color-primary)] text-[var(--color-text)] shadow-[1px_1px_0_var(--color-text)]":"text-[var(--color-text-muted)]"].join(" "),children:[p.jsx(E2,{size:11,strokeWidth:2.5}),e("history")]})]}),w==="history"&&p.jsxs(p.Fragment,{children:[p.jsx("input",{type:"datetime-local",className:"nb-input",style:{padding:"4px 8px",fontSize:12},value:N,onChange:Q=>C(Q.target.value),"aria-label":e("queryStartAria")}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 12px",fontSize:12},onClick:()=>U(),type:"button","aria-label":e("queryAria"),children:[p.jsx(Dd,{size:11,strokeWidth:3}),e("query")]})]}),p.jsxs("div",{className:"relative",children:[p.jsx(yc,{size:14,strokeWidth:2.5,className:"absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none text-[var(--color-text)]"}),p.jsxs("select",{className:"nb-input appearance-none pl-9 pr-9 font-[family-name:var(--font-mono)] cursor-pointer",style:{padding:"10px 36px 10px 36px",fontSize:13,minWidth:180},value:a??"",onChange:Q=>{const J=Q.target.value;n(J?{project:J}:{})},"aria-label":e("filterProjectAria"),children:[p.jsx("option",{value:"",children:e("allProjectsOption")}),(P=L.data)==null?void 0:P.data.map(Q=>p.jsx("option",{value:Q.name,children:Q.name},Q.name))]}),p.jsx(jc,{size:14,strokeWidth:3,className:"absolute right-3 top-1/2 -translate-y-1/2 pointer-events-none text-[var(--color-text)]"})]}),p.jsxs("div",{className:"relative flex-1 max-w-md",children:[p.jsx(Dd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-subtle)]"}),p.jsx("input",{className:"nb-input pl-9 w-full",placeholder:e("filterPlaceholder"),value:v,onChange:Q=>E(Q.target.value),"aria-label":e("filterAria")})]}),p.jsx("div",{className:"flex items-center gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:eB.map(Q=>p.jsx(iB,{level:Q,enabled:m.has(Q),onToggle:()=>{x(J=>{const me=new Set(J);return me.has(Q)?me.delete(Q):me.add(Q),me})}},Q))}),p.jsxs("div",{className:"ml-auto flex gap-2",children:[w==="live"&&p.jsxs(p.Fragment,{children:[p.jsx("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>b(Q=>!Q),type:"button",children:h?"✓ Auto-scroll":"Auto-scroll"}),p.jsx("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>f(Q=>!Q),type:"button",children:d?p.jsxs(p.Fragment,{children:[p.jsx(vg,{size:12,strokeWidth:3})," Resume"]}):p.jsxs(p.Fragment,{children:[p.jsx(P2,{size:12,strokeWidth:3})," Pause"]})})]}),p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>{const Q=new Blob([$.map(le=>le.raw).join(`
|
|
525
|
+
`)],{type:"text/plain"}),J=URL.createObjectURL(Q),me=document.createElement("a");me.href=J,me.download=`${a}-log-${Date.now()}.log`,me.click(),URL.revokeObjectURL(J)},type:"button",children:[p.jsx(Gw,{size:12,strokeWidth:2.5})," Export"]})]})]}),p.jsxs("div",{className:"nb-card p-0 overflow-hidden",children:[p.jsxs("div",{className:"px-4 py-2 bg-[var(--color-bg-cream)] border-b-2 border-[var(--color-text)] flex items-center justify-between font-[family-name:var(--font-mono)] text-xs",children:[p.jsx("span",{className:"text-[var(--color-text-muted)]",children:(M==null?void 0:M.file)??"~/.coral/projects/.../logs/*.log"}),w==="live"?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"live"}):p.jsx("span",{className:"nb-status",style:{background:"var(--color-accent-purple)",color:"var(--color-text)"},children:"history"})]}),p.jsxs("div",{ref:A,className:"overflow-auto font-[family-name:var(--font-mono)] text-[12px] leading-[22px] max-h-[70vh] bg-[var(--color-bg)] p-2",onScroll:Q=>{const J=Q.currentTarget;!(J.scrollHeight-J.scrollTop-J.clientHeight<40)&&h&&b(!1)},children:[$.map((Q,J)=>p.jsx(aB,{line:Q},J)),$.length===0&&p.jsx("div",{className:"text-center py-12 text-[var(--color-text-subtle)]",children:e("noMatches")})]})]})]})}function iB({level:e,enabled:t,onToggle:n}){const a={error:"var(--color-crashed-bg)",warn:"var(--color-stuck-bg)",info:"var(--color-secondary)",debug:"var(--color-accent-purple)"},s={error:"var(--color-crashed)",warn:"var(--color-stuck)",info:"var(--color-text)",debug:"var(--color-text)"};return p.jsx("button",{type:"button",onClick:n,"aria-pressed":t,className:["px-3 py-0.5 rounded-full font-[family-name:var(--font-mono)] text-[10px] font-bold tracking-widest cursor-pointer",t?"border-[1.5px] border-[var(--color-text)]":"text-[var(--color-text-subtle)]"].join(" "),style:t?{background:a[e],color:s[e]}:{},children:e.toUpperCase()})}function aB({line:e}){var a;const t={error:"bg-[var(--color-crashed)] text-[var(--color-text)]",warn:"bg-[var(--color-stuck)] text-[var(--color-text)]",info:"bg-[var(--color-secondary)] text-[var(--color-text)]",debug:"",trace:""},n=!!e.project;return p.jsxs("div",{className:["grid gap-2 px-2 py-0.5 rounded hover:bg-[var(--color-bg-cream)]",n?"grid-cols-[100px_90px_60px_1fr]":"grid-cols-[100px_60px_1fr]"].join(" "),children:[p.jsx("span",{className:"text-[var(--color-text-subtle)] whitespace-nowrap",children:e.ts?((a=e.ts.split("T")[1])==null?void 0:a.replace("Z",""))??e.ts:"--"}),n&&p.jsx("span",{className:"truncate text-[var(--color-text-muted)] font-bold",title:e.project,children:e.project}),p.jsx("span",{className:`text-center font-bold ${t[e.level]??""}`,style:{borderRadius:4,padding:"0 6px"},children:e.level.toUpperCase()}),p.jsx("span",{className:"truncate text-[var(--color-text)]",children:e.msg})]})}function rB(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const sB=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,lB=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,oB={};function Q0(e,t){return(oB.jsx?lB:sB).test(e)}const cB=/[ \t\n\f\r]/g;function uB(e){return typeof e=="object"?e.type==="text"?Y0(e.value):!1:Y0(e)}function Y0(e){return e.replace(cB,"")===""}class zc{constructor(t,n,a){this.normal=n,this.property=t,a&&(this.space=a)}}zc.prototype.normal={};zc.prototype.property={};zc.prototype.space=void 0;function fS(e,t){const n={},a={};for(const s of e)Object.assign(n,s.property),Object.assign(a,s.normal);return new zc(n,a,t)}function Km(e){return e.toLowerCase()}class Qn{constructor(t,n){this.attribute=n,this.property=t}}Qn.prototype.attribute="";Qn.prototype.booleanish=!1;Qn.prototype.boolean=!1;Qn.prototype.commaOrSpaceSeparated=!1;Qn.prototype.commaSeparated=!1;Qn.prototype.defined=!1;Qn.prototype.mustUseProperty=!1;Qn.prototype.number=!1;Qn.prototype.overloadedBoolean=!1;Qn.prototype.property="";Qn.prototype.spaceSeparated=!1;Qn.prototype.space=void 0;let dB=0;const Ge=vs(),nn=vs(),Gm=vs(),ge=vs(),Ct=vs(),kl=vs(),ri=vs();function vs(){return 2**++dB}const Vm=Object.freeze(Object.defineProperty({__proto__:null,boolean:Ge,booleanish:nn,commaOrSpaceSeparated:ri,commaSeparated:kl,number:ge,overloadedBoolean:Gm,spaceSeparated:Ct},Symbol.toStringTag,{value:"Module"})),Vp=Object.keys(Vm);class Fg extends Qn{constructor(t,n,a,s){let l=-1;if(super(t,n),W0(this,"space",s),typeof a=="number")for(;++l<Vp.length;){const c=Vp[l];W0(this,Vp[l],(a&Vm[c])===Vm[c])}}}Fg.prototype.defined=!0;function W0(e,t,n){n&&(e[t]=n)}function Jl(e){const t={},n={};for(const[a,s]of Object.entries(e.properties)){const l=new Fg(a,e.transform(e.attributes||{},a),s,e.space);e.mustUseProperty&&e.mustUseProperty.includes(a)&&(l.mustUseProperty=!0),t[a]=l,n[Km(a)]=a,n[Km(l.attribute)]=a}return new zc(t,n,e.space)}const hS=Jl({properties:{ariaActiveDescendant:null,ariaAtomic:nn,ariaAutoComplete:null,ariaBusy:nn,ariaChecked:nn,ariaColCount:ge,ariaColIndex:ge,ariaColSpan:ge,ariaControls:Ct,ariaCurrent:null,ariaDescribedBy:Ct,ariaDetails:null,ariaDisabled:nn,ariaDropEffect:Ct,ariaErrorMessage:null,ariaExpanded:nn,ariaFlowTo:Ct,ariaGrabbed:nn,ariaHasPopup:null,ariaHidden:nn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Ct,ariaLevel:ge,ariaLive:null,ariaModal:nn,ariaMultiLine:nn,ariaMultiSelectable:nn,ariaOrientation:null,ariaOwns:Ct,ariaPlaceholder:null,ariaPosInSet:ge,ariaPressed:nn,ariaReadOnly:nn,ariaRelevant:null,ariaRequired:nn,ariaRoleDescription:Ct,ariaRowCount:ge,ariaRowIndex:ge,ariaRowSpan:ge,ariaSelected:nn,ariaSetSize:ge,ariaSort:null,ariaValueMax:ge,ariaValueMin:ge,ariaValueNow:ge,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function pS(e,t){return t in e?e[t]:t}function mS(e,t){return pS(e,t.toLowerCase())}const fB=Jl({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:kl,acceptCharset:Ct,accessKey:Ct,action:null,allow:null,allowFullScreen:Ge,allowPaymentRequest:Ge,allowUserMedia:Ge,alt:null,as:null,async:Ge,autoCapitalize:null,autoComplete:Ct,autoFocus:Ge,autoPlay:Ge,blocking:Ct,capture:null,charSet:null,checked:Ge,cite:null,className:Ct,cols:ge,colSpan:null,content:null,contentEditable:nn,controls:Ge,controlsList:Ct,coords:ge|kl,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Ge,defer:Ge,dir:null,dirName:null,disabled:Ge,download:Gm,draggable:nn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Ge,formTarget:null,headers:Ct,height:ge,hidden:Gm,high:ge,href:null,hrefLang:null,htmlFor:Ct,httpEquiv:Ct,id:null,imageSizes:null,imageSrcSet:null,inert:Ge,inputMode:null,integrity:null,is:null,isMap:Ge,itemId:null,itemProp:Ct,itemRef:Ct,itemScope:Ge,itemType:Ct,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Ge,low:ge,manifest:null,max:null,maxLength:ge,media:null,method:null,min:null,minLength:ge,multiple:Ge,muted:Ge,name:null,nonce:null,noModule:Ge,noValidate:Ge,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Ge,optimum:ge,pattern:null,ping:Ct,placeholder:null,playsInline:Ge,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Ge,referrerPolicy:null,rel:Ct,required:Ge,reversed:Ge,rows:ge,rowSpan:ge,sandbox:Ct,scope:null,scoped:Ge,seamless:Ge,selected:Ge,shadowRootClonable:Ge,shadowRootDelegatesFocus:Ge,shadowRootMode:null,shape:null,size:ge,sizes:null,slot:null,span:ge,spellCheck:nn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:ge,step:null,style:null,tabIndex:ge,target:null,title:null,translate:null,type:null,typeMustMatch:Ge,useMap:null,value:nn,width:ge,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Ct,axis:null,background:null,bgColor:null,border:ge,borderColor:null,bottomMargin:ge,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Ge,declare:Ge,event:null,face:null,frame:null,frameBorder:null,hSpace:ge,leftMargin:ge,link:null,longDesc:null,lowSrc:null,marginHeight:ge,marginWidth:ge,noResize:Ge,noHref:Ge,noShade:Ge,noWrap:Ge,object:null,profile:null,prompt:null,rev:null,rightMargin:ge,rules:null,scheme:null,scrolling:nn,standby:null,summary:null,text:null,topMargin:ge,valueType:null,version:null,vAlign:null,vLink:null,vSpace:ge,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:Ge,disableRemotePlayback:Ge,prefix:null,property:null,results:ge,security:null,unselectable:null},space:"html",transform:mS}),hB=Jl({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:ri,accentHeight:ge,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:ge,amplitude:ge,arabicForm:null,ascent:ge,attributeName:null,attributeType:null,azimuth:ge,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:ge,by:null,calcMode:null,capHeight:ge,className:Ct,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:ge,diffuseConstant:ge,direction:null,display:null,dur:null,divisor:ge,dominantBaseline:null,download:Ge,dx:null,dy:null,edgeMode:null,editable:null,elevation:ge,enableBackground:null,end:null,event:null,exponent:ge,externalResourcesRequired:null,fill:null,fillOpacity:ge,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:kl,g2:kl,glyphName:kl,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:ge,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:ge,horizOriginX:ge,horizOriginY:ge,id:null,ideographic:ge,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:ge,k:ge,k1:ge,k2:ge,k3:ge,k4:ge,kernelMatrix:ri,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:ge,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:ge,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:ge,overlineThickness:ge,paintOrder:null,panose1:null,path:null,pathLength:ge,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Ct,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:ge,pointsAtY:ge,pointsAtZ:ge,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ri,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ri,rev:ri,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ri,requiredFeatures:ri,requiredFonts:ri,requiredFormats:ri,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:ge,specularExponent:ge,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:ge,strikethroughThickness:ge,string:null,stroke:null,strokeDashArray:ri,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:ge,strokeOpacity:ge,strokeWidth:null,style:null,surfaceScale:ge,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ri,tabIndex:ge,tableValues:null,target:null,targetX:ge,targetY:ge,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ri,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:ge,underlineThickness:ge,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:ge,values:null,vAlphabetic:ge,vMathematical:ge,vectorEffect:null,vHanging:ge,vIdeographic:ge,version:null,vertAdvY:ge,vertOriginX:ge,vertOriginY:ge,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:ge,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:pS}),gS=Jl({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),bS=Jl({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:mS}),yS=Jl({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),pB={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},mB=/[A-Z]/g,X0=/-[a-z]/g,gB=/^data[-\w.:]+$/i;function bB(e,t){const n=Km(t);let a=t,s=Qn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&gB.test(t)){if(t.charAt(4)==="-"){const l=t.slice(5).replace(X0,xB);a="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=t.slice(4);if(!X0.test(l)){let c=l.replace(mB,yB);c.charAt(0)!=="-"&&(c="-"+c),t="data"+c}}s=Fg}return new s(a,t)}function yB(e){return"-"+e.toLowerCase()}function xB(e){return e.charAt(1).toUpperCase()}const vB=fS([hS,fB,gS,bS,yS],"html"),$g=fS([hS,hB,gS,bS,yS],"svg");function wB(e){return e.join(" ").trim()}var hl={},Qp,Z0;function EB(){if(Z0)return Qp;Z0=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,a=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,s=/^:\s*/,l=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,c=/^[;\s]*/,d=/^\s+|\s+$/g,f=`
|
|
526
|
+
`,h="/",b="*",m="",x="comment",v="declaration";function E(k,N){if(typeof k!="string")throw new TypeError("First argument must be a string");if(!k)return[];N=N||{};var C=1,A=1;function T(le){var ee=le.match(t);ee&&(C+=ee.length);var H=le.lastIndexOf(f);A=~H?le.length-H:A+le.length}function L(){var le={line:C,column:A};return function(ee){return ee.position=new M(le),te(),ee}}function M(le){this.start=le,this.end={line:C,column:A},this.source=N.source}M.prototype.content=k;function U(le){var ee=new Error(N.source+":"+C+":"+A+": "+le);if(ee.reason=le,ee.filename=N.source,ee.line=C,ee.column=A,ee.source=k,!N.silent)throw ee}function $(le){var ee=le.exec(k);if(ee){var H=ee[0];return T(H),k=k.slice(H.length),ee}}function te(){$(n)}function P(le){var ee;for(le=le||[];ee=Q();)ee!==!1&&le.push(ee);return le}function Q(){var le=L();if(!(h!=k.charAt(0)||b!=k.charAt(1))){for(var ee=2;m!=k.charAt(ee)&&(b!=k.charAt(ee)||h!=k.charAt(ee+1));)++ee;if(ee+=2,m===k.charAt(ee-1))return U("End of comment missing");var H=k.slice(2,ee-2);return A+=2,T(H),k=k.slice(ee),A+=2,le({type:x,comment:H})}}function J(){var le=L(),ee=$(a);if(ee){if(Q(),!$(s))return U("property missing ':'");var H=$(l),oe=le({type:v,property:w(ee[0].replace(e,m)),value:H?w(H[0].replace(e,m)):m});return $(c),oe}}function me(){var le=[];P(le);for(var ee;ee=J();)ee!==!1&&(le.push(ee),P(le));return le}return te(),me()}function w(k){return k?k.replace(d,m):m}return Qp=E,Qp}var J0;function SB(){if(J0)return hl;J0=1;var e=hl&&hl.__importDefault||function(a){return a&&a.__esModule?a:{default:a}};Object.defineProperty(hl,"__esModule",{value:!0}),hl.default=n;const t=e(EB());function n(a,s){let l=null;if(!a||typeof a!="string")return l;const c=(0,t.default)(a),d=typeof s=="function";return c.forEach(f=>{if(f.type!=="declaration")return;const{property:h,value:b}=f;d?s(h,b,f):b&&(l=l||{},l[h]=b)}),l}return hl}var tc={},e1;function kB(){if(e1)return tc;e1=1,Object.defineProperty(tc,"__esModule",{value:!0}),tc.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,a=/^-(webkit|moz|ms|o|khtml)-/,s=/^-(ms)-/,l=function(h){return!h||n.test(h)||e.test(h)},c=function(h,b){return b.toUpperCase()},d=function(h,b){return"".concat(b,"-")},f=function(h,b){return b===void 0&&(b={}),l(h)?h:(h=h.toLowerCase(),b.reactCompat?h=h.replace(s,d):h=h.replace(a,d),h.replace(t,c))};return tc.camelCase=f,tc}var nc,t1;function NB(){if(t1)return nc;t1=1;var e=nc&&nc.__importDefault||function(s){return s&&s.__esModule?s:{default:s}},t=e(SB()),n=kB();function a(s,l){var c={};return!s||typeof s!="string"||(0,t.default)(s,function(d,f){d&&f&&(c[(0,n.camelCase)(d,l)]=f)}),c}return a.default=a,nc=a,nc}var _B=NB();const CB=ag(_B),xS=vS("end"),Hg=vS("start");function vS(e){return t;function t(n){const a=n&&n.position&&n.position[e]||{};if(typeof a.line=="number"&&a.line>0&&typeof a.column=="number"&&a.column>0)return{line:a.line,column:a.column,offset:typeof a.offset=="number"&&a.offset>-1?a.offset:void 0}}}function AB(e){const t=Hg(e),n=xS(e);if(t&&n)return{start:t,end:n}}function uc(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?n1(e.position):"start"in e||"end"in e?n1(e):"line"in e||"column"in e?Qm(e):""}function Qm(e){return i1(e&&e.line)+":"+i1(e&&e.column)}function n1(e){return Qm(e&&e.start)+"-"+Qm(e&&e.end)}function i1(e){return e&&typeof e=="number"?e:1}class En extends Error{constructor(t,n,a){super(),typeof n=="string"&&(a=n,n=void 0);let s="",l={},c=!1;if(n&&("line"in n&&"column"in n?l={place:n}:"start"in n&&"end"in n?l={place:n}:"type"in n?l={ancestors:[n],place:n.position}:l={...n}),typeof t=="string"?s=t:!l.cause&&t&&(c=!0,s=t.message,l.cause=t),!l.ruleId&&!l.source&&typeof a=="string"){const f=a.indexOf(":");f===-1?l.ruleId=a:(l.source=a.slice(0,f),l.ruleId=a.slice(f+1))}if(!l.place&&l.ancestors&&l.ancestors){const f=l.ancestors[l.ancestors.length-1];f&&(l.place=f.position)}const d=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=d?d.column:void 0,this.fatal=void 0,this.file="",this.message=s,this.line=d?d.line:void 0,this.name=uc(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=c&&l.cause&&typeof l.cause.stack=="string"?l.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}En.prototype.file="";En.prototype.name="";En.prototype.reason="";En.prototype.message="";En.prototype.stack="";En.prototype.column=void 0;En.prototype.line=void 0;En.prototype.ancestors=void 0;En.prototype.cause=void 0;En.prototype.fatal=void 0;En.prototype.place=void 0;En.prototype.ruleId=void 0;En.prototype.source=void 0;const qg={}.hasOwnProperty,TB=new Map,OB=/[A-Z]/g,RB=new Set(["table","tbody","thead","tfoot","tr"]),jB=new Set(["td","th"]),wS="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function MB(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let a;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");a=FB(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");a=PB(n,t.jsx,t.jsxs)}const s={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:a,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?$g:vB,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},l=ES(s,e,void 0);return l&&typeof l!="string"?l:s.create(e,s.Fragment,{children:l||void 0},void 0)}function ES(e,t,n){if(t.type==="element")return DB(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return LB(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return zB(e,t,n);if(t.type==="mdxjsEsm")return IB(e,t);if(t.type==="root")return BB(e,t,n);if(t.type==="text")return UB(e,t)}function DB(e,t,n){const a=e.schema;let s=a;t.tagName.toLowerCase()==="svg"&&a.space==="html"&&(s=$g,e.schema=s),e.ancestors.push(t);const l=kS(e,t.tagName,!1),c=$B(e,t);let d=Gg(e,t);return RB.has(t.tagName)&&(d=d.filter(function(f){return typeof f=="string"?!uB(f):!0})),SS(e,c,l,t),Kg(c,d),e.ancestors.pop(),e.schema=a,e.create(t,l,c,n)}function LB(e,t){if(t.data&&t.data.estree&&e.evaluater){const a=t.data.estree.body[0];return a.type,e.evaluater.evaluateExpression(a.expression)}Sc(e,t.position)}function IB(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);Sc(e,t.position)}function zB(e,t,n){const a=e.schema;let s=a;t.name==="svg"&&a.space==="html"&&(s=$g,e.schema=s),e.ancestors.push(t);const l=t.name===null?e.Fragment:kS(e,t.name,!0),c=HB(e,t),d=Gg(e,t);return SS(e,c,l,t),Kg(c,d),e.ancestors.pop(),e.schema=a,e.create(t,l,c,n)}function BB(e,t,n){const a={};return Kg(a,Gg(e,t)),e.create(t,e.Fragment,a,n)}function UB(e,t){return t.value}function SS(e,t,n,a){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=a)}function Kg(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function PB(e,t,n){return a;function a(s,l,c,d){const h=Array.isArray(c.children)?n:t;return d?h(l,c,d):h(l,c)}}function FB(e,t){return n;function n(a,s,l,c){const d=Array.isArray(l.children),f=Hg(a);return t(s,l,c,d,{columnNumber:f?f.column-1:void 0,fileName:e,lineNumber:f?f.line:void 0},void 0)}}function $B(e,t){const n={};let a,s;for(s in t.properties)if(s!=="children"&&qg.call(t.properties,s)){const l=qB(e,s,t.properties[s]);if(l){const[c,d]=l;e.tableCellAlignToStyle&&c==="align"&&typeof d=="string"&&jB.has(t.tagName)?a=d:n[c]=d}}if(a){const l=n.style||(n.style={});l[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=a}return n}function HB(e,t){const n={};for(const a of t.attributes)if(a.type==="mdxJsxExpressionAttribute")if(a.data&&a.data.estree&&e.evaluater){const l=a.data.estree.body[0];l.type;const c=l.expression;c.type;const d=c.properties[0];d.type,Object.assign(n,e.evaluater.evaluateExpression(d.argument))}else Sc(e,t.position);else{const s=a.name;let l;if(a.value&&typeof a.value=="object")if(a.value.data&&a.value.data.estree&&e.evaluater){const d=a.value.data.estree.body[0];d.type,l=e.evaluater.evaluateExpression(d.expression)}else Sc(e,t.position);else l=a.value===null?!0:a.value;n[s]=l}return n}function Gg(e,t){const n=[];let a=-1;const s=e.passKeys?new Map:TB;for(;++a<t.children.length;){const l=t.children[a];let c;if(e.passKeys){const f=l.type==="element"?l.tagName:l.type==="mdxJsxFlowElement"||l.type==="mdxJsxTextElement"?l.name:void 0;if(f){const h=s.get(f)||0;c=f+"-"+h,s.set(f,h+1)}}const d=ES(e,l,c);d!==void 0&&n.push(d)}return n}function qB(e,t,n){const a=bB(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=a.commaSeparated?rB(n):wB(n)),a.property==="style"){let s=typeof n=="object"?n:KB(e,String(n));return e.stylePropertyNameCase==="css"&&(s=GB(s)),["style",s]}return[e.elementAttributeNameCase==="react"&&a.space?pB[a.property]||a.property:a.attribute,n]}}function KB(e,t){try{return CB(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const a=n,s=new En("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:a,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw s.file=e.filePath||void 0,s.url=wS+"#cannot-parse-style-attribute",s}}function kS(e,t,n){let a;if(!n)a={type:"Literal",value:t};else if(t.includes(".")){const s=t.split(".");let l=-1,c;for(;++l<s.length;){const d=Q0(s[l])?{type:"Identifier",name:s[l]}:{type:"Literal",value:s[l]};c=c?{type:"MemberExpression",object:c,property:d,computed:!!(l&&d.type==="Literal"),optional:!1}:d}a=c}else a=Q0(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(a.type==="Literal"){const s=a.value;return qg.call(e.components,s)?e.components[s]:s}if(e.evaluater)return e.evaluater.evaluateExpression(a);Sc(e)}function Sc(e,t){const n=new En("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=wS+"#cannot-handle-mdx-estrees-without-createevaluater",n}function GB(e){const t={};let n;for(n in e)qg.call(e,n)&&(t[VB(n)]=e[n]);return t}function VB(e){let t=e.replace(OB,QB);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function QB(e){return"-"+e.toLowerCase()}const Yp={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},YB={};function Vg(e,t){const n=YB,a=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,s=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return NS(e,a,s)}function NS(e,t,n){if(WB(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return a1(e.children,t,n)}return Array.isArray(e)?a1(e,t,n):""}function a1(e,t,n){const a=[];let s=-1;for(;++s<e.length;)a[s]=NS(e[s],t,n);return a.join("")}function WB(e){return!!(e&&typeof e=="object")}const r1=document.createElement("i");function Qg(e){const t="&"+e+";";r1.innerHTML=t;const n=r1.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function oi(e,t,n,a){const s=e.length;let l=0,c;if(t<0?t=-t>s?0:s+t:t=t>s?s:t,n=n>0?n:0,a.length<1e4)c=Array.from(a),c.unshift(t,n),e.splice(...c);else for(n&&e.splice(t,n);l<a.length;)c=a.slice(l,l+1e4),c.unshift(t,0),e.splice(...c),l+=1e4,t+=1e4}function ki(e,t){return e.length>0?(oi(e,e.length,0,t),e):t}const s1={}.hasOwnProperty;function _S(e){const t={};let n=-1;for(;++n<e.length;)XB(t,e[n]);return t}function XB(e,t){let n;for(n in t){const s=(s1.call(e,n)?e[n]:void 0)||(e[n]={}),l=t[n];let c;if(l)for(c in l){s1.call(s,c)||(s[c]=[]);const d=l[c];ZB(s[c],Array.isArray(d)?d:d?[d]:[])}}}function ZB(e,t){let n=-1;const a=[];for(;++n<t.length;)(t[n].add==="after"?e:a).push(t[n]);oi(e,0,0,a)}function CS(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Bi(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const Rn=Or(/[A-Za-z]/),vn=Or(/[\dA-Za-z]/),JB=Or(/[#-'*+\--9=?A-Z^-~]/);function Hd(e){return e!==null&&(e<32||e===127)}const Ym=Or(/\d/),e4=Or(/[\dA-Fa-f]/),t4=Or(/[!-/:-@[-`{-~]/);function je(e){return e!==null&&e<-2}function kt(e){return e!==null&&(e<0||e===32)}function Xe(e){return e===-2||e===-1||e===32}const yf=Or(new RegExp("\\p{P}|\\p{S}","u")),gs=Or(/\s/);function Or(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function eo(e){const t=[];let n=-1,a=0,s=0;for(;++n<e.length;){const l=e.charCodeAt(n);let c="";if(l===37&&vn(e.charCodeAt(n+1))&&vn(e.charCodeAt(n+2)))s=2;else if(l<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(l))||(c=String.fromCharCode(l));else if(l>55295&&l<57344){const d=e.charCodeAt(n+1);l<56320&&d>56319&&d<57344?(c=String.fromCharCode(l,d),s=1):c="�"}else c=String.fromCharCode(l);c&&(t.push(e.slice(a,n),encodeURIComponent(c)),a=n+s+1,c=""),s&&(n+=s,s=0)}return t.join("")+e.slice(a)}function at(e,t,n,a){const s=a?a-1:Number.POSITIVE_INFINITY;let l=0;return c;function c(f){return Xe(f)?(e.enter(n),d(f)):t(f)}function d(f){return Xe(f)&&l++<s?(e.consume(f),d):(e.exit(n),t(f))}}const n4={tokenize:i4};function i4(e){const t=e.attempt(this.parser.constructs.contentInitial,a,s);let n;return t;function a(d){if(d===null){e.consume(d);return}return e.enter("lineEnding"),e.consume(d),e.exit("lineEnding"),at(e,t,"linePrefix")}function s(d){return e.enter("paragraph"),l(d)}function l(d){const f=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=f),n=f,c(d)}function c(d){if(d===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(d);return}return je(d)?(e.consume(d),e.exit("chunkText"),l):(e.consume(d),c)}}const a4={tokenize:r4},l1={tokenize:s4};function r4(e){const t=this,n=[];let a=0,s,l,c;return d;function d(A){if(a<n.length){const T=n[a];return t.containerState=T[1],e.attempt(T[0].continuation,f,h)(A)}return h(A)}function f(A){if(a++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,s&&C();const T=t.events.length;let L=T,M;for(;L--;)if(t.events[L][0]==="exit"&&t.events[L][1].type==="chunkFlow"){M=t.events[L][1].end;break}N(a);let U=T;for(;U<t.events.length;)t.events[U][1].end={...M},U++;return oi(t.events,L+1,0,t.events.slice(T)),t.events.length=U,h(A)}return d(A)}function h(A){if(a===n.length){if(!s)return x(A);if(s.currentConstruct&&s.currentConstruct.concrete)return E(A);t.interrupt=!!(s.currentConstruct&&!s._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(l1,b,m)(A)}function b(A){return s&&C(),N(a),x(A)}function m(A){return t.parser.lazy[t.now().line]=a!==n.length,c=t.now().offset,E(A)}function x(A){return t.containerState={},e.attempt(l1,v,E)(A)}function v(A){return a++,n.push([t.currentConstruct,t.containerState]),x(A)}function E(A){if(A===null){s&&C(),N(0),e.consume(A);return}return s=s||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:s,contentType:"flow",previous:l}),w(A)}function w(A){if(A===null){k(e.exit("chunkFlow"),!0),N(0),e.consume(A);return}return je(A)?(e.consume(A),k(e.exit("chunkFlow")),a=0,t.interrupt=void 0,d):(e.consume(A),w)}function k(A,T){const L=t.sliceStream(A);if(T&&L.push(null),A.previous=l,l&&(l.next=A),l=A,s.defineSkip(A.start),s.write(L),t.parser.lazy[A.start.line]){let M=s.events.length;for(;M--;)if(s.events[M][1].start.offset<c&&(!s.events[M][1].end||s.events[M][1].end.offset>c))return;const U=t.events.length;let $=U,te,P;for(;$--;)if(t.events[$][0]==="exit"&&t.events[$][1].type==="chunkFlow"){if(te){P=t.events[$][1].end;break}te=!0}for(N(a),M=U;M<t.events.length;)t.events[M][1].end={...P},M++;oi(t.events,$+1,0,t.events.slice(U)),t.events.length=M}}function N(A){let T=n.length;for(;T-- >A;){const L=n[T];t.containerState=L[1],L[0].exit.call(t,e)}n.length=A}function C(){s.write([null]),l=void 0,s=void 0,t.containerState._closeFlow=void 0}}function s4(e,t,n){return at(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Pl(e){if(e===null||kt(e)||gs(e))return 1;if(yf(e))return 2}function xf(e,t,n){const a=[];let s=-1;for(;++s<e.length;){const l=e[s].resolveAll;l&&!a.includes(l)&&(t=l(t,n),a.push(l))}return t}const Wm={name:"attention",resolveAll:l4,tokenize:o4};function l4(e,t){let n=-1,a,s,l,c,d,f,h,b;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(a=n;a--;)if(e[a][0]==="exit"&&e[a][1].type==="attentionSequence"&&e[a][1]._open&&t.sliceSerialize(e[a][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[a][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[a][1].end.offset-e[a][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;f=e[a][1].end.offset-e[a][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const m={...e[a][1].end},x={...e[n][1].start};o1(m,-f),o1(x,f),c={type:f>1?"strongSequence":"emphasisSequence",start:m,end:{...e[a][1].end}},d={type:f>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:x},l={type:f>1?"strongText":"emphasisText",start:{...e[a][1].end},end:{...e[n][1].start}},s={type:f>1?"strong":"emphasis",start:{...c.start},end:{...d.end}},e[a][1].end={...c.start},e[n][1].start={...d.end},h=[],e[a][1].end.offset-e[a][1].start.offset&&(h=ki(h,[["enter",e[a][1],t],["exit",e[a][1],t]])),h=ki(h,[["enter",s,t],["enter",c,t],["exit",c,t],["enter",l,t]]),h=ki(h,xf(t.parser.constructs.insideSpan.null,e.slice(a+1,n),t)),h=ki(h,[["exit",l,t],["enter",d,t],["exit",d,t],["exit",s,t]]),e[n][1].end.offset-e[n][1].start.offset?(b=2,h=ki(h,[["enter",e[n][1],t],["exit",e[n][1],t]])):b=0,oi(e,a-1,n-a+3,h),n=a+h.length-b-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function o4(e,t){const n=this.parser.constructs.attentionMarkers.null,a=this.previous,s=Pl(a);let l;return c;function c(f){return l=f,e.enter("attentionSequence"),d(f)}function d(f){if(f===l)return e.consume(f),d;const h=e.exit("attentionSequence"),b=Pl(f),m=!b||b===2&&s||n.includes(f),x=!s||s===2&&b||n.includes(a);return h._open=!!(l===42?m:m&&(s||!x)),h._close=!!(l===42?x:x&&(b||!m)),t(f)}}function o1(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const c4={name:"autolink",tokenize:u4};function u4(e,t,n){let a=0;return s;function s(v){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(v),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l}function l(v){return Rn(v)?(e.consume(v),c):v===64?n(v):h(v)}function c(v){return v===43||v===45||v===46||vn(v)?(a=1,d(v)):h(v)}function d(v){return v===58?(e.consume(v),a=0,f):(v===43||v===45||v===46||vn(v))&&a++<32?(e.consume(v),d):(a=0,h(v))}function f(v){return v===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(v),e.exit("autolinkMarker"),e.exit("autolink"),t):v===null||v===32||v===60||Hd(v)?n(v):(e.consume(v),f)}function h(v){return v===64?(e.consume(v),b):JB(v)?(e.consume(v),h):n(v)}function b(v){return vn(v)?m(v):n(v)}function m(v){return v===46?(e.consume(v),a=0,b):v===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(v),e.exit("autolinkMarker"),e.exit("autolink"),t):x(v)}function x(v){if((v===45||vn(v))&&a++<63){const E=v===45?x:m;return e.consume(v),E}return n(v)}}const Bc={partial:!0,tokenize:d4};function d4(e,t,n){return a;function a(l){return Xe(l)?at(e,s,"linePrefix")(l):s(l)}function s(l){return l===null||je(l)?t(l):n(l)}}const AS={continuation:{tokenize:h4},exit:p4,name:"blockQuote",tokenize:f4};function f4(e,t,n){const a=this;return s;function s(c){if(c===62){const d=a.containerState;return d.open||(e.enter("blockQuote",{_container:!0}),d.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(c),e.exit("blockQuoteMarker"),l}return n(c)}function l(c){return Xe(c)?(e.enter("blockQuotePrefixWhitespace"),e.consume(c),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(c))}}function h4(e,t,n){const a=this;return s;function s(c){return Xe(c)?at(e,l,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c):l(c)}function l(c){return e.attempt(AS,t,n)(c)}}function p4(e){e.exit("blockQuote")}const TS={name:"characterEscape",tokenize:m4};function m4(e,t,n){return a;function a(l){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(l),e.exit("escapeMarker"),s}function s(l){return t4(l)?(e.enter("characterEscapeValue"),e.consume(l),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(l)}}const OS={name:"characterReference",tokenize:g4};function g4(e,t,n){const a=this;let s=0,l,c;return d;function d(m){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),f}function f(m){return m===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(m),e.exit("characterReferenceMarkerNumeric"),h):(e.enter("characterReferenceValue"),l=31,c=vn,b(m))}function h(m){return m===88||m===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(m),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),l=6,c=e4,b):(e.enter("characterReferenceValue"),l=7,c=Ym,b(m))}function b(m){if(m===59&&s){const x=e.exit("characterReferenceValue");return c===vn&&!Qg(a.sliceSerialize(x))?n(m):(e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return c(m)&&s++<l?(e.consume(m),b):n(m)}}const c1={partial:!0,tokenize:y4},u1={concrete:!0,name:"codeFenced",tokenize:b4};function b4(e,t,n){const a=this,s={partial:!0,tokenize:L};let l=0,c=0,d;return f;function f(M){return h(M)}function h(M){const U=a.events[a.events.length-1];return l=U&&U[1].type==="linePrefix"?U[2].sliceSerialize(U[1],!0).length:0,d=M,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),b(M)}function b(M){return M===d?(c++,e.consume(M),b):c<3?n(M):(e.exit("codeFencedFenceSequence"),Xe(M)?at(e,m,"whitespace")(M):m(M))}function m(M){return M===null||je(M)?(e.exit("codeFencedFence"),a.interrupt?t(M):e.check(c1,w,T)(M)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),x(M))}function x(M){return M===null||je(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),m(M)):Xe(M)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),at(e,v,"whitespace")(M)):M===96&&M===d?n(M):(e.consume(M),x)}function v(M){return M===null||je(M)?m(M):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),E(M))}function E(M){return M===null||je(M)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),m(M)):M===96&&M===d?n(M):(e.consume(M),E)}function w(M){return e.attempt(s,T,k)(M)}function k(M){return e.enter("lineEnding"),e.consume(M),e.exit("lineEnding"),N}function N(M){return l>0&&Xe(M)?at(e,C,"linePrefix",l+1)(M):C(M)}function C(M){return M===null||je(M)?e.check(c1,w,T)(M):(e.enter("codeFlowValue"),A(M))}function A(M){return M===null||je(M)?(e.exit("codeFlowValue"),C(M)):(e.consume(M),A)}function T(M){return e.exit("codeFenced"),t(M)}function L(M,U,$){let te=0;return P;function P(ee){return M.enter("lineEnding"),M.consume(ee),M.exit("lineEnding"),Q}function Q(ee){return M.enter("codeFencedFence"),Xe(ee)?at(M,J,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(ee):J(ee)}function J(ee){return ee===d?(M.enter("codeFencedFenceSequence"),me(ee)):$(ee)}function me(ee){return ee===d?(te++,M.consume(ee),me):te>=c?(M.exit("codeFencedFenceSequence"),Xe(ee)?at(M,le,"whitespace")(ee):le(ee)):$(ee)}function le(ee){return ee===null||je(ee)?(M.exit("codeFencedFence"),U(ee)):$(ee)}}}function y4(e,t,n){const a=this;return s;function s(c){return c===null?n(c):(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),l)}function l(c){return a.parser.lazy[a.now().line]?n(c):t(c)}}const Wp={name:"codeIndented",tokenize:v4},x4={partial:!0,tokenize:w4};function v4(e,t,n){const a=this;return s;function s(h){return e.enter("codeIndented"),at(e,l,"linePrefix",5)(h)}function l(h){const b=a.events[a.events.length-1];return b&&b[1].type==="linePrefix"&&b[2].sliceSerialize(b[1],!0).length>=4?c(h):n(h)}function c(h){return h===null?f(h):je(h)?e.attempt(x4,c,f)(h):(e.enter("codeFlowValue"),d(h))}function d(h){return h===null||je(h)?(e.exit("codeFlowValue"),c(h)):(e.consume(h),d)}function f(h){return e.exit("codeIndented"),t(h)}}function w4(e,t,n){const a=this;return s;function s(c){return a.parser.lazy[a.now().line]?n(c):je(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),s):at(e,l,"linePrefix",5)(c)}function l(c){const d=a.events[a.events.length-1];return d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(c):je(c)?s(c):n(c)}}const E4={name:"codeText",previous:k4,resolve:S4,tokenize:N4};function S4(e){let t=e.length-4,n=3,a,s;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(a=n;++a<t;)if(e[a][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(a=n-1,t++;++a<=t;)s===void 0?a!==t&&e[a][1].type!=="lineEnding"&&(s=a):(a===t||e[a][1].type==="lineEnding")&&(e[s][1].type="codeTextData",a!==s+2&&(e[s][1].end=e[a-1][1].end,e.splice(s+2,a-s-2),t-=a-s-2,a=s+2),s=void 0);return e}function k4(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function N4(e,t,n){let a=0,s,l;return c;function c(m){return e.enter("codeText"),e.enter("codeTextSequence"),d(m)}function d(m){return m===96?(e.consume(m),a++,d):(e.exit("codeTextSequence"),f(m))}function f(m){return m===null?n(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),f):m===96?(l=e.enter("codeTextSequence"),s=0,b(m)):je(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),f):(e.enter("codeTextData"),h(m))}function h(m){return m===null||m===32||m===96||je(m)?(e.exit("codeTextData"),f(m)):(e.consume(m),h)}function b(m){return m===96?(e.consume(m),s++,b):s===a?(e.exit("codeTextSequence"),e.exit("codeText"),t(m)):(l.type="codeTextData",h(m))}}class _4{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const a=n??Number.POSITIVE_INFINITY;return a<this.left.length?this.left.slice(t,a):t>this.left.length?this.right.slice(this.right.length-a+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-a+this.left.length).reverse())}splice(t,n,a){const s=n||0;this.setCursor(Math.trunc(t));const l=this.right.splice(this.right.length-s,Number.POSITIVE_INFINITY);return a&&ic(this.left,a),l.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),ic(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),ic(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);ic(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);ic(this.left,n.reverse())}}}function ic(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function RS(e){const t={};let n=-1,a,s,l,c,d,f,h;const b=new _4(e);for(;++n<b.length;){for(;n in t;)n=t[n];if(a=b.get(n),n&&a[1].type==="chunkFlow"&&b.get(n-1)[1].type==="listItemPrefix"&&(f=a[1]._tokenizer.events,l=0,l<f.length&&f[l][1].type==="lineEndingBlank"&&(l+=2),l<f.length&&f[l][1].type==="content"))for(;++l<f.length&&f[l][1].type!=="content";)f[l][1].type==="chunkText"&&(f[l][1]._isInFirstContentOfListItem=!0,l++);if(a[0]==="enter")a[1].contentType&&(Object.assign(t,C4(b,n)),n=t[n],h=!0);else if(a[1]._container){for(l=n,s=void 0;l--;)if(c=b.get(l),c[1].type==="lineEnding"||c[1].type==="lineEndingBlank")c[0]==="enter"&&(s&&(b.get(s)[1].type="lineEndingBlank"),c[1].type="lineEnding",s=l);else if(!(c[1].type==="linePrefix"||c[1].type==="listItemIndent"))break;s&&(a[1].end={...b.get(s)[1].start},d=b.slice(s,n),d.unshift(a),b.splice(s,n-s+1,d))}}return oi(e,0,Number.POSITIVE_INFINITY,b.slice(0)),!h}function C4(e,t){const n=e.get(t)[1],a=e.get(t)[2];let s=t-1;const l=[];let c=n._tokenizer;c||(c=a.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(c._contentTypeTextTrailing=!0));const d=c.events,f=[],h={};let b,m,x=-1,v=n,E=0,w=0;const k=[w];for(;v;){for(;e.get(++s)[1]!==v;);l.push(s),v._tokenizer||(b=a.sliceStream(v),v.next||b.push(null),m&&c.defineSkip(v.start),v._isInFirstContentOfListItem&&(c._gfmTasklistFirstContentOfListItem=!0),c.write(b),v._isInFirstContentOfListItem&&(c._gfmTasklistFirstContentOfListItem=void 0)),m=v,v=v.next}for(v=n;++x<d.length;)d[x][0]==="exit"&&d[x-1][0]==="enter"&&d[x][1].type===d[x-1][1].type&&d[x][1].start.line!==d[x][1].end.line&&(w=x+1,k.push(w),v._tokenizer=void 0,v.previous=void 0,v=v.next);for(c.events=[],v?(v._tokenizer=void 0,v.previous=void 0):k.pop(),x=k.length;x--;){const N=d.slice(k[x],k[x+1]),C=l.pop();f.push([C,C+N.length-1]),e.splice(C,2,N)}for(f.reverse(),x=-1;++x<f.length;)h[E+f[x][0]]=E+f[x][1],E+=f[x][1]-f[x][0]-1;return h}const A4={resolve:O4,tokenize:R4},T4={partial:!0,tokenize:j4};function O4(e){return RS(e),e}function R4(e,t){let n;return a;function a(d){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),s(d)}function s(d){return d===null?l(d):je(d)?e.check(T4,c,l)(d):(e.consume(d),s)}function l(d){return e.exit("chunkContent"),e.exit("content"),t(d)}function c(d){return e.consume(d),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,s}}function j4(e,t,n){const a=this;return s;function s(c){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),at(e,l,"linePrefix")}function l(c){if(c===null||je(c))return n(c);const d=a.events[a.events.length-1];return!a.parser.constructs.disable.null.includes("codeIndented")&&d&&d[1].type==="linePrefix"&&d[2].sliceSerialize(d[1],!0).length>=4?t(c):e.interrupt(a.parser.constructs.flow,n,t)(c)}}function jS(e,t,n,a,s,l,c,d,f){const h=f||Number.POSITIVE_INFINITY;let b=0;return m;function m(N){return N===60?(e.enter(a),e.enter(s),e.enter(l),e.consume(N),e.exit(l),x):N===null||N===32||N===41||Hd(N)?n(N):(e.enter(a),e.enter(c),e.enter(d),e.enter("chunkString",{contentType:"string"}),w(N))}function x(N){return N===62?(e.enter(l),e.consume(N),e.exit(l),e.exit(s),e.exit(a),t):(e.enter(d),e.enter("chunkString",{contentType:"string"}),v(N))}function v(N){return N===62?(e.exit("chunkString"),e.exit(d),x(N)):N===null||N===60||je(N)?n(N):(e.consume(N),N===92?E:v)}function E(N){return N===60||N===62||N===92?(e.consume(N),v):v(N)}function w(N){return!b&&(N===null||N===41||kt(N))?(e.exit("chunkString"),e.exit(d),e.exit(c),e.exit(a),t(N)):b<h&&N===40?(e.consume(N),b++,w):N===41?(e.consume(N),b--,w):N===null||N===32||N===40||Hd(N)?n(N):(e.consume(N),N===92?k:w)}function k(N){return N===40||N===41||N===92?(e.consume(N),w):w(N)}}function MS(e,t,n,a,s,l){const c=this;let d=0,f;return h;function h(v){return e.enter(a),e.enter(s),e.consume(v),e.exit(s),e.enter(l),b}function b(v){return d>999||v===null||v===91||v===93&&!f||v===94&&!d&&"_hiddenFootnoteSupport"in c.parser.constructs?n(v):v===93?(e.exit(l),e.enter(s),e.consume(v),e.exit(s),e.exit(a),t):je(v)?(e.enter("lineEnding"),e.consume(v),e.exit("lineEnding"),b):(e.enter("chunkString",{contentType:"string"}),m(v))}function m(v){return v===null||v===91||v===93||je(v)||d++>999?(e.exit("chunkString"),b(v)):(e.consume(v),f||(f=!Xe(v)),v===92?x:m)}function x(v){return v===91||v===92||v===93?(e.consume(v),d++,m):m(v)}}function DS(e,t,n,a,s,l){let c;return d;function d(x){return x===34||x===39||x===40?(e.enter(a),e.enter(s),e.consume(x),e.exit(s),c=x===40?41:x,f):n(x)}function f(x){return x===c?(e.enter(s),e.consume(x),e.exit(s),e.exit(a),t):(e.enter(l),h(x))}function h(x){return x===c?(e.exit(l),f(c)):x===null?n(x):je(x)?(e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),at(e,h,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),b(x))}function b(x){return x===c||x===null||je(x)?(e.exit("chunkString"),h(x)):(e.consume(x),x===92?m:b)}function m(x){return x===c||x===92?(e.consume(x),b):b(x)}}function dc(e,t){let n;return a;function a(s){return je(s)?(e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),n=!0,a):Xe(s)?at(e,a,n?"linePrefix":"lineSuffix")(s):t(s)}}const M4={name:"definition",tokenize:L4},D4={partial:!0,tokenize:I4};function L4(e,t,n){const a=this;let s;return l;function l(v){return e.enter("definition"),c(v)}function c(v){return MS.call(a,e,d,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(v)}function d(v){return s=Bi(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)),v===58?(e.enter("definitionMarker"),e.consume(v),e.exit("definitionMarker"),f):n(v)}function f(v){return kt(v)?dc(e,h)(v):h(v)}function h(v){return jS(e,b,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(v)}function b(v){return e.attempt(D4,m,m)(v)}function m(v){return Xe(v)?at(e,x,"whitespace")(v):x(v)}function x(v){return v===null||je(v)?(e.exit("definition"),a.parser.defined.push(s),t(v)):n(v)}}function I4(e,t,n){return a;function a(d){return kt(d)?dc(e,s)(d):n(d)}function s(d){return DS(e,l,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(d)}function l(d){return Xe(d)?at(e,c,"whitespace")(d):c(d)}function c(d){return d===null||je(d)?t(d):n(d)}}const z4={name:"hardBreakEscape",tokenize:B4};function B4(e,t,n){return a;function a(l){return e.enter("hardBreakEscape"),e.consume(l),s}function s(l){return je(l)?(e.exit("hardBreakEscape"),t(l)):n(l)}}const U4={name:"headingAtx",resolve:P4,tokenize:F4};function P4(e,t){let n=e.length-2,a=3,s,l;return e[a][1].type==="whitespace"&&(a+=2),n-2>a&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(a===n-1||n-4>a&&e[n-2][1].type==="whitespace")&&(n-=a+1===n?2:4),n>a&&(s={type:"atxHeadingText",start:e[a][1].start,end:e[n][1].end},l={type:"chunkText",start:e[a][1].start,end:e[n][1].end,contentType:"text"},oi(e,a,n-a+1,[["enter",s,t],["enter",l,t],["exit",l,t],["exit",s,t]])),e}function F4(e,t,n){let a=0;return s;function s(b){return e.enter("atxHeading"),l(b)}function l(b){return e.enter("atxHeadingSequence"),c(b)}function c(b){return b===35&&a++<6?(e.consume(b),c):b===null||kt(b)?(e.exit("atxHeadingSequence"),d(b)):n(b)}function d(b){return b===35?(e.enter("atxHeadingSequence"),f(b)):b===null||je(b)?(e.exit("atxHeading"),t(b)):Xe(b)?at(e,d,"whitespace")(b):(e.enter("atxHeadingText"),h(b))}function f(b){return b===35?(e.consume(b),f):(e.exit("atxHeadingSequence"),d(b))}function h(b){return b===null||b===35||kt(b)?(e.exit("atxHeadingText"),d(b)):(e.consume(b),h)}}const $4=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],d1=["pre","script","style","textarea"],H4={concrete:!0,name:"htmlFlow",resolveTo:G4,tokenize:V4},q4={partial:!0,tokenize:Y4},K4={partial:!0,tokenize:Q4};function G4(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function V4(e,t,n){const a=this;let s,l,c,d,f;return h;function h(R){return b(R)}function b(R){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(R),m}function m(R){return R===33?(e.consume(R),x):R===47?(e.consume(R),l=!0,w):R===63?(e.consume(R),s=3,a.interrupt?t:j):Rn(R)?(e.consume(R),c=String.fromCharCode(R),k):n(R)}function x(R){return R===45?(e.consume(R),s=2,v):R===91?(e.consume(R),s=5,d=0,E):Rn(R)?(e.consume(R),s=4,a.interrupt?t:j):n(R)}function v(R){return R===45?(e.consume(R),a.interrupt?t:j):n(R)}function E(R){const ye="CDATA[";return R===ye.charCodeAt(d++)?(e.consume(R),d===ye.length?a.interrupt?t:J:E):n(R)}function w(R){return Rn(R)?(e.consume(R),c=String.fromCharCode(R),k):n(R)}function k(R){if(R===null||R===47||R===62||kt(R)){const ye=R===47,X=c.toLowerCase();return!ye&&!l&&d1.includes(X)?(s=1,a.interrupt?t(R):J(R)):$4.includes(c.toLowerCase())?(s=6,ye?(e.consume(R),N):a.interrupt?t(R):J(R)):(s=7,a.interrupt&&!a.parser.lazy[a.now().line]?n(R):l?C(R):A(R))}return R===45||vn(R)?(e.consume(R),c+=String.fromCharCode(R),k):n(R)}function N(R){return R===62?(e.consume(R),a.interrupt?t:J):n(R)}function C(R){return Xe(R)?(e.consume(R),C):P(R)}function A(R){return R===47?(e.consume(R),P):R===58||R===95||Rn(R)?(e.consume(R),T):Xe(R)?(e.consume(R),A):P(R)}function T(R){return R===45||R===46||R===58||R===95||vn(R)?(e.consume(R),T):L(R)}function L(R){return R===61?(e.consume(R),M):Xe(R)?(e.consume(R),L):A(R)}function M(R){return R===null||R===60||R===61||R===62||R===96?n(R):R===34||R===39?(e.consume(R),f=R,U):Xe(R)?(e.consume(R),M):$(R)}function U(R){return R===f?(e.consume(R),f=null,te):R===null||je(R)?n(R):(e.consume(R),U)}function $(R){return R===null||R===34||R===39||R===47||R===60||R===61||R===62||R===96||kt(R)?L(R):(e.consume(R),$)}function te(R){return R===47||R===62||Xe(R)?A(R):n(R)}function P(R){return R===62?(e.consume(R),Q):n(R)}function Q(R){return R===null||je(R)?J(R):Xe(R)?(e.consume(R),Q):n(R)}function J(R){return R===45&&s===2?(e.consume(R),H):R===60&&s===1?(e.consume(R),oe):R===62&&s===4?(e.consume(R),D):R===63&&s===3?(e.consume(R),j):R===93&&s===5?(e.consume(R),ne):je(R)&&(s===6||s===7)?(e.exit("htmlFlowData"),e.check(q4,Y,me)(R)):R===null||je(R)?(e.exit("htmlFlowData"),me(R)):(e.consume(R),J)}function me(R){return e.check(K4,le,Y)(R)}function le(R){return e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),ee}function ee(R){return R===null||je(R)?me(R):(e.enter("htmlFlowData"),J(R))}function H(R){return R===45?(e.consume(R),j):J(R)}function oe(R){return R===47?(e.consume(R),c="",ce):J(R)}function ce(R){if(R===62){const ye=c.toLowerCase();return d1.includes(ye)?(e.consume(R),D):J(R)}return Rn(R)&&c.length<8?(e.consume(R),c+=String.fromCharCode(R),ce):J(R)}function ne(R){return R===93?(e.consume(R),j):J(R)}function j(R){return R===62?(e.consume(R),D):R===45&&s===2?(e.consume(R),j):J(R)}function D(R){return R===null||je(R)?(e.exit("htmlFlowData"),Y(R)):(e.consume(R),D)}function Y(R){return e.exit("htmlFlow"),t(R)}}function Q4(e,t,n){const a=this;return s;function s(c){return je(c)?(e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),l):n(c)}function l(c){return a.parser.lazy[a.now().line]?n(c):t(c)}}function Y4(e,t,n){return a;function a(s){return e.enter("lineEnding"),e.consume(s),e.exit("lineEnding"),e.attempt(Bc,t,n)}}const W4={name:"htmlText",tokenize:X4};function X4(e,t,n){const a=this;let s,l,c;return d;function d(j){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(j),f}function f(j){return j===33?(e.consume(j),h):j===47?(e.consume(j),L):j===63?(e.consume(j),A):Rn(j)?(e.consume(j),$):n(j)}function h(j){return j===45?(e.consume(j),b):j===91?(e.consume(j),l=0,E):Rn(j)?(e.consume(j),C):n(j)}function b(j){return j===45?(e.consume(j),v):n(j)}function m(j){return j===null?n(j):j===45?(e.consume(j),x):je(j)?(c=m,oe(j)):(e.consume(j),m)}function x(j){return j===45?(e.consume(j),v):m(j)}function v(j){return j===62?H(j):j===45?x(j):m(j)}function E(j){const D="CDATA[";return j===D.charCodeAt(l++)?(e.consume(j),l===D.length?w:E):n(j)}function w(j){return j===null?n(j):j===93?(e.consume(j),k):je(j)?(c=w,oe(j)):(e.consume(j),w)}function k(j){return j===93?(e.consume(j),N):w(j)}function N(j){return j===62?H(j):j===93?(e.consume(j),N):w(j)}function C(j){return j===null||j===62?H(j):je(j)?(c=C,oe(j)):(e.consume(j),C)}function A(j){return j===null?n(j):j===63?(e.consume(j),T):je(j)?(c=A,oe(j)):(e.consume(j),A)}function T(j){return j===62?H(j):A(j)}function L(j){return Rn(j)?(e.consume(j),M):n(j)}function M(j){return j===45||vn(j)?(e.consume(j),M):U(j)}function U(j){return je(j)?(c=U,oe(j)):Xe(j)?(e.consume(j),U):H(j)}function $(j){return j===45||vn(j)?(e.consume(j),$):j===47||j===62||kt(j)?te(j):n(j)}function te(j){return j===47?(e.consume(j),H):j===58||j===95||Rn(j)?(e.consume(j),P):je(j)?(c=te,oe(j)):Xe(j)?(e.consume(j),te):H(j)}function P(j){return j===45||j===46||j===58||j===95||vn(j)?(e.consume(j),P):Q(j)}function Q(j){return j===61?(e.consume(j),J):je(j)?(c=Q,oe(j)):Xe(j)?(e.consume(j),Q):te(j)}function J(j){return j===null||j===60||j===61||j===62||j===96?n(j):j===34||j===39?(e.consume(j),s=j,me):je(j)?(c=J,oe(j)):Xe(j)?(e.consume(j),J):(e.consume(j),le)}function me(j){return j===s?(e.consume(j),s=void 0,ee):j===null?n(j):je(j)?(c=me,oe(j)):(e.consume(j),me)}function le(j){return j===null||j===34||j===39||j===60||j===61||j===96?n(j):j===47||j===62||kt(j)?te(j):(e.consume(j),le)}function ee(j){return j===47||j===62||kt(j)?te(j):n(j)}function H(j){return j===62?(e.consume(j),e.exit("htmlTextData"),e.exit("htmlText"),t):n(j)}function oe(j){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(j),e.exit("lineEnding"),ce}function ce(j){return Xe(j)?at(e,ne,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(j):ne(j)}function ne(j){return e.enter("htmlTextData"),c(j)}}const Yg={name:"labelEnd",resolveAll:tU,resolveTo:nU,tokenize:iU},Z4={tokenize:aU},J4={tokenize:rU},eU={tokenize:sU};function tU(e){let t=-1;const n=[];for(;++t<e.length;){const a=e[t][1];if(n.push(e[t]),a.type==="labelImage"||a.type==="labelLink"||a.type==="labelEnd"){const s=a.type==="labelImage"?4:2;a.type="data",t+=s}}return e.length!==n.length&&oi(e,0,e.length,n),e}function nU(e,t){let n=e.length,a=0,s,l,c,d;for(;n--;)if(s=e[n][1],l){if(s.type==="link"||s.type==="labelLink"&&s._inactive)break;e[n][0]==="enter"&&s.type==="labelLink"&&(s._inactive=!0)}else if(c){if(e[n][0]==="enter"&&(s.type==="labelImage"||s.type==="labelLink")&&!s._balanced&&(l=n,s.type!=="labelLink")){a=2;break}}else s.type==="labelEnd"&&(c=n);const f={type:e[l][1].type==="labelLink"?"link":"image",start:{...e[l][1].start},end:{...e[e.length-1][1].end}},h={type:"label",start:{...e[l][1].start},end:{...e[c][1].end}},b={type:"labelText",start:{...e[l+a+2][1].end},end:{...e[c-2][1].start}};return d=[["enter",f,t],["enter",h,t]],d=ki(d,e.slice(l+1,l+a+3)),d=ki(d,[["enter",b,t]]),d=ki(d,xf(t.parser.constructs.insideSpan.null,e.slice(l+a+4,c-3),t)),d=ki(d,[["exit",b,t],e[c-2],e[c-1],["exit",h,t]]),d=ki(d,e.slice(c+1)),d=ki(d,[["exit",f,t]]),oi(e,l,e.length,d),e}function iU(e,t,n){const a=this;let s=a.events.length,l,c;for(;s--;)if((a.events[s][1].type==="labelImage"||a.events[s][1].type==="labelLink")&&!a.events[s][1]._balanced){l=a.events[s][1];break}return d;function d(x){return l?l._inactive?m(x):(c=a.parser.defined.includes(Bi(a.sliceSerialize({start:l.end,end:a.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(x),e.exit("labelMarker"),e.exit("labelEnd"),f):n(x)}function f(x){return x===40?e.attempt(Z4,b,c?b:m)(x):x===91?e.attempt(J4,b,c?h:m)(x):c?b(x):m(x)}function h(x){return e.attempt(eU,b,m)(x)}function b(x){return t(x)}function m(x){return l._balanced=!0,n(x)}}function aU(e,t,n){return a;function a(m){return e.enter("resource"),e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),s}function s(m){return kt(m)?dc(e,l)(m):l(m)}function l(m){return m===41?b(m):jS(e,c,d,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(m)}function c(m){return kt(m)?dc(e,f)(m):b(m)}function d(m){return n(m)}function f(m){return m===34||m===39||m===40?DS(e,h,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(m):b(m)}function h(m){return kt(m)?dc(e,b)(m):b(m)}function b(m){return m===41?(e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),e.exit("resource"),t):n(m)}}function rU(e,t,n){const a=this;return s;function s(d){return MS.call(a,e,l,c,"reference","referenceMarker","referenceString")(d)}function l(d){return a.parser.defined.includes(Bi(a.sliceSerialize(a.events[a.events.length-1][1]).slice(1,-1)))?t(d):n(d)}function c(d){return n(d)}}function sU(e,t,n){return a;function a(l){return e.enter("reference"),e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),s}function s(l){return l===93?(e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),e.exit("reference"),t):n(l)}}const lU={name:"labelStartImage",resolveAll:Yg.resolveAll,tokenize:oU};function oU(e,t,n){const a=this;return s;function s(d){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(d),e.exit("labelImageMarker"),l}function l(d){return d===91?(e.enter("labelMarker"),e.consume(d),e.exit("labelMarker"),e.exit("labelImage"),c):n(d)}function c(d){return d===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(d):t(d)}}const cU={name:"labelStartLink",resolveAll:Yg.resolveAll,tokenize:uU};function uU(e,t,n){const a=this;return s;function s(c){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),e.exit("labelLink"),l}function l(c){return c===94&&"_hiddenFootnoteSupport"in a.parser.constructs?n(c):t(c)}}const Xp={name:"lineEnding",tokenize:dU};function dU(e,t){return n;function n(a){return e.enter("lineEnding"),e.consume(a),e.exit("lineEnding"),at(e,t,"linePrefix")}}const Td={name:"thematicBreak",tokenize:fU};function fU(e,t,n){let a=0,s;return l;function l(h){return e.enter("thematicBreak"),c(h)}function c(h){return s=h,d(h)}function d(h){return h===s?(e.enter("thematicBreakSequence"),f(h)):a>=3&&(h===null||je(h))?(e.exit("thematicBreak"),t(h)):n(h)}function f(h){return h===s?(e.consume(h),a++,f):(e.exit("thematicBreakSequence"),Xe(h)?at(e,d,"whitespace")(h):d(h))}}const $n={continuation:{tokenize:gU},exit:yU,name:"list",tokenize:mU},hU={partial:!0,tokenize:xU},pU={partial:!0,tokenize:bU};function mU(e,t,n){const a=this,s=a.events[a.events.length-1];let l=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0,c=0;return d;function d(v){const E=a.containerState.type||(v===42||v===43||v===45?"listUnordered":"listOrdered");if(E==="listUnordered"?!a.containerState.marker||v===a.containerState.marker:Ym(v)){if(a.containerState.type||(a.containerState.type=E,e.enter(E,{_container:!0})),E==="listUnordered")return e.enter("listItemPrefix"),v===42||v===45?e.check(Td,n,h)(v):h(v);if(!a.interrupt||v===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),f(v)}return n(v)}function f(v){return Ym(v)&&++c<10?(e.consume(v),f):(!a.interrupt||c<2)&&(a.containerState.marker?v===a.containerState.marker:v===41||v===46)?(e.exit("listItemValue"),h(v)):n(v)}function h(v){return e.enter("listItemMarker"),e.consume(v),e.exit("listItemMarker"),a.containerState.marker=a.containerState.marker||v,e.check(Bc,a.interrupt?n:b,e.attempt(hU,x,m))}function b(v){return a.containerState.initialBlankLine=!0,l++,x(v)}function m(v){return Xe(v)?(e.enter("listItemPrefixWhitespace"),e.consume(v),e.exit("listItemPrefixWhitespace"),x):n(v)}function x(v){return a.containerState.size=l+a.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(v)}}function gU(e,t,n){const a=this;return a.containerState._closeFlow=void 0,e.check(Bc,s,l);function s(d){return a.containerState.furtherBlankLines=a.containerState.furtherBlankLines||a.containerState.initialBlankLine,at(e,t,"listItemIndent",a.containerState.size+1)(d)}function l(d){return a.containerState.furtherBlankLines||!Xe(d)?(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,c(d)):(a.containerState.furtherBlankLines=void 0,a.containerState.initialBlankLine=void 0,e.attempt(pU,t,c)(d))}function c(d){return a.containerState._closeFlow=!0,a.interrupt=void 0,at(e,e.attempt($n,t,n),"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(d)}}function bU(e,t,n){const a=this;return at(e,s,"listItemIndent",a.containerState.size+1);function s(l){const c=a.events[a.events.length-1];return c&&c[1].type==="listItemIndent"&&c[2].sliceSerialize(c[1],!0).length===a.containerState.size?t(l):n(l)}}function yU(e){e.exit(this.containerState.type)}function xU(e,t,n){const a=this;return at(e,s,"listItemPrefixWhitespace",a.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function s(l){const c=a.events[a.events.length-1];return!Xe(l)&&c&&c[1].type==="listItemPrefixWhitespace"?t(l):n(l)}}const f1={name:"setextUnderline",resolveTo:vU,tokenize:wU};function vU(e,t){let n=e.length,a,s,l;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){a=n;break}e[n][1].type==="paragraph"&&(s=n)}else e[n][1].type==="content"&&e.splice(n,1),!l&&e[n][1].type==="definition"&&(l=n);const c={type:"setextHeading",start:{...e[a][1].start},end:{...e[e.length-1][1].end}};return e[s][1].type="setextHeadingText",l?(e.splice(s,0,["enter",c,t]),e.splice(l+1,0,["exit",e[a][1],t]),e[a][1].end={...e[l][1].end}):e[a][1]=c,e.push(["exit",c,t]),e}function wU(e,t,n){const a=this;let s;return l;function l(h){let b=a.events.length,m;for(;b--;)if(a.events[b][1].type!=="lineEnding"&&a.events[b][1].type!=="linePrefix"&&a.events[b][1].type!=="content"){m=a.events[b][1].type==="paragraph";break}return!a.parser.lazy[a.now().line]&&(a.interrupt||m)?(e.enter("setextHeadingLine"),s=h,c(h)):n(h)}function c(h){return e.enter("setextHeadingLineSequence"),d(h)}function d(h){return h===s?(e.consume(h),d):(e.exit("setextHeadingLineSequence"),Xe(h)?at(e,f,"lineSuffix")(h):f(h))}function f(h){return h===null||je(h)?(e.exit("setextHeadingLine"),t(h)):n(h)}}const EU={tokenize:SU};function SU(e){const t=this,n=e.attempt(Bc,a,e.attempt(this.parser.constructs.flowInitial,s,at(e,e.attempt(this.parser.constructs.flow,s,e.attempt(A4,s)),"linePrefix")));return n;function a(l){if(l===null){e.consume(l);return}return e.enter("lineEndingBlank"),e.consume(l),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function s(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const kU={resolveAll:IS()},NU=LS("string"),_U=LS("text");function LS(e){return{resolveAll:IS(e==="text"?CU:void 0),tokenize:t};function t(n){const a=this,s=this.parser.constructs[e],l=n.attempt(s,c,d);return c;function c(b){return h(b)?l(b):d(b)}function d(b){if(b===null){n.consume(b);return}return n.enter("data"),n.consume(b),f}function f(b){return h(b)?(n.exit("data"),l(b)):(n.consume(b),f)}function h(b){if(b===null)return!0;const m=s[b];let x=-1;if(m)for(;++x<m.length;){const v=m[x];if(!v.previous||v.previous.call(a,a.previous))return!0}return!1}}}function IS(e){return t;function t(n,a){let s=-1,l;for(;++s<=n.length;)l===void 0?n[s]&&n[s][1].type==="data"&&(l=s,s++):(!n[s]||n[s][1].type!=="data")&&(s!==l+2&&(n[l][1].end=n[s-1][1].end,n.splice(l+2,s-l-2),s=l+2),l=void 0);return e?e(n,a):n}}function CU(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const a=e[n-1][1],s=t.sliceStream(a);let l=s.length,c=-1,d=0,f;for(;l--;){const h=s[l];if(typeof h=="string"){for(c=h.length;h.charCodeAt(c-1)===32;)d++,c--;if(c)break;c=-1}else if(h===-2)f=!0,d++;else if(h!==-1){l++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(d=0),d){const h={type:n===e.length||f||d<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:l?c:a.start._bufferIndex+c,_index:a.start._index+l,line:a.end.line,column:a.end.column-d,offset:a.end.offset-d},end:{...a.end}};a.end={...h.start},a.start.offset===a.end.offset?Object.assign(a,h):(e.splice(n,0,["enter",h,t],["exit",h,t]),n+=2)}n++}return e}const AU={42:$n,43:$n,45:$n,48:$n,49:$n,50:$n,51:$n,52:$n,53:$n,54:$n,55:$n,56:$n,57:$n,62:AS},TU={91:M4},OU={[-2]:Wp,[-1]:Wp,32:Wp},RU={35:U4,42:Td,45:[f1,Td],60:H4,61:f1,95:Td,96:u1,126:u1},jU={38:OS,92:TS},MU={[-5]:Xp,[-4]:Xp,[-3]:Xp,33:lU,38:OS,42:Wm,60:[c4,W4],91:cU,92:[z4,TS],93:Yg,95:Wm,96:E4},DU={null:[Wm,kU]},LU={null:[42,95]},IU={null:[]},zU=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:LU,contentInitial:TU,disable:IU,document:AU,flow:RU,flowInitial:OU,insideSpan:DU,string:jU,text:MU},Symbol.toStringTag,{value:"Module"}));function BU(e,t,n){let a={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const s={},l=[];let c=[],d=[];const f={attempt:U(L),check:U(M),consume:C,enter:A,exit:T,interrupt:U(M,{interrupt:!0})},h={code:null,containerState:{},defineSkip:w,events:[],now:E,parser:e,previous:null,sliceSerialize:x,sliceStream:v,write:m};let b=t.tokenize.call(h,f);return t.resolveAll&&l.push(t),h;function m(Q){return c=ki(c,Q),k(),c[c.length-1]!==null?[]:($(t,0),h.events=xf(l,h.events,h),h.events)}function x(Q,J){return PU(v(Q),J)}function v(Q){return UU(c,Q)}function E(){const{_bufferIndex:Q,_index:J,line:me,column:le,offset:ee}=a;return{_bufferIndex:Q,_index:J,line:me,column:le,offset:ee}}function w(Q){s[Q.line]=Q.column,P()}function k(){let Q;for(;a._index<c.length;){const J=c[a._index];if(typeof J=="string")for(Q=a._index,a._bufferIndex<0&&(a._bufferIndex=0);a._index===Q&&a._bufferIndex<J.length;)N(J.charCodeAt(a._bufferIndex));else N(J)}}function N(Q){b=b(Q)}function C(Q){je(Q)?(a.line++,a.column=1,a.offset+=Q===-3?2:1,P()):Q!==-1&&(a.column++,a.offset++),a._bufferIndex<0?a._index++:(a._bufferIndex++,a._bufferIndex===c[a._index].length&&(a._bufferIndex=-1,a._index++)),h.previous=Q}function A(Q,J){const me=J||{};return me.type=Q,me.start=E(),h.events.push(["enter",me,h]),d.push(me),me}function T(Q){const J=d.pop();return J.end=E(),h.events.push(["exit",J,h]),J}function L(Q,J){$(Q,J.from)}function M(Q,J){J.restore()}function U(Q,J){return me;function me(le,ee,H){let oe,ce,ne,j;return Array.isArray(le)?Y(le):"tokenize"in le?Y([le]):D(le);function D(fe){return he;function he(K){const ue=K!==null&&fe[K],Oe=K!==null&&fe.null,dt=[...Array.isArray(ue)?ue:ue?[ue]:[],...Array.isArray(Oe)?Oe:Oe?[Oe]:[]];return Y(dt)(K)}}function Y(fe){return oe=fe,ce=0,fe.length===0?H:R(fe[ce])}function R(fe){return he;function he(K){return j=te(),ne=fe,fe.partial||(h.currentConstruct=fe),fe.name&&h.parser.constructs.disable.null.includes(fe.name)?X():fe.tokenize.call(J?Object.assign(Object.create(h),J):h,f,ye,X)(K)}}function ye(fe){return Q(ne,j),ee}function X(fe){return j.restore(),++ce<oe.length?R(oe[ce]):H}}}function $(Q,J){Q.resolveAll&&!l.includes(Q)&&l.push(Q),Q.resolve&&oi(h.events,J,h.events.length-J,Q.resolve(h.events.slice(J),h)),Q.resolveTo&&(h.events=Q.resolveTo(h.events,h))}function te(){const Q=E(),J=h.previous,me=h.currentConstruct,le=h.events.length,ee=Array.from(d);return{from:le,restore:H};function H(){a=Q,h.previous=J,h.currentConstruct=me,h.events.length=le,d=ee,P()}}function P(){a.line in s&&a.column<2&&(a.column=s[a.line],a.offset+=s[a.line]-1)}}function UU(e,t){const n=t.start._index,a=t.start._bufferIndex,s=t.end._index,l=t.end._bufferIndex;let c;if(n===s)c=[e[n].slice(a,l)];else{if(c=e.slice(n,s),a>-1){const d=c[0];typeof d=="string"?c[0]=d.slice(a):c.shift()}l>0&&c.push(e[s].slice(0,l))}return c}function PU(e,t){let n=-1;const a=[];let s;for(;++n<e.length;){const l=e[n];let c;if(typeof l=="string")c=l;else switch(l){case-5:{c="\r";break}case-4:{c=`
|
|
527
527
|
`;break}case-3:{c=`\r
|
|
528
|
-
`;break}case-2:{c=t?" ":" ";break}case-1:{if(!t&&s)continue;c=" ";break}default:c=String.fromCharCode(l)}s=l===-2,a.push(c)}return a.join("")}function UU(e){const a={constructs:_S([LU,...(e||{}).extensions||[]]),content:s(e4),defined:[],document:s(n4),flow:s(vU),lazy:{},string:s(SU),text:s(kU)};return a;function s(l){return c;function c(d){return IU(a,l,d)}}}function PU(e){for(;!RS(e););return e}const h1=/[\0\t\n\r]/g;function FU(){let e=1,t="",n=!0,a;return s;function s(l,c,d){const f=[];let h,b,m,x,v;for(l=t+(typeof l=="string"?l.toString():new TextDecoder(c||void 0).decode(l)),m=0,t="",n&&(l.charCodeAt(0)===65279&&m++,n=void 0);m<l.length;){if(h1.lastIndex=m,h=h1.exec(l),x=h&&h.index!==void 0?h.index:l.length,v=l.charCodeAt(x),!h){t=l.slice(m);break}if(v===10&&m===x&&a)f.push(-3),a=void 0;else switch(a&&(f.push(-5),a=void 0),m<x&&(f.push(l.slice(m,x)),e+=x-m),v){case 0:{f.push(65533),e++;break}case 9:{for(b=Math.ceil(e/4)*4,f.push(-2);e++<b;)f.push(-1);break}case 10:{f.push(-4),e=1;break}default:a=!0,e=1}m=x+1}return d&&(a&&f.push(-5),t&&f.push(t),f.push(null)),f}}const $U=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function HU(e){return e.replace($U,qU)}function qU(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const s=n.charCodeAt(1),l=s===120||s===88;return CS(n.slice(l?2:1),l?16:10)}return Qg(n)||e}const zS={}.hasOwnProperty;function KU(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),GU(n)(PU(UU(n).document().write(FU()(e,t,!0))))}function GU(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(Hi),autolinkProtocol:te,autolinkEmail:te,atxHeading:l($i),blockQuote:l(Oe),characterEscape:te,characterReference:te,codeFenced:l(dt),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:l(dt,c),codeText:l(ft,c),codeTextData:te,data:te,codeFlowValue:te,definition:l(di),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:l(Yn),hardBreakEscape:l(tt),hardBreakTrailing:l(tt),htmlFlow:l(Oi,c),htmlFlowData:te,htmlText:l(Oi,c),htmlTextData:te,image:l(fi),label:c,link:l(Hi),listItem:l(Rr),listItemValue:x,listOrdered:l(ra,m),listUnordered:l(ra),paragraph:l(to),reference:R,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:l($i),strong:l(Es),thematicBreak:l(Ss)},exit:{atxHeading:f(),atxHeadingSequence:L,autolink:f(),autolinkEmail:ue,autolinkProtocol:K,blockQuote:f(),characterEscapeValue:P,characterReferenceMarkerHexadecimal:X,characterReferenceMarkerNumeric:X,characterReferenceValue:fe,characterReference:he,codeFenced:f(k),codeFencedFence:w,codeFencedFenceInfo:v,codeFencedFenceMeta:E,codeFlowValue:P,codeIndented:f(N),codeText:f(ee),codeTextData:P,data:P,definition:f(),definitionDestinationString:T,definitionLabelString:C,definitionTitleString:A,emphasis:f(),hardBreakEscape:f(J),hardBreakTrailing:f(J),htmlFlow:f(me),htmlFlowData:P,htmlText:f(le),htmlTextData:P,image:f(oe),label:ne,labelText:ce,lineEnding:Q,link:f(H),listItem:f(),listOrdered:f(),listUnordered:f(),paragraph:f(),referenceString:ye,resourceDestinationString:j,resourceTitleString:D,resource:Y,setextHeading:f($),setextHeadingLineSequence:U,setextHeadingText:M,strong:f(),thematicBreak:f()}};BS(t,(e||{}).mdastExtensions||[]);const n={};return a;function a(ie){let be={type:"root",children:[]};const Me={stack:[be],tokenStack:[],config:t,enter:d,exit:h,buffer:c,resume:b,data:n},Ve=[];let rt=-1;for(;++rt<ie.length;)if(ie[rt][1].type==="listOrdered"||ie[rt][1].type==="listUnordered")if(ie[rt][0]==="enter")Ve.push(rt);else{const Sn=Ve.pop();rt=s(ie,Sn,rt)}for(rt=-1;++rt<ie.length;){const Sn=t[ie[rt][0]];zS.call(Sn,ie[rt][1].type)&&Sn[ie[rt][1].type].call(Object.assign({sliceSerialize:ie[rt][2].sliceSerialize},Me),ie[rt][1])}if(Me.tokenStack.length>0){const Sn=Me.tokenStack[Me.tokenStack.length-1];(Sn[1]||p1).call(Me,void 0,Sn[0])}for(be.position={start:fr(ie.length>0?ie[0][1].start:{line:1,column:1,offset:0}),end:fr(ie.length>0?ie[ie.length-2][1].end:{line:1,column:1,offset:0})},rt=-1;++rt<t.transforms.length;)be=t.transforms[rt](be)||be;return be}function s(ie,be,Me){let Ve=be-1,rt=-1,Sn=!1,Ri,cn,Pt,mn;for(;++Ve<=Me;){const ht=ie[Ve];switch(ht[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ht[0]==="enter"?rt++:rt--,mn=void 0;break}case"lineEndingBlank":{ht[0]==="enter"&&(Ri&&!mn&&!rt&&!Pt&&(Pt=Ve),mn=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:mn=void 0}if(!rt&&ht[0]==="enter"&&ht[1].type==="listItemPrefix"||rt===-1&&ht[0]==="exit"&&(ht[1].type==="listUnordered"||ht[1].type==="listOrdered")){if(Ri){let qi=Ve;for(cn=void 0;qi--;){const kn=ie[qi];if(kn[1].type==="lineEnding"||kn[1].type==="lineEndingBlank"){if(kn[0]==="exit")continue;cn&&(ie[cn][1].type="lineEndingBlank",Sn=!0),kn[1].type="lineEnding",cn=qi}else if(!(kn[1].type==="linePrefix"||kn[1].type==="blockQuotePrefix"||kn[1].type==="blockQuotePrefixWhitespace"||kn[1].type==="blockQuoteMarker"||kn[1].type==="listItemIndent"))break}Pt&&(!cn||Pt<cn)&&(Ri._spread=!0),Ri.end=Object.assign({},cn?ie[cn][1].start:ht[1].end),ie.splice(cn||Ve,0,["exit",Ri,ht[2]]),Ve++,Me++}if(ht[1].type==="listItemPrefix"){const qi={type:"listItem",_spread:!1,start:Object.assign({},ht[1].start),end:void 0};Ri=qi,ie.splice(Ve,0,["enter",qi,ht[2]]),Ve++,Me++,Pt=void 0,mn=!0}}}return ie[be][1]._spread=Sn,Me}function l(ie,be){return Me;function Me(Ve){d.call(this,ie(Ve),Ve),be&&be.call(this,Ve)}}function c(){this.stack.push({type:"fragment",children:[]})}function d(ie,be,Me){this.stack[this.stack.length-1].children.push(ie),this.stack.push(ie),this.tokenStack.push([be,Me||void 0]),ie.position={start:fr(be.start),end:void 0}}function f(ie){return be;function be(Me){ie&&ie.call(this,Me),h.call(this,Me)}}function h(ie,be){const Me=this.stack.pop(),Ve=this.tokenStack.pop();if(Ve)Ve[0].type!==ie.type&&(be?be.call(this,ie,Ve[0]):(Ve[1]||p1).call(this,ie,Ve[0]));else throw new Error("Cannot close `"+ie.type+"` ("+uc({start:ie.start,end:ie.end})+"): it’s not open");Me.position.end=fr(ie.end)}function b(){return Vg(this.stack.pop())}function m(){this.data.expectingFirstListItemValue=!0}function x(ie){if(this.data.expectingFirstListItemValue){const be=this.stack[this.stack.length-2];be.start=Number.parseInt(this.sliceSerialize(ie),10),this.data.expectingFirstListItemValue=void 0}}function v(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.lang=ie}function E(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.meta=ie}function w(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function k(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function N(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie.replace(/(\r?\n|\r)$/g,"")}function C(ie){const be=this.resume(),Me=this.stack[this.stack.length-1];Me.label=be,Me.identifier=Bi(this.sliceSerialize(ie)).toLowerCase()}function A(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.title=ie}function T(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.url=ie}function L(ie){const be=this.stack[this.stack.length-1];if(!be.depth){const Me=this.sliceSerialize(ie).length;be.depth=Me}}function M(){this.data.setextHeadingSlurpLineEnding=!0}function U(ie){const be=this.stack[this.stack.length-1];be.depth=this.sliceSerialize(ie).codePointAt(0)===61?1:2}function $(){this.data.setextHeadingSlurpLineEnding=void 0}function te(ie){const Me=this.stack[this.stack.length-1].children;let Ve=Me[Me.length-1];(!Ve||Ve.type!=="text")&&(Ve=Lt(),Ve.position={start:fr(ie.start),end:void 0},Me.push(Ve)),this.stack.push(Ve)}function P(ie){const be=this.stack.pop();be.value+=this.sliceSerialize(ie),be.position.end=fr(ie.end)}function Q(ie){const be=this.stack[this.stack.length-1];if(this.data.atHardBreak){const Me=be.children[be.children.length-1];Me.position.end=fr(ie.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(be.type)&&(te.call(this,ie),P.call(this,ie))}function J(){this.data.atHardBreak=!0}function me(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie}function le(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie}function ee(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie}function H(){const ie=this.stack[this.stack.length-1];if(this.data.inReference){const be=this.data.referenceType||"shortcut";ie.type+="Reference",ie.referenceType=be,delete ie.url,delete ie.title}else delete ie.identifier,delete ie.label;this.data.referenceType=void 0}function oe(){const ie=this.stack[this.stack.length-1];if(this.data.inReference){const be=this.data.referenceType||"shortcut";ie.type+="Reference",ie.referenceType=be,delete ie.url,delete ie.title}else delete ie.identifier,delete ie.label;this.data.referenceType=void 0}function ce(ie){const be=this.sliceSerialize(ie),Me=this.stack[this.stack.length-2];Me.label=HU(be),Me.identifier=Bi(be).toLowerCase()}function ne(){const ie=this.stack[this.stack.length-1],be=this.resume(),Me=this.stack[this.stack.length-1];if(this.data.inReference=!0,Me.type==="link"){const Ve=ie.children;Me.children=Ve}else Me.alt=be}function j(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.url=ie}function D(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.title=ie}function Y(){this.data.inReference=void 0}function R(){this.data.referenceType="collapsed"}function ye(ie){const be=this.resume(),Me=this.stack[this.stack.length-1];Me.label=be,Me.identifier=Bi(this.sliceSerialize(ie)).toLowerCase(),this.data.referenceType="full"}function X(ie){this.data.characterReferenceType=ie.type}function fe(ie){const be=this.sliceSerialize(ie),Me=this.data.characterReferenceType;let Ve;Me?(Ve=CS(be,Me==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Ve=Qg(be);const rt=this.stack[this.stack.length-1];rt.value+=Ve}function he(ie){const be=this.stack.pop();be.position.end=fr(ie.end)}function K(ie){P.call(this,ie);const be=this.stack[this.stack.length-1];be.url=this.sliceSerialize(ie)}function ue(ie){P.call(this,ie);const be=this.stack[this.stack.length-1];be.url="mailto:"+this.sliceSerialize(ie)}function Oe(){return{type:"blockquote",children:[]}}function dt(){return{type:"code",lang:null,meta:null,value:""}}function ft(){return{type:"inlineCode",value:""}}function di(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Yn(){return{type:"emphasis",children:[]}}function $i(){return{type:"heading",depth:0,children:[]}}function tt(){return{type:"break"}}function Oi(){return{type:"html",value:""}}function fi(){return{type:"image",title:null,url:"",alt:null}}function Hi(){return{type:"link",title:null,url:"",children:[]}}function ra(ie){return{type:"list",ordered:ie.type==="listOrdered",start:null,spread:ie._spread,children:[]}}function Rr(ie){return{type:"listItem",spread:ie._spread,checked:null,children:[]}}function to(){return{type:"paragraph",children:[]}}function Es(){return{type:"strong",children:[]}}function Lt(){return{type:"text",value:""}}function Ss(){return{type:"thematicBreak"}}}function fr(e){return{line:e.line,column:e.column,offset:e.offset}}function BS(e,t){let n=-1;for(;++n<t.length;){const a=t[n];Array.isArray(a)?BS(e,a):VU(e,a)}}function VU(e,t){let n;for(n in t)if(zS.call(t,n))switch(n){case"canContainEols":{const a=t[n];a&&e[n].push(...a);break}case"transforms":{const a=t[n];a&&e[n].push(...a);break}case"enter":case"exit":{const a=t[n];a&&Object.assign(e[n],a);break}}}function p1(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+uc({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+uc({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+uc({start:t.start,end:t.end})+") is still open")}function QU(e){const t=this;t.parser=n;function n(a){return KU(a,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function YU(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function WU(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
529
|
-
`}]}function
|
|
530
|
-
`:"",a={},s=t.lang?t.lang.split(/\s+/):[];s.length>0&&(a.className=["language-"+s[0]]);let l={type:"element",tagName:"code",properties:a,children:[{type:"text",value:n}]};return t.meta&&(l.data={meta:t.meta}),e.patch(t,l),l=e.applyData(t,l),l={type:"element",tagName:"pre",properties:{},children:[l]},e.patch(t,l),l}function
|
|
528
|
+
`;break}case-2:{c=t?" ":" ";break}case-1:{if(!t&&s)continue;c=" ";break}default:c=String.fromCharCode(l)}s=l===-2,a.push(c)}return a.join("")}function FU(e){const a={constructs:_S([zU,...(e||{}).extensions||[]]),content:s(n4),defined:[],document:s(a4),flow:s(EU),lazy:{},string:s(NU),text:s(_U)};return a;function s(l){return c;function c(d){return BU(a,l,d)}}}function $U(e){for(;!RS(e););return e}const h1=/[\0\t\n\r]/g;function HU(){let e=1,t="",n=!0,a;return s;function s(l,c,d){const f=[];let h,b,m,x,v;for(l=t+(typeof l=="string"?l.toString():new TextDecoder(c||void 0).decode(l)),m=0,t="",n&&(l.charCodeAt(0)===65279&&m++,n=void 0);m<l.length;){if(h1.lastIndex=m,h=h1.exec(l),x=h&&h.index!==void 0?h.index:l.length,v=l.charCodeAt(x),!h){t=l.slice(m);break}if(v===10&&m===x&&a)f.push(-3),a=void 0;else switch(a&&(f.push(-5),a=void 0),m<x&&(f.push(l.slice(m,x)),e+=x-m),v){case 0:{f.push(65533),e++;break}case 9:{for(b=Math.ceil(e/4)*4,f.push(-2);e++<b;)f.push(-1);break}case 10:{f.push(-4),e=1;break}default:a=!0,e=1}m=x+1}return d&&(a&&f.push(-5),t&&f.push(t),f.push(null)),f}}const qU=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function KU(e){return e.replace(qU,GU)}function GU(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const s=n.charCodeAt(1),l=s===120||s===88;return CS(n.slice(l?2:1),l?16:10)}return Qg(n)||e}const zS={}.hasOwnProperty;function VU(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),QU(n)($U(FU(n).document().write(HU()(e,t,!0))))}function QU(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(Hi),autolinkProtocol:te,autolinkEmail:te,atxHeading:l($i),blockQuote:l(Oe),characterEscape:te,characterReference:te,codeFenced:l(dt),codeFencedFenceInfo:c,codeFencedFenceMeta:c,codeIndented:l(dt,c),codeText:l(ft,c),codeTextData:te,data:te,codeFlowValue:te,definition:l(di),definitionDestinationString:c,definitionLabelString:c,definitionTitleString:c,emphasis:l(Yn),hardBreakEscape:l(tt),hardBreakTrailing:l(tt),htmlFlow:l(Oi,c),htmlFlowData:te,htmlText:l(Oi,c),htmlTextData:te,image:l(fi),label:c,link:l(Hi),listItem:l(Rr),listItemValue:x,listOrdered:l(ra,m),listUnordered:l(ra),paragraph:l(to),reference:R,referenceString:c,resourceDestinationString:c,resourceTitleString:c,setextHeading:l($i),strong:l(Es),thematicBreak:l(Ss)},exit:{atxHeading:f(),atxHeadingSequence:L,autolink:f(),autolinkEmail:ue,autolinkProtocol:K,blockQuote:f(),characterEscapeValue:P,characterReferenceMarkerHexadecimal:X,characterReferenceMarkerNumeric:X,characterReferenceValue:fe,characterReference:he,codeFenced:f(k),codeFencedFence:w,codeFencedFenceInfo:v,codeFencedFenceMeta:E,codeFlowValue:P,codeIndented:f(N),codeText:f(ee),codeTextData:P,data:P,definition:f(),definitionDestinationString:T,definitionLabelString:C,definitionTitleString:A,emphasis:f(),hardBreakEscape:f(J),hardBreakTrailing:f(J),htmlFlow:f(me),htmlFlowData:P,htmlText:f(le),htmlTextData:P,image:f(oe),label:ne,labelText:ce,lineEnding:Q,link:f(H),listItem:f(),listOrdered:f(),listUnordered:f(),paragraph:f(),referenceString:ye,resourceDestinationString:j,resourceTitleString:D,resource:Y,setextHeading:f($),setextHeadingLineSequence:U,setextHeadingText:M,strong:f(),thematicBreak:f()}};BS(t,(e||{}).mdastExtensions||[]);const n={};return a;function a(ie){let be={type:"root",children:[]};const Me={stack:[be],tokenStack:[],config:t,enter:d,exit:h,buffer:c,resume:b,data:n},Ve=[];let rt=-1;for(;++rt<ie.length;)if(ie[rt][1].type==="listOrdered"||ie[rt][1].type==="listUnordered")if(ie[rt][0]==="enter")Ve.push(rt);else{const Sn=Ve.pop();rt=s(ie,Sn,rt)}for(rt=-1;++rt<ie.length;){const Sn=t[ie[rt][0]];zS.call(Sn,ie[rt][1].type)&&Sn[ie[rt][1].type].call(Object.assign({sliceSerialize:ie[rt][2].sliceSerialize},Me),ie[rt][1])}if(Me.tokenStack.length>0){const Sn=Me.tokenStack[Me.tokenStack.length-1];(Sn[1]||p1).call(Me,void 0,Sn[0])}for(be.position={start:fr(ie.length>0?ie[0][1].start:{line:1,column:1,offset:0}),end:fr(ie.length>0?ie[ie.length-2][1].end:{line:1,column:1,offset:0})},rt=-1;++rt<t.transforms.length;)be=t.transforms[rt](be)||be;return be}function s(ie,be,Me){let Ve=be-1,rt=-1,Sn=!1,Ri,cn,Pt,mn;for(;++Ve<=Me;){const ht=ie[Ve];switch(ht[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{ht[0]==="enter"?rt++:rt--,mn=void 0;break}case"lineEndingBlank":{ht[0]==="enter"&&(Ri&&!mn&&!rt&&!Pt&&(Pt=Ve),mn=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:mn=void 0}if(!rt&&ht[0]==="enter"&&ht[1].type==="listItemPrefix"||rt===-1&&ht[0]==="exit"&&(ht[1].type==="listUnordered"||ht[1].type==="listOrdered")){if(Ri){let qi=Ve;for(cn=void 0;qi--;){const kn=ie[qi];if(kn[1].type==="lineEnding"||kn[1].type==="lineEndingBlank"){if(kn[0]==="exit")continue;cn&&(ie[cn][1].type="lineEndingBlank",Sn=!0),kn[1].type="lineEnding",cn=qi}else if(!(kn[1].type==="linePrefix"||kn[1].type==="blockQuotePrefix"||kn[1].type==="blockQuotePrefixWhitespace"||kn[1].type==="blockQuoteMarker"||kn[1].type==="listItemIndent"))break}Pt&&(!cn||Pt<cn)&&(Ri._spread=!0),Ri.end=Object.assign({},cn?ie[cn][1].start:ht[1].end),ie.splice(cn||Ve,0,["exit",Ri,ht[2]]),Ve++,Me++}if(ht[1].type==="listItemPrefix"){const qi={type:"listItem",_spread:!1,start:Object.assign({},ht[1].start),end:void 0};Ri=qi,ie.splice(Ve,0,["enter",qi,ht[2]]),Ve++,Me++,Pt=void 0,mn=!0}}}return ie[be][1]._spread=Sn,Me}function l(ie,be){return Me;function Me(Ve){d.call(this,ie(Ve),Ve),be&&be.call(this,Ve)}}function c(){this.stack.push({type:"fragment",children:[]})}function d(ie,be,Me){this.stack[this.stack.length-1].children.push(ie),this.stack.push(ie),this.tokenStack.push([be,Me||void 0]),ie.position={start:fr(be.start),end:void 0}}function f(ie){return be;function be(Me){ie&&ie.call(this,Me),h.call(this,Me)}}function h(ie,be){const Me=this.stack.pop(),Ve=this.tokenStack.pop();if(Ve)Ve[0].type!==ie.type&&(be?be.call(this,ie,Ve[0]):(Ve[1]||p1).call(this,ie,Ve[0]));else throw new Error("Cannot close `"+ie.type+"` ("+uc({start:ie.start,end:ie.end})+"): it’s not open");Me.position.end=fr(ie.end)}function b(){return Vg(this.stack.pop())}function m(){this.data.expectingFirstListItemValue=!0}function x(ie){if(this.data.expectingFirstListItemValue){const be=this.stack[this.stack.length-2];be.start=Number.parseInt(this.sliceSerialize(ie),10),this.data.expectingFirstListItemValue=void 0}}function v(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.lang=ie}function E(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.meta=ie}function w(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function k(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function N(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie.replace(/(\r?\n|\r)$/g,"")}function C(ie){const be=this.resume(),Me=this.stack[this.stack.length-1];Me.label=be,Me.identifier=Bi(this.sliceSerialize(ie)).toLowerCase()}function A(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.title=ie}function T(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.url=ie}function L(ie){const be=this.stack[this.stack.length-1];if(!be.depth){const Me=this.sliceSerialize(ie).length;be.depth=Me}}function M(){this.data.setextHeadingSlurpLineEnding=!0}function U(ie){const be=this.stack[this.stack.length-1];be.depth=this.sliceSerialize(ie).codePointAt(0)===61?1:2}function $(){this.data.setextHeadingSlurpLineEnding=void 0}function te(ie){const Me=this.stack[this.stack.length-1].children;let Ve=Me[Me.length-1];(!Ve||Ve.type!=="text")&&(Ve=Lt(),Ve.position={start:fr(ie.start),end:void 0},Me.push(Ve)),this.stack.push(Ve)}function P(ie){const be=this.stack.pop();be.value+=this.sliceSerialize(ie),be.position.end=fr(ie.end)}function Q(ie){const be=this.stack[this.stack.length-1];if(this.data.atHardBreak){const Me=be.children[be.children.length-1];Me.position.end=fr(ie.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(be.type)&&(te.call(this,ie),P.call(this,ie))}function J(){this.data.atHardBreak=!0}function me(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie}function le(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie}function ee(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.value=ie}function H(){const ie=this.stack[this.stack.length-1];if(this.data.inReference){const be=this.data.referenceType||"shortcut";ie.type+="Reference",ie.referenceType=be,delete ie.url,delete ie.title}else delete ie.identifier,delete ie.label;this.data.referenceType=void 0}function oe(){const ie=this.stack[this.stack.length-1];if(this.data.inReference){const be=this.data.referenceType||"shortcut";ie.type+="Reference",ie.referenceType=be,delete ie.url,delete ie.title}else delete ie.identifier,delete ie.label;this.data.referenceType=void 0}function ce(ie){const be=this.sliceSerialize(ie),Me=this.stack[this.stack.length-2];Me.label=KU(be),Me.identifier=Bi(be).toLowerCase()}function ne(){const ie=this.stack[this.stack.length-1],be=this.resume(),Me=this.stack[this.stack.length-1];if(this.data.inReference=!0,Me.type==="link"){const Ve=ie.children;Me.children=Ve}else Me.alt=be}function j(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.url=ie}function D(){const ie=this.resume(),be=this.stack[this.stack.length-1];be.title=ie}function Y(){this.data.inReference=void 0}function R(){this.data.referenceType="collapsed"}function ye(ie){const be=this.resume(),Me=this.stack[this.stack.length-1];Me.label=be,Me.identifier=Bi(this.sliceSerialize(ie)).toLowerCase(),this.data.referenceType="full"}function X(ie){this.data.characterReferenceType=ie.type}function fe(ie){const be=this.sliceSerialize(ie),Me=this.data.characterReferenceType;let Ve;Me?(Ve=CS(be,Me==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Ve=Qg(be);const rt=this.stack[this.stack.length-1];rt.value+=Ve}function he(ie){const be=this.stack.pop();be.position.end=fr(ie.end)}function K(ie){P.call(this,ie);const be=this.stack[this.stack.length-1];be.url=this.sliceSerialize(ie)}function ue(ie){P.call(this,ie);const be=this.stack[this.stack.length-1];be.url="mailto:"+this.sliceSerialize(ie)}function Oe(){return{type:"blockquote",children:[]}}function dt(){return{type:"code",lang:null,meta:null,value:""}}function ft(){return{type:"inlineCode",value:""}}function di(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function Yn(){return{type:"emphasis",children:[]}}function $i(){return{type:"heading",depth:0,children:[]}}function tt(){return{type:"break"}}function Oi(){return{type:"html",value:""}}function fi(){return{type:"image",title:null,url:"",alt:null}}function Hi(){return{type:"link",title:null,url:"",children:[]}}function ra(ie){return{type:"list",ordered:ie.type==="listOrdered",start:null,spread:ie._spread,children:[]}}function Rr(ie){return{type:"listItem",spread:ie._spread,checked:null,children:[]}}function to(){return{type:"paragraph",children:[]}}function Es(){return{type:"strong",children:[]}}function Lt(){return{type:"text",value:""}}function Ss(){return{type:"thematicBreak"}}}function fr(e){return{line:e.line,column:e.column,offset:e.offset}}function BS(e,t){let n=-1;for(;++n<t.length;){const a=t[n];Array.isArray(a)?BS(e,a):YU(e,a)}}function YU(e,t){let n;for(n in t)if(zS.call(t,n))switch(n){case"canContainEols":{const a=t[n];a&&e[n].push(...a);break}case"transforms":{const a=t[n];a&&e[n].push(...a);break}case"enter":case"exit":{const a=t[n];a&&Object.assign(e[n],a);break}}}function p1(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+uc({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+uc({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+uc({start:t.start,end:t.end})+") is still open")}function WU(e){const t=this;t.parser=n;function n(a){return VU(a,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function XU(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function ZU(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
529
|
+
`}]}function JU(e,t){const n=t.value?t.value+`
|
|
530
|
+
`:"",a={},s=t.lang?t.lang.split(/\s+/):[];s.length>0&&(a.className=["language-"+s[0]]);let l={type:"element",tagName:"code",properties:a,children:[{type:"text",value:n}]};return t.meta&&(l.data={meta:t.meta}),e.patch(t,l),l=e.applyData(t,l),l={type:"element",tagName:"pre",properties:{},children:[l]},e.patch(t,l),l}function eP(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function tP(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function nP(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",a=String(t.identifier).toUpperCase(),s=eo(a.toLowerCase()),l=e.footnoteOrder.indexOf(a);let c,d=e.footnoteCounts.get(a);d===void 0?(d=0,e.footnoteOrder.push(a),c=e.footnoteOrder.length):c=l+1,d+=1,e.footnoteCounts.set(a,d);const f={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+s,id:n+"fnref-"+s+(d>1?"-"+d:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(c)}]};e.patch(t,f);const h={type:"element",tagName:"sup",properties:{},children:[f]};return e.patch(t,h),e.applyData(t,h)}function iP(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function aP(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function US(e,t){const n=t.referenceType;let a="]";if(n==="collapsed"?a+="[]":n==="full"&&(a+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+a}];const s=e.all(t),l=s[0];l&&l.type==="text"?l.value="["+l.value:s.unshift({type:"text",value:"["});const c=s[s.length-1];return c&&c.type==="text"?c.value+=a:s.push({type:"text",value:a}),s}function rP(e,t){const n=String(t.identifier).toUpperCase(),a=e.definitionById.get(n);if(!a)return US(e,t);const s={src:eo(a.url||""),alt:t.alt};a.title!==null&&a.title!==void 0&&(s.title=a.title);const l={type:"element",tagName:"img",properties:s,children:[]};return e.patch(t,l),e.applyData(t,l)}function sP(e,t){const n={src:eo(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const a={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,a),e.applyData(t,a)}function lP(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const a={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,a),e.applyData(t,a)}function oP(e,t){const n=String(t.identifier).toUpperCase(),a=e.definitionById.get(n);if(!a)return US(e,t);const s={href:eo(a.url||"")};a.title!==null&&a.title!==void 0&&(s.title=a.title);const l={type:"element",tagName:"a",properties:s,children:e.all(t)};return e.patch(t,l),e.applyData(t,l)}function cP(e,t){const n={href:eo(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const a={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function uP(e,t,n){const a=e.all(t),s=n?dP(n):PS(t),l={},c=[];if(typeof t.checked=="boolean"){const b=a[0];let m;b&&b.type==="element"&&b.tagName==="p"?m=b:(m={type:"element",tagName:"p",properties:{},children:[]},a.unshift(m)),m.children.length>0&&m.children.unshift({type:"text",value:" "}),m.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),l.className=["task-list-item"]}let d=-1;for(;++d<a.length;){const b=a[d];(s||d!==0||b.type!=="element"||b.tagName!=="p")&&c.push({type:"text",value:`
|
|
531
531
|
`}),b.type==="element"&&b.tagName==="p"&&!s?c.push(...b.children):c.push(b)}const f=a[a.length-1];f&&(s||f.type!=="element"||f.tagName!=="p")&&c.push({type:"text",value:`
|
|
532
|
-
`});const h={type:"element",tagName:"li",properties:l,children:c};return e.patch(t,h),e.applyData(t,h)}function
|
|
532
|
+
`});const h={type:"element",tagName:"li",properties:l,children:c};return e.patch(t,h),e.applyData(t,h)}function dP(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let a=-1;for(;!t&&++a<n.length;)t=PS(n[a])}return t}function PS(e){const t=e.spread;return t??e.children.length>1}function fP(e,t){const n={},a=e.all(t);let s=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++s<a.length;){const c=a[s];if(c.type==="element"&&c.tagName==="li"&&c.properties&&Array.isArray(c.properties.className)&&c.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const l={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(a,!0)};return e.patch(t,l),e.applyData(t,l)}function hP(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function pP(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function mP(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function gP(e,t){const n=e.all(t),a=n.shift(),s=[];if(a){const c={type:"element",tagName:"thead",properties:{},children:e.wrap([a],!0)};e.patch(t.children[0],c),s.push(c)}if(n.length>0){const c={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},d=Hg(t.children[1]),f=xS(t.children[t.children.length-1]);d&&f&&(c.position={start:d,end:f}),s.push(c)}const l={type:"element",tagName:"table",properties:{},children:e.wrap(s,!0)};return e.patch(t,l),e.applyData(t,l)}function bP(e,t,n){const a=n?n.children:void 0,l=(a?a.indexOf(t):1)===0?"th":"td",c=n&&n.type==="table"?n.align:void 0,d=c?c.length:t.children.length;let f=-1;const h=[];for(;++f<d;){const m=t.children[f],x={},v=c?c[f]:void 0;v&&(x.align=v);let E={type:"element",tagName:l,properties:x,children:[]};m&&(E.children=e.all(m),e.patch(m,E),E=e.applyData(m,E)),h.push(E)}const b={type:"element",tagName:"tr",properties:{},children:e.wrap(h,!0)};return e.patch(t,b),e.applyData(t,b)}function yP(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const m1=9,g1=32;function xP(e){const t=String(e),n=/\r?\n|\r/g;let a=n.exec(t),s=0;const l=[];for(;a;)l.push(b1(t.slice(s,a.index),s>0,!0),a[0]),s=a.index+a[0].length,a=n.exec(t);return l.push(b1(t.slice(s),s>0,!1)),l.join("")}function b1(e,t,n){let a=0,s=e.length;if(t){let l=e.codePointAt(a);for(;l===m1||l===g1;)a++,l=e.codePointAt(a)}if(n){let l=e.codePointAt(s-1);for(;l===m1||l===g1;)s--,l=e.codePointAt(s-1)}return s>a?e.slice(a,s):""}function vP(e,t){const n={type:"text",value:xP(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function wP(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const EP={blockquote:XU,break:ZU,code:JU,delete:eP,emphasis:tP,footnoteReference:nP,heading:iP,html:aP,imageReference:rP,image:sP,inlineCode:lP,linkReference:oP,link:cP,listItem:uP,list:fP,paragraph:hP,root:pP,strong:mP,table:gP,tableCell:yP,tableRow:bP,text:vP,thematicBreak:wP,toml:hd,yaml:hd,definition:hd,footnoteDefinition:hd};function hd(){}const FS=-1,vf=0,fc=1,qd=2,Wg=3,Xg=4,Zg=5,Jg=6,$S=7,HS=8,y1=typeof self=="object"?self:globalThis,SP=(e,t)=>{const n=(s,l)=>(e.set(l,s),s),a=s=>{if(e.has(s))return e.get(s);const[l,c]=t[s];switch(l){case vf:case FS:return n(c,s);case fc:{const d=n([],s);for(const f of c)d.push(a(f));return d}case qd:{const d=n({},s);for(const[f,h]of c)d[a(f)]=a(h);return d}case Wg:return n(new Date(c),s);case Xg:{const{source:d,flags:f}=c;return n(new RegExp(d,f),s)}case Zg:{const d=n(new Map,s);for(const[f,h]of c)d.set(a(f),a(h));return d}case Jg:{const d=n(new Set,s);for(const f of c)d.add(a(f));return d}case $S:{const{name:d,message:f}=c;return n(new y1[d](f),s)}case HS:return n(BigInt(c),s);case"BigInt":return n(Object(BigInt(c)),s);case"ArrayBuffer":return n(new Uint8Array(c).buffer,c);case"DataView":{const{buffer:d}=new Uint8Array(c);return n(new DataView(d),c)}}return n(new y1[l](c),s)};return a},x1=e=>SP(new Map,e)(0),pl="",{toString:kP}={},{keys:NP}=Object,ac=e=>{const t=typeof e;if(t!=="object"||!e)return[vf,t];const n=kP.call(e).slice(8,-1);switch(n){case"Array":return[fc,pl];case"Object":return[qd,pl];case"Date":return[Wg,pl];case"RegExp":return[Xg,pl];case"Map":return[Zg,pl];case"Set":return[Jg,pl];case"DataView":return[fc,n]}return n.includes("Array")?[fc,n]:n.includes("Error")?[$S,n]:[qd,n]},pd=([e,t])=>e===vf&&(t==="function"||t==="symbol"),_P=(e,t,n,a)=>{const s=(c,d)=>{const f=a.push(c)-1;return n.set(d,f),f},l=c=>{if(n.has(c))return n.get(c);let[d,f]=ac(c);switch(d){case vf:{let b=c;switch(f){case"bigint":d=HS,b=c.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+f);b=null;break;case"undefined":return s([FS],c)}return s([d,b],c)}case fc:{if(f){let x=c;return f==="DataView"?x=new Uint8Array(c.buffer):f==="ArrayBuffer"&&(x=new Uint8Array(c)),s([f,[...x]],c)}const b=[],m=s([d,b],c);for(const x of c)b.push(l(x));return m}case qd:{if(f)switch(f){case"BigInt":return s([f,c.toString()],c);case"Boolean":case"Number":case"String":return s([f,c.valueOf()],c)}if(t&&"toJSON"in c)return l(c.toJSON());const b=[],m=s([d,b],c);for(const x of NP(c))(e||!pd(ac(c[x])))&&b.push([l(x),l(c[x])]);return m}case Wg:return s([d,c.toISOString()],c);case Xg:{const{source:b,flags:m}=c;return s([d,{source:b,flags:m}],c)}case Zg:{const b=[],m=s([d,b],c);for(const[x,v]of c)(e||!(pd(ac(x))||pd(ac(v))))&&b.push([l(x),l(v)]);return m}case Jg:{const b=[],m=s([d,b],c);for(const x of c)(e||!pd(ac(x)))&&b.push(l(x));return m}}const{message:h}=c;return s([d,{name:f,message:h}],c)};return l},v1=(e,{json:t,lossy:n}={})=>{const a=[];return _P(!(t||n),!!t,new Map,a)(e),a},Kd=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?x1(v1(e,t)):structuredClone(e):(e,t)=>x1(v1(e,t));function CP(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function AP(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function TP(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||CP,a=e.options.footnoteBackLabel||AP,s=e.options.footnoteLabel||"Footnotes",l=e.options.footnoteLabelTagName||"h2",c=e.options.footnoteLabelProperties||{className:["sr-only"]},d=[];let f=-1;for(;++f<e.footnoteOrder.length;){const h=e.footnoteById.get(e.footnoteOrder[f]);if(!h)continue;const b=e.all(h),m=String(h.identifier).toUpperCase(),x=eo(m.toLowerCase());let v=0;const E=[],w=e.footnoteCounts.get(m);for(;w!==void 0&&++v<=w;){E.length>0&&E.push({type:"text",value:" "});let C=typeof n=="string"?n:n(f,v);typeof C=="string"&&(C={type:"text",value:C}),E.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+x+(v>1?"-"+v:""),dataFootnoteBackref:"",ariaLabel:typeof a=="string"?a:a(f,v),className:["data-footnote-backref"]},children:Array.isArray(C)?C:[C]})}const k=b[b.length-1];if(k&&k.type==="element"&&k.tagName==="p"){const C=k.children[k.children.length-1];C&&C.type==="text"?C.value+=" ":k.children.push({type:"text",value:" "}),k.children.push(...E)}else b.push(...E);const N={type:"element",tagName:"li",properties:{id:t+"fn-"+x},children:e.wrap(b,!0)};e.patch(h,N),d.push(N)}if(d.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:l,properties:{...Kd(c),id:"footnote-label"},children:[{type:"text",value:s}]},{type:"text",value:`
|
|
533
533
|
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(d,!0)},{type:"text",value:`
|
|
534
|
-
`}]}}const Uc=(function(e){if(e==null)return
|
|
534
|
+
`}]}}const Uc=(function(e){if(e==null)return MP;if(typeof e=="function")return wf(e);if(typeof e=="object")return Array.isArray(e)?OP(e):RP(e);if(typeof e=="string")return jP(e);throw new Error("Expected function, string, or object as test")});function OP(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=Uc(e[n]);return wf(a);function a(...s){let l=-1;for(;++l<t.length;)if(t[l].apply(this,s))return!0;return!1}}function RP(e){const t=e;return wf(n);function n(a){const s=a;let l;for(l in e)if(s[l]!==t[l])return!1;return!0}}function jP(e){return wf(t);function t(n){return n&&n.type===e}}function wf(e){return t;function t(n,a,s){return!!(DP(n)&&e.call(this,n,typeof a=="number"?a:void 0,s||void 0))}}function MP(){return!0}function DP(e){return e!==null&&typeof e=="object"&&"type"in e}const qS=[],LP=!0,Xm=!1,IP="skip";function KS(e,t,n,a){let s;typeof t=="function"&&typeof n!="function"?(a=n,n=t):s=t;const l=Uc(s),c=a?-1:1;d(e,void 0,[])();function d(f,h,b){const m=f&&typeof f=="object"?f:{};if(typeof m.type=="string"){const v=typeof m.tagName=="string"?m.tagName:typeof m.name=="string"?m.name:void 0;Object.defineProperty(x,"name",{value:"node ("+(f.type+(v?"<"+v+">":""))+")"})}return x;function x(){let v=qS,E,w,k;if((!t||l(f,h,b[b.length-1]||void 0))&&(v=zP(n(f,b)),v[0]===Xm))return v;if("children"in f&&f.children){const N=f;if(N.children&&v[0]!==IP)for(w=(a?N.children.length:-1)+c,k=b.concat(N);w>-1&&w<N.children.length;){const C=N.children[w];if(E=d(C,w,k)(),E[0]===Xm)return E;w=typeof E[1]=="number"?E[1]:w+c}}return v}}}function zP(e){return Array.isArray(e)?e:typeof e=="number"?[LP,e]:e==null?qS:[e]}function Ef(e,t,n,a){let s,l,c;typeof t=="function"&&typeof n!="function"?(l=void 0,c=t,s=n):(l=t,c=n,s=a),KS(e,l,d,s);function d(f,h){const b=h[h.length-1],m=b?b.children.indexOf(f):void 0;return c(f,m,b)}}const Zm={}.hasOwnProperty,BP={};function UP(e,t){const n=t||BP,a=new Map,s=new Map,l=new Map,c={...EP,...n.handlers},d={all:h,applyData:FP,definitionById:a,footnoteById:s,footnoteCounts:l,footnoteOrder:[],handlers:c,one:f,options:n,patch:PP,wrap:HP};return Ef(e,function(b){if(b.type==="definition"||b.type==="footnoteDefinition"){const m=b.type==="definition"?a:s,x=String(b.identifier).toUpperCase();m.has(x)||m.set(x,b)}}),d;function f(b,m){const x=b.type,v=d.handlers[x];if(Zm.call(d.handlers,x)&&v)return v(d,b,m);if(d.options.passThrough&&d.options.passThrough.includes(x)){if("children"in b){const{children:w,...k}=b,N=Kd(k);return N.children=d.all(b),N}return Kd(b)}return(d.options.unknownHandler||$P)(d,b,m)}function h(b){const m=[];if("children"in b){const x=b.children;let v=-1;for(;++v<x.length;){const E=d.one(x[v],b);if(E){if(v&&x[v-1].type==="break"&&(!Array.isArray(E)&&E.type==="text"&&(E.value=w1(E.value)),!Array.isArray(E)&&E.type==="element")){const w=E.children[0];w&&w.type==="text"&&(w.value=w1(w.value))}Array.isArray(E)?m.push(...E):m.push(E)}}}return m}}function PP(e,t){e.position&&(t.position=AB(e))}function FP(e,t){let n=t;if(e&&e.data){const a=e.data.hName,s=e.data.hChildren,l=e.data.hProperties;if(typeof a=="string")if(n.type==="element")n.tagName=a;else{const c="children"in n?n.children:[n];n={type:"element",tagName:a,properties:{},children:c}}n.type==="element"&&l&&Object.assign(n.properties,Kd(l)),"children"in n&&n.children&&s!==null&&s!==void 0&&(n.children=s)}return n}function $P(e,t){const n=t.data||{},a="value"in t&&!(Zm.call(n,"hProperties")||Zm.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,a),e.applyData(t,a)}function HP(e,t){const n=[];let a=-1;for(t&&n.push({type:"text",value:`
|
|
535
535
|
`});++a<e.length;)a&&n.push({type:"text",value:`
|
|
536
536
|
`}),n.push(e[a]);return t&&e.length>0&&n.push({type:"text",value:`
|
|
537
|
-
`}),n}function w1(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function E1(e,t){const n=
|
|
538
|
-
`},s),l}function $P(e,t){return e&&"run"in e?async function(n,a){const s=E1(n,{file:a,...t});await e.run(s,a)}:function(n,a){return E1(n,{file:a,...e||t})}}function S1(e){if(e)throw e}var Zp,k1;function HP(){if(k1)return Zp;k1=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=function(h){return typeof Array.isArray=="function"?Array.isArray(h):t.call(h)==="[object Array]"},l=function(h){if(!h||t.call(h)!=="[object Object]")return!1;var b=e.call(h,"constructor"),m=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!b&&!m)return!1;var x;for(x in h);return typeof x>"u"||e.call(h,x)},c=function(h,b){n&&b.name==="__proto__"?n(h,b.name,{enumerable:!0,configurable:!0,value:b.newValue,writable:!0}):h[b.name]=b.newValue},d=function(h,b){if(b==="__proto__")if(e.call(h,b)){if(a)return a(h,b).value}else return;return h[b]};return Zp=function f(){var h,b,m,x,v,E,w=arguments[0],k=1,N=arguments.length,C=!1;for(typeof w=="boolean"&&(C=w,w=arguments[1]||{},k=2),(w==null||typeof w!="object"&&typeof w!="function")&&(w={});k<N;++k)if(h=arguments[k],h!=null)for(b in h)m=d(w,b),x=d(h,b),w!==x&&(C&&x&&(l(x)||(v=s(x)))?(v?(v=!1,E=m&&s(m)?m:[]):E=m&&l(m)?m:{},c(w,{name:b,newValue:f(C,E,x)})):typeof x<"u"&&c(w,{name:b,newValue:x}));return w},Zp}var qP=HP();const Jp=ag(qP);function Jm(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function KP(){const e=[],t={run:n,use:a};return t;function n(...s){let l=-1;const c=s.pop();if(typeof c!="function")throw new TypeError("Expected function as last argument, not "+c);d(null,...s);function d(f,...h){const b=e[++l];let m=-1;if(f){c(f);return}for(;++m<s.length;)(h[m]===null||h[m]===void 0)&&(h[m]=s[m]);s=h,b?GP(b,d)(...h):c(null,...h)}}function a(s){if(typeof s!="function")throw new TypeError("Expected `middelware` to be a function, not "+s);return e.push(s),t}}function GP(e,t){let n;return a;function a(...c){const d=e.length>c.length;let f;d&&c.push(s);try{f=e.apply(this,c)}catch(h){const b=h;if(d&&n)throw b;return s(b)}d||(f&&f.then&&typeof f.then=="function"?f.then(l,s):f instanceof Error?s(f):l(f))}function s(c,...d){n||(n=!0,t(c,...d))}function l(c){s(null,c)}}const Xi={basename:VP,dirname:QP,extname:YP,join:WP,sep:"/"};function VP(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Pc(e);let n=0,a=-1,s=e.length,l;if(t===void 0||t.length===0||t.length>e.length){for(;s--;)if(e.codePointAt(s)===47){if(l){n=s+1;break}}else a<0&&(l=!0,a=s+1);return a<0?"":e.slice(n,a)}if(t===e)return"";let c=-1,d=t.length-1;for(;s--;)if(e.codePointAt(s)===47){if(l){n=s+1;break}}else c<0&&(l=!0,c=s+1),d>-1&&(e.codePointAt(s)===t.codePointAt(d--)?d<0&&(a=s):(d=-1,a=c));return n===a?a=c:a<0&&(a=e.length),e.slice(n,a)}function QP(e){if(Pc(e),e.length===0)return".";let t=-1,n=e.length,a;for(;--n;)if(e.codePointAt(n)===47){if(a){t=n;break}}else a||(a=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function YP(e){Pc(e);let t=e.length,n=-1,a=0,s=-1,l=0,c;for(;t--;){const d=e.codePointAt(t);if(d===47){if(c){a=t+1;break}continue}n<0&&(c=!0,n=t+1),d===46?s<0?s=t:l!==1&&(l=1):s>-1&&(l=-1)}return s<0||n<0||l===0||l===1&&s===n-1&&s===a+1?"":e.slice(s,n)}function WP(...e){let t=-1,n;for(;++t<e.length;)Pc(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":XP(n)}function XP(e){Pc(e);const t=e.codePointAt(0)===47;let n=ZP(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function ZP(e,t){let n="",a=0,s=-1,l=0,c=-1,d,f;for(;++c<=e.length;){if(c<e.length)d=e.codePointAt(c);else{if(d===47)break;d=47}if(d===47){if(!(s===c-1||l===1))if(s!==c-1&&l===2){if(n.length<2||a!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(f=n.lastIndexOf("/"),f!==n.length-1){f<0?(n="",a=0):(n=n.slice(0,f),a=n.length-1-n.lastIndexOf("/")),s=c,l=0;continue}}else if(n.length>0){n="",a=0,s=c,l=0;continue}}t&&(n=n.length>0?n+"/..":"..",a=2)}else n.length>0?n+="/"+e.slice(s+1,c):n=e.slice(s+1,c),a=c-s-1;s=c,l=0}else d===46&&l>-1?l++:l=-1}return n}function Pc(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const JP={cwd:eF};function eF(){return"/"}function eg(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function tF(e){if(typeof e=="string")e=new URL(e);else if(!eg(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return nF(e)}function nF(e){if(e.hostname!==""){const a=new TypeError('File URL host must be "localhost" or empty on darwin');throw a.code="ERR_INVALID_FILE_URL_HOST",a}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const a=t.codePointAt(n+2);if(a===70||a===102){const s=new TypeError("File URL path must not include encoded / characters");throw s.code="ERR_INVALID_FILE_URL_PATH",s}}return decodeURIComponent(t)}const em=["history","path","basename","stem","extname","dirname"];class GS{constructor(t){let n;t?eg(t)?n={path:t}:typeof t=="string"||iF(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":JP.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let a=-1;for(;++a<em.length;){const l=em[a];l in n&&n[l]!==void 0&&n[l]!==null&&(this[l]=l==="history"?[...n[l]]:n[l])}let s;for(s in n)em.includes(s)||(this[s]=n[s])}get basename(){return typeof this.path=="string"?Xi.basename(this.path):void 0}set basename(t){nm(t,"basename"),tm(t,"basename"),this.path=Xi.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Xi.dirname(this.path):void 0}set dirname(t){N1(this.basename,"dirname"),this.path=Xi.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Xi.extname(this.path):void 0}set extname(t){if(tm(t,"extname"),N1(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Xi.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){eg(t)&&(t=tF(t)),nm(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Xi.basename(this.path,this.extname):void 0}set stem(t){nm(t,"stem"),tm(t,"stem"),this.path=Xi.join(this.dirname||"",t+(this.extname||""))}fail(t,n,a){const s=this.message(t,n,a);throw s.fatal=!0,s}info(t,n,a){const s=this.message(t,n,a);return s.fatal=void 0,s}message(t,n,a){const s=new En(t,n,a);return this.path&&(s.name=this.path+":"+s.name,s.file=this.path),s.fatal=!1,this.messages.push(s),s}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function tm(e,t){if(e&&e.includes(Xi.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Xi.sep+"`")}function nm(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function N1(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function iF(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const aF=(function(e){const a=this.constructor.prototype,s=a[e],l=function(){return s.apply(l,arguments)};return Object.setPrototypeOf(l,a),l}),rF={}.hasOwnProperty;class eb extends aF{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=KP()}copy(){const t=new eb;let n=-1;for(;++n<this.attachers.length;){const a=this.attachers[n];t.use(...a)}return t.data(Jp(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(rm("data",this.frozen),this.namespace[t]=n,this):rF.call(this.namespace,t)&&this.namespace[t]||void 0:t?(rm("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...a]=this.attachers[this.freezeIndex];if(a[0]===!1)continue;a[0]===!0&&(a[0]=void 0);const s=n.call(t,...a);typeof s=="function"&&this.transformers.use(s)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=md(t),a=this.parser||this.Parser;return im("parse",a),a(String(n),n)}process(t,n){const a=this;return this.freeze(),im("process",this.parser||this.Parser),am("process",this.compiler||this.Compiler),n?s(void 0,n):new Promise(s);function s(l,c){const d=md(t),f=a.parse(d);a.run(f,d,function(b,m,x){if(b||!m||!x)return h(b);const v=m,E=a.stringify(v,x);oF(E)?x.value=E:x.result=E,h(b,x)});function h(b,m){b||!m?c(b):l?l(m):n(void 0,m)}}}processSync(t){let n=!1,a;return this.freeze(),im("processSync",this.parser||this.Parser),am("processSync",this.compiler||this.Compiler),this.process(t,s),C1("processSync","process",n),a;function s(l,c){n=!0,S1(l),a=c}}run(t,n,a){_1(t),this.freeze();const s=this.transformers;return!a&&typeof n=="function"&&(a=n,n=void 0),a?l(void 0,a):new Promise(l);function l(c,d){const f=md(n);s.run(t,f,h);function h(b,m,x){const v=m||t;b?d(b):c?c(v):a(void 0,v,x)}}}runSync(t,n){let a=!1,s;return this.run(t,n,l),C1("runSync","run",a),s;function l(c,d){S1(c),s=d,a=!0}}stringify(t,n){this.freeze();const a=md(n),s=this.compiler||this.Compiler;return am("stringify",s),_1(t),s(t,a)}use(t,...n){const a=this.attachers,s=this.namespace;if(rm("use",this.frozen),t!=null)if(typeof t=="function")f(t,n);else if(typeof t=="object")Array.isArray(t)?d(t):c(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function l(h){if(typeof h=="function")f(h,[]);else if(typeof h=="object")if(Array.isArray(h)){const[b,...m]=h;f(b,m)}else c(h);else throw new TypeError("Expected usable value, not `"+h+"`")}function c(h){if(!("plugins"in h)&&!("settings"in h))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");d(h.plugins),h.settings&&(s.settings=Jp(!0,s.settings,h.settings))}function d(h){let b=-1;if(h!=null)if(Array.isArray(h))for(;++b<h.length;){const m=h[b];l(m)}else throw new TypeError("Expected a list of plugins, not `"+h+"`")}function f(h,b){let m=-1,x=-1;for(;++m<a.length;)if(a[m][0]===h){x=m;break}if(x===-1)a.push([h,...b]);else if(b.length>0){let[v,...E]=b;const w=a[x][1];Jm(w)&&Jm(v)&&(v=Jp(!0,w,v)),a[x]=[h,v,...E]}}}}const sF=new eb().freeze();function im(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function am(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function rm(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function _1(e){if(!Jm(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function C1(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function md(e){return lF(e)?e:new GS(e)}function lF(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function oF(e){return typeof e=="string"||cF(e)}function cF(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const uF="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",A1=[],T1={allowDangerousHtml:!0},dF=/^(https?|ircs?|mailto|xmpp)$/i,fF=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function tb(e){const t=hF(e),n=pF(e);return mF(t.runSync(t.parse(n),n),e)}function hF(e){const t=e.rehypePlugins||A1,n=e.remarkPlugins||A1,a=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...T1}:T1;return sF().use(QU).use(n).use($P,a).use(t)}function pF(e){const t=e.children||"",n=new GS;return typeof t=="string"&&(n.value=t),n}function mF(e,t){const n=t.allowedElements,a=t.allowElement,s=t.components,l=t.disallowedElements,c=t.skipHtml,d=t.unwrapDisallowed,f=t.urlTransform||gF;for(const b of fF)Object.hasOwn(t,b.from)&&(""+b.from+(b.to?"use `"+b.to+"` instead":"remove it")+uF+b.id,void 0);return Ef(e,h),RB(e,{Fragment:p.Fragment,components:s,ignoreInvalidStyle:!0,jsx:p.jsx,jsxs:p.jsxs,passKeys:!0,passNode:!0});function h(b,m,x){if(b.type==="raw"&&x&&typeof m=="number")return c?x.children.splice(m,1):x.children[m]={type:"text",value:b.value},m;if(b.type==="element"){let v;for(v in Yp)if(Object.hasOwn(Yp,v)&&Object.hasOwn(b.properties,v)){const E=b.properties[v],w=Yp[v];(w===null||w.includes(b.tagName))&&(b.properties[v]=f(String(E||""),v,b))}}if(b.type==="element"){let v=n?!n.includes(b.tagName):l?l.includes(b.tagName):!1;if(!v&&a&&typeof m=="number"&&(v=!a(b,m,x)),v&&x&&typeof m=="number")return d&&b.children?x.children.splice(m,1,...b.children):x.children.splice(m,1),m}}}function gF(e){const t=e.indexOf(":"),n=e.indexOf("?"),a=e.indexOf("#"),s=e.indexOf("/");return t===-1||s!==-1&&t>s||n!==-1&&t>n||a!==-1&&t>a||dF.test(e.slice(0,t))?e:""}function O1(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let a=0,s=n.indexOf(t);for(;s!==-1;)a++,s=n.indexOf(t,s+t.length);return a}function bF(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function yF(e,t,n){const s=Uc((n||{}).ignore||[]),l=xF(t);let c=-1;for(;++c<l.length;)KS(e,"text",d);function d(h,b){let m=-1,x;for(;++m<b.length;){const v=b[m],E=x?x.children:void 0;if(s(v,E?E.indexOf(v):void 0,x))return;x=v}if(x)return f(h,b)}function f(h,b){const m=b[b.length-1],x=l[c][0],v=l[c][1];let E=0;const k=m.children.indexOf(h);let N=!1,C=[];x.lastIndex=0;let A=x.exec(h.value);for(;A;){const T=A.index,L={index:A.index,input:A.input,stack:[...b,h]};let M=v(...A,L);if(typeof M=="string"&&(M=M.length>0?{type:"text",value:M}:void 0),M===!1?x.lastIndex=T+1:(E!==T&&C.push({type:"text",value:h.value.slice(E,T)}),Array.isArray(M)?C.push(...M):M&&C.push(M),E=T+A[0].length,N=!0),!x.global)break;A=x.exec(h.value)}return N?(E<h.value.length&&C.push({type:"text",value:h.value.slice(E)}),m.children.splice(k,1,...C)):C=[h],k+C.length}}function xF(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<n.length;){const s=n[a];t.push([vF(s[0]),wF(s[1])])}return t}function vF(e){return typeof e=="string"?new RegExp(bF(e),"g"):e}function wF(e){return typeof e=="function"?e:function(){return e}}const sm="phrasing",lm=["autolink","link","image","label"];function EF(){return{transforms:[TF],enter:{literalAutolink:kF,literalAutolinkEmail:om,literalAutolinkHttp:om,literalAutolinkWww:om},exit:{literalAutolink:AF,literalAutolinkEmail:CF,literalAutolinkHttp:NF,literalAutolinkWww:_F}}}function SF(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:sm,notInConstruct:lm},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:sm,notInConstruct:lm},{character:":",before:"[ps]",after:"\\/",inConstruct:sm,notInConstruct:lm}]}}function kF(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function om(e){this.config.enter.autolinkProtocol.call(this,e)}function NF(e){this.config.exit.autolinkProtocol.call(this,e)}function _F(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function CF(e){this.config.exit.autolinkEmail.call(this,e)}function AF(e){this.exit(e)}function TF(e){yF(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,OF],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),RF]],{ignore:["link","linkReference"]})}function OF(e,t,n,a,s){let l="";if(!VS(s)||(/^w/i.test(t)&&(n=t+n,t="",l="http://"),!jF(n)))return!1;const c=MF(n+a);if(!c[0])return!1;const d={type:"link",title:null,url:l+t+c[0],children:[{type:"text",value:t+c[0]}]};return c[1]?[d,{type:"text",value:c[1]}]:d}function RF(e,t,n,a){return!VS(a,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function jF(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function MF(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")");const s=O1(e,"(");let l=O1(e,")");for(;a!==-1&&s>l;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),l++;return[e,n]}function VS(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||gs(n)||yf(n))&&(!t||n!==47)}QS.peek=$F;function DF(){this.buffer()}function LF(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function IF(){this.buffer()}function zF(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function BF(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Bi(this.sliceSerialize(e)).toLowerCase(),n.label=t}function UF(e){this.exit(e)}function PF(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Bi(this.sliceSerialize(e)).toLowerCase(),n.label=t}function FF(e){this.exit(e)}function $F(){return"["}function QS(e,t,n,a){const s=n.createTracker(a);let l=s.move("[^");const c=n.enter("footnoteReference"),d=n.enter("reference");return l+=s.move(n.safe(n.associationId(e),{after:"]",before:l})),d(),c(),l+=s.move("]"),l}function HF(){return{enter:{gfmFootnoteCallString:DF,gfmFootnoteCall:LF,gfmFootnoteDefinitionLabelString:IF,gfmFootnoteDefinition:zF},exit:{gfmFootnoteCallString:BF,gfmFootnoteCall:UF,gfmFootnoteDefinitionLabelString:PF,gfmFootnoteDefinition:FF}}}function qF(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:QS},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(a,s,l,c){const d=l.createTracker(c);let f=d.move("[^");const h=l.enter("footnoteDefinition"),b=l.enter("label");return f+=d.move(l.safe(l.associationId(a),{before:f,after:"]"})),b(),f+=d.move("]:"),a.children&&a.children.length>0&&(d.shift(4),f+=d.move((t?`
|
|
539
|
-
`:" ")+l.indentLines(l.containerFlow(a,d.current()),t?YS:
|
|
540
|
-
`)}function
|
|
541
|
-
`&&
|
|
542
|
-
`}function
|
|
537
|
+
`}),n}function w1(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function E1(e,t){const n=UP(e,t),a=n.one(e,void 0),s=TP(n),l=Array.isArray(a)?{type:"root",children:a}:a||{type:"root",children:[]};return s&&l.children.push({type:"text",value:`
|
|
538
|
+
`},s),l}function qP(e,t){return e&&"run"in e?async function(n,a){const s=E1(n,{file:a,...t});await e.run(s,a)}:function(n,a){return E1(n,{file:a,...e||t})}}function S1(e){if(e)throw e}var Zp,k1;function KP(){if(k1)return Zp;k1=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,a=Object.getOwnPropertyDescriptor,s=function(h){return typeof Array.isArray=="function"?Array.isArray(h):t.call(h)==="[object Array]"},l=function(h){if(!h||t.call(h)!=="[object Object]")return!1;var b=e.call(h,"constructor"),m=h.constructor&&h.constructor.prototype&&e.call(h.constructor.prototype,"isPrototypeOf");if(h.constructor&&!b&&!m)return!1;var x;for(x in h);return typeof x>"u"||e.call(h,x)},c=function(h,b){n&&b.name==="__proto__"?n(h,b.name,{enumerable:!0,configurable:!0,value:b.newValue,writable:!0}):h[b.name]=b.newValue},d=function(h,b){if(b==="__proto__")if(e.call(h,b)){if(a)return a(h,b).value}else return;return h[b]};return Zp=function f(){var h,b,m,x,v,E,w=arguments[0],k=1,N=arguments.length,C=!1;for(typeof w=="boolean"&&(C=w,w=arguments[1]||{},k=2),(w==null||typeof w!="object"&&typeof w!="function")&&(w={});k<N;++k)if(h=arguments[k],h!=null)for(b in h)m=d(w,b),x=d(h,b),w!==x&&(C&&x&&(l(x)||(v=s(x)))?(v?(v=!1,E=m&&s(m)?m:[]):E=m&&l(m)?m:{},c(w,{name:b,newValue:f(C,E,x)})):typeof x<"u"&&c(w,{name:b,newValue:x}));return w},Zp}var GP=KP();const Jp=ag(GP);function Jm(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function VP(){const e=[],t={run:n,use:a};return t;function n(...s){let l=-1;const c=s.pop();if(typeof c!="function")throw new TypeError("Expected function as last argument, not "+c);d(null,...s);function d(f,...h){const b=e[++l];let m=-1;if(f){c(f);return}for(;++m<s.length;)(h[m]===null||h[m]===void 0)&&(h[m]=s[m]);s=h,b?QP(b,d)(...h):c(null,...h)}}function a(s){if(typeof s!="function")throw new TypeError("Expected `middelware` to be a function, not "+s);return e.push(s),t}}function QP(e,t){let n;return a;function a(...c){const d=e.length>c.length;let f;d&&c.push(s);try{f=e.apply(this,c)}catch(h){const b=h;if(d&&n)throw b;return s(b)}d||(f&&f.then&&typeof f.then=="function"?f.then(l,s):f instanceof Error?s(f):l(f))}function s(c,...d){n||(n=!0,t(c,...d))}function l(c){s(null,c)}}const Xi={basename:YP,dirname:WP,extname:XP,join:ZP,sep:"/"};function YP(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Pc(e);let n=0,a=-1,s=e.length,l;if(t===void 0||t.length===0||t.length>e.length){for(;s--;)if(e.codePointAt(s)===47){if(l){n=s+1;break}}else a<0&&(l=!0,a=s+1);return a<0?"":e.slice(n,a)}if(t===e)return"";let c=-1,d=t.length-1;for(;s--;)if(e.codePointAt(s)===47){if(l){n=s+1;break}}else c<0&&(l=!0,c=s+1),d>-1&&(e.codePointAt(s)===t.codePointAt(d--)?d<0&&(a=s):(d=-1,a=c));return n===a?a=c:a<0&&(a=e.length),e.slice(n,a)}function WP(e){if(Pc(e),e.length===0)return".";let t=-1,n=e.length,a;for(;--n;)if(e.codePointAt(n)===47){if(a){t=n;break}}else a||(a=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function XP(e){Pc(e);let t=e.length,n=-1,a=0,s=-1,l=0,c;for(;t--;){const d=e.codePointAt(t);if(d===47){if(c){a=t+1;break}continue}n<0&&(c=!0,n=t+1),d===46?s<0?s=t:l!==1&&(l=1):s>-1&&(l=-1)}return s<0||n<0||l===0||l===1&&s===n-1&&s===a+1?"":e.slice(s,n)}function ZP(...e){let t=-1,n;for(;++t<e.length;)Pc(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":JP(n)}function JP(e){Pc(e);const t=e.codePointAt(0)===47;let n=eF(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function eF(e,t){let n="",a=0,s=-1,l=0,c=-1,d,f;for(;++c<=e.length;){if(c<e.length)d=e.codePointAt(c);else{if(d===47)break;d=47}if(d===47){if(!(s===c-1||l===1))if(s!==c-1&&l===2){if(n.length<2||a!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(f=n.lastIndexOf("/"),f!==n.length-1){f<0?(n="",a=0):(n=n.slice(0,f),a=n.length-1-n.lastIndexOf("/")),s=c,l=0;continue}}else if(n.length>0){n="",a=0,s=c,l=0;continue}}t&&(n=n.length>0?n+"/..":"..",a=2)}else n.length>0?n+="/"+e.slice(s+1,c):n=e.slice(s+1,c),a=c-s-1;s=c,l=0}else d===46&&l>-1?l++:l=-1}return n}function Pc(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const tF={cwd:nF};function nF(){return"/"}function eg(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function iF(e){if(typeof e=="string")e=new URL(e);else if(!eg(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return aF(e)}function aF(e){if(e.hostname!==""){const a=new TypeError('File URL host must be "localhost" or empty on darwin');throw a.code="ERR_INVALID_FILE_URL_HOST",a}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const a=t.codePointAt(n+2);if(a===70||a===102){const s=new TypeError("File URL path must not include encoded / characters");throw s.code="ERR_INVALID_FILE_URL_PATH",s}}return decodeURIComponent(t)}const em=["history","path","basename","stem","extname","dirname"];class GS{constructor(t){let n;t?eg(t)?n={path:t}:typeof t=="string"||rF(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":tF.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let a=-1;for(;++a<em.length;){const l=em[a];l in n&&n[l]!==void 0&&n[l]!==null&&(this[l]=l==="history"?[...n[l]]:n[l])}let s;for(s in n)em.includes(s)||(this[s]=n[s])}get basename(){return typeof this.path=="string"?Xi.basename(this.path):void 0}set basename(t){nm(t,"basename"),tm(t,"basename"),this.path=Xi.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Xi.dirname(this.path):void 0}set dirname(t){N1(this.basename,"dirname"),this.path=Xi.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Xi.extname(this.path):void 0}set extname(t){if(tm(t,"extname"),N1(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Xi.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){eg(t)&&(t=iF(t)),nm(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Xi.basename(this.path,this.extname):void 0}set stem(t){nm(t,"stem"),tm(t,"stem"),this.path=Xi.join(this.dirname||"",t+(this.extname||""))}fail(t,n,a){const s=this.message(t,n,a);throw s.fatal=!0,s}info(t,n,a){const s=this.message(t,n,a);return s.fatal=void 0,s}message(t,n,a){const s=new En(t,n,a);return this.path&&(s.name=this.path+":"+s.name,s.file=this.path),s.fatal=!1,this.messages.push(s),s}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function tm(e,t){if(e&&e.includes(Xi.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Xi.sep+"`")}function nm(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function N1(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function rF(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const sF=(function(e){const a=this.constructor.prototype,s=a[e],l=function(){return s.apply(l,arguments)};return Object.setPrototypeOf(l,a),l}),lF={}.hasOwnProperty;class eb extends sF{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=VP()}copy(){const t=new eb;let n=-1;for(;++n<this.attachers.length;){const a=this.attachers[n];t.use(...a)}return t.data(Jp(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(rm("data",this.frozen),this.namespace[t]=n,this):lF.call(this.namespace,t)&&this.namespace[t]||void 0:t?(rm("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...a]=this.attachers[this.freezeIndex];if(a[0]===!1)continue;a[0]===!0&&(a[0]=void 0);const s=n.call(t,...a);typeof s=="function"&&this.transformers.use(s)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=md(t),a=this.parser||this.Parser;return im("parse",a),a(String(n),n)}process(t,n){const a=this;return this.freeze(),im("process",this.parser||this.Parser),am("process",this.compiler||this.Compiler),n?s(void 0,n):new Promise(s);function s(l,c){const d=md(t),f=a.parse(d);a.run(f,d,function(b,m,x){if(b||!m||!x)return h(b);const v=m,E=a.stringify(v,x);uF(E)?x.value=E:x.result=E,h(b,x)});function h(b,m){b||!m?c(b):l?l(m):n(void 0,m)}}}processSync(t){let n=!1,a;return this.freeze(),im("processSync",this.parser||this.Parser),am("processSync",this.compiler||this.Compiler),this.process(t,s),C1("processSync","process",n),a;function s(l,c){n=!0,S1(l),a=c}}run(t,n,a){_1(t),this.freeze();const s=this.transformers;return!a&&typeof n=="function"&&(a=n,n=void 0),a?l(void 0,a):new Promise(l);function l(c,d){const f=md(n);s.run(t,f,h);function h(b,m,x){const v=m||t;b?d(b):c?c(v):a(void 0,v,x)}}}runSync(t,n){let a=!1,s;return this.run(t,n,l),C1("runSync","run",a),s;function l(c,d){S1(c),s=d,a=!0}}stringify(t,n){this.freeze();const a=md(n),s=this.compiler||this.Compiler;return am("stringify",s),_1(t),s(t,a)}use(t,...n){const a=this.attachers,s=this.namespace;if(rm("use",this.frozen),t!=null)if(typeof t=="function")f(t,n);else if(typeof t=="object")Array.isArray(t)?d(t):c(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function l(h){if(typeof h=="function")f(h,[]);else if(typeof h=="object")if(Array.isArray(h)){const[b,...m]=h;f(b,m)}else c(h);else throw new TypeError("Expected usable value, not `"+h+"`")}function c(h){if(!("plugins"in h)&&!("settings"in h))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");d(h.plugins),h.settings&&(s.settings=Jp(!0,s.settings,h.settings))}function d(h){let b=-1;if(h!=null)if(Array.isArray(h))for(;++b<h.length;){const m=h[b];l(m)}else throw new TypeError("Expected a list of plugins, not `"+h+"`")}function f(h,b){let m=-1,x=-1;for(;++m<a.length;)if(a[m][0]===h){x=m;break}if(x===-1)a.push([h,...b]);else if(b.length>0){let[v,...E]=b;const w=a[x][1];Jm(w)&&Jm(v)&&(v=Jp(!0,w,v)),a[x]=[h,v,...E]}}}}const oF=new eb().freeze();function im(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function am(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function rm(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function _1(e){if(!Jm(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function C1(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function md(e){return cF(e)?e:new GS(e)}function cF(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function uF(e){return typeof e=="string"||dF(e)}function dF(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const fF="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",A1=[],T1={allowDangerousHtml:!0},hF=/^(https?|ircs?|mailto|xmpp)$/i,pF=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function tb(e){const t=mF(e),n=gF(e);return bF(t.runSync(t.parse(n),n),e)}function mF(e){const t=e.rehypePlugins||A1,n=e.remarkPlugins||A1,a=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...T1}:T1;return oF().use(WU).use(n).use(qP,a).use(t)}function gF(e){const t=e.children||"",n=new GS;return typeof t=="string"&&(n.value=t),n}function bF(e,t){const n=t.allowedElements,a=t.allowElement,s=t.components,l=t.disallowedElements,c=t.skipHtml,d=t.unwrapDisallowed,f=t.urlTransform||yF;for(const b of pF)Object.hasOwn(t,b.from)&&(""+b.from+(b.to?"use `"+b.to+"` instead":"remove it")+fF+b.id,void 0);return Ef(e,h),MB(e,{Fragment:p.Fragment,components:s,ignoreInvalidStyle:!0,jsx:p.jsx,jsxs:p.jsxs,passKeys:!0,passNode:!0});function h(b,m,x){if(b.type==="raw"&&x&&typeof m=="number")return c?x.children.splice(m,1):x.children[m]={type:"text",value:b.value},m;if(b.type==="element"){let v;for(v in Yp)if(Object.hasOwn(Yp,v)&&Object.hasOwn(b.properties,v)){const E=b.properties[v],w=Yp[v];(w===null||w.includes(b.tagName))&&(b.properties[v]=f(String(E||""),v,b))}}if(b.type==="element"){let v=n?!n.includes(b.tagName):l?l.includes(b.tagName):!1;if(!v&&a&&typeof m=="number"&&(v=!a(b,m,x)),v&&x&&typeof m=="number")return d&&b.children?x.children.splice(m,1,...b.children):x.children.splice(m,1),m}}}function yF(e){const t=e.indexOf(":"),n=e.indexOf("?"),a=e.indexOf("#"),s=e.indexOf("/");return t===-1||s!==-1&&t>s||n!==-1&&t>n||a!==-1&&t>a||hF.test(e.slice(0,t))?e:""}function O1(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let a=0,s=n.indexOf(t);for(;s!==-1;)a++,s=n.indexOf(t,s+t.length);return a}function xF(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function vF(e,t,n){const s=Uc((n||{}).ignore||[]),l=wF(t);let c=-1;for(;++c<l.length;)KS(e,"text",d);function d(h,b){let m=-1,x;for(;++m<b.length;){const v=b[m],E=x?x.children:void 0;if(s(v,E?E.indexOf(v):void 0,x))return;x=v}if(x)return f(h,b)}function f(h,b){const m=b[b.length-1],x=l[c][0],v=l[c][1];let E=0;const k=m.children.indexOf(h);let N=!1,C=[];x.lastIndex=0;let A=x.exec(h.value);for(;A;){const T=A.index,L={index:A.index,input:A.input,stack:[...b,h]};let M=v(...A,L);if(typeof M=="string"&&(M=M.length>0?{type:"text",value:M}:void 0),M===!1?x.lastIndex=T+1:(E!==T&&C.push({type:"text",value:h.value.slice(E,T)}),Array.isArray(M)?C.push(...M):M&&C.push(M),E=T+A[0].length,N=!0),!x.global)break;A=x.exec(h.value)}return N?(E<h.value.length&&C.push({type:"text",value:h.value.slice(E)}),m.children.splice(k,1,...C)):C=[h],k+C.length}}function wF(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let a=-1;for(;++a<n.length;){const s=n[a];t.push([EF(s[0]),SF(s[1])])}return t}function EF(e){return typeof e=="string"?new RegExp(xF(e),"g"):e}function SF(e){return typeof e=="function"?e:function(){return e}}const sm="phrasing",lm=["autolink","link","image","label"];function kF(){return{transforms:[RF],enter:{literalAutolink:_F,literalAutolinkEmail:om,literalAutolinkHttp:om,literalAutolinkWww:om},exit:{literalAutolink:OF,literalAutolinkEmail:TF,literalAutolinkHttp:CF,literalAutolinkWww:AF}}}function NF(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:sm,notInConstruct:lm},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:sm,notInConstruct:lm},{character:":",before:"[ps]",after:"\\/",inConstruct:sm,notInConstruct:lm}]}}function _F(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function om(e){this.config.enter.autolinkProtocol.call(this,e)}function CF(e){this.config.exit.autolinkProtocol.call(this,e)}function AF(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function TF(e){this.config.exit.autolinkEmail.call(this,e)}function OF(e){this.exit(e)}function RF(e){vF(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,jF],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),MF]],{ignore:["link","linkReference"]})}function jF(e,t,n,a,s){let l="";if(!VS(s)||(/^w/i.test(t)&&(n=t+n,t="",l="http://"),!DF(n)))return!1;const c=LF(n+a);if(!c[0])return!1;const d={type:"link",title:null,url:l+t+c[0],children:[{type:"text",value:t+c[0]}]};return c[1]?[d,{type:"text",value:c[1]}]:d}function MF(e,t,n,a){return!VS(a,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function DF(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function LF(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],a=n.indexOf(")");const s=O1(e,"(");let l=O1(e,")");for(;a!==-1&&s>l;)e+=n.slice(0,a+1),n=n.slice(a+1),a=n.indexOf(")"),l++;return[e,n]}function VS(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||gs(n)||yf(n))&&(!t||n!==47)}QS.peek=qF;function IF(){this.buffer()}function zF(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function BF(){this.buffer()}function UF(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function PF(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Bi(this.sliceSerialize(e)).toLowerCase(),n.label=t}function FF(e){this.exit(e)}function $F(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Bi(this.sliceSerialize(e)).toLowerCase(),n.label=t}function HF(e){this.exit(e)}function qF(){return"["}function QS(e,t,n,a){const s=n.createTracker(a);let l=s.move("[^");const c=n.enter("footnoteReference"),d=n.enter("reference");return l+=s.move(n.safe(n.associationId(e),{after:"]",before:l})),d(),c(),l+=s.move("]"),l}function KF(){return{enter:{gfmFootnoteCallString:IF,gfmFootnoteCall:zF,gfmFootnoteDefinitionLabelString:BF,gfmFootnoteDefinition:UF},exit:{gfmFootnoteCallString:PF,gfmFootnoteCall:FF,gfmFootnoteDefinitionLabelString:$F,gfmFootnoteDefinition:HF}}}function GF(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:QS},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(a,s,l,c){const d=l.createTracker(c);let f=d.move("[^");const h=l.enter("footnoteDefinition"),b=l.enter("label");return f+=d.move(l.safe(l.associationId(a),{before:f,after:"]"})),b(),f+=d.move("]:"),a.children&&a.children.length>0&&(d.shift(4),f+=d.move((t?`
|
|
539
|
+
`:" ")+l.indentLines(l.containerFlow(a,d.current()),t?YS:VF))),h(),f}}function VF(e,t,n){return t===0?e:YS(e,t,n)}function YS(e,t,n){return(n?"":" ")+e}const QF=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];WS.peek=JF;function YF(){return{canContainEols:["delete"],enter:{strikethrough:XF},exit:{strikethrough:ZF}}}function WF(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:QF}],handlers:{delete:WS}}}function XF(e){this.enter({type:"delete",children:[]},e)}function ZF(e){this.exit(e)}function WS(e,t,n,a){const s=n.createTracker(a),l=n.enter("strikethrough");let c=s.move("~~");return c+=n.containerPhrasing(e,{...s.current(),before:c,after:"~"}),c+=s.move("~~"),l(),c}function JF(){return"~"}function e$(e){return e.length}function t$(e,t){const n=t||{},a=(n.align||[]).concat(),s=n.stringLength||e$,l=[],c=[],d=[],f=[];let h=0,b=-1;for(;++b<e.length;){const w=[],k=[];let N=-1;for(e[b].length>h&&(h=e[b].length);++N<e[b].length;){const C=n$(e[b][N]);if(n.alignDelimiters!==!1){const A=s(C);k[N]=A,(f[N]===void 0||A>f[N])&&(f[N]=A)}w.push(C)}c[b]=w,d[b]=k}let m=-1;if(typeof a=="object"&&"length"in a)for(;++m<h;)l[m]=R1(a[m]);else{const w=R1(a);for(;++m<h;)l[m]=w}m=-1;const x=[],v=[];for(;++m<h;){const w=l[m];let k="",N="";w===99?(k=":",N=":"):w===108?k=":":w===114&&(N=":");let C=n.alignDelimiters===!1?1:Math.max(1,f[m]-k.length-N.length);const A=k+"-".repeat(C)+N;n.alignDelimiters!==!1&&(C=k.length+C+N.length,C>f[m]&&(f[m]=C),v[m]=C),x[m]=A}c.splice(1,0,x),d.splice(1,0,v),b=-1;const E=[];for(;++b<c.length;){const w=c[b],k=d[b];m=-1;const N=[];for(;++m<h;){const C=w[m]||"";let A="",T="";if(n.alignDelimiters!==!1){const L=f[m]-(k[m]||0),M=l[m];M===114?A=" ".repeat(L):M===99?L%2?(A=" ".repeat(L/2+.5),T=" ".repeat(L/2-.5)):(A=" ".repeat(L/2),T=A):T=" ".repeat(L)}n.delimiterStart!==!1&&!m&&N.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&C==="")&&(n.delimiterStart!==!1||m)&&N.push(" "),n.alignDelimiters!==!1&&N.push(A),N.push(C),n.alignDelimiters!==!1&&N.push(T),n.padding!==!1&&N.push(" "),(n.delimiterEnd!==!1||m!==h-1)&&N.push("|")}E.push(n.delimiterEnd===!1?N.join("").replace(/ +$/,""):N.join(""))}return E.join(`
|
|
540
|
+
`)}function n$(e){return e==null?"":String(e)}function R1(e){const t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function i$(e,t,n,a){const s=n.enter("blockquote"),l=n.createTracker(a);l.move("> "),l.shift(2);const c=n.indentLines(n.containerFlow(e,l.current()),a$);return s(),c}function a$(e,t,n){return">"+(n?"":" ")+e}function r$(e,t){return j1(e,t.inConstruct,!0)&&!j1(e,t.notInConstruct,!1)}function j1(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let a=-1;for(;++a<t.length;)if(e.includes(t[a]))return!0;return!1}function M1(e,t,n,a){let s=-1;for(;++s<n.unsafe.length;)if(n.unsafe[s].character===`
|
|
541
|
+
`&&r$(n.stack,n.unsafe[s]))return/[ \t]/.test(a.before)?"":" ";return`\\
|
|
542
|
+
`}function s$(e,t){const n=String(e);let a=n.indexOf(t),s=a,l=0,c=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;a!==-1;)a===s?++l>c&&(c=l):l=1,s=a+t.length,a=n.indexOf(t,s);return c}function l$(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function o$(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function c$(e,t,n,a){const s=o$(n),l=e.value||"",c=s==="`"?"GraveAccent":"Tilde";if(l$(e,n)){const m=n.enter("codeIndented"),x=n.indentLines(l,u$);return m(),x}const d=n.createTracker(a),f=s.repeat(Math.max(s$(l,s)+1,3)),h=n.enter("codeFenced");let b=d.move(f);if(e.lang){const m=n.enter(`codeFencedLang${c}`);b+=d.move(n.safe(e.lang,{before:b,after:" ",encode:["`"],...d.current()})),m()}if(e.lang&&e.meta){const m=n.enter(`codeFencedMeta${c}`);b+=d.move(" "),b+=d.move(n.safe(e.meta,{before:b,after:`
|
|
543
543
|
`,encode:["`"],...d.current()})),m()}return b+=d.move(`
|
|
544
544
|
`),l&&(b+=d.move(l+`
|
|
545
|
-
`)),b+=d.move(f),h(),b}function
|
|
546
|
-
`,...f.current()}))),d(),e.title&&(d=n.enter(`title${l}`),h+=f.move(" "+s),h+=f.move(n.safe(e.title,{before:h,after:s,...f.current()})),h+=f.move(s),d()),c(),h}function
|
|
545
|
+
`)),b+=d.move(f),h(),b}function u$(e,t,n){return(n?"":" ")+e}function nb(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function d$(e,t,n,a){const s=nb(n),l=s==='"'?"Quote":"Apostrophe",c=n.enter("definition");let d=n.enter("label");const f=n.createTracker(a);let h=f.move("[");return h+=f.move(n.safe(n.associationId(e),{before:h,after:"]",...f.current()})),h+=f.move("]: "),d(),!e.url||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),h+=f.move("<"),h+=f.move(n.safe(e.url,{before:h,after:">",...f.current()})),h+=f.move(">")):(d=n.enter("destinationRaw"),h+=f.move(n.safe(e.url,{before:h,after:e.title?" ":`
|
|
546
|
+
`,...f.current()}))),d(),e.title&&(d=n.enter(`title${l}`),h+=f.move(" "+s),h+=f.move(n.safe(e.title,{before:h,after:s,...f.current()})),h+=f.move(s),d()),c(),h}function f$(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function kc(e){return"&#x"+e.toString(16).toUpperCase()+";"}function Gd(e,t,n){const a=Pl(e),s=Pl(t);return a===void 0?s===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:a===1?s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:s===void 0?{inside:!1,outside:!1}:s===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}XS.peek=h$;function XS(e,t,n,a){const s=f$(n),l=n.enter("emphasis"),c=n.createTracker(a),d=c.move(s);let f=c.move(n.containerPhrasing(e,{after:s,before:d,...c.current()}));const h=f.charCodeAt(0),b=Gd(a.before.charCodeAt(a.before.length-1),h,s);b.inside&&(f=kc(h)+f.slice(1));const m=f.charCodeAt(f.length-1),x=Gd(a.after.charCodeAt(0),m,s);x.inside&&(f=f.slice(0,-1)+kc(m));const v=c.move(s);return l(),n.attentionEncodeSurroundingInfo={after:x.outside,before:b.outside},d+f+v}function h$(e,t,n){return n.options.emphasis||"*"}function p$(e,t){let n=!1;return Ef(e,function(a){if("value"in a&&/\r?\n|\r/.test(a.value)||a.type==="break")return n=!0,Xm}),!!((!e.depth||e.depth<3)&&Vg(e)&&(t.options.setext||n))}function m$(e,t,n,a){const s=Math.max(Math.min(6,e.depth||1),1),l=n.createTracker(a);if(p$(e,n)){const b=n.enter("headingSetext"),m=n.enter("phrasing"),x=n.containerPhrasing(e,{...l.current(),before:`
|
|
547
547
|
`,after:`
|
|
548
548
|
`});return m(),b(),x+`
|
|
549
549
|
`+(s===1?"=":"-").repeat(x.length-(Math.max(x.lastIndexOf("\r"),x.lastIndexOf(`
|
|
550
550
|
`))+1))}const c="#".repeat(s),d=n.enter("headingAtx"),f=n.enter("phrasing");l.move(c+" ");let h=n.containerPhrasing(e,{before:"# ",after:`
|
|
551
|
-
`,...l.current()});return/^[\t ]/.test(h)&&(h=kc(h.charCodeAt(0))+h.slice(1)),h=h?c+" "+h:c,n.options.closeAtx&&(h+=" "+c),f(),d(),h}ZS.peek=
|
|
551
|
+
`,...l.current()});return/^[\t ]/.test(h)&&(h=kc(h.charCodeAt(0))+h.slice(1)),h=h?c+" "+h:c,n.options.closeAtx&&(h+=" "+c),f(),d(),h}ZS.peek=g$;function ZS(e){return e.value||""}function g$(){return"<"}JS.peek=b$;function JS(e,t,n,a){const s=nb(n),l=s==='"'?"Quote":"Apostrophe",c=n.enter("image");let d=n.enter("label");const f=n.createTracker(a);let h=f.move("![");return h+=f.move(n.safe(e.alt,{before:h,after:"]",...f.current()})),h+=f.move("]("),d(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),h+=f.move("<"),h+=f.move(n.safe(e.url,{before:h,after:">",...f.current()})),h+=f.move(">")):(d=n.enter("destinationRaw"),h+=f.move(n.safe(e.url,{before:h,after:e.title?" ":")",...f.current()}))),d(),e.title&&(d=n.enter(`title${l}`),h+=f.move(" "+s),h+=f.move(n.safe(e.title,{before:h,after:s,...f.current()})),h+=f.move(s),d()),h+=f.move(")"),c(),h}function b$(){return"!"}ek.peek=y$;function ek(e,t,n,a){const s=e.referenceType,l=n.enter("imageReference");let c=n.enter("label");const d=n.createTracker(a);let f=d.move("![");const h=n.safe(e.alt,{before:f,after:"]",...d.current()});f+=d.move(h+"]["),c();const b=n.stack;n.stack=[],c=n.enter("reference");const m=n.safe(n.associationId(e),{before:f,after:"]",...d.current()});return c(),n.stack=b,l(),s==="full"||!h||h!==m?f+=d.move(m+"]"):s==="shortcut"?f=f.slice(0,-1):f+=d.move("]"),f}function y$(){return"!"}tk.peek=x$;function tk(e,t,n){let a=e.value||"",s="`",l=-1;for(;new RegExp("(^|[^`])"+s+"([^`]|$)").test(a);)s+="`";for(/[^ \r\n]/.test(a)&&(/^[ \r\n]/.test(a)&&/[ \r\n]$/.test(a)||/^`|`$/.test(a))&&(a=" "+a+" ");++l<n.unsafe.length;){const c=n.unsafe[l],d=n.compilePattern(c);let f;if(c.atBreak)for(;f=d.exec(a);){let h=f.index;a.charCodeAt(h)===10&&a.charCodeAt(h-1)===13&&h--,a=a.slice(0,h)+" "+a.slice(f.index+1)}}return s+a+s}function x$(){return"`"}function nk(e,t){const n=Vg(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}ik.peek=v$;function ik(e,t,n,a){const s=nb(n),l=s==='"'?"Quote":"Apostrophe",c=n.createTracker(a);let d,f;if(nk(e,n)){const b=n.stack;n.stack=[],d=n.enter("autolink");let m=c.move("<");return m+=c.move(n.containerPhrasing(e,{before:m,after:">",...c.current()})),m+=c.move(">"),d(),n.stack=b,m}d=n.enter("link"),f=n.enter("label");let h=c.move("[");return h+=c.move(n.containerPhrasing(e,{before:h,after:"](",...c.current()})),h+=c.move("]("),f(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(f=n.enter("destinationLiteral"),h+=c.move("<"),h+=c.move(n.safe(e.url,{before:h,after:">",...c.current()})),h+=c.move(">")):(f=n.enter("destinationRaw"),h+=c.move(n.safe(e.url,{before:h,after:e.title?" ":")",...c.current()}))),f(),e.title&&(f=n.enter(`title${l}`),h+=c.move(" "+s),h+=c.move(n.safe(e.title,{before:h,after:s,...c.current()})),h+=c.move(s),f()),h+=c.move(")"),d(),h}function v$(e,t,n){return nk(e,n)?"<":"["}ak.peek=w$;function ak(e,t,n,a){const s=e.referenceType,l=n.enter("linkReference");let c=n.enter("label");const d=n.createTracker(a);let f=d.move("[");const h=n.containerPhrasing(e,{before:f,after:"]",...d.current()});f+=d.move(h+"]["),c();const b=n.stack;n.stack=[],c=n.enter("reference");const m=n.safe(n.associationId(e),{before:f,after:"]",...d.current()});return c(),n.stack=b,l(),s==="full"||!h||h!==m?f+=d.move(m+"]"):s==="shortcut"?f=f.slice(0,-1):f+=d.move("]"),f}function w$(){return"["}function ib(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function E$(e){const t=ib(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function S$(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function rk(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function k$(e,t,n,a){const s=n.enter("list"),l=n.bulletCurrent;let c=e.ordered?S$(n):ib(n);const d=e.ordered?c==="."?")":".":E$(n);let f=t&&n.bulletLastUsed?c===n.bulletLastUsed:!1;if(!e.ordered){const b=e.children?e.children[0]:void 0;if((c==="*"||c==="-")&&b&&(!b.children||!b.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(f=!0),rk(n)===c&&b){let m=-1;for(;++m<e.children.length;){const x=e.children[m];if(x&&x.type==="listItem"&&x.children&&x.children[0]&&x.children[0].type==="thematicBreak"){f=!0;break}}}}f&&(c=d),n.bulletCurrent=c;const h=n.containerFlow(e,a);return n.bulletLastUsed=c,n.bulletCurrent=l,s(),h}function N$(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function _$(e,t,n,a){const s=N$(n);let l=n.bulletCurrent||ib(n);t&&t.type==="list"&&t.ordered&&(l=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+l);let c=l.length+1;(s==="tab"||s==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(c=Math.ceil(c/4)*4);const d=n.createTracker(a);d.move(l+" ".repeat(c-l.length)),d.shift(c);const f=n.enter("listItem"),h=n.indentLines(n.containerFlow(e,d.current()),b);return f(),h;function b(m,x,v){return x?(v?"":" ".repeat(c))+m:(v?l:l+" ".repeat(c-l.length))+m}}function C$(e,t,n,a){const s=n.enter("paragraph"),l=n.enter("phrasing"),c=n.containerPhrasing(e,a);return l(),s(),c}const A$=Uc(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function T$(e,t,n,a){return(e.children.some(function(c){return A$(c)})?n.containerPhrasing:n.containerFlow).call(n,e,a)}function O$(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}sk.peek=R$;function sk(e,t,n,a){const s=O$(n),l=n.enter("strong"),c=n.createTracker(a),d=c.move(s+s);let f=c.move(n.containerPhrasing(e,{after:s,before:d,...c.current()}));const h=f.charCodeAt(0),b=Gd(a.before.charCodeAt(a.before.length-1),h,s);b.inside&&(f=kc(h)+f.slice(1));const m=f.charCodeAt(f.length-1),x=Gd(a.after.charCodeAt(0),m,s);x.inside&&(f=f.slice(0,-1)+kc(m));const v=c.move(s+s);return l(),n.attentionEncodeSurroundingInfo={after:x.outside,before:b.outside},d+f+v}function R$(e,t,n){return n.options.strong||"*"}function j$(e,t,n,a){return n.safe(e.value,a)}function M$(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function D$(e,t,n){const a=(rk(n)+(n.options.ruleSpaces?" ":"")).repeat(M$(n));return n.options.ruleSpaces?a.slice(0,-1):a}const lk={blockquote:i$,break:M1,code:c$,definition:d$,emphasis:XS,hardBreak:M1,heading:m$,html:ZS,image:JS,imageReference:ek,inlineCode:tk,link:ik,linkReference:ak,list:k$,listItem:_$,paragraph:C$,root:T$,strong:sk,text:j$,thematicBreak:D$};function L$(){return{enter:{table:I$,tableData:D1,tableHeader:D1,tableRow:B$},exit:{codeText:U$,table:z$,tableData:cm,tableHeader:cm,tableRow:cm}}}function I$(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function z$(e){this.exit(e),this.data.inTable=void 0}function B$(e){this.enter({type:"tableRow",children:[]},e)}function cm(e){this.exit(e)}function D1(e){this.enter({type:"tableCell",children:[]},e)}function U$(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,P$));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function P$(e,t){return t==="|"?t:e}function F$(e){const t=e||{},n=t.tableCellPadding,a=t.tablePipeAlign,s=t.stringLength,l=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
552
552
|
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:x,table:c,tableCell:f,tableRow:d}};function c(v,E,w,k){return h(b(v,w,k),v.align)}function d(v,E,w,k){const N=m(v,w,k),C=h([N]);return C.slice(0,C.indexOf(`
|
|
553
|
-
`))}function f(v,E,w,k){const N=w.enter("tableCell"),C=w.enter("phrasing"),A=w.containerPhrasing(v,{...k,before:l,after:l});return C(),N(),A}function h(v,E){return JF(v,{align:E,alignDelimiters:a,padding:n,stringLength:s})}function b(v,E,w){const k=v.children;let N=-1;const C=[],A=E.enter("table");for(;++N<k.length;)C[N]=m(k[N],E,w);return A(),C}function m(v,E,w){const k=v.children;let N=-1;const C=[],A=E.enter("tableRow");for(;++N<k.length;)C[N]=f(k[N],v,E,w);return A(),C}function x(v,E,w){let k=lk.inlineCode(v,E,w);return w.stack.includes("tableCell")&&(k=k.replace(/\|/g,"\\$&")),k}}function P$(){return{exit:{taskListCheckValueChecked:L1,taskListCheckValueUnchecked:L1,paragraph:$$}}}function F$(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:H$}}}function L1(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function $$(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const a=n.children[0];if(a&&a.type==="text"){const s=t.children;let l=-1,c;for(;++l<s.length;){const d=s[l];if(d.type==="paragraph"){c=d;break}}c===n&&(a.value=a.value.slice(1),a.value.length===0?n.children.shift():n.position&&a.position&&typeof a.position.start.offset=="number"&&(a.position.start.column++,a.position.start.offset++,n.position.start=Object.assign({},a.position.start)))}}this.exit(e)}function H$(e,t,n,a){const s=e.children[0],l=typeof e.checked=="boolean"&&s&&s.type==="paragraph",c="["+(e.checked?"x":" ")+"] ",d=n.createTracker(a);l&&d.move(c);let f=lk.listItem(e,t,n,{...a,...d.current()});return l&&(f=f.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),f;function h(b){return b+c}}function q$(){return[EF(),HF(),VF(),M$(),P$()]}function K$(e){return{extensions:[SF(),qF(e),QF(),U$(e),F$()]}}const G$={tokenize:Z$,partial:!0},ok={tokenize:J$,partial:!0},ck={tokenize:e5,partial:!0},uk={tokenize:t5,partial:!0},V$={tokenize:n5,partial:!0},dk={name:"wwwAutolink",tokenize:W$,previous:hk},fk={name:"protocolAutolink",tokenize:X$,previous:pk},La={name:"emailAutolink",tokenize:Y$,previous:mk},aa={};function Q$(){return{text:aa}}let Jr=48;for(;Jr<123;)aa[Jr]=La,Jr++,Jr===58?Jr=65:Jr===91&&(Jr=97);aa[43]=La;aa[45]=La;aa[46]=La;aa[95]=La;aa[72]=[La,fk];aa[104]=[La,fk];aa[87]=[La,dk];aa[119]=[La,dk];function Y$(e,t,n){const a=this;let s,l;return c;function c(m){return!tg(m)||!mk.call(a,a.previous)||ab(a.events)?n(m):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),d(m))}function d(m){return tg(m)?(e.consume(m),d):m===64?(e.consume(m),f):n(m)}function f(m){return m===46?e.check(V$,b,h)(m):m===45||m===95||vn(m)?(l=!0,e.consume(m),f):b(m)}function h(m){return e.consume(m),s=!0,f}function b(m){return l&&s&&Rn(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(m)):n(m)}}function W$(e,t,n){const a=this;return s;function s(c){return c!==87&&c!==119||!hk.call(a,a.previous)||ab(a.events)?n(c):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(G$,e.attempt(ok,e.attempt(ck,l),n),n)(c))}function l(c){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(c)}}function X$(e,t,n){const a=this;let s="",l=!1;return c;function c(m){return(m===72||m===104)&&pk.call(a,a.previous)&&!ab(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),s+=String.fromCodePoint(m),e.consume(m),d):n(m)}function d(m){if(Rn(m)&&s.length<5)return s+=String.fromCodePoint(m),e.consume(m),d;if(m===58){const x=s.toLowerCase();if(x==="http"||x==="https")return e.consume(m),f}return n(m)}function f(m){return m===47?(e.consume(m),l?h:(l=!0,f)):n(m)}function h(m){return m===null||Hd(m)||kt(m)||gs(m)||yf(m)?n(m):e.attempt(ok,e.attempt(ck,b),n)(m)}function b(m){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(m)}}function Z$(e,t,n){let a=0;return s;function s(c){return(c===87||c===119)&&a<3?(a++,e.consume(c),s):c===46&&a===3?(e.consume(c),l):n(c)}function l(c){return c===null?n(c):t(c)}}function J$(e,t,n){let a,s,l;return c;function c(h){return h===46||h===95?e.check(uk,f,d)(h):h===null||kt(h)||gs(h)||h!==45&&yf(h)?f(h):(l=!0,e.consume(h),c)}function d(h){return h===95?a=!0:(s=a,a=void 0),e.consume(h),c}function f(h){return s||a||!l?n(h):t(h)}}function e5(e,t){let n=0,a=0;return s;function s(c){return c===40?(n++,e.consume(c),s):c===41&&a<n?l(c):c===33||c===34||c===38||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===60||c===63||c===93||c===95||c===126?e.check(uk,t,l)(c):c===null||kt(c)||gs(c)?t(c):(e.consume(c),s)}function l(c){return c===41&&a++,e.consume(c),s}}function t5(e,t,n){return a;function a(d){return d===33||d===34||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===63||d===95||d===126?(e.consume(d),a):d===38?(e.consume(d),l):d===93?(e.consume(d),s):d===60||d===null||kt(d)||gs(d)?t(d):n(d)}function s(d){return d===null||d===40||d===91||kt(d)||gs(d)?t(d):a(d)}function l(d){return Rn(d)?c(d):n(d)}function c(d){return d===59?(e.consume(d),a):Rn(d)?(e.consume(d),c):n(d)}}function n5(e,t,n){return a;function a(l){return e.consume(l),s}function s(l){return vn(l)?n(l):t(l)}}function hk(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||kt(e)}function pk(e){return!Rn(e)}function mk(e){return!(e===47||tg(e))}function tg(e){return e===43||e===45||e===46||e===95||vn(e)}function ab(e){let t=e.length,n=!1;for(;t--;){const a=e[t][1];if((a.type==="labelLink"||a.type==="labelImage")&&!a._balanced){n=!0;break}if(a._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const i5={tokenize:d5,partial:!0};function a5(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:o5,continuation:{tokenize:c5},exit:u5}},text:{91:{name:"gfmFootnoteCall",tokenize:l5},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:r5,resolveTo:s5}}}}function r5(e,t,n){const a=this;let s=a.events.length;const l=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let c;for(;s--;){const f=a.events[s][1];if(f.type==="labelImage"){c=f;break}if(f.type==="gfmFootnoteCall"||f.type==="labelLink"||f.type==="label"||f.type==="image"||f.type==="link")break}return d;function d(f){if(!c||!c._balanced)return n(f);const h=Bi(a.sliceSerialize({start:c.end,end:a.now()}));return h.codePointAt(0)!==94||!l.includes(h.slice(1))?n(f):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),t(f))}}function s5(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const l={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},l.start),end:Object.assign({},l.end)},d=[e[n+1],e[n+2],["enter",a,t],e[n+3],e[n+4],["enter",s,t],["exit",s,t],["enter",l,t],["enter",c,t],["exit",c,t],["exit",l,t],e[e.length-2],e[e.length-1],["exit",a,t]];return e.splice(n,e.length-n+1,...d),e}function l5(e,t,n){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let l=0,c;return d;function d(m){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),f}function f(m){return m!==94?n(m):(e.enter("gfmFootnoteCallMarker"),e.consume(m),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(m){if(l>999||m===93&&!c||m===null||m===91||kt(m))return n(m);if(m===93){e.exit("chunkString");const x=e.exit("gfmFootnoteCallString");return s.includes(Bi(a.sliceSerialize(x)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(m)}return kt(m)||(c=!0),l++,e.consume(m),m===92?b:h}function b(m){return m===91||m===92||m===93?(e.consume(m),l++,h):h(m)}}function o5(e,t,n){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let l,c=0,d;return f;function f(E){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(E){return E===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",b):n(E)}function b(E){if(c>999||E===93&&!d||E===null||E===91||kt(E))return n(E);if(E===93){e.exit("chunkString");const w=e.exit("gfmFootnoteDefinitionLabelString");return l=Bi(a.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),x}return kt(E)||(d=!0),c++,e.consume(E),E===92?m:b}function m(E){return E===91||E===92||E===93?(e.consume(E),c++,b):b(E)}function x(E){return E===58?(e.enter("definitionMarker"),e.consume(E),e.exit("definitionMarker"),s.includes(l)||s.push(l),at(e,v,"gfmFootnoteDefinitionWhitespace")):n(E)}function v(E){return t(E)}}function c5(e,t,n){return e.check(Bc,t,e.attempt(i5,t,n))}function u5(e){e.exit("gfmFootnoteDefinition")}function d5(e,t,n){const a=this;return at(e,s,"gfmFootnoteDefinitionIndent",5);function s(l){const c=a.events[a.events.length-1];return c&&c[1].type==="gfmFootnoteDefinitionIndent"&&c[2].sliceSerialize(c[1],!0).length===4?t(l):n(l)}}function f5(e){let n=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:l,resolveAll:s};return n==null&&(n=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function s(c,d){let f=-1;for(;++f<c.length;)if(c[f][0]==="enter"&&c[f][1].type==="strikethroughSequenceTemporary"&&c[f][1]._close){let h=f;for(;h--;)if(c[h][0]==="exit"&&c[h][1].type==="strikethroughSequenceTemporary"&&c[h][1]._open&&c[f][1].end.offset-c[f][1].start.offset===c[h][1].end.offset-c[h][1].start.offset){c[f][1].type="strikethroughSequence",c[h][1].type="strikethroughSequence";const b={type:"strikethrough",start:Object.assign({},c[h][1].start),end:Object.assign({},c[f][1].end)},m={type:"strikethroughText",start:Object.assign({},c[h][1].end),end:Object.assign({},c[f][1].start)},x=[["enter",b,d],["enter",c[h][1],d],["exit",c[h][1],d],["enter",m,d]],v=d.parser.constructs.insideSpan.null;v&&oi(x,x.length,0,xf(v,c.slice(h+1,f),d)),oi(x,x.length,0,[["exit",m,d],["enter",c[f][1],d],["exit",c[f][1],d],["exit",b,d]]),oi(c,h-1,f-h+3,x),f=h+x.length-2;break}}for(f=-1;++f<c.length;)c[f][1].type==="strikethroughSequenceTemporary"&&(c[f][1].type="data");return c}function l(c,d,f){const h=this.previous,b=this.events;let m=0;return x;function x(E){return h===126&&b[b.length-1][1].type!=="characterEscape"?f(E):(c.enter("strikethroughSequenceTemporary"),v(E))}function v(E){const w=Pl(h);if(E===126)return m>1?f(E):(c.consume(E),m++,v);if(m<2&&!n)return f(E);const k=c.exit("strikethroughSequenceTemporary"),N=Pl(E);return k._open=!N||N===2&&!!w,k._close=!w||w===2&&!!N,d(E)}}}class h5{constructor(){this.map=[]}add(t,n,a){p5(this,t,n,a)}consume(t){if(this.map.sort(function(l,c){return l[0]-c[0]}),this.map.length===0)return;let n=this.map.length;const a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let s=a.pop();for(;s;){for(const l of s)t.push(l);s=a.pop()}this.map.length=0}}function p5(e,t,n,a){let s=0;if(!(n===0&&a.length===0)){for(;s<e.map.length;){if(e.map[s][0]===t){e.map[s][1]+=n,e.map[s][2].push(...a);return}s+=1}e.map.push([t,n,a])}}function m5(e,t){let n=!1;const a=[];for(;t<e.length;){const s=e[t];if(n){if(s[0]==="enter")s[1].type==="tableContent"&&a.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(s[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const l=a.length-1;a[l]=a[l]==="left"?"center":"right"}}else if(s[1].type==="tableDelimiterRow")break}else s[0]==="enter"&&s[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return a}function g5(){return{flow:{null:{name:"table",tokenize:b5,resolveAll:y5}}}}function b5(e,t,n){const a=this;let s=0,l=0,c;return d;function d(P){let Q=a.events.length-1;for(;Q>-1;){const le=a.events[Q][1].type;if(le==="lineEnding"||le==="linePrefix")Q--;else break}const J=Q>-1?a.events[Q][1].type:null,me=J==="tableHead"||J==="tableRow"?M:f;return me===M&&a.parser.lazy[a.now().line]?n(P):me(P)}function f(P){return e.enter("tableHead"),e.enter("tableRow"),h(P)}function h(P){return P===124||(c=!0,l+=1),b(P)}function b(P){return P===null?n(P):je(P)?l>1?(l=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),v):n(P):Xe(P)?at(e,b,"whitespace")(P):(l+=1,c&&(c=!1,s+=1),P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),c=!0,b):(e.enter("data"),m(P)))}function m(P){return P===null||P===124||kt(P)?(e.exit("data"),b(P)):(e.consume(P),P===92?x:m)}function x(P){return P===92||P===124?(e.consume(P),m):m(P)}function v(P){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(P):(e.enter("tableDelimiterRow"),c=!1,Xe(P)?at(e,E,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):E(P))}function E(P){return P===45||P===58?k(P):P===124?(c=!0,e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),w):L(P)}function w(P){return Xe(P)?at(e,k,"whitespace")(P):k(P)}function k(P){return P===58?(l+=1,c=!0,e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),N):P===45?(l+=1,N(P)):P===null||je(P)?T(P):L(P)}function N(P){return P===45?(e.enter("tableDelimiterFiller"),C(P)):L(P)}function C(P){return P===45?(e.consume(P),C):P===58?(c=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),A):(e.exit("tableDelimiterFiller"),A(P))}function A(P){return Xe(P)?at(e,T,"whitespace")(P):T(P)}function T(P){return P===124?E(P):P===null||je(P)?!c||s!==l?L(P):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(P)):L(P)}function L(P){return n(P)}function M(P){return e.enter("tableRow"),U(P)}function U(P){return P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),U):P===null||je(P)?(e.exit("tableRow"),t(P)):Xe(P)?at(e,U,"whitespace")(P):(e.enter("data"),$(P))}function $(P){return P===null||P===124||kt(P)?(e.exit("data"),U(P)):(e.consume(P),P===92?te:$)}function te(P){return P===92||P===124?(e.consume(P),$):$(P)}}function y5(e,t){let n=-1,a=!0,s=0,l=[0,0,0,0],c=[0,0,0,0],d=!1,f=0,h,b,m;const x=new h5;for(;++n<e.length;){const v=e[n],E=v[1];v[0]==="enter"?E.type==="tableHead"?(d=!1,f!==0&&(I1(x,t,f,h,b),b=void 0,f=0),h={type:"table",start:Object.assign({},E.start),end:Object.assign({},E.end)},x.add(n,0,[["enter",h,t]])):E.type==="tableRow"||E.type==="tableDelimiterRow"?(a=!0,m=void 0,l=[0,0,0,0],c=[0,n+1,0,0],d&&(d=!1,b={type:"tableBody",start:Object.assign({},E.start),end:Object.assign({},E.end)},x.add(n,0,[["enter",b,t]])),s=E.type==="tableDelimiterRow"?2:b?3:1):s&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")?(a=!1,c[2]===0&&(l[1]!==0&&(c[0]=c[1],m=gd(x,t,l,s,void 0,m),l=[0,0,0,0]),c[2]=n)):E.type==="tableCellDivider"&&(a?a=!1:(l[1]!==0&&(c[0]=c[1],m=gd(x,t,l,s,void 0,m)),l=c,c=[l[1],n,0,0])):E.type==="tableHead"?(d=!0,f=n):E.type==="tableRow"||E.type==="tableDelimiterRow"?(f=n,l[1]!==0?(c[0]=c[1],m=gd(x,t,l,s,n,m)):c[1]!==0&&(m=gd(x,t,c,s,n,m)),s=0):s&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")&&(c[3]=n)}for(f!==0&&I1(x,t,f,h,b),x.consume(t.events),n=-1;++n<t.events.length;){const v=t.events[n];v[0]==="enter"&&v[1].type==="table"&&(v[1]._align=m5(t.events,n))}return e}function gd(e,t,n,a,s,l){const c=a===1?"tableHeader":a===2?"tableDelimiter":"tableData",d="tableContent";n[0]!==0&&(l.end=Object.assign({},ml(t.events,n[0])),e.add(n[0],0,[["exit",l,t]]));const f=ml(t.events,n[1]);if(l={type:c,start:Object.assign({},f),end:Object.assign({},f)},e.add(n[1],0,[["enter",l,t]]),n[2]!==0){const h=ml(t.events,n[2]),b=ml(t.events,n[3]),m={type:d,start:Object.assign({},h),end:Object.assign({},b)};if(e.add(n[2],0,[["enter",m,t]]),a!==2){const x=t.events[n[2]],v=t.events[n[3]];if(x[1].end=Object.assign({},v[1].end),x[1].type="chunkText",x[1].contentType="text",n[3]>n[2]+1){const E=n[2]+1,w=n[3]-n[2]-1;e.add(E,w,[])}}e.add(n[3]+1,0,[["exit",m,t]])}return s!==void 0&&(l.end=Object.assign({},ml(t.events,s)),e.add(s,0,[["exit",l,t]]),l=void 0),l}function I1(e,t,n,a,s){const l=[],c=ml(t.events,n);s&&(s.end=Object.assign({},c),l.push(["exit",s,t])),a.end=Object.assign({},c),l.push(["exit",a,t]),e.add(n+1,0,l)}function ml(e,t){const n=e[t],a=n[0]==="enter"?"start":"end";return n[1][a]}const x5={name:"tasklistCheck",tokenize:w5};function v5(){return{text:{91:x5}}}function w5(e,t,n){const a=this;return s;function s(f){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?n(f):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),l)}function l(f){return kt(f)?(e.enter("taskListCheckValueUnchecked"),e.consume(f),e.exit("taskListCheckValueUnchecked"),c):f===88||f===120?(e.enter("taskListCheckValueChecked"),e.consume(f),e.exit("taskListCheckValueChecked"),c):n(f)}function c(f){return f===93?(e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),d):n(f)}function d(f){return je(f)?t(f):Xe(f)?e.check({tokenize:E5},t,n)(f):n(f)}}function E5(e,t,n){return at(e,a,"whitespace");function a(s){return s===null?n(s):t(s)}}function S5(e){return _S([Q$(),a5(),f5(e),g5(),v5()])}const k5={};function rb(e){const t=this,n=e||k5,a=t.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),l=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),c=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(S5(n)),l.push(q$()),c.push(K$(n))}const z1=(function(e,t,n){const a=Uc(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<e.children.length;)if(a(e.children[t],t,e))return e.children[t]}),ws=(function(e){if(e==null)return C5;if(typeof e=="string")return _5(e);if(typeof e=="object")return N5(e);if(typeof e=="function")return sb(e);throw new Error("Expected function, string, or array as `test`")});function N5(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=ws(e[n]);return sb(a);function a(...s){let l=-1;for(;++l<t.length;)if(t[l].apply(this,s))return!0;return!1}}function _5(e){return sb(t);function t(n){return n.tagName===e}}function sb(e){return t;function t(n,a,s){return!!(A5(n)&&e.call(this,n,typeof a=="number"?a:void 0,s||void 0))}}function C5(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function A5(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const B1=/\n/g,U1=/[\t ]+/g,ng=ws("br"),P1=ws(I5),T5=ws("p"),F1=ws("tr"),O5=ws(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",L5,z5]),gk=ws(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function R5(e,t){const n=t||{},a="children"in e?e.children:[],s=gk(e),l=xk(e,{whitespace:n.whitespace||"normal"}),c=[];(e.type==="text"||e.type==="comment")&&c.push(...yk(e,{breakBefore:!0,breakAfter:!0}));let d=-1;for(;++d<a.length;)c.push(...bk(a[d],e,{whitespace:l,breakBefore:d?void 0:s,breakAfter:d<a.length-1?ng(a[d+1]):s}));const f=[];let h;for(d=-1;++d<c.length;){const b=c[d];typeof b=="number"?h!==void 0&&b>h&&(h=b):b&&(h!==void 0&&h>-1&&f.push(`
|
|
554
|
-
`.repeat(h)||" "),h=-1,f.push(b))}return f.join("")}function bk(e,t,n){return e.type==="element"?
|
|
555
|
-
`:T5(e)?(d=2,f=2):gk(e)&&(d=1,f=1);++l<s.length;)c=c.concat(bk(s[l],e,{whitespace:a,breakBefore:l?void 0:d,breakAfter:l<s.length-1?ng(s[l+1]):f}));return P1(e)&&z1(t,e,P1)&&c.push(" "),d&&c.unshift(d),f&&c.push(f),c}function yk(e,t){const n=String(e.value),a=[],s=[];let l=0;for(;l<=n.length;){B1.lastIndex=l;const f=B1.exec(n),h=f&&"index"in f?f.index:n.length;a.push(D5(n.slice(l,h).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),l===0?t.breakBefore:!0,h===n.length?t.breakAfter:!0)),l=h+1}let c=-1,d;for(;++c<a.length;)a[c].charCodeAt(a[c].length-1)===8203||c<a.length-1&&a[c+1].charCodeAt(0)===8203?(s.push(a[c]),d=void 0):a[c]?(typeof d=="number"&&s.push(d),s.push(a[c]),d=0):(c===0||c===a.length-1)&&s.push(0);return s}function M5(e){return[String(e.value)]}function D5(e,t,n){const a=[];let s=0,l;for(;s<e.length;){U1.lastIndex=s;const c=U1.exec(e);l=c?c.index:e.length,!s&&!l&&c&&!t&&a.push(""),s!==l&&a.push(e.slice(s,l)),s=c?l+c[0].length:l}return s!==l&&!n&&a.push(""),a.join(" ")}function xk(e,t){if(e.type==="element"){const n=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return n.wrap?"pre-wrap":"pre";case"td":case"th":return n.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}function L5(e){return!!(e.properties||{}).hidden}function I5(e){return e.tagName==="td"||e.tagName==="th"}function z5(e){return e.tagName==="dialog"&&!(e.properties||{}).open}function B5(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="(?!struct)("+a+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",d={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={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})"/})]},b={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},m={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(h,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},x={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},v=t.optional(s)+e.IDENT_RE+"\\s*\\(",E=["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"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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:w,keyword:E,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},L={className:"function.dispatch",relevance:0,keywords:{_hint:N},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},M=[L,m,d,n,e.C_BLOCK_COMMENT_MODE,b,h],U={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:T,contains:M.concat([{begin:/\(/,end:/\)/,keywords:T,contains:M.concat(["self"]),relevance:0}]),relevance:0},$={className:"function",begin:"("+c+"[\\*&\\s]+)+"+v,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:T,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:T,relevance:0},{begin:v,returnBegin:!0,contains:[x],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,b]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,h,b,d,{begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,h,b,d]}]},d,n,e.C_BLOCK_COMMENT_MODE,m]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:T,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(U,$,L,M,[m,{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",d]},{begin:e.IDENT_RE+"::",keywords:T},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function U5(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=B5(e),a=n.keywords;return a.type=[...a.type,...t.type],a.literal=[...a.literal,...t.literal],a.built_in=[...a.built_in,...t.built_in],a._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function P5(e){const t=e.regex,n={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const s={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},l=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},d={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,s]};s.contains.push(d);const f={match:/\\"/},h={className:"string",begin:/'/,end:/'/},b={match:/\\'/},m={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},x=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],v=e.SHEBANG({binary:`(${x.join("|")})`,relevance:10}),E={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},w=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],k=["true","false"],N={match:/(\/[a-z._-]+)+/},C=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],A=["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"],L=["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:w,literal:k,built_in:[...C,...A,"set","shopt",...T,...L]},contains:[v,e.SHEBANG(),E,m,l,c,N,d,f,h,b,n]}}function F5(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="("+a+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",d={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},h={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})"/})]},b={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},m={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(h,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},x={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},v=t.optional(s)+e.IDENT_RE+"\\s*\\(",k={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=[m,d,n,e.C_BLOCK_COMMENT_MODE,b,h],C={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:N.concat([{begin:/\(/,end:/\)/,keywords:k,contains:N.concat(["self"]),relevance:0}]),relevance:0},A={begin:"("+c+"[\\*&\\s]+)+"+v,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:k,relevance:0},{begin:v,returnBegin:!0,contains:[e.inherit(x,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,h,b,d,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,h,b,d]}]},d,n,e.C_BLOCK_COMMENT_MODE,m]};return{name:"C",aliases:["h"],keywords:k,disableAutodetect:!0,illegal:"</",contains:[].concat(C,A,N,[m,{begin:e.IDENT_RE+"::",keywords:k},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:m,strings:h,keywords:k}}}function $5(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="(?!struct)("+a+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",d={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={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})"/})]},b={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},m={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(h,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},x={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},v=t.optional(s)+e.IDENT_RE+"\\s*\\(",E=["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"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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:w,keyword:E,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},L={className:"function.dispatch",relevance:0,keywords:{_hint:N},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},M=[L,m,d,n,e.C_BLOCK_COMMENT_MODE,b,h],U={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:T,contains:M.concat([{begin:/\(/,end:/\)/,keywords:T,contains:M.concat(["self"]),relevance:0}]),relevance:0},$={className:"function",begin:"("+c+"[\\*&\\s]+)+"+v,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:T,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:T,relevance:0},{begin:v,returnBegin:!0,contains:[x],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,b]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,h,b,d,{begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,h,b,d]}]},d,n,e.C_BLOCK_COMMENT_MODE,m]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:T,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(U,$,L,M,[m,{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",d]},{begin:e.IDENT_RE+"::",keywords:T},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function H5(e){const 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"],a=["default","false","null","true"],s=["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"],l=["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"],c={keyword:s.concat(l),built_in:t,literal:a},d=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),f={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},h={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},b={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},m=e.inherit(b,{illegal:/\n/}),x={className:"subst",begin:/\{/,end:/\}/,keywords:c},v=e.inherit(x,{illegal:/\n/}),E={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,v]},w={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},x]},k=e.inherit(w,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},v]});x.contains=[w,E,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,f,e.C_BLOCK_COMMENT_MODE],v.contains=[k,E,m,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,f,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const N={variants:[h,w,E,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},C={begin:"<",end:">",contains:[{beginKeywords:"in out"},d]},A=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:c,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,f,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},d,C,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[d,C,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:"("+A+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:c,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,C],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,relevance:0,contains:[N,f,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},T]}}const q5=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_-]*/}}),K5=["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"],G5=["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"],V5=[...K5,...G5],Q5=["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(),Y5=["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(),W5=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),X5=["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 Z5(e){const t=e.regex,n=q5(e),a={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},s="and or not only",l=/@-?\w[\w]*(-\w+)*/,c="[a-zA-Z-][a-zA-Z0-9_-]*",d=[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,a,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+c,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+Y5.join("|")+")"},{begin:":(:)?("+W5.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+X5.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...d,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...d,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:l},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:Q5.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...d,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+V5.join("|")+")\\b"}]}}function J5(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function e6(e){const l={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:l,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:l,illegal:/["']/}]}]}}function t6(e){const t=e.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(n,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function n6(e){const t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const s={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},l={className:"literal",begin:/\bon|off|true|false|yes|no\b/},c={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},d={begin:/\[/,end:/\]/,contains:[a,l,s,c,n,"self"],relevance:0},f=/[A-Za-z0-9_-]+/,h=/"(\\"|[^"])*"/,b=/'[^']*'/,m=t.either(f,h,b),x=t.concat(m,"(\\s*\\.\\s*",m,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:x,className:"attr",starts:{end:/$/,contains:[a,d,l,s,c,n]}}]}}var gl="[0-9](_*[0-9])*",bd=`\\.(${gl})`,yd="[0-9a-fA-F](_*[0-9a-fA-F])*",$1={className:"number",variants:[{begin:`(\\b(${gl})((${bd})|\\.)?|(${bd}))[eE][+-]?(${gl})[fFdD]?\\b`},{begin:`\\b(${gl})((${bd})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${bd})[fFdD]?\\b`},{begin:`\\b(${gl})[fFdD]\\b`},{begin:`\\b0[xX]((${yd})\\.?|(${yd})?\\.(${yd}))[pP][+-]?(${gl})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${yd})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function vk(e,t,n){return n===-1?"":e.replace(t,a=>vk(e,t,n-1))}function i6(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",a=n+vk("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),f={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"]},h={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},b={className:"params",begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:f,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:[b,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:f,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[h,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,$1,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},$1,h]}}const H1="[A-Za-z$_][0-9A-Za-z$_]*",a6=["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"],r6=["true","false","null","undefined","NaN","Infinity"],wk=["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"],Ek=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Sk=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],s6=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],l6=[].concat(Sk,wk,Ek);function o6(e){const t=e.regex,n=(ce,{after:ne})=>{const j="</"+ce[0].slice(1);return ce.input.indexOf(j,ne)!==-1},a=H1,s={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ce,ne)=>{const j=ce[0].length+ce.index,D=ce.input[j];if(D==="<"||D===","){ne.ignoreMatch();return}D===">"&&(n(ce,{after:j})||ne.ignoreMatch());let Y;const R=ce.input.substring(j);if(Y=R.match(/^\s*=/)){ne.ignoreMatch();return}if((Y=R.match(/^\s+extends\s+/))&&Y.index===0){ne.ignoreMatch();return}}},d={$pattern:H1,keyword:a6,literal:r6,built_in:l6,"variable.language":s6},f="[0-9](_?[0-9])*",h=`\\.(${f})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${b})((${h})|\\.)?|(${h}))[eE][+-]?(${f})\\b`},{begin:`\\b(${b})\\b((${h})\\b|\\.)?|(${h})\\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},x={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"xml"}},E={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,x]},C={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:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},A=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,{match:/\$\d+/},m];x.contains=A.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(A)});const T=[].concat(C,x.contains),L=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(T)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:L},U={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,t.concat(a,"(",t.concat(/\./,a),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},$={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:{_:[...wk,...Ek]}},te={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},P={variants:[{match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(ce){return t.concat("(?!",ce.join("|"),")")}const me={match:t.concat(/\b/,J([...Sk,"super","import"].map(ce=>`${ce}\\s*\\(`)),a,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},le={begin:t.concat(/\./,t.lookahead(t.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ee={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",oe={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:$},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),te,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,C,{match:/\$\d+/},m,$,{scope:"attr",match:a+t.lookahead(":"),relevance:0},oe,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[C,e.REGEXP_MODE,{className:"function",begin:H,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:d,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:l},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},P,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},le,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},me,Q,U,ee,{match:/\$[(.]/}]}}function c6(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},a=["true","false","null"],s={scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:a},contains:[t,n,e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var bl="[0-9](_*[0-9])*",xd=`\\.(${bl})`,vd="[0-9a-fA-F](_*[0-9a-fA-F])*",u6={className:"number",variants:[{begin:`(\\b(${bl})((${xd})|\\.)?|(${xd}))[eE][+-]?(${bl})[fFdD]?\\b`},{begin:`\\b(${bl})((${xd})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${xd})[fFdD]?\\b`},{begin:`\\b(${bl})[fFdD]\\b`},{begin:`\\b0[xX]((${vd})\\.?|(${vd})?\\.(${vd}))[pP][+-]?(${bl})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${vd})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function d6(e){const 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+/}]}},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},l={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},c={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[l,s]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,l,s]}]};s.contains.push(c);const d={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},f={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(c,{className:"string"}),"self"]}]},h=u6,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),m={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},x=m;return x.variants[1].contains=[m],m.variants[1].contains=[x],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,n,a,d,f,{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:[m,e.C_LINE_COMMENT_MODE,b],relevance:0},e.C_LINE_COMMENT_MODE,b,d,f,c,e.C_NUMBER_MODE]},b]},{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},d,f]},c,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
556
|
-
`},h]}}const f6=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_-]*/}}),h6=["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"],p6=["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"],m6=[...h6,...p6],g6=["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(),kk=["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(),Nk=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),b6=["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(),y6=kk.concat(Nk).sort().reverse();function x6(e){const t=f6(e),n=y6,a="and or not only",s="[\\w-]+",l="("+s+"|@\\{"+s+"\\})",c=[],d=[],f=function(A){return{className:"string",begin:"~?"+A+".*?"+A}},h=function(A,T,L){return{className:A,begin:T,relevance:L}},b={$pattern:/[a-z-]+/,keyword:a,attribute:g6.join(" ")},m={begin:"\\(",end:"\\)",contains:d,keywords:b,relevance:0};d.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,f("'"),f('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,m,h("variable","@@?"+s,10),h("variable","@\\{"+s+"\\}"),h("built_in","~?`[^`]*?`"),{className:"attribute",begin:s+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const x=d.concat({begin:/\{/,end:/\}/,contains:c}),v={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(d)},E={begin:l+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+b6.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:d}}]},w={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:b,returnEnd:!0,contains:d,relevance:0}},k={className:"variable",variants:[{begin:"@"+s+"\\s*:",relevance:15},{begin:"@"+s}],starts:{end:"[;}]",returnEnd:!0,contains:x}},N={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:l,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,v,h("keyword","all\\b"),h("variable","@\\{"+s+"\\}"),{begin:"\\b("+m6.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,h("selector-tag",l,0),h("selector-id","#"+l),h("selector-class","\\."+l,0),h("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+kk.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Nk.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:x},{begin:"!important"},t.FUNCTION_DISPATCH]},C={begin:s+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[N]};return c.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,w,k,C,E,N,v,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:c}}function v6(e){const t="\\[=*\\[",n="\\]=*\\]",a={begin:t,end:n,contains:["self"]},s=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[a],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:s.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:s}].concat(s)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[a],relevance:5}])}}function w6(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},a={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,n]},s={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},l={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},c={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,n,a,s,l,c]}}function E6(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},a={begin:"^[-\\*]{3,}",end:"$"},s={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}]},l={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},c={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,f={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),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}]},h={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},b={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},m=e.inherit(h,{contains:[]}),x=e.inherit(b,{contains:[]});h.contains.push(x),b.contains.push(m);let v=[n,f];return[h,b,m,x].forEach(N=>{N.contains=N.contains.concat(v)}),v=v.concat(h,b),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:v},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:v}]}]},n,l,h,b,{className:"quote",begin:"^>\\s+",contains:v,end:"$"},s,a,f,c,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function S6(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,d={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},f={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:d,illegal:"</",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+f.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:f,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function k6(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],a=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/,keyword:n.join(" ")},l={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},c={begin:/->\{/,end:/\}/},d={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},f={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[d]},h={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},b=[e.BACKSLASH_ESCAPE,l,f],m=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],x=(w,k,N="\\1")=>{const C=N==="\\1"?N:t.concat(N,k);return t.concat(t.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,C,/(?:\\.|[^\\\/])*?/,N,a)},v=(w,k,N)=>t.concat(t.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,N,a),E=[f,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),c,{className:"string",contains:b,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},h,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:x("s|tr|y",t.either(...m,{capture:!0}))},{begin:x("s|tr|y","\\(","\\)")},{begin:x("s|tr|y","\\[","\\]")},{begin:x("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:v("(?:m|qr)?",/\//,/\//)},{begin:v("m|qr",t.either(...m,{capture:!0}),/\1/)},{begin:v("m|qr",/\(/,/\)/)},{begin:v("m|qr",/\[/,/\]/)},{begin:v("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,d]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,d,h]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return l.contains=E,c.contains=E,{name:"Perl",aliases:["pl","pm"],keywords:s,contains:E}}function N6(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,a=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),s=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),l=t.concat(/[A-Z]+/,n),c={scope:"variable",match:"\\$+"+a},d={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},f={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},h=e.inherit(e.APOS_STRING_MODE,{illegal:null}),b=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(f)}),m={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(f),"on:begin":(le,ee)=>{ee.data._beginMatch=le[1]||le[2]},"on:end":(le,ee)=>{ee.data._beginMatch!==le[1]&&ee.ignoreMatch()}},x=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),v=`[
|
|
557
|
-
]`,E={scope:"string",variants:[b,h,m,x]},w={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},k=["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"],C=["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:(le=>{const ee=[];return le.forEach(H=>{ee.push(H),H.toLowerCase()===H?ee.push(H.toUpperCase()):ee.push(H.toLowerCase())}),ee})(k),built_in:C},L=le=>le.map(ee=>ee.replace(/\|\d+$/,"")),M={variants:[{match:[/new/,t.concat(v,"+"),t.concat("(?!",L(C).join("\\b|"),"\\b)"),s],scope:{1:"keyword",4:"title.class"}}]},U=t.concat(a,"\\b(?!\\()"),$={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),U],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[s,t.concat(/::/,t.lookahead(/(?!class\b)/)),U],scope:{1:"title.class",3:"variable.constant"}},{match:[s,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[s,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},te={scope:"attr",match:t.concat(a,t.lookahead(":"),t.lookahead(/(?!::)/))},P={relevance:0,begin:/\(/,end:/\)/,keywords:T,contains:[te,c,$,e.C_BLOCK_COMMENT_MODE,E,w,M]},Q={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",L(N).join("\\b|"),"|",L(C).join("\\b|"),"\\b)"),a,t.concat(v,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[P]};P.contains.push(Q);const J=[te,$,e.C_BLOCK_COMMENT_MODE,E,w,M],me={begin:t.concat(/#\[\s*\\?/,t.either(s,l)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:k,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:k,keyword:["new","array"]},contains:["self",...J]},...J,{scope:"meta",variants:[{match:s},{match:l}]}]};return{case_insensitive:!1,keywords:T,contains:[me,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}]}},d,{scope:"variable.language",match:/\$this\b/},c,Q,$,{match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},M,{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",me,c,$,e.C_BLOCK_COMMENT_MODE,E,w]}]},{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]},E,w]}}function _6(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function C6(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function A6(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),a=["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"],d={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,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"]},f={className:"meta",begin:/^(>>>|\.\.\.) /},h={className:"subst",begin:/\{/,end:/\}/,keywords:d,illegal:/#/},b={begin:/\{\{/,relevance:0},m={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,f,b,h]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,f,b,h]},{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,b,h]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,b,h]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},x="[0-9](_?[0-9])*",v=`(\\b(${x}))?\\.(${x})|\\b(${x})\\.`,E=`\\b|${a.join("|")}`,w={className:"number",relevance:0,variants:[{begin:`(\\b(${x})|(${v}))[eE][+-]?(${x})[jJ]?(?=${E})`},{begin:`(${v})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${E})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${E})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${E})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${E})`},{begin:`\\b(${x})[jJ](?=${E})`}]},k={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:d,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:d,contains:["self",f,w,m,e.HASH_COMMENT_MODE]}]};return h.contains=[m,w,f],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:d,illegal:/(<\/|\?)|=>/,contains:[f,w,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},m,k,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:[w,N,m]}]}}function T6(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function O6(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),s=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,l=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[s,a]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[l,a]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:s},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:l},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function R6(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),s=t.concat(a,/(::\w+)*/),c={"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"]},d={className:"doctag",begin:"@[A-Za-z]+"},f={begin:"#<",end:">"},h=[e.COMMENT("#","$",{contains:[d]}),e.COMMENT("^=begin","^=end",{contains:[d],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],b={className:"subst",begin:/#\{/,end:/\}/,keywords:c},m={className:"string",contains:[e.BACKSLASH_ESCAPE,b],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,b]})]}]},x="[1-9](_?[0-9])*|0",v="[0-9](_?[0-9])*",E={className:"number",relevance:0,variants:[{begin:`\\b(${x})(\\.(${v}))?([eE][+-]?(${v})|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"}]},w={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:c}]},M=[m,{variants:[{match:[/class\s+/,s,/\s+<\s+/,s]},{match:[/\b(class|module)\s+/,s]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:c},{match:[/(include|extend)\s+/,s],scope:{2:"title.class"},keywords:c},{relevance:0,match:[s,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[w]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[m,{begin:n}],relevance:0},E,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:c},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,b],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(f,h),relevance:0}].concat(f,h);b.contains=M,w.contains=M;const P=[{begin:/^\s*=>/,starts:{end:"$",contains:M}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:c,contains:M}}];return h.unshift(f),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:c,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(P).concat(h).concat(M)}}function j6(e){const t=e.regex,n=/(r#)?/,a=t.concat(n,e.UNDERSCORE_IDENT_RE),s=t.concat(n,e.IDENT_RE),l={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,s,t.lookahead(/\s*\(/))},c="([ui](8|16|32|64|128|size)|f(32|64))?",d=["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"],f=["true","false","Some","None","Ok","Err"],h=["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!"],b=["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:b,keyword:d,literal:f,built_in:h},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_]+)"+c},{begin:"\\b0o([0-7_]+)"+c},{begin:"\\b0x([A-Fa-f0-9_]+)"+c},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+c}],relevance:0},{begin:[/fn/,/\s+/,a],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,a],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,a,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:h,type:b}},{className:"punctuation",begin:"->"},l]}}const M6=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_-]*/}}),D6=["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"],L6=["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"],I6=[...D6,...L6],z6=["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(),B6=["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(),U6=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),P6=["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 F6(e){const t=M6(e),n=U6,a=B6,s="@[a-z-]+",l="and or not only",d={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("+I6.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+a.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},d,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+P6.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,d,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:s,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:l,attribute:z6.join(" ")},contains:[{begin:s,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},d,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function $6(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function H6(e){const t=e.regex,n=e.COMMENT("--","$"),a={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},s={begin:/"/,end:/"/,contains:[{match:/""/}]},l=["true","false","unknown"],c=["double precision","large object","with timezone","without timezone"],d=["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"],f=["add","asc","collation","desc","final","first","last","view"],h=["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"],b=["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"],m=["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"],x=["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"],v=b,E=[...h,...f].filter(L=>!b.includes(L)),w={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},k={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},N={match:t.concat(/\b/,t.either(...v),/\s*\(/),relevance:0,keywords:{built_in:v}};function C(L){return t.concat(/\b/,t.either(...L.map(M=>M.replace(/\s+/,"\\s+"))),/\b/)}const A={scope:"keyword",match:C(x),relevance:0};function T(L,{exceptions:M,when:U}={}){const $=U;return M=M||[],L.map(te=>te.match(/\|\d+$/)||M.includes(te)?te:$(te)?`${te}|0`:te)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:T(E,{when:L=>L.length<3}),literal:l,type:d,built_in:m},contains:[{scope:"type",match:C(c)},A,N,w,a,s,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,k]}}function _k(e){return e?typeof e=="string"?e:e.source:null}function rc(e){return wt("(?=",e,")")}function wt(...e){return e.map(n=>_k(n)).join("")}function q6(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function An(...e){return"("+(q6(e).capture?"":"?:")+e.map(a=>_k(a)).join("|")+")"}const lb=e=>wt(/\b/,e,/\w$/.test(e)?/\b/:/\B/),K6=["Protocol","Type"].map(lb),q1=["init","self"].map(lb),G6=["Any","Self"],um=["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"],K1=["false","nil","true"],V6=["assignment","associativity","higherThan","left","lowerThan","none","right"],Q6=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],G1=["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"],Ck=An(/[/=\-+!*%<>&|^~?]/,/[\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]/),Ak=An(Ck,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),dm=wt(Ck,Ak,"*"),Tk=An(/[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]/),Vd=An(Tk,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Wi=wt(Tk,Vd,"*"),wd=wt(/[A-Z]/,Vd,"*"),Y6=["attached","autoclosure",wt(/convention\(/,An("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",wt(/objc\(/,Wi,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],W6=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function X6(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,n],s={match:[/\./,An(...K6,...q1)],className:{2:"keyword"}},l={match:wt(/\./,An(...um)),relevance:0},c=um.filter(tt=>typeof tt=="string").concat(["_|0"]),d=um.filter(tt=>typeof tt!="string").concat(G6).map(lb),f={variants:[{className:"keyword",match:An(...d,...q1)}]},h={$pattern:An(/\b\w+/,/#\w+/),keyword:c.concat(Q6),literal:K1},b=[s,l,f],m={match:wt(/\./,An(...G1)),relevance:0},x={className:"built_in",match:wt(/\b/,An(...G1),/(?=\()/)},v=[m,x],E={match:/->/,relevance:0},w={className:"operator",relevance:0,variants:[{match:dm},{match:`\\.(\\.|${Ak})+`}]},k=[E,w],N="([0-9]_*)+",C="([0-9a-fA-F]_*)+",A={className:"number",relevance:0,variants:[{match:`\\b(${N})(\\.(${N}))?([eE][+-]?(${N}))?\\b`},{match:`\\b0x(${C})(\\.(${C}))?([pP][+-]?(${N}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},T=(tt="")=>({className:"subst",variants:[{match:wt(/\\/,tt,/[0\\tnr"']/)},{match:wt(/\\/,tt,/u\{[0-9a-fA-F]{1,8}\}/)}]}),L=(tt="")=>({className:"subst",match:wt(/\\/,tt,/[\t ]*(?:[\r\n]|\r\n)/)}),M=(tt="")=>({className:"subst",label:"interpol",begin:wt(/\\/,tt,/\(/),end:/\)/}),U=(tt="")=>({begin:wt(tt,/"""/),end:wt(/"""/,tt),contains:[T(tt),L(tt),M(tt)]}),$=(tt="")=>({begin:wt(tt,/"/),end:wt(/"/,tt),contains:[T(tt),M(tt)]}),te={className:"string",variants:[U(),U("#"),U("##"),U("###"),$(),$("#"),$("##"),$("###")]},P=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],Q={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:P},J=tt=>{const Oi=wt(tt,/\//),fi=wt(/\//,tt);return{begin:Oi,end:fi,contains:[...P,{scope:"comment",begin:`#(?!.*${fi})`,end:/$/}]}},me={scope:"regexp",variants:[J("###"),J("##"),J("#"),Q]},le={match:wt(/`/,Wi,/`/)},ee={className:"variable",match:/\$\d+/},H={className:"variable",match:`\\$${Vd}+`},oe=[le,ee,H],ce={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:W6,contains:[...k,A,te]}]}},ne={scope:"keyword",match:wt(/@/,An(...Y6),rc(An(/\(/,/\s+/)))},j={scope:"meta",match:wt(/@/,Wi)},D=[ce,ne,j],Y={match:rc(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:wt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Vd,"+")},{className:"type",match:wd,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:wt(/\s+&\s+/,rc(wd)),relevance:0}]},R={begin:/</,end:/>/,keywords:h,contains:[...a,...b,...D,E,Y]};Y.contains.push(R);const ye={match:wt(Wi,/\s*:/),keywords:"_|0",relevance:0},X={begin:/\(/,end:/\)/,relevance:0,keywords:h,contains:["self",ye,...a,me,...b,...v,...k,A,te,...oe,...D,Y]},fe={begin:/</,end:/>/,keywords:"repeat each",contains:[...a,Y]},he={begin:An(rc(wt(Wi,/\s*:/)),rc(wt(Wi,/\s+/,Wi,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Wi}]},K={begin:/\(/,end:/\)/,keywords:h,contains:[he,...a,...b,...k,A,te,...D,Y,X],endsParent:!0,illegal:/["']/},ue={match:[/(func|macro)/,/\s+/,An(le.match,Wi,dm)],className:{1:"keyword",3:"title.function"},contains:[fe,K,t],illegal:[/\[/,/%/]},Oe={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[fe,K,t],illegal:/\[|%/},dt={match:[/operator/,/\s+/,dm],className:{1:"keyword",3:"title"}},ft={begin:[/precedencegroup/,/\s+/,wd],className:{1:"keyword",3:"title"},contains:[Y],keywords:[...V6,...K1],end:/}/},di={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Yn={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},$i={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Wi,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:h,contains:[fe,...b,{begin:/:/,end:/\{/,keywords:h,contains:[{scope:"title.class.inherited",match:wd},...b],relevance:0}]};for(const tt of te.variants){const Oi=tt.contains.find(Hi=>Hi.label==="interpol");Oi.keywords=h;const fi=[...b,...v,...k,A,te,...oe];Oi.contains=[...fi,{begin:/\(/,end:/\)/,contains:["self",...fi]}]}return{name:"Swift",keywords:h,contains:[...a,ue,Oe,di,Yn,$i,dt,ft,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0},me,...b,...v,...k,A,te,...oe,...D,Y,X]}}const Qd="[A-Za-z$_][0-9A-Za-z$_]*",Ok=["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"],Rk=["true","false","null","undefined","NaN","Infinity"],jk=["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"],Mk=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Dk=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Lk=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ik=[].concat(Dk,jk,Mk);function Z6(e){const t=e.regex,n=(ce,{after:ne})=>{const j="</"+ce[0].slice(1);return ce.input.indexOf(j,ne)!==-1},a=Qd,s={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ce,ne)=>{const j=ce[0].length+ce.index,D=ce.input[j];if(D==="<"||D===","){ne.ignoreMatch();return}D===">"&&(n(ce,{after:j})||ne.ignoreMatch());let Y;const R=ce.input.substring(j);if(Y=R.match(/^\s*=/)){ne.ignoreMatch();return}if((Y=R.match(/^\s+extends\s+/))&&Y.index===0){ne.ignoreMatch();return}}},d={$pattern:Qd,keyword:Ok,literal:Rk,built_in:Ik,"variable.language":Lk},f="[0-9](_?[0-9])*",h=`\\.(${f})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${b})((${h})|\\.)?|(${h}))[eE][+-]?(${f})\\b`},{begin:`\\b(${b})\\b((${h})\\b|\\.)?|(${h})\\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},x={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"xml"}},E={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,x]},C={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:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},A=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,{match:/\$\d+/},m];x.contains=A.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(A)});const T=[].concat(C,x.contains),L=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(T)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:L},U={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,t.concat(a,"(",t.concat(/\./,a),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},$={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:{_:[...jk,...Mk]}},te={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},P={variants:[{match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(ce){return t.concat("(?!",ce.join("|"),")")}const me={match:t.concat(/\b/,J([...Dk,"super","import"].map(ce=>`${ce}\\s*\\(`)),a,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},le={begin:t.concat(/\./,t.lookahead(t.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ee={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",oe={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:$},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),te,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,C,{match:/\$\d+/},m,$,{scope:"attr",match:a+t.lookahead(":"),relevance:0},oe,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[C,e.REGEXP_MODE,{className:"function",begin:H,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:d,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:l},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},P,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},le,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},me,Q,U,ee,{match:/\$[(.]/}]}}function J6(e){const t=e.regex,n=Z6(e),a=Qd,s=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],l={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},c={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:s},contains:[n.exports.CLASS_REFERENCE]},d={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},f=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],h={$pattern:Qd,keyword:Ok.concat(f),literal:Rk,built_in:Ik.concat(s),"variable.language":Lk},b={className:"meta",begin:"@"+a},m=(w,k,N)=>{const C=w.contains.findIndex(A=>A.label===k);if(C===-1)throw new Error("can not find mode to replace");w.contains.splice(C,1,N)};Object.assign(n.keywords,h),n.exports.PARAMS_CONTAINS.push(b);const x=n.contains.find(w=>w.scope==="attr"),v=Object.assign({},x,{match:t.concat(a,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,x,v]),n.contains=n.contains.concat([b,l,c,v]),m(n,"shebang",e.SHEBANG()),m(n,"use_strict",d);const E=n.contains.find(w=>w.label==="func.def");return E.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function e9(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},a={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s=/\d{1,2}\/\d{1,2}\/\d{4}/,l=/\d{4}-\d{1,2}-\d{1,2}/,c=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,d=/\d{1,2}(:\d{1,2}){1,2}/,f={className:"literal",variants:[{begin:t.concat(/# */,t.either(l,s),/ *#/)},{begin:t.concat(/# */,d,/ *#/)},{begin:t.concat(/# */,c,/ *#/)},{begin:t.concat(/# */,t.either(l,s),/ +/,t.either(c,d),/ *#/)}]},h={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},b={className:"label",begin:/^\w+:/},m=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),x=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,a,f,h,b,m,x,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[x]}]}}function t9(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),a=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],s={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},l={className:"variable",begin:/\$[\w_]+/},c={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},d={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},f={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},h={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:a},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},l,c,s,e.QUOTE_STRING_MODE,f,h,d]}}function n9(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a=/[\p{L}0-9._:-]+/u,s={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},l={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},c=e.inherit(l,{begin:/\(/,end:/\)/}),d=e.inherit(e.APOS_STRING_MODE,{className:"string"}),f=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),h={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:a,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[s]},{begin:/'/,end:/'/,contains:[s]},{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:[l,f,d,c,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[l,c,f,d]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[f]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[h],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[h],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:h}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function i9(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},s={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},l={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},c={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,s]},d=e.inherit(c,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),x={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"},v={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},E={begin:/\{/,end:/\}/,contains:[v],illegal:"\\n",relevance:0},w={begin:"\\[",end:"\\]",contains:[v],illegal:"\\n",relevance:0},k=[a,{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}},x,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},E,w,l,c],N=[...k];return N.pop(),N.push(d),v.contains=N,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:k}}const a9={arduino:U5,bash:P5,c:F5,cpp:$5,csharp:H5,css:Z5,diff:J5,go:e6,graphql:t6,ini:n6,java:i6,javascript:o6,json:c6,kotlin:d6,less:x6,lua:v6,makefile:w6,markdown:E6,objectivec:S6,perl:k6,php:N6,"php-template":_6,plaintext:C6,python:A6,"python-repl":T6,r:O6,ruby:R6,rust:j6,scss:F6,shell:$6,sql:H6,swift:X6,typescript:J6,vbnet:e9,wasm:t9,xml:n9,yaml:i9};var fm,V1;function r9(){if(V1)return fm;V1=1;function e(B){return B instanceof Map?B.clear=B.delete=B.set=function(){throw new Error("map is read-only")}:B instanceof Set&&(B.add=B.clear=B.delete=function(){throw new Error("set is read-only")}),Object.freeze(B),Object.getOwnPropertyNames(B).forEach(re=>{const ve=B[re],ze=typeof ve;(ze==="object"||ze==="function")&&!Object.isFrozen(ve)&&e(ve)}),B}class t{constructor(re){re.data===void 0&&(re.data={}),this.data=re.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(B){return B.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function a(B,...re){const ve=Object.create(null);for(const ze in B)ve[ze]=B[ze];return re.forEach(function(ze){for(const At in ze)ve[At]=ze[At]}),ve}const s="</span>",l=B=>!!B.scope,c=(B,{prefix:re})=>{if(B.startsWith("language:"))return B.replace("language:","language-");if(B.includes(".")){const ve=B.split(".");return[`${re}${ve.shift()}`,...ve.map((ze,At)=>`${ze}${"_".repeat(At+1)}`)].join(" ")}return`${re}${B}`};class d{constructor(re,ve){this.buffer="",this.classPrefix=ve.classPrefix,re.walk(this)}addText(re){this.buffer+=n(re)}openNode(re){if(!l(re))return;const ve=c(re.scope,{prefix:this.classPrefix});this.span(ve)}closeNode(re){l(re)&&(this.buffer+=s)}value(){return this.buffer}span(re){this.buffer+=`<span class="${re}">`}}const f=(B={})=>{const re={children:[]};return Object.assign(re,B),re};class h{constructor(){this.rootNode=f(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(re){this.top.children.push(re)}openNode(re){const ve=f({scope:re});this.add(ve),this.stack.push(ve)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(re){return this.constructor._walk(re,this.rootNode)}static _walk(re,ve){return typeof ve=="string"?re.addText(ve):ve.children&&(re.openNode(ve),ve.children.forEach(ze=>this._walk(re,ze)),re.closeNode(ve)),re}static _collapse(re){typeof re!="string"&&re.children&&(re.children.every(ve=>typeof ve=="string")?re.children=[re.children.join("")]:re.children.forEach(ve=>{h._collapse(ve)}))}}class b extends h{constructor(re){super(),this.options=re}addText(re){re!==""&&this.add(re)}startScope(re){this.openNode(re)}endScope(){this.closeNode()}__addSublanguage(re,ve){const ze=re.root;ve&&(ze.scope=`language:${ve}`),this.add(ze)}toHTML(){return new d(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function m(B){return B?typeof B=="string"?B:B.source:null}function x(B){return w("(?=",B,")")}function v(B){return w("(?:",B,")*")}function E(B){return w("(?:",B,")?")}function w(...B){return B.map(ve=>m(ve)).join("")}function k(B){const re=B[B.length-1];return typeof re=="object"&&re.constructor===Object?(B.splice(B.length-1,1),re):{}}function N(...B){return"("+(k(B).capture?"":"?:")+B.map(ze=>m(ze)).join("|")+")"}function C(B){return new RegExp(B.toString()+"|").exec("").length-1}function A(B,re){const ve=B&&B.exec(re);return ve&&ve.index===0}const T=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function L(B,{joinWith:re}){let ve=0;return B.map(ze=>{ve+=1;const At=ve;let Et=m(ze),ke="";for(;Et.length>0;){const Ee=T.exec(Et);if(!Ee){ke+=Et;break}ke+=Et.substring(0,Ee.index),Et=Et.substring(Ee.index+Ee[0].length),Ee[0][0]==="\\"&&Ee[1]?ke+="\\"+String(Number(Ee[1])+At):(ke+=Ee[0],Ee[0]==="("&&ve++)}return ke}).map(ze=>`(${ze})`).join(re)}const M=/\b\B/,U="[a-zA-Z]\\w*",$="[a-zA-Z_]\\w*",te="\\b\\d+(\\.\\d+)?",P="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Q="\\b(0b[01]+)",J="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",me=(B={})=>{const re=/^#![ ]*\//;return B.binary&&(B.begin=w(re,/.*\b/,B.binary,/\b.*/)),a({scope:"meta",begin:re,end:/$/,relevance:0,"on:begin":(ve,ze)=>{ve.index!==0&&ze.ignoreMatch()}},B)},le={begin:"\\\\[\\s\\S]",relevance:0},ee={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[le]},H={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[le]},oe={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/},ce=function(B,re,ve={}){const ze=a({scope:"comment",begin:B,end:re,contains:[]},ve);ze.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const At=N("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 ze.contains.push({begin:w(/[ ]+/,"(",At,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ze},ne=ce("//","$"),j=ce("/\\*","\\*/"),D=ce("#","$"),Y={scope:"number",begin:te,relevance:0},R={scope:"number",begin:P,relevance:0},ye={scope:"number",begin:Q,relevance:0},X={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[le,{begin:/\[/,end:/\]/,relevance:0,contains:[le]}]},fe={scope:"title",begin:U,relevance:0},he={scope:"title",begin:$,relevance:0},K={begin:"\\.\\s*"+$,relevance:0};var Oe=Object.freeze({__proto__:null,APOS_STRING_MODE:ee,BACKSLASH_ESCAPE:le,BINARY_NUMBER_MODE:ye,BINARY_NUMBER_RE:Q,COMMENT:ce,C_BLOCK_COMMENT_MODE:j,C_LINE_COMMENT_MODE:ne,C_NUMBER_MODE:R,C_NUMBER_RE:P,END_SAME_AS_BEGIN:function(B){return Object.assign(B,{"on:begin":(re,ve)=>{ve.data._beginMatch=re[1]},"on:end":(re,ve)=>{ve.data._beginMatch!==re[1]&&ve.ignoreMatch()}})},HASH_COMMENT_MODE:D,IDENT_RE:U,MATCH_NOTHING_RE:M,METHOD_GUARD:K,NUMBER_MODE:Y,NUMBER_RE:te,PHRASAL_WORDS_MODE:oe,QUOTE_STRING_MODE:H,REGEXP_MODE:X,RE_STARTERS_RE:J,SHEBANG:me,TITLE_MODE:fe,UNDERSCORE_IDENT_RE:$,UNDERSCORE_TITLE_MODE:he});function dt(B,re){B.input[B.index-1]==="."&&re.ignoreMatch()}function ft(B,re){B.className!==void 0&&(B.scope=B.className,delete B.className)}function di(B,re){re&&B.beginKeywords&&(B.begin="\\b("+B.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",B.__beforeBegin=dt,B.keywords=B.keywords||B.beginKeywords,delete B.beginKeywords,B.relevance===void 0&&(B.relevance=0))}function Yn(B,re){Array.isArray(B.illegal)&&(B.illegal=N(...B.illegal))}function $i(B,re){if(B.match){if(B.begin||B.end)throw new Error("begin & end are not supported with match");B.begin=B.match,delete B.match}}function tt(B,re){B.relevance===void 0&&(B.relevance=1)}const Oi=(B,re)=>{if(!B.beforeMatch)return;if(B.starts)throw new Error("beforeMatch cannot be used with starts");const ve=Object.assign({},B);Object.keys(B).forEach(ze=>{delete B[ze]}),B.keywords=ve.keywords,B.begin=w(ve.beforeMatch,x(ve.begin)),B.starts={relevance:0,contains:[Object.assign(ve,{endsParent:!0})]},B.relevance=0,delete ve.beforeMatch},fi=["of","and","for","in","not","or","if","then","parent","list","value"],Hi="keyword";function ra(B,re,ve=Hi){const ze=Object.create(null);return typeof B=="string"?At(ve,B.split(" ")):Array.isArray(B)?At(ve,B):Object.keys(B).forEach(function(Et){Object.assign(ze,ra(B[Et],re,Et))}),ze;function At(Et,ke){re&&(ke=ke.map(Ee=>Ee.toLowerCase())),ke.forEach(function(Ee){const Ie=Ee.split("|");ze[Ie[0]]=[Et,Rr(Ie[0],Ie[1])]})}}function Rr(B,re){return re?Number(re):to(B)?0:1}function to(B){return fi.includes(B.toLowerCase())}const Es={},Lt=B=>{console.error(B)},Ss=(B,...re)=>{console.log(`WARN: ${B}`,...re)},ie=(B,re)=>{Es[`${B}/${re}`]||(console.log(`Deprecated as of ${B}. ${re}`),Es[`${B}/${re}`]=!0)},be=new Error;function Me(B,re,{key:ve}){let ze=0;const At=B[ve],Et={},ke={};for(let Ee=1;Ee<=re.length;Ee++)ke[Ee+ze]=At[Ee],Et[Ee+ze]=!0,ze+=C(re[Ee-1]);B[ve]=ke,B[ve]._emit=Et,B[ve]._multi=!0}function Ve(B){if(Array.isArray(B.begin)){if(B.skip||B.excludeBegin||B.returnBegin)throw Lt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),be;if(typeof B.beginScope!="object"||B.beginScope===null)throw Lt("beginScope must be object"),be;Me(B,B.begin,{key:"beginScope"}),B.begin=L(B.begin,{joinWith:""})}}function rt(B){if(Array.isArray(B.end)){if(B.skip||B.excludeEnd||B.returnEnd)throw Lt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),be;if(typeof B.endScope!="object"||B.endScope===null)throw Lt("endScope must be object"),be;Me(B,B.end,{key:"endScope"}),B.end=L(B.end,{joinWith:""})}}function Sn(B){B.scope&&typeof B.scope=="object"&&B.scope!==null&&(B.beginScope=B.scope,delete B.scope)}function Ri(B){Sn(B),typeof B.beginScope=="string"&&(B.beginScope={_wrap:B.beginScope}),typeof B.endScope=="string"&&(B.endScope={_wrap:B.endScope}),Ve(B),rt(B)}function cn(B){function re(ke,Ee){return new RegExp(m(ke),"m"+(B.case_insensitive?"i":"")+(B.unicodeRegex?"u":"")+(Ee?"g":""))}class ve{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ee,Ie){Ie.position=this.position++,this.matchIndexes[this.matchAt]=Ie,this.regexes.push([Ie,Ee]),this.matchAt+=C(Ee)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ee=this.regexes.map(Ie=>Ie[1]);this.matcherRe=re(L(Ee,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ee){this.matcherRe.lastIndex=this.lastIndex;const Ie=this.matcherRe.exec(Ee);if(!Ie)return null;const Kt=Ie.findIndex((sa,Ns)=>Ns>0&&sa!==void 0),Rt=this.matchIndexes[Kt];return Ie.splice(0,Kt),Object.assign(Ie,Rt)}}class ze{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Ee){if(this.multiRegexes[Ee])return this.multiRegexes[Ee];const Ie=new ve;return this.rules.slice(Ee).forEach(([Kt,Rt])=>Ie.addRule(Kt,Rt)),Ie.compile(),this.multiRegexes[Ee]=Ie,Ie}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ee,Ie){this.rules.push([Ee,Ie]),Ie.type==="begin"&&this.count++}exec(Ee){const Ie=this.getMatcher(this.regexIndex);Ie.lastIndex=this.lastIndex;let Kt=Ie.exec(Ee);if(this.resumingScanAtSamePosition()&&!(Kt&&Kt.index===this.lastIndex)){const Rt=this.getMatcher(0);Rt.lastIndex=this.lastIndex+1,Kt=Rt.exec(Ee)}return Kt&&(this.regexIndex+=Kt.position+1,this.regexIndex===this.count&&this.considerAll()),Kt}}function At(ke){const Ee=new ze;return ke.contains.forEach(Ie=>Ee.addRule(Ie.begin,{rule:Ie,type:"begin"})),ke.terminatorEnd&&Ee.addRule(ke.terminatorEnd,{type:"end"}),ke.illegal&&Ee.addRule(ke.illegal,{type:"illegal"}),Ee}function Et(ke,Ee){const Ie=ke;if(ke.isCompiled)return Ie;[ft,$i,Ri,Oi].forEach(Rt=>Rt(ke,Ee)),B.compilerExtensions.forEach(Rt=>Rt(ke,Ee)),ke.__beforeBegin=null,[di,Yn,tt].forEach(Rt=>Rt(ke,Ee)),ke.isCompiled=!0;let Kt=null;return typeof ke.keywords=="object"&&ke.keywords.$pattern&&(ke.keywords=Object.assign({},ke.keywords),Kt=ke.keywords.$pattern,delete ke.keywords.$pattern),Kt=Kt||/\w+/,ke.keywords&&(ke.keywords=ra(ke.keywords,B.case_insensitive)),Ie.keywordPatternRe=re(Kt,!0),Ee&&(ke.begin||(ke.begin=/\B|\b/),Ie.beginRe=re(Ie.begin),!ke.end&&!ke.endsWithParent&&(ke.end=/\B|\b/),ke.end&&(Ie.endRe=re(Ie.end)),Ie.terminatorEnd=m(Ie.end)||"",ke.endsWithParent&&Ee.terminatorEnd&&(Ie.terminatorEnd+=(ke.end?"|":"")+Ee.terminatorEnd)),ke.illegal&&(Ie.illegalRe=re(ke.illegal)),ke.contains||(ke.contains=[]),ke.contains=[].concat(...ke.contains.map(function(Rt){return mn(Rt==="self"?ke:Rt)})),ke.contains.forEach(function(Rt){Et(Rt,Ie)}),ke.starts&&Et(ke.starts,Ee),Ie.matcher=At(Ie),Ie}if(B.compilerExtensions||(B.compilerExtensions=[]),B.contains&&B.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return B.classNameAliases=a(B.classNameAliases||{}),Et(B)}function Pt(B){return B?B.endsWithParent||Pt(B.starts):!1}function mn(B){return B.variants&&!B.cachedVariants&&(B.cachedVariants=B.variants.map(function(re){return a(B,{variants:null},re)})),B.cachedVariants?B.cachedVariants:Pt(B)?a(B,{starts:B.starts?a(B.starts):null}):Object.isFrozen(B)?a(B):B}var ht="11.11.1";class qi extends Error{constructor(re,ve){super(re),this.name="HTMLInjectionError",this.html=ve}}const kn=n,Fc=a,jr=Symbol("nomatch"),ks=7,Mr=function(B){const re=Object.create(null),ve=Object.create(null),ze=[];let At=!0;const Et="Could not find the language '{}', did you forget to load/include a language module?",ke={disableAutodetect:!0,name:"Plain text",contains:[]};let Ee={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:b};function Ie(pe){return Ee.noHighlightRe.test(pe)}function Kt(pe){let Ae=pe.className+" ";Ae+=pe.parentNode?pe.parentNode.className:"";const Qe=Ee.languageDetectRe.exec(Ae);if(Qe){const pt=Nn(Qe[1]);return pt||(Ss(Et.replace("{}",Qe[1])),Ss("Falling back to no-highlight mode for this block.",pe)),pt?Qe[1]:"no-highlight"}return Ae.split(/\s+/).find(pt=>Ie(pt)||Nn(pt))}function Rt(pe,Ae,Qe){let pt="",Vt="";typeof Ae=="object"?(pt=pe,Qe=Ae.ignoreIllegals,Vt=Ae.language):(ie("10.7.0","highlight(lang, code, ...args) has been deprecated."),ie("10.7.0",`Please use highlight(code, options) instead.
|
|
553
|
+
`))}function f(v,E,w,k){const N=w.enter("tableCell"),C=w.enter("phrasing"),A=w.containerPhrasing(v,{...k,before:l,after:l});return C(),N(),A}function h(v,E){return t$(v,{align:E,alignDelimiters:a,padding:n,stringLength:s})}function b(v,E,w){const k=v.children;let N=-1;const C=[],A=E.enter("table");for(;++N<k.length;)C[N]=m(k[N],E,w);return A(),C}function m(v,E,w){const k=v.children;let N=-1;const C=[],A=E.enter("tableRow");for(;++N<k.length;)C[N]=f(k[N],v,E,w);return A(),C}function x(v,E,w){let k=lk.inlineCode(v,E,w);return w.stack.includes("tableCell")&&(k=k.replace(/\|/g,"\\$&")),k}}function $$(){return{exit:{taskListCheckValueChecked:L1,taskListCheckValueUnchecked:L1,paragraph:q$}}}function H$(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:K$}}}function L1(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function q$(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const a=n.children[0];if(a&&a.type==="text"){const s=t.children;let l=-1,c;for(;++l<s.length;){const d=s[l];if(d.type==="paragraph"){c=d;break}}c===n&&(a.value=a.value.slice(1),a.value.length===0?n.children.shift():n.position&&a.position&&typeof a.position.start.offset=="number"&&(a.position.start.column++,a.position.start.offset++,n.position.start=Object.assign({},a.position.start)))}}this.exit(e)}function K$(e,t,n,a){const s=e.children[0],l=typeof e.checked=="boolean"&&s&&s.type==="paragraph",c="["+(e.checked?"x":" ")+"] ",d=n.createTracker(a);l&&d.move(c);let f=lk.listItem(e,t,n,{...a,...d.current()});return l&&(f=f.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,h)),f;function h(b){return b+c}}function G$(){return[kF(),KF(),YF(),L$(),$$()]}function V$(e){return{extensions:[NF(),GF(e),WF(),F$(e),H$()]}}const Q$={tokenize:e5,partial:!0},ok={tokenize:t5,partial:!0},ck={tokenize:n5,partial:!0},uk={tokenize:i5,partial:!0},Y$={tokenize:a5,partial:!0},dk={name:"wwwAutolink",tokenize:Z$,previous:hk},fk={name:"protocolAutolink",tokenize:J$,previous:pk},La={name:"emailAutolink",tokenize:X$,previous:mk},aa={};function W$(){return{text:aa}}let Jr=48;for(;Jr<123;)aa[Jr]=La,Jr++,Jr===58?Jr=65:Jr===91&&(Jr=97);aa[43]=La;aa[45]=La;aa[46]=La;aa[95]=La;aa[72]=[La,fk];aa[104]=[La,fk];aa[87]=[La,dk];aa[119]=[La,dk];function X$(e,t,n){const a=this;let s,l;return c;function c(m){return!tg(m)||!mk.call(a,a.previous)||ab(a.events)?n(m):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),d(m))}function d(m){return tg(m)?(e.consume(m),d):m===64?(e.consume(m),f):n(m)}function f(m){return m===46?e.check(Y$,b,h)(m):m===45||m===95||vn(m)?(l=!0,e.consume(m),f):b(m)}function h(m){return e.consume(m),s=!0,f}function b(m){return l&&s&&Rn(a.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(m)):n(m)}}function Z$(e,t,n){const a=this;return s;function s(c){return c!==87&&c!==119||!hk.call(a,a.previous)||ab(a.events)?n(c):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(Q$,e.attempt(ok,e.attempt(ck,l),n),n)(c))}function l(c){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(c)}}function J$(e,t,n){const a=this;let s="",l=!1;return c;function c(m){return(m===72||m===104)&&pk.call(a,a.previous)&&!ab(a.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),s+=String.fromCodePoint(m),e.consume(m),d):n(m)}function d(m){if(Rn(m)&&s.length<5)return s+=String.fromCodePoint(m),e.consume(m),d;if(m===58){const x=s.toLowerCase();if(x==="http"||x==="https")return e.consume(m),f}return n(m)}function f(m){return m===47?(e.consume(m),l?h:(l=!0,f)):n(m)}function h(m){return m===null||Hd(m)||kt(m)||gs(m)||yf(m)?n(m):e.attempt(ok,e.attempt(ck,b),n)(m)}function b(m){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(m)}}function e5(e,t,n){let a=0;return s;function s(c){return(c===87||c===119)&&a<3?(a++,e.consume(c),s):c===46&&a===3?(e.consume(c),l):n(c)}function l(c){return c===null?n(c):t(c)}}function t5(e,t,n){let a,s,l;return c;function c(h){return h===46||h===95?e.check(uk,f,d)(h):h===null||kt(h)||gs(h)||h!==45&&yf(h)?f(h):(l=!0,e.consume(h),c)}function d(h){return h===95?a=!0:(s=a,a=void 0),e.consume(h),c}function f(h){return s||a||!l?n(h):t(h)}}function n5(e,t){let n=0,a=0;return s;function s(c){return c===40?(n++,e.consume(c),s):c===41&&a<n?l(c):c===33||c===34||c===38||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===60||c===63||c===93||c===95||c===126?e.check(uk,t,l)(c):c===null||kt(c)||gs(c)?t(c):(e.consume(c),s)}function l(c){return c===41&&a++,e.consume(c),s}}function i5(e,t,n){return a;function a(d){return d===33||d===34||d===39||d===41||d===42||d===44||d===46||d===58||d===59||d===63||d===95||d===126?(e.consume(d),a):d===38?(e.consume(d),l):d===93?(e.consume(d),s):d===60||d===null||kt(d)||gs(d)?t(d):n(d)}function s(d){return d===null||d===40||d===91||kt(d)||gs(d)?t(d):a(d)}function l(d){return Rn(d)?c(d):n(d)}function c(d){return d===59?(e.consume(d),a):Rn(d)?(e.consume(d),c):n(d)}}function a5(e,t,n){return a;function a(l){return e.consume(l),s}function s(l){return vn(l)?n(l):t(l)}}function hk(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||kt(e)}function pk(e){return!Rn(e)}function mk(e){return!(e===47||tg(e))}function tg(e){return e===43||e===45||e===46||e===95||vn(e)}function ab(e){let t=e.length,n=!1;for(;t--;){const a=e[t][1];if((a.type==="labelLink"||a.type==="labelImage")&&!a._balanced){n=!0;break}if(a._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const r5={tokenize:h5,partial:!0};function s5(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:u5,continuation:{tokenize:d5},exit:f5}},text:{91:{name:"gfmFootnoteCall",tokenize:c5},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:l5,resolveTo:o5}}}}function l5(e,t,n){const a=this;let s=a.events.length;const l=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let c;for(;s--;){const f=a.events[s][1];if(f.type==="labelImage"){c=f;break}if(f.type==="gfmFootnoteCall"||f.type==="labelLink"||f.type==="label"||f.type==="image"||f.type==="link")break}return d;function d(f){if(!c||!c._balanced)return n(f);const h=Bi(a.sliceSerialize({start:c.end,end:a.now()}));return h.codePointAt(0)!==94||!l.includes(h.slice(1))?n(f):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(f),e.exit("gfmFootnoteCallLabelMarker"),t(f))}}function o5(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const a={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},s={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};s.end.column++,s.end.offset++,s.end._bufferIndex++;const l={type:"gfmFootnoteCallString",start:Object.assign({},s.end),end:Object.assign({},e[e.length-1][1].start)},c={type:"chunkString",contentType:"string",start:Object.assign({},l.start),end:Object.assign({},l.end)},d=[e[n+1],e[n+2],["enter",a,t],e[n+3],e[n+4],["enter",s,t],["exit",s,t],["enter",l,t],["enter",c,t],["exit",c,t],["exit",l,t],e[e.length-2],e[e.length-1],["exit",a,t]];return e.splice(n,e.length-n+1,...d),e}function c5(e,t,n){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let l=0,c;return d;function d(m){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),f}function f(m){return m!==94?n(m):(e.enter("gfmFootnoteCallMarker"),e.consume(m),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",h)}function h(m){if(l>999||m===93&&!c||m===null||m===91||kt(m))return n(m);if(m===93){e.exit("chunkString");const x=e.exit("gfmFootnoteCallString");return s.includes(Bi(a.sliceSerialize(x)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(m)}return kt(m)||(c=!0),l++,e.consume(m),m===92?b:h}function b(m){return m===91||m===92||m===93?(e.consume(m),l++,h):h(m)}}function u5(e,t,n){const a=this,s=a.parser.gfmFootnotes||(a.parser.gfmFootnotes=[]);let l,c=0,d;return f;function f(E){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),h}function h(E){return E===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",b):n(E)}function b(E){if(c>999||E===93&&!d||E===null||E===91||kt(E))return n(E);if(E===93){e.exit("chunkString");const w=e.exit("gfmFootnoteDefinitionLabelString");return l=Bi(a.sliceSerialize(w)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(E),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),x}return kt(E)||(d=!0),c++,e.consume(E),E===92?m:b}function m(E){return E===91||E===92||E===93?(e.consume(E),c++,b):b(E)}function x(E){return E===58?(e.enter("definitionMarker"),e.consume(E),e.exit("definitionMarker"),s.includes(l)||s.push(l),at(e,v,"gfmFootnoteDefinitionWhitespace")):n(E)}function v(E){return t(E)}}function d5(e,t,n){return e.check(Bc,t,e.attempt(r5,t,n))}function f5(e){e.exit("gfmFootnoteDefinition")}function h5(e,t,n){const a=this;return at(e,s,"gfmFootnoteDefinitionIndent",5);function s(l){const c=a.events[a.events.length-1];return c&&c[1].type==="gfmFootnoteDefinitionIndent"&&c[2].sliceSerialize(c[1],!0).length===4?t(l):n(l)}}function p5(e){let n=(e||{}).singleTilde;const a={name:"strikethrough",tokenize:l,resolveAll:s};return n==null&&(n=!0),{text:{126:a},insideSpan:{null:[a]},attentionMarkers:{null:[126]}};function s(c,d){let f=-1;for(;++f<c.length;)if(c[f][0]==="enter"&&c[f][1].type==="strikethroughSequenceTemporary"&&c[f][1]._close){let h=f;for(;h--;)if(c[h][0]==="exit"&&c[h][1].type==="strikethroughSequenceTemporary"&&c[h][1]._open&&c[f][1].end.offset-c[f][1].start.offset===c[h][1].end.offset-c[h][1].start.offset){c[f][1].type="strikethroughSequence",c[h][1].type="strikethroughSequence";const b={type:"strikethrough",start:Object.assign({},c[h][1].start),end:Object.assign({},c[f][1].end)},m={type:"strikethroughText",start:Object.assign({},c[h][1].end),end:Object.assign({},c[f][1].start)},x=[["enter",b,d],["enter",c[h][1],d],["exit",c[h][1],d],["enter",m,d]],v=d.parser.constructs.insideSpan.null;v&&oi(x,x.length,0,xf(v,c.slice(h+1,f),d)),oi(x,x.length,0,[["exit",m,d],["enter",c[f][1],d],["exit",c[f][1],d],["exit",b,d]]),oi(c,h-1,f-h+3,x),f=h+x.length-2;break}}for(f=-1;++f<c.length;)c[f][1].type==="strikethroughSequenceTemporary"&&(c[f][1].type="data");return c}function l(c,d,f){const h=this.previous,b=this.events;let m=0;return x;function x(E){return h===126&&b[b.length-1][1].type!=="characterEscape"?f(E):(c.enter("strikethroughSequenceTemporary"),v(E))}function v(E){const w=Pl(h);if(E===126)return m>1?f(E):(c.consume(E),m++,v);if(m<2&&!n)return f(E);const k=c.exit("strikethroughSequenceTemporary"),N=Pl(E);return k._open=!N||N===2&&!!w,k._close=!w||w===2&&!!N,d(E)}}}class m5{constructor(){this.map=[]}add(t,n,a){g5(this,t,n,a)}consume(t){if(this.map.sort(function(l,c){return l[0]-c[0]}),this.map.length===0)return;let n=this.map.length;const a=[];for(;n>0;)n-=1,a.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];a.push(t.slice()),t.length=0;let s=a.pop();for(;s;){for(const l of s)t.push(l);s=a.pop()}this.map.length=0}}function g5(e,t,n,a){let s=0;if(!(n===0&&a.length===0)){for(;s<e.map.length;){if(e.map[s][0]===t){e.map[s][1]+=n,e.map[s][2].push(...a);return}s+=1}e.map.push([t,n,a])}}function b5(e,t){let n=!1;const a=[];for(;t<e.length;){const s=e[t];if(n){if(s[0]==="enter")s[1].type==="tableContent"&&a.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(s[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const l=a.length-1;a[l]=a[l]==="left"?"center":"right"}}else if(s[1].type==="tableDelimiterRow")break}else s[0]==="enter"&&s[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return a}function y5(){return{flow:{null:{name:"table",tokenize:x5,resolveAll:v5}}}}function x5(e,t,n){const a=this;let s=0,l=0,c;return d;function d(P){let Q=a.events.length-1;for(;Q>-1;){const le=a.events[Q][1].type;if(le==="lineEnding"||le==="linePrefix")Q--;else break}const J=Q>-1?a.events[Q][1].type:null,me=J==="tableHead"||J==="tableRow"?M:f;return me===M&&a.parser.lazy[a.now().line]?n(P):me(P)}function f(P){return e.enter("tableHead"),e.enter("tableRow"),h(P)}function h(P){return P===124||(c=!0,l+=1),b(P)}function b(P){return P===null?n(P):je(P)?l>1?(l=0,a.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),v):n(P):Xe(P)?at(e,b,"whitespace")(P):(l+=1,c&&(c=!1,s+=1),P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),c=!0,b):(e.enter("data"),m(P)))}function m(P){return P===null||P===124||kt(P)?(e.exit("data"),b(P)):(e.consume(P),P===92?x:m)}function x(P){return P===92||P===124?(e.consume(P),m):m(P)}function v(P){return a.interrupt=!1,a.parser.lazy[a.now().line]?n(P):(e.enter("tableDelimiterRow"),c=!1,Xe(P)?at(e,E,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):E(P))}function E(P){return P===45||P===58?k(P):P===124?(c=!0,e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),w):L(P)}function w(P){return Xe(P)?at(e,k,"whitespace")(P):k(P)}function k(P){return P===58?(l+=1,c=!0,e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),N):P===45?(l+=1,N(P)):P===null||je(P)?T(P):L(P)}function N(P){return P===45?(e.enter("tableDelimiterFiller"),C(P)):L(P)}function C(P){return P===45?(e.consume(P),C):P===58?(c=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),A):(e.exit("tableDelimiterFiller"),A(P))}function A(P){return Xe(P)?at(e,T,"whitespace")(P):T(P)}function T(P){return P===124?E(P):P===null||je(P)?!c||s!==l?L(P):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(P)):L(P)}function L(P){return n(P)}function M(P){return e.enter("tableRow"),U(P)}function U(P){return P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),U):P===null||je(P)?(e.exit("tableRow"),t(P)):Xe(P)?at(e,U,"whitespace")(P):(e.enter("data"),$(P))}function $(P){return P===null||P===124||kt(P)?(e.exit("data"),U(P)):(e.consume(P),P===92?te:$)}function te(P){return P===92||P===124?(e.consume(P),$):$(P)}}function v5(e,t){let n=-1,a=!0,s=0,l=[0,0,0,0],c=[0,0,0,0],d=!1,f=0,h,b,m;const x=new m5;for(;++n<e.length;){const v=e[n],E=v[1];v[0]==="enter"?E.type==="tableHead"?(d=!1,f!==0&&(I1(x,t,f,h,b),b=void 0,f=0),h={type:"table",start:Object.assign({},E.start),end:Object.assign({},E.end)},x.add(n,0,[["enter",h,t]])):E.type==="tableRow"||E.type==="tableDelimiterRow"?(a=!0,m=void 0,l=[0,0,0,0],c=[0,n+1,0,0],d&&(d=!1,b={type:"tableBody",start:Object.assign({},E.start),end:Object.assign({},E.end)},x.add(n,0,[["enter",b,t]])),s=E.type==="tableDelimiterRow"?2:b?3:1):s&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")?(a=!1,c[2]===0&&(l[1]!==0&&(c[0]=c[1],m=gd(x,t,l,s,void 0,m),l=[0,0,0,0]),c[2]=n)):E.type==="tableCellDivider"&&(a?a=!1:(l[1]!==0&&(c[0]=c[1],m=gd(x,t,l,s,void 0,m)),l=c,c=[l[1],n,0,0])):E.type==="tableHead"?(d=!0,f=n):E.type==="tableRow"||E.type==="tableDelimiterRow"?(f=n,l[1]!==0?(c[0]=c[1],m=gd(x,t,l,s,n,m)):c[1]!==0&&(m=gd(x,t,c,s,n,m)),s=0):s&&(E.type==="data"||E.type==="tableDelimiterMarker"||E.type==="tableDelimiterFiller")&&(c[3]=n)}for(f!==0&&I1(x,t,f,h,b),x.consume(t.events),n=-1;++n<t.events.length;){const v=t.events[n];v[0]==="enter"&&v[1].type==="table"&&(v[1]._align=b5(t.events,n))}return e}function gd(e,t,n,a,s,l){const c=a===1?"tableHeader":a===2?"tableDelimiter":"tableData",d="tableContent";n[0]!==0&&(l.end=Object.assign({},ml(t.events,n[0])),e.add(n[0],0,[["exit",l,t]]));const f=ml(t.events,n[1]);if(l={type:c,start:Object.assign({},f),end:Object.assign({},f)},e.add(n[1],0,[["enter",l,t]]),n[2]!==0){const h=ml(t.events,n[2]),b=ml(t.events,n[3]),m={type:d,start:Object.assign({},h),end:Object.assign({},b)};if(e.add(n[2],0,[["enter",m,t]]),a!==2){const x=t.events[n[2]],v=t.events[n[3]];if(x[1].end=Object.assign({},v[1].end),x[1].type="chunkText",x[1].contentType="text",n[3]>n[2]+1){const E=n[2]+1,w=n[3]-n[2]-1;e.add(E,w,[])}}e.add(n[3]+1,0,[["exit",m,t]])}return s!==void 0&&(l.end=Object.assign({},ml(t.events,s)),e.add(s,0,[["exit",l,t]]),l=void 0),l}function I1(e,t,n,a,s){const l=[],c=ml(t.events,n);s&&(s.end=Object.assign({},c),l.push(["exit",s,t])),a.end=Object.assign({},c),l.push(["exit",a,t]),e.add(n+1,0,l)}function ml(e,t){const n=e[t],a=n[0]==="enter"?"start":"end";return n[1][a]}const w5={name:"tasklistCheck",tokenize:S5};function E5(){return{text:{91:w5}}}function S5(e,t,n){const a=this;return s;function s(f){return a.previous!==null||!a._gfmTasklistFirstContentOfListItem?n(f):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),l)}function l(f){return kt(f)?(e.enter("taskListCheckValueUnchecked"),e.consume(f),e.exit("taskListCheckValueUnchecked"),c):f===88||f===120?(e.enter("taskListCheckValueChecked"),e.consume(f),e.exit("taskListCheckValueChecked"),c):n(f)}function c(f){return f===93?(e.enter("taskListCheckMarker"),e.consume(f),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),d):n(f)}function d(f){return je(f)?t(f):Xe(f)?e.check({tokenize:k5},t,n)(f):n(f)}}function k5(e,t,n){return at(e,a,"whitespace");function a(s){return s===null?n(s):t(s)}}function N5(e){return _S([W$(),s5(),p5(e),y5(),E5()])}const _5={};function rb(e){const t=this,n=e||_5,a=t.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),l=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),c=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(N5(n)),l.push(G$()),c.push(V$(n))}const z1=(function(e,t,n){const a=Uc(n);if(!e||!e.type||!e.children)throw new Error("Expected parent node");if(typeof t=="number"){if(t<0||t===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(t=e.children.indexOf(t),t<0)throw new Error("Expected child node or index");for(;++t<e.children.length;)if(a(e.children[t],t,e))return e.children[t]}),ws=(function(e){if(e==null)return T5;if(typeof e=="string")return A5(e);if(typeof e=="object")return C5(e);if(typeof e=="function")return sb(e);throw new Error("Expected function, string, or array as `test`")});function C5(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=ws(e[n]);return sb(a);function a(...s){let l=-1;for(;++l<t.length;)if(t[l].apply(this,s))return!0;return!1}}function A5(e){return sb(t);function t(n){return n.tagName===e}}function sb(e){return t;function t(n,a,s){return!!(O5(n)&&e.call(this,n,typeof a=="number"?a:void 0,s||void 0))}}function T5(e){return!!(e&&typeof e=="object"&&"type"in e&&e.type==="element"&&"tagName"in e&&typeof e.tagName=="string")}function O5(e){return e!==null&&typeof e=="object"&&"type"in e&&"tagName"in e}const B1=/\n/g,U1=/[\t ]+/g,ng=ws("br"),P1=ws(B5),R5=ws("p"),F1=ws("tr"),j5=ws(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",z5,U5]),gk=ws(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function M5(e,t){const n=t||{},a="children"in e?e.children:[],s=gk(e),l=xk(e,{whitespace:n.whitespace||"normal"}),c=[];(e.type==="text"||e.type==="comment")&&c.push(...yk(e,{breakBefore:!0,breakAfter:!0}));let d=-1;for(;++d<a.length;)c.push(...bk(a[d],e,{whitespace:l,breakBefore:d?void 0:s,breakAfter:d<a.length-1?ng(a[d+1]):s}));const f=[];let h;for(d=-1;++d<c.length;){const b=c[d];typeof b=="number"?h!==void 0&&b>h&&(h=b):b&&(h!==void 0&&h>-1&&f.push(`
|
|
554
|
+
`.repeat(h)||" "),h=-1,f.push(b))}return f.join("")}function bk(e,t,n){return e.type==="element"?D5(e,t,n):e.type==="text"?n.whitespace==="normal"?yk(e,n):L5(e):[]}function D5(e,t,n){const a=xk(e,n),s=e.children||[];let l=-1,c=[];if(j5(e))return c;let d,f;for(ng(e)||F1(e)&&z1(t,e,F1)?f=`
|
|
555
|
+
`:R5(e)?(d=2,f=2):gk(e)&&(d=1,f=1);++l<s.length;)c=c.concat(bk(s[l],e,{whitespace:a,breakBefore:l?void 0:d,breakAfter:l<s.length-1?ng(s[l+1]):f}));return P1(e)&&z1(t,e,P1)&&c.push(" "),d&&c.unshift(d),f&&c.push(f),c}function yk(e,t){const n=String(e.value),a=[],s=[];let l=0;for(;l<=n.length;){B1.lastIndex=l;const f=B1.exec(n),h=f&&"index"in f?f.index:n.length;a.push(I5(n.slice(l,h).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),l===0?t.breakBefore:!0,h===n.length?t.breakAfter:!0)),l=h+1}let c=-1,d;for(;++c<a.length;)a[c].charCodeAt(a[c].length-1)===8203||c<a.length-1&&a[c+1].charCodeAt(0)===8203?(s.push(a[c]),d=void 0):a[c]?(typeof d=="number"&&s.push(d),s.push(a[c]),d=0):(c===0||c===a.length-1)&&s.push(0);return s}function L5(e){return[String(e.value)]}function I5(e,t,n){const a=[];let s=0,l;for(;s<e.length;){U1.lastIndex=s;const c=U1.exec(e);l=c?c.index:e.length,!s&&!l&&c&&!t&&a.push(""),s!==l&&a.push(e.slice(s,l)),s=c?l+c[0].length:l}return s!==l&&!n&&a.push(""),a.join(" ")}function xk(e,t){if(e.type==="element"){const n=e.properties||{};switch(e.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return n.wrap?"pre-wrap":"pre";case"td":case"th":return n.noWrap?"nowrap":t.whitespace;case"textarea":return"pre-wrap"}}return t.whitespace}function z5(e){return!!(e.properties||{}).hidden}function B5(e){return e.tagName==="td"||e.tagName==="th"}function U5(e){return e.tagName==="dialog"&&!(e.properties||{}).open}function P5(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="(?!struct)("+a+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",d={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={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})"/})]},b={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},m={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(h,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},x={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},v=t.optional(s)+e.IDENT_RE+"\\s*\\(",E=["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"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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:w,keyword:E,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},L={className:"function.dispatch",relevance:0,keywords:{_hint:N},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},M=[L,m,d,n,e.C_BLOCK_COMMENT_MODE,b,h],U={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:T,contains:M.concat([{begin:/\(/,end:/\)/,keywords:T,contains:M.concat(["self"]),relevance:0}]),relevance:0},$={className:"function",begin:"("+c+"[\\*&\\s]+)+"+v,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:T,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:T,relevance:0},{begin:v,returnBegin:!0,contains:[x],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,b]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,h,b,d,{begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,h,b,d]}]},d,n,e.C_BLOCK_COMMENT_MODE,m]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:T,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(U,$,L,M,[m,{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",d]},{begin:e.IDENT_RE+"::",keywords:T},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function F5(e){const t={type:["boolean","byte","word","String"],built_in:["KeyboardController","MouseController","SoftwareSerial","EthernetServer","EthernetClient","LiquidCrystal","RobotControl","GSMVoiceCall","EthernetUDP","EsploraTFT","HttpClient","RobotMotor","WiFiClient","GSMScanner","FileSystem","Scheduler","GSMServer","YunClient","YunServer","IPAddress","GSMClient","GSMModem","Keyboard","Ethernet","Console","GSMBand","Esplora","Stepper","Process","WiFiUDP","GSM_SMS","Mailbox","USBHost","Firmata","PImage","Client","Server","GSMPIN","FileIO","Bridge","Serial","EEPROM","Stream","Mouse","Audio","Servo","File","Task","GPRS","WiFi","Wire","TFT","GSM","SPI","SD"],_hints:["setup","loop","runShellCommandAsynchronously","analogWriteResolution","retrieveCallingNumber","printFirmwareVersion","analogReadResolution","sendDigitalPortPair","noListenOnLocalhost","readJoystickButton","setFirmwareVersion","readJoystickSwitch","scrollDisplayRight","getVoiceCallStatus","scrollDisplayLeft","writeMicroseconds","delayMicroseconds","beginTransmission","getSignalStrength","runAsynchronously","getAsynchronously","listenOnLocalhost","getCurrentCarrier","readAccelerometer","messageAvailable","sendDigitalPorts","lineFollowConfig","countryNameWrite","runShellCommand","readStringUntil","rewindDirectory","readTemperature","setClockDivider","readLightSensor","endTransmission","analogReference","detachInterrupt","countryNameRead","attachInterrupt","encryptionType","readBytesUntil","robotNameWrite","readMicrophone","robotNameRead","cityNameWrite","userNameWrite","readJoystickY","readJoystickX","mouseReleased","openNextFile","scanNetworks","noInterrupts","digitalWrite","beginSpeaker","mousePressed","isActionDone","mouseDragged","displayLogos","noAutoscroll","addParameter","remoteNumber","getModifiers","keyboardRead","userNameRead","waitContinue","processInput","parseCommand","printVersion","readNetworks","writeMessage","blinkVersion","cityNameRead","readMessage","setDataMode","parsePacket","isListening","setBitOrder","beginPacket","isDirectory","motorsWrite","drawCompass","digitalRead","clearScreen","serialEvent","rightToLeft","setTextSize","leftToRight","requestFrom","keyReleased","compassRead","analogWrite","interrupts","WiFiServer","disconnect","playMelody","parseFloat","autoscroll","getPINUsed","setPINUsed","setTimeout","sendAnalog","readSlider","analogRead","beginWrite","createChar","motorsStop","keyPressed","tempoWrite","readButton","subnetMask","debugPrint","macAddress","writeGreen","randomSeed","attachGPRS","readString","sendString","remotePort","releaseAll","mouseMoved","background","getXChange","getYChange","answerCall","getResult","voiceCall","endPacket","constrain","getSocket","writeJSON","getButton","available","connected","findUntil","readBytes","exitValue","readGreen","writeBlue","startLoop","IPAddress","isPressed","sendSysex","pauseMode","gatewayIP","setCursor","getOemKey","tuneWrite","noDisplay","loadImage","switchPIN","onRequest","onReceive","changePIN","playFile","noBuffer","parseInt","overflow","checkPIN","knobRead","beginTFT","bitClear","updateIR","bitWrite","position","writeRGB","highByte","writeRed","setSpeed","readBlue","noStroke","remoteIP","transfer","shutdown","hangCall","beginSMS","endWrite","attached","maintain","noCursor","checkReg","checkPUK","shiftOut","isValid","shiftIn","pulseIn","connect","println","localIP","pinMode","getIMEI","display","noBlink","process","getBand","running","beginSD","drawBMP","lowByte","setBand","release","bitRead","prepare","pointTo","readRed","setMode","noFill","remove","listen","stroke","detach","attach","noTone","exists","buffer","height","bitSet","circle","config","cursor","random","IRread","setDNS","endSMS","getKey","micros","millis","begin","print","write","ready","flush","width","isPIN","blink","clear","press","mkdir","rmdir","close","point","yield","image","BSSID","click","delay","read","text","move","peek","beep","rect","line","open","seek","fill","size","turn","stop","home","find","step","tone","sqrt","RSSI","SSID","end","bit","tan","cos","sin","pow","map","abs","max","min","get","run","put"],literal:["DIGITAL_MESSAGE","FIRMATA_STRING","ANALOG_MESSAGE","REPORT_DIGITAL","REPORT_ANALOG","INPUT_PULLUP","SET_PIN_MODE","INTERNAL2V56","SYSTEM_RESET","LED_BUILTIN","INTERNAL1V1","SYSEX_START","INTERNAL","EXTERNAL","DEFAULT","OUTPUT","INPUT","HIGH","LOW"]},n=P5(e),a=n.keywords;return a.type=[...a.type,...t.type],a.literal=[...a.literal,...t.literal],a.built_in=[...a.built_in,...t.built_in],a._hints=t._hints,n.name="Arduino",n.aliases=["ino"],n.supersetOf="cpp",n}function $5(e){const t=e.regex,n={},a={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[n]}]};Object.assign(n,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},a]});const s={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},l=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),c={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},d={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,s]};s.contains.push(d);const f={match:/\\"/},h={className:"string",begin:/'/,end:/'/},b={match:/\\'/},m={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,n]},x=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],v=e.SHEBANG({binary:`(${x.join("|")})`,relevance:10}),E={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},w=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],k=["true","false"],N={match:/(\/[a-z._-]+)+/},C=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],A=["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"],L=["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:w,literal:k,built_in:[...C,...A,"set","shopt",...T,...L]},contains:[v,e.SHEBANG(),E,m,l,c,N,d,f,h,b,n]}}function H5(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="("+a+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",d={className:"type",variants:[{begin:"\\b[a-z\\d_]*_t\\b"},{match:/\batomic_[a-z]{3,6}\b/}]},h={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})"/})]},b={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},m={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(h,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},x={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},v=t.optional(s)+e.IDENT_RE+"\\s*\\(",k={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=[m,d,n,e.C_BLOCK_COMMENT_MODE,b,h],C={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:k,contains:N.concat([{begin:/\(/,end:/\)/,keywords:k,contains:N.concat(["self"]),relevance:0}]),relevance:0},A={begin:"("+c+"[\\*&\\s]+)+"+v,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:k,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:k,relevance:0},{begin:v,returnBegin:!0,contains:[e.inherit(x,{className:"title.function"})],relevance:0},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,h,b,d,{begin:/\(/,end:/\)/,keywords:k,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,h,b,d]}]},d,n,e.C_BLOCK_COMMENT_MODE,m]};return{name:"C",aliases:["h"],keywords:k,disableAutodetect:!0,illegal:"</",contains:[].concat(C,A,N,[m,{begin:e.IDENT_RE+"::",keywords:k},{className:"class",beginKeywords:"enum class struct union",end:/[{;:<>=]/,contains:[{beginKeywords:"final class struct"},e.TITLE_MODE]}]),exports:{preprocessor:m,strings:h,keywords:k}}}function q5(e){const t=e.regex,n=e.COMMENT("//","$",{contains:[{begin:/\\\n/}]}),a="decltype\\(auto\\)",s="[a-zA-Z_]\\w*::",c="(?!struct)("+a+"|"+t.optional(s)+"[a-zA-Z_]\\w*"+t.optional("<[^<>]+>")+")",d={className:"type",begin:"\\b[a-z\\d_]*_t\\b"},h={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})"/})]},b={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},m={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(h,{className:"string"}),{className:"string",begin:/<.*?>/},n,e.C_BLOCK_COMMENT_MODE]},x={className:"title",begin:t.optional(s)+e.IDENT_RE,relevance:0},v=t.optional(s)+e.IDENT_RE+"\\s*\\(",E=["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"],w=["bool","char","char16_t","char32_t","char8_t","double","float","int","long","short","void","wchar_t","unsigned","signed","const","static"],k=["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:w,keyword:E,literal:["NULL","false","nullopt","nullptr","true"],built_in:["_Pragma"],_type_hints:k},L={className:"function.dispatch",relevance:0,keywords:{_hint:N},begin:t.concat(/\b/,/(?!decltype)/,/(?!if)/,/(?!for)/,/(?!switch)/,/(?!while)/,e.IDENT_RE,t.lookahead(/(<[^<>]+>|)\s*\(/))},M=[L,m,d,n,e.C_BLOCK_COMMENT_MODE,b,h],U={variants:[{begin:/=/,end:/;/},{begin:/\(/,end:/\)/},{beginKeywords:"new throw return else",end:/;/}],keywords:T,contains:M.concat([{begin:/\(/,end:/\)/,keywords:T,contains:M.concat(["self"]),relevance:0}]),relevance:0},$={className:"function",begin:"("+c+"[\\*&\\s]+)+"+v,returnBegin:!0,end:/[{;=]/,excludeEnd:!0,keywords:T,illegal:/[^\w\s\*&:<>.]/,contains:[{begin:a,keywords:T,relevance:0},{begin:v,returnBegin:!0,contains:[x],relevance:0},{begin:/::/,relevance:0},{begin:/:/,endsWithParent:!0,contains:[h,b]},{relevance:0,match:/,/},{className:"params",begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:[n,e.C_BLOCK_COMMENT_MODE,h,b,d,{begin:/\(/,end:/\)/,keywords:T,relevance:0,contains:["self",n,e.C_BLOCK_COMMENT_MODE,h,b,d]}]},d,n,e.C_BLOCK_COMMENT_MODE,m]};return{name:"C++",aliases:["cc","c++","h++","hpp","hh","hxx","cxx"],keywords:T,illegal:"</",classNameAliases:{"function.dispatch":"built_in"},contains:[].concat(U,$,L,M,[m,{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",d]},{begin:e.IDENT_RE+"::",keywords:T},{match:[/\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)/,/\s+/,/\w+/],className:{1:"keyword",3:"title.class"}}])}}function K5(e){const 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"],a=["default","false","null","true"],s=["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"],l=["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"],c={keyword:s.concat(l),built_in:t,literal:a},d=e.inherit(e.TITLE_MODE,{begin:"[a-zA-Z](\\.?\\w)*"}),f={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},h={className:"string",begin:/"""("*)(?!")(.|\n)*?"""\1/,relevance:1},b={className:"string",begin:'@"',end:'"',contains:[{begin:'""'}]},m=e.inherit(b,{illegal:/\n/}),x={className:"subst",begin:/\{/,end:/\}/,keywords:c},v=e.inherit(x,{illegal:/\n/}),E={className:"string",begin:/\$"/,end:'"',illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},e.BACKSLASH_ESCAPE,v]},w={className:"string",begin:/\$@"/,end:'"',contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},x]},k=e.inherit(w,{illegal:/\n/,contains:[{begin:/\{\{/},{begin:/\}\}/},{begin:'""'},v]});x.contains=[w,E,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,f,e.C_BLOCK_COMMENT_MODE],v.contains=[k,E,m,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,f,e.inherit(e.C_BLOCK_COMMENT_MODE,{illegal:/\n/})];const N={variants:[h,w,E,b,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},C={begin:"<",end:">",contains:[{beginKeywords:"in out"},d]},A=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:c,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,f,{beginKeywords:"class interface",relevance:0,end:/[{;=]/,illegal:/[^\s:,]/,contains:[{beginKeywords:"where class"},d,C,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"namespace",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[d,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"record",relevance:0,end:/[{;=]/,illegal:/[^\s:]/,contains:[d,C,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:"("+A+"\\s+)+"+e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,end:/\s*[{;=]/,excludeEnd:!0,keywords:c,contains:[{beginKeywords:n.join(" "),relevance:0},{begin:e.IDENT_RE+"\\s*(<[^=]+>\\s*)?\\(",returnBegin:!0,contains:[e.TITLE_MODE,C],relevance:0},{match:/\(\)/},{className:"params",begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:c,relevance:0,contains:[N,f,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},T]}}const G5=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_-]*/}}),V5=["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"],Q5=["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"],Y5=[...V5,...Q5],W5=["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(),X5=["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(),Z5=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),J5=["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 e6(e){const t=e.regex,n=G5(e),a={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},s="and or not only",l=/@-?\w[\w]*(-\w+)*/,c="[a-zA-Z-][a-zA-Z0-9_-]*",d=[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,a,n.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+c,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+X5.join("|")+")"},{begin:":(:)?("+Z5.join("|")+")"}]},n.CSS_VARIABLE,{className:"attribute",begin:"\\b("+J5.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...d,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...d,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:l},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:s,attribute:W5.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...d,n.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+Y5.join("|")+")\\b"}]}}function t6(e){const t=e.regex;return{name:"Diff",aliases:["patch"],contains:[{className:"meta",relevance:10,match:t.either(/^@@ +-\d+,\d+ +\+\d+,\d+ +@@/,/^\*\*\* +\d+,\d+ +\*\*\*\*$/,/^--- +\d+,\d+ +----$/)},{className:"comment",variants:[{begin:t.either(/Index: /,/^index/,/={3,}/,/^-{3}/,/^\*{3} /,/^\+{3}/,/^diff --git/),end:/$/},{match:/^\*{15}$/}]},{className:"addition",begin:/^\+/,end:/$/},{className:"deletion",begin:/^-/,end:/$/},{className:"addition",begin:/^!/,end:/$/}]}}function n6(e){const l={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:l,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:l,illegal:/["']/}]}]}}function i6(e){const t=e.regex,n=/[_A-Za-z][_0-9A-Za-z]*/;return{name:"GraphQL",aliases:["gql"],case_insensitive:!0,disableAutodetect:!1,keywords:{keyword:["query","mutation","subscription","type","input","schema","directive","interface","union","scalar","fragment","enum","on"],literal:["true","false","null"]},contains:[e.HASH_COMMENT_MODE,e.QUOTE_STRING_MODE,e.NUMBER_MODE,{scope:"punctuation",match:/[.]{3}/,relevance:0},{scope:"punctuation",begin:/[\!\(\)\:\=\[\]\{\|\}]{1}/,relevance:0},{scope:"variable",begin:/\$/,end:/\W/,excludeEnd:!0,relevance:0},{scope:"meta",match:/@\w+/,excludeEnd:!0},{scope:"symbol",begin:t.concat(n,t.lookahead(/\s*:/)),relevance:0}],illegal:[/[;<']/,/BEGIN/]}}function a6(e){const t=e.regex,n={className:"number",relevance:0,variants:[{begin:/([+-]+)?[\d]+_[\d_]+/},{begin:e.NUMBER_RE}]},a=e.COMMENT();a.variants=[{begin:/;/,end:/$/},{begin:/#/,end:/$/}];const s={className:"variable",variants:[{begin:/\$[\w\d"][\w\d_]*/},{begin:/\$\{(.*?)\}/}]},l={className:"literal",begin:/\bon|off|true|false|yes|no\b/},c={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:"'''",end:"'''",relevance:10},{begin:'"""',end:'"""',relevance:10},{begin:'"',end:'"'},{begin:"'",end:"'"}]},d={begin:/\[/,end:/\]/,contains:[a,l,s,c,n,"self"],relevance:0},f=/[A-Za-z0-9_-]+/,h=/"(\\"|[^"])*"/,b=/'[^']*'/,m=t.either(f,h,b),x=t.concat(m,"(\\s*\\.\\s*",m,")*",t.lookahead(/\s*=\s*[^#\s]/));return{name:"TOML, also INI",aliases:["toml"],case_insensitive:!0,illegal:/\S/,contains:[a,{className:"section",begin:/\[+/,end:/\]+/},{begin:x,className:"attr",starts:{end:/$/,contains:[a,d,l,s,c,n]}}]}}var gl="[0-9](_*[0-9])*",bd=`\\.(${gl})`,yd="[0-9a-fA-F](_*[0-9a-fA-F])*",$1={className:"number",variants:[{begin:`(\\b(${gl})((${bd})|\\.)?|(${bd}))[eE][+-]?(${gl})[fFdD]?\\b`},{begin:`\\b(${gl})((${bd})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${bd})[fFdD]?\\b`},{begin:`\\b(${gl})[fFdD]\\b`},{begin:`\\b0[xX]((${yd})\\.?|(${yd})?\\.(${yd}))[pP][+-]?(${gl})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${yd})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function vk(e,t,n){return n===-1?"":e.replace(t,a=>vk(e,t,n-1))}function r6(e){const t=e.regex,n="[À-ʸa-zA-Z_$][À-ʸa-zA-Z_$0-9]*",a=n+vk("(?:<"+n+"~~~(?:\\s*,\\s*"+n+"~~~)*>)?",/~~~/g,2),f={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"]},h={className:"meta",begin:"@"+n,contains:[{begin:/\(/,end:/\)/,contains:["self"]}]},b={className:"params",begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[e.C_BLOCK_COMMENT_MODE],endsParent:!0};return{name:"Java",aliases:["jsp"],keywords:f,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:[b,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{beginKeywords:"new throw return else",relevance:0},{begin:["(?:"+a+"\\s+)",e.UNDERSCORE_IDENT_RE,/\s*(?=\()/],className:{2:"title.function"},keywords:f,contains:[{className:"params",begin:/\(/,end:/\)/,keywords:f,relevance:0,contains:[h,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,$1,e.C_BLOCK_COMMENT_MODE]},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},$1,h]}}const H1="[A-Za-z$_][0-9A-Za-z$_]*",s6=["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"],l6=["true","false","null","undefined","NaN","Infinity"],wk=["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"],Ek=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Sk=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],o6=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],c6=[].concat(Sk,wk,Ek);function u6(e){const t=e.regex,n=(ce,{after:ne})=>{const j="</"+ce[0].slice(1);return ce.input.indexOf(j,ne)!==-1},a=H1,s={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ce,ne)=>{const j=ce[0].length+ce.index,D=ce.input[j];if(D==="<"||D===","){ne.ignoreMatch();return}D===">"&&(n(ce,{after:j})||ne.ignoreMatch());let Y;const R=ce.input.substring(j);if(Y=R.match(/^\s*=/)){ne.ignoreMatch();return}if((Y=R.match(/^\s+extends\s+/))&&Y.index===0){ne.ignoreMatch();return}}},d={$pattern:H1,keyword:s6,literal:l6,built_in:c6,"variable.language":o6},f="[0-9](_?[0-9])*",h=`\\.(${f})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${b})((${h})|\\.)?|(${h}))[eE][+-]?(${f})\\b`},{begin:`\\b(${b})\\b((${h})\\b|\\.)?|(${h})\\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},x={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"xml"}},E={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,x]},C={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:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},A=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,{match:/\$\d+/},m];x.contains=A.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(A)});const T=[].concat(C,x.contains),L=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(T)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:L},U={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,t.concat(a,"(",t.concat(/\./,a),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},$={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:{_:[...wk,...Ek]}},te={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},P={variants:[{match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(ce){return t.concat("(?!",ce.join("|"),")")}const me={match:t.concat(/\b/,J([...Sk,"super","import"].map(ce=>`${ce}\\s*\\(`)),a,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},le={begin:t.concat(/\./,t.lookahead(t.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ee={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",oe={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:$},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),te,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,C,{match:/\$\d+/},m,$,{scope:"attr",match:a+t.lookahead(":"),relevance:0},oe,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[C,e.REGEXP_MODE,{className:"function",begin:H,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:d,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:l},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},P,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},le,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},me,Q,U,ee,{match:/\$[(.]/}]}}function d6(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:"punctuation",relevance:0},a=["true","false","null"],s={scope:"literal",beginKeywords:a.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:a},contains:[t,n,e.QUOTE_STRING_MODE,s,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}var bl="[0-9](_*[0-9])*",xd=`\\.(${bl})`,vd="[0-9a-fA-F](_*[0-9a-fA-F])*",f6={className:"number",variants:[{begin:`(\\b(${bl})((${xd})|\\.)?|(${xd}))[eE][+-]?(${bl})[fFdD]?\\b`},{begin:`\\b(${bl})((${xd})[fFdD]?\\b|\\.([fFdD]\\b)?)`},{begin:`(${xd})[fFdD]?\\b`},{begin:`\\b(${bl})[fFdD]\\b`},{begin:`\\b0[xX]((${vd})\\.?|(${vd})?\\.(${vd}))[pP][+-]?(${bl})[fFdD]?\\b`},{begin:"\\b(0|[1-9](_*[0-9])*)[lL]?\\b"},{begin:`\\b0[xX](${vd})[lL]?\\b`},{begin:"\\b0(_*[0-7])*[lL]?\\b"},{begin:"\\b0[bB][01](_*[01])*[lL]?\\b"}],relevance:0};function h6(e){const 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+/}]}},a={className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"@"},s={className:"subst",begin:/\$\{/,end:/\}/,contains:[e.C_NUMBER_MODE]},l={className:"variable",begin:"\\$"+e.UNDERSCORE_IDENT_RE},c={className:"string",variants:[{begin:'"""',end:'"""(?=[^"])',contains:[l,s]},{begin:"'",end:"'",illegal:/\n/,contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"',illegal:/\n/,contains:[e.BACKSLASH_ESCAPE,l,s]}]};s.contains.push(c);const d={className:"meta",begin:"@(?:file|property|field|get|set|receiver|param|setparam|delegate)\\s*:(?:\\s*"+e.UNDERSCORE_IDENT_RE+")?"},f={className:"meta",begin:"@"+e.UNDERSCORE_IDENT_RE,contains:[{begin:/\(/,end:/\)/,contains:[e.inherit(c,{className:"string"}),"self"]}]},h=f6,b=e.COMMENT("/\\*","\\*/",{contains:[e.C_BLOCK_COMMENT_MODE]}),m={variants:[{className:"type",begin:e.UNDERSCORE_IDENT_RE},{begin:/\(/,end:/\)/,contains:[]}]},x=m;return x.variants[1].contains=[m],m.variants[1].contains=[x],{name:"Kotlin",aliases:["kt","kts"],keywords:t,contains:[e.COMMENT("/\\*\\*","\\*/",{relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"}]}),e.C_LINE_COMMENT_MODE,b,n,a,d,f,{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:[m,e.C_LINE_COMMENT_MODE,b],relevance:0},e.C_LINE_COMMENT_MODE,b,d,f,c,e.C_NUMBER_MODE]},b]},{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},d,f]},c,{className:"meta",begin:"^#!/usr/bin/env",end:"$",illegal:`
|
|
556
|
+
`},h]}}const p6=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_-]*/}}),m6=["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"],g6=["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"],b6=[...m6,...g6],y6=["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(),kk=["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(),Nk=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),x6=["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(),v6=kk.concat(Nk).sort().reverse();function w6(e){const t=p6(e),n=v6,a="and or not only",s="[\\w-]+",l="("+s+"|@\\{"+s+"\\})",c=[],d=[],f=function(A){return{className:"string",begin:"~?"+A+".*?"+A}},h=function(A,T,L){return{className:A,begin:T,relevance:L}},b={$pattern:/[a-z-]+/,keyword:a,attribute:y6.join(" ")},m={begin:"\\(",end:"\\)",contains:d,keywords:b,relevance:0};d.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,f("'"),f('"'),t.CSS_NUMBER_MODE,{begin:"(url|data-uri)\\(",starts:{className:"string",end:"[\\)\\n]",excludeEnd:!0}},t.HEXCOLOR,m,h("variable","@@?"+s,10),h("variable","@\\{"+s+"\\}"),h("built_in","~?`[^`]*?`"),{className:"attribute",begin:s+"\\s*:",end:":",returnBegin:!0,excludeEnd:!0},t.IMPORTANT,{beginKeywords:"and not"},t.FUNCTION_DISPATCH);const x=d.concat({begin:/\{/,end:/\}/,contains:c}),v={beginKeywords:"when",endsWithParent:!0,contains:[{beginKeywords:"and not"}].concat(d)},E={begin:l+"\\s*:",returnBegin:!0,end:/[;}]/,relevance:0,contains:[{begin:/-(webkit|moz|ms|o)-/},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+x6.join("|")+")\\b",end:/(?=:)/,starts:{endsWithParent:!0,illegal:"[<=$]",relevance:0,contains:d}}]},w={className:"keyword",begin:"@(import|media|charset|font-face|(-[a-z]+-)?keyframes|supports|document|namespace|page|viewport|host)\\b",starts:{end:"[;{}]",keywords:b,returnEnd:!0,contains:d,relevance:0}},k={className:"variable",variants:[{begin:"@"+s+"\\s*:",relevance:15},{begin:"@"+s}],starts:{end:"[;}]",returnEnd:!0,contains:x}},N={variants:[{begin:"[\\.#:&\\[>]",end:"[;{}]"},{begin:l,end:/\{/}],returnBegin:!0,returnEnd:!0,illegal:`[<='$"]`,relevance:0,contains:[e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,v,h("keyword","all\\b"),h("variable","@\\{"+s+"\\}"),{begin:"\\b("+b6.join("|")+")\\b",className:"selector-tag"},t.CSS_NUMBER_MODE,h("selector-tag",l,0),h("selector-id","#"+l),h("selector-class","\\."+l,0),h("selector-tag","&",0),t.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",begin:":("+kk.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+Nk.join("|")+")"},{begin:/\(/,end:/\)/,relevance:0,contains:x},{begin:"!important"},t.FUNCTION_DISPATCH]},C={begin:s+`:(:)?(${n.join("|")})`,returnBegin:!0,contains:[N]};return c.push(e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,w,k,C,E,N,v,t.FUNCTION_DISPATCH),{name:"Less",case_insensitive:!0,illegal:`[=>'/<($"]`,contains:c}}function E6(e){const t="\\[=*\\[",n="\\]=*\\]",a={begin:t,end:n,contains:["self"]},s=[e.COMMENT("--(?!"+t+")","$"),e.COMMENT("--"+t,n,{contains:[a],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:s.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:s}].concat(s)},e.C_NUMBER_MODE,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,{className:"string",begin:t,end:n,contains:[a],relevance:5}])}}function S6(e){const t={className:"variable",variants:[{begin:"\\$\\("+e.UNDERSCORE_IDENT_RE+"\\)",contains:[e.BACKSLASH_ESCAPE]},{begin:/\$[@%<?\^\+\*]/}]},n={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,t]},a={className:"variable",begin:/\$\([\w-]+\s/,end:/\)/,keywords:{built_in:"subst patsubst strip findstring filter filter-out sort word wordlist firstword lastword dir notdir suffix basename addsuffix addprefix join wildcard realpath abspath error warning shell origin flavor foreach if or and call eval file value"},contains:[t,n]},s={begin:"^"+e.UNDERSCORE_IDENT_RE+"\\s*(?=[:+?]?=)"},l={className:"meta",begin:/^\.PHONY:/,end:/$/,keywords:{$pattern:/[\.\w]+/,keyword:".PHONY"}},c={className:"section",begin:/^[^\s]+:/,end:/$/,contains:[t]};return{name:"Makefile",aliases:["mk","mak","make"],keywords:{$pattern:/[\w-]+/,keyword:"define endef undefine ifdef ifndef ifeq ifneq else endif include -include sinclude override export unexport private vpath"},contains:[e.HASH_COMMENT_MODE,t,n,a,s,l,c]}}function k6(e){const t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},a={begin:"^[-\\*]{3,}",end:"$"},s={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}]},l={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},c={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},d=/[A-Za-z][A-Za-z0-9+.-]*/,f={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,d,/:\/\/.*?\)/),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}]},h={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},b={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},m=e.inherit(h,{contains:[]}),x=e.inherit(b,{contains:[]});h.contains.push(x),b.contains.push(m);let v=[n,f];return[h,b,m,x].forEach(N=>{N.contains=N.contains.concat(v)}),v=v.concat(h,b),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:v},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:v}]}]},n,l,h,b,{className:"quote",begin:"^>\\s+",contains:v,end:"$"},s,a,f,c,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}function N6(e){const t={className:"built_in",begin:"\\b(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)\\w+"},n=/[a-zA-Z@][a-zA-Z0-9_]*/,d={"variable.language":["this","super"],$pattern:n,keyword:["while","export","sizeof","typedef","const","struct","for","union","volatile","static","mutable","if","do","return","goto","enum","else","break","extern","asm","case","default","register","explicit","typename","switch","continue","inline","readonly","assign","readwrite","self","@synchronized","id","typeof","nonatomic","IBOutlet","IBAction","strong","weak","copy","in","out","inout","bycopy","byref","oneway","__strong","__weak","__block","__autoreleasing","@private","@protected","@public","@try","@property","@end","@throw","@catch","@finally","@autoreleasepool","@synthesize","@dynamic","@selector","@optional","@required","@encode","@package","@import","@defs","@compatibility_alias","__bridge","__bridge_transfer","__bridge_retained","__bridge_retain","__covariant","__contravariant","__kindof","_Nonnull","_Nullable","_Null_unspecified","__FUNCTION__","__PRETTY_FUNCTION__","__attribute__","getter","setter","retain","unsafe_unretained","nonnull","nullable","null_unspecified","null_resettable","class","instancetype","NS_DESIGNATED_INITIALIZER","NS_UNAVAILABLE","NS_REQUIRES_SUPER","NS_RETURNS_INNER_POINTER","NS_INLINE","NS_AVAILABLE","NS_DEPRECATED","NS_ENUM","NS_OPTIONS","NS_SWIFT_UNAVAILABLE","NS_ASSUME_NONNULL_BEGIN","NS_ASSUME_NONNULL_END","NS_REFINED_FOR_SWIFT","NS_SWIFT_NAME","NS_SWIFT_NOTHROW","NS_DURING","NS_HANDLER","NS_ENDHANDLER","NS_VALUERETURN","NS_VOIDRETURN"],literal:["false","true","FALSE","TRUE","nil","YES","NO","NULL"],built_in:["dispatch_once_t","dispatch_queue_t","dispatch_sync","dispatch_async","dispatch_once"],type:["int","float","char","unsigned","signed","short","long","double","wchar_t","unichar","void","bool","BOOL","id|0","_Bool"]},f={$pattern:n,keyword:["@interface","@class","@protocol","@implementation"]};return{name:"Objective-C",aliases:["mm","objc","obj-c","obj-c++","objective-c++"],keywords:d,illegal:"</",contains:[t,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE,e.C_NUMBER_MODE,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,{className:"string",variants:[{begin:'@"',end:'"',illegal:"\\n",contains:[e.BACKSLASH_ESCAPE]}]},{className:"meta",begin:/#\s*[a-z]+\b/,end:/$/,keywords:{keyword:"if else elif endif define undef warning error line pragma ifdef ifndef include"},contains:[{begin:/\\\n/,relevance:0},e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),{className:"string",begin:/<.*?>/,end:/$/,illegal:"\\n"},e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE]},{className:"class",begin:"("+f.keyword.join("|")+")\\b",end:/(\{|$)/,excludeEnd:!0,keywords:f,contains:[e.UNDERSCORE_TITLE_MODE]},{begin:"\\."+e.UNDERSCORE_IDENT_RE,relevance:0}]}}function _6(e){const t=e.regex,n=["abs","accept","alarm","and","atan2","bind","binmode","bless","break","caller","chdir","chmod","chomp","chop","chown","chr","chroot","class","close","closedir","connect","continue","cos","crypt","dbmclose","dbmopen","defined","delete","die","do","dump","each","else","elsif","endgrent","endhostent","endnetent","endprotoent","endpwent","endservent","eof","eval","exec","exists","exit","exp","fcntl","field","fileno","flock","for","foreach","fork","format","formline","getc","getgrent","getgrgid","getgrnam","gethostbyaddr","gethostbyname","gethostent","getlogin","getnetbyaddr","getnetbyname","getnetent","getpeername","getpgrp","getpriority","getprotobyname","getprotobynumber","getprotoent","getpwent","getpwnam","getpwuid","getservbyname","getservbyport","getservent","getsockname","getsockopt","given","glob","gmtime","goto","grep","gt","hex","if","index","int","ioctl","join","keys","kill","last","lc","lcfirst","length","link","listen","local","localtime","log","lstat","lt","ma","map","method","mkdir","msgctl","msgget","msgrcv","msgsnd","my","ne","next","no","not","oct","open","opendir","or","ord","our","pack","package","pipe","pop","pos","print","printf","prototype","push","q|0","qq","quotemeta","qw","qx","rand","read","readdir","readline","readlink","readpipe","recv","redo","ref","rename","require","reset","return","reverse","rewinddir","rindex","rmdir","say","scalar","seek","seekdir","select","semctl","semget","semop","send","setgrent","sethostent","setnetent","setpgrp","setpriority","setprotoent","setpwent","setservent","setsockopt","shift","shmctl","shmget","shmread","shmwrite","shutdown","sin","sleep","socket","socketpair","sort","splice","split","sprintf","sqrt","srand","stat","state","study","sub","substr","symlink","syscall","sysopen","sysread","sysseek","system","syswrite","tell","telldir","tie","tied","time","times","tr","truncate","uc","ucfirst","umask","undef","unless","unlink","unpack","unshift","untie","until","use","utime","values","vec","wait","waitpid","wantarray","warn","when","while","write","x|0","xor","y|0"],a=/[dualxmsipngr]{0,12}/,s={$pattern:/[\w.]+/,keyword:n.join(" ")},l={className:"subst",begin:"[$@]\\{",end:"\\}",keywords:s},c={begin:/->\{/,end:/\}/},d={scope:"attr",match:/\s+:\s*\w+(\s*\(.*?\))?/},f={scope:"variable",variants:[{begin:/\$\d/},{begin:t.concat(/[$%@](?!")(\^\w\b|#\w+(::\w+)*|\{\w+\}|\w+(::\w*)*)/,"(?![A-Za-z])(?![@$%])")},{begin:/[$%@](?!")[^\s\w{=]|\$=/,relevance:0}],contains:[d]},h={className:"number",variants:[{match:/0?\.[0-9][0-9_]+\b/},{match:/\bv?(0|[1-9][0-9_]*(\.[0-9_]+)?|[1-9][0-9_]*)\b/},{match:/\b0[0-7][0-7_]*\b/},{match:/\b0x[0-9a-fA-F][0-9a-fA-F_]*\b/},{match:/\b0b[0-1][0-1_]*\b/}],relevance:0},b=[e.BACKSLASH_ESCAPE,l,f],m=[/!/,/\//,/\|/,/\?/,/'/,/"/,/#/],x=(w,k,N="\\1")=>{const C=N==="\\1"?N:t.concat(N,k);return t.concat(t.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,C,/(?:\\.|[^\\\/])*?/,N,a)},v=(w,k,N)=>t.concat(t.concat("(?:",w,")"),k,/(?:\\.|[^\\\/])*?/,N,a),E=[f,e.HASH_COMMENT_MODE,e.COMMENT(/^=\w/,/=cut/,{endsWithParent:!0}),c,{className:"string",contains:b,variants:[{begin:"q[qwxr]?\\s*\\(",end:"\\)",relevance:5},{begin:"q[qwxr]?\\s*\\[",end:"\\]",relevance:5},{begin:"q[qwxr]?\\s*\\{",end:"\\}",relevance:5},{begin:"q[qwxr]?\\s*\\|",end:"\\|",relevance:5},{begin:"q[qwxr]?\\s*<",end:">",relevance:5},{begin:"qw\\s+q",end:"q",relevance:5},{begin:"'",end:"'",contains:[e.BACKSLASH_ESCAPE]},{begin:'"',end:'"'},{begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE]},{begin:/\{\w+\}/,relevance:0},{begin:"-?\\w+\\s*=>",relevance:0}]},h,{begin:"(\\/\\/|"+e.RE_STARTERS_RE+"|\\b(split|return|print|reverse|grep)\\b)\\s*",keywords:"split return print reverse grep",relevance:0,contains:[e.HASH_COMMENT_MODE,{className:"regexp",variants:[{begin:x("s|tr|y",t.either(...m,{capture:!0}))},{begin:x("s|tr|y","\\(","\\)")},{begin:x("s|tr|y","\\[","\\]")},{begin:x("s|tr|y","\\{","\\}")}],relevance:2},{className:"regexp",variants:[{begin:/(m|qr)\/\//,relevance:0},{begin:v("(?:m|qr)?",/\//,/\//)},{begin:v("m|qr",t.either(...m,{capture:!0}),/\1/)},{begin:v("m|qr",/\(/,/\)/)},{begin:v("m|qr",/\[/,/\]/)},{begin:v("m|qr",/\{/,/\}/)}]}]},{className:"function",beginKeywords:"sub method",end:"(\\s*\\(.*?\\))?[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,d]},{className:"class",beginKeywords:"class",end:"[;{]",excludeEnd:!0,relevance:5,contains:[e.TITLE_MODE,d,h]},{begin:"-\\w\\b",relevance:0},{begin:"^__DATA__$",end:"^__END__$",subLanguage:"mojolicious",contains:[{begin:"^@@.*",end:"$",className:"comment"}]}];return l.contains=E,c.contains=E,{name:"Perl",aliases:["pl","pm"],keywords:s,contains:E}}function C6(e){const t=e.regex,n=/(?![A-Za-z0-9])(?![$])/,a=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,n),s=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,n),l=t.concat(/[A-Z]+/,n),c={scope:"variable",match:"\\$+"+a},d={scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},f={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},h=e.inherit(e.APOS_STRING_MODE,{illegal:null}),b=e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(f)}),m={begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(f),"on:begin":(le,ee)=>{ee.data._beginMatch=le[1]||le[2]},"on:end":(le,ee)=>{ee.data._beginMatch!==le[1]&&ee.ignoreMatch()}},x=e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/}),v=`[
|
|
557
|
+
]`,E={scope:"string",variants:[b,h,m,x]},w={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},k=["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"],C=["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:(le=>{const ee=[];return le.forEach(H=>{ee.push(H),H.toLowerCase()===H?ee.push(H.toUpperCase()):ee.push(H.toLowerCase())}),ee})(k),built_in:C},L=le=>le.map(ee=>ee.replace(/\|\d+$/,"")),M={variants:[{match:[/new/,t.concat(v,"+"),t.concat("(?!",L(C).join("\\b|"),"\\b)"),s],scope:{1:"keyword",4:"title.class"}}]},U=t.concat(a,"\\b(?!\\()"),$={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),U],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[s,t.concat(/::/,t.lookahead(/(?!class\b)/)),U],scope:{1:"title.class",3:"variable.constant"}},{match:[s,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[s,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},te={scope:"attr",match:t.concat(a,t.lookahead(":"),t.lookahead(/(?!::)/))},P={relevance:0,begin:/\(/,end:/\)/,keywords:T,contains:[te,c,$,e.C_BLOCK_COMMENT_MODE,E,w,M]},Q={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",L(N).join("\\b|"),"|",L(C).join("\\b|"),"\\b)"),a,t.concat(v,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[P]};P.contains.push(Q);const J=[te,$,e.C_BLOCK_COMMENT_MODE,E,w,M],me={begin:t.concat(/#\[\s*\\?/,t.either(s,l)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:k,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:k,keyword:["new","array"]},contains:["self",...J]},...J,{scope:"meta",variants:[{match:s},{match:l}]}]};return{case_insensitive:!1,keywords:T,contains:[me,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}]}},d,{scope:"variable.language",match:/\$this\b/},c,Q,$,{match:[/const/,/\s/,a],scope:{1:"keyword",3:"variable.constant"}},M,{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",me,c,$,e.C_BLOCK_COMMENT_MODE,E,w]}]},{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]},E,w]}}function A6(e){return{name:"PHP template",subLanguage:"xml",contains:[{begin:/<\?(php|=)?/,end:/\?>/,subLanguage:"php",contains:[{begin:"/\\*",end:"\\*/",skip:!0},{begin:'b"',end:'"',skip:!0},{begin:"b'",end:"'",skip:!0},e.inherit(e.APOS_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0}),e.inherit(e.QUOTE_STRING_MODE,{illegal:null,className:null,contains:null,skip:!0})]}]}}function T6(e){return{name:"Plain text",aliases:["text","txt"],disableAutodetect:!0}}function O6(e){const t=e.regex,n=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),a=["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"],d={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:a,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"]},f={className:"meta",begin:/^(>>>|\.\.\.) /},h={className:"subst",begin:/\{/,end:/\}/,keywords:d,illegal:/#/},b={begin:/\{\{/,relevance:0},m={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,f],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,f,b,h]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,f,b,h]},{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,b,h]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,b,h]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},x="[0-9](_?[0-9])*",v=`(\\b(${x}))?\\.(${x})|\\b(${x})\\.`,E=`\\b|${a.join("|")}`,w={className:"number",relevance:0,variants:[{begin:`(\\b(${x})|(${v}))[eE][+-]?(${x})[jJ]?(?=${E})`},{begin:`(${v})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${E})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${E})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${E})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${E})`},{begin:`\\b(${x})[jJ](?=${E})`}]},k={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:d,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:d,contains:["self",f,w,m,e.HASH_COMMENT_MODE]}]};return h.contains=[m,w,f],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:d,illegal:/(<\/|\?)|=>/,contains:[f,w,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},m,k,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:[w,N,m]}]}}function R6(e){return{aliases:["pycon"],contains:[{className:"meta.prompt",starts:{end:/ |$/,starts:{end:"$",subLanguage:"python"}},variants:[{begin:/^>>>(?=[ ]|$)/},{begin:/^\.\.\.(?=[ ]|$)/}]}]}}function j6(e){const t=e.regex,n=/(?:(?:[a-zA-Z]|\.[._a-zA-Z])[._a-zA-Z0-9]*)|\.(?!\d)/,a=t.either(/0[xX][0-9a-fA-F]+\.[0-9a-fA-F]*[pP][+-]?\d+i?/,/0[xX][0-9a-fA-F]+(?:[pP][+-]?\d+)?[Li]?/,/(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?[Li]?/),s=/[=!<>:]=|\|\||&&|:::?|<-|<<-|->>|->|\|>|[-+*\/?!$&|:<=>@^~]|\*\*/,l=t.either(/[()]/,/[{}]/,/\[\[/,/[[\]]/,/\\/,/,/);return{name:"R",keywords:{$pattern:n,keyword:"function if in break next repeat else for while",literal:"NULL NA TRUE FALSE Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10",built_in:"LETTERS letters month.abb month.name pi T F abs acos acosh all any anyNA Arg as.call as.character as.complex as.double as.environment as.integer as.logical as.null.default as.numeric as.raw asin asinh atan atanh attr attributes baseenv browser c call ceiling class Conj cos cosh cospi cummax cummin cumprod cumsum digamma dim dimnames emptyenv exp expression floor forceAndCall gamma gc.time globalenv Im interactive invisible is.array is.atomic is.call is.character is.complex is.double is.environment is.expression is.finite is.function is.infinite is.integer is.language is.list is.logical is.matrix is.na is.name is.nan is.null is.numeric is.object is.pairlist is.raw is.recursive is.single is.symbol lazyLoadDBfetch length lgamma list log max min missing Mod names nargs nzchar oldClass on.exit pos.to.env proc.time prod quote range Re rep retracemem return round seq_along seq_len seq.int sign signif sin sinh sinpi sqrt standardGeneric substitute sum switch tan tanh tanpi tracemem trigamma trunc unclass untracemem UseMethod xtfrm"},contains:[e.COMMENT(/#'/,/$/,{contains:[{scope:"doctag",match:/@examples/,starts:{end:t.lookahead(t.either(/\n^#'\s*(?=@[a-zA-Z]+)/,/\n^(?!#')/)),endsParent:!0}},{scope:"doctag",begin:"@param",end:/$/,contains:[{scope:"variable",variants:[{match:n},{match:/`(?:\\.|[^`\\])+`/}],endsParent:!0}]},{scope:"doctag",match:/@[a-zA-Z]+/},{scope:"keyword",match:/\\[a-zA-Z]+/}]}),e.HASH_COMMENT_MODE,{scope:"string",contains:[e.BACKSLASH_ESCAPE],variants:[e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\(/,end:/\)(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\{/,end:/\}(-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]"(-*)\[/,end:/\](-*)"/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\(/,end:/\)(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\{/,end:/\}(-*)'/}),e.END_SAME_AS_BEGIN({begin:/[rR]'(-*)\[/,end:/\](-*)'/}),{begin:'"',end:'"',relevance:0},{begin:"'",end:"'",relevance:0}]},{relevance:0,variants:[{scope:{1:"operator",2:"number"},match:[s,a]},{scope:{1:"operator",2:"number"},match:[/%[^%]*%/,a]},{scope:{1:"punctuation",2:"number"},match:[l,a]},{scope:{2:"number"},match:[/[^a-zA-Z0-9._]|^/,a]}]},{scope:{3:"operator"},match:[n,/\s+/,/<-/,/\s+/]},{scope:"operator",relevance:0,variants:[{match:s},{match:/%[^%]*%/}]},{scope:"punctuation",relevance:0,match:l},{begin:"`",end:"`",contains:[{begin:/\\./}]}]}}function M6(e){const t=e.regex,n="([a-zA-Z_]\\w*[!?=]?|[-+~]@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?)",a=t.either(/\b([A-Z]+[a-z0-9]+)+/,/\b([A-Z]+[a-z0-9]+)+[A-Z]+/),s=t.concat(a,/(::\w+)*/),c={"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"]},d={className:"doctag",begin:"@[A-Za-z]+"},f={begin:"#<",end:">"},h=[e.COMMENT("#","$",{contains:[d]}),e.COMMENT("^=begin","^=end",{contains:[d],relevance:10}),e.COMMENT("^__END__",e.MATCH_NOTHING_RE)],b={className:"subst",begin:/#\{/,end:/\}/,keywords:c},m={className:"string",contains:[e.BACKSLASH_ESCAPE,b],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,b]})]}]},x="[1-9](_?[0-9])*|0",v="[0-9](_?[0-9])*",E={className:"number",relevance:0,variants:[{begin:`\\b(${x})(\\.(${v}))?([eE][+-]?(${v})|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"}]},w={variants:[{match:/\(\)/},{className:"params",begin:/\(/,end:/(?=\))/,excludeBegin:!0,endsParent:!0,keywords:c}]},M=[m,{variants:[{match:[/class\s+/,s,/\s+<\s+/,s]},{match:[/\b(class|module)\s+/,s]}],scope:{2:"title.class",4:"title.class.inherited"},keywords:c},{match:[/(include|extend)\s+/,s],scope:{2:"title.class"},keywords:c},{relevance:0,match:[s,/\.new[. (]/],scope:{1:"title.class"}},{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},{relevance:0,match:a,scope:"title.class"},{match:[/def/,/\s+/,n],scope:{1:"keyword",3:"title.function"},contains:[w]},{begin:e.IDENT_RE+"::"},{className:"symbol",begin:e.UNDERSCORE_IDENT_RE+"(!|\\?)?:",relevance:0},{className:"symbol",begin:":(?!\\s)",contains:[m,{begin:n}],relevance:0},E,{className:"variable",begin:"(\\$\\W)|((\\$|@@?)(\\w+))(?=[^@$?])(?![A-Za-z])(?![@$?'])"},{className:"params",begin:/\|(?!=)/,end:/\|/,excludeBegin:!0,excludeEnd:!0,relevance:0,keywords:c},{begin:"("+e.RE_STARTERS_RE+"|unless)\\s*",keywords:"unless",contains:[{className:"regexp",contains:[e.BACKSLASH_ESCAPE,b],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(f,h),relevance:0}].concat(f,h);b.contains=M,w.contains=M;const P=[{begin:/^\s*=>/,starts:{end:"$",contains:M}},{className:"meta.prompt",begin:"^("+"[>?]>"+"|"+"[\\w#]+\\(\\w+\\):\\d+:\\d+[>*]"+"|"+"(\\w+-)?\\d+\\.\\d+\\.\\d+(p\\d+)?[^\\d][^>]+>"+")(?=[ ])",starts:{end:"$",keywords:c,contains:M}}];return h.unshift(f),{name:"Ruby",aliases:["rb","gemspec","podspec","thor","irb"],keywords:c,illegal:/\/\*/,contains:[e.SHEBANG({binary:"ruby"})].concat(P).concat(h).concat(M)}}function D6(e){const t=e.regex,n=/(r#)?/,a=t.concat(n,e.UNDERSCORE_IDENT_RE),s=t.concat(n,e.IDENT_RE),l={className:"title.function.invoke",relevance:0,begin:t.concat(/\b/,/(?!let|for|while|if|else|match\b)/,s,t.lookahead(/\s*\(/))},c="([ui](8|16|32|64|128|size)|f(32|64))?",d=["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"],f=["true","false","Some","None","Ok","Err"],h=["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!"],b=["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:b,keyword:d,literal:f,built_in:h},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_]+)"+c},{begin:"\\b0o([0-7_]+)"+c},{begin:"\\b0x([A-Fa-f0-9_]+)"+c},{begin:"\\b(\\d[\\d_]*(\\.[0-9_]+)?([eE][+-]?[0-9_]+)?)"+c}],relevance:0},{begin:[/fn/,/\s+/,a],className:{1:"keyword",3:"title.function"}},{className:"meta",begin:"#!?\\[",end:"\\]",contains:[{className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE]}]},{begin:[/let/,/\s+/,/(?:mut\s+)?/,a],className:{1:"keyword",3:"keyword",4:"variable"}},{begin:[/for/,/\s+/,a,/\s+/,/in/],className:{1:"keyword",3:"variable",5:"keyword"}},{begin:[/type/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{begin:[/(?:trait|enum|struct|union|impl|for)/,/\s+/,a],className:{1:"keyword",3:"title.class"}},{begin:e.IDENT_RE+"::",keywords:{keyword:"Self",built_in:h,type:b}},{className:"punctuation",begin:"->"},l]}}const L6=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_-]*/}}),I6=["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"],z6=["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"],B6=[...I6,...z6],U6=["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(),P6=["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(),F6=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),$6=["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 H6(e){const t=L6(e),n=F6,a=P6,s="@[a-z-]+",l="and or not only",d={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("+B6.join("|")+")\\b",relevance:0},{className:"selector-pseudo",begin:":("+a.join("|")+")"},{className:"selector-pseudo",begin:":(:)?("+n.join("|")+")"},d,{begin:/\(/,end:/\)/,contains:[t.CSS_NUMBER_MODE]},t.CSS_VARIABLE,{className:"attribute",begin:"\\b("+$6.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,d,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:s,keyword:"@page @font-face"}},{begin:"@",end:"[{;]",returnBegin:!0,keywords:{$pattern:/[a-z-]+/,keyword:l,attribute:U6.join(" ")},contains:[{begin:s,className:"keyword"},{begin:/[a-z-]+(?=:)/,className:"attribute"},d,e.QUOTE_STRING_MODE,e.APOS_STRING_MODE,t.HEXCOLOR,t.CSS_NUMBER_MODE]},t.FUNCTION_DISPATCH]}}function q6(e){return{name:"Shell Session",aliases:["console","shellsession"],contains:[{className:"meta.prompt",begin:/^\s{0,3}[/~\w\d[\]()@-]*[>%$#][ ]?/,starts:{end:/[^\\](?=\s*$)/,subLanguage:"bash"}}]}}function K6(e){const t=e.regex,n=e.COMMENT("--","$"),a={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},s={begin:/"/,end:/"/,contains:[{match:/""/}]},l=["true","false","unknown"],c=["double precision","large object","with timezone","without timezone"],d=["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"],f=["add","asc","collation","desc","final","first","last","view"],h=["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"],b=["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"],m=["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"],x=["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"],v=b,E=[...h,...f].filter(L=>!b.includes(L)),w={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},k={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},N={match:t.concat(/\b/,t.either(...v),/\s*\(/),relevance:0,keywords:{built_in:v}};function C(L){return t.concat(/\b/,t.either(...L.map(M=>M.replace(/\s+/,"\\s+"))),/\b/)}const A={scope:"keyword",match:C(x),relevance:0};function T(L,{exceptions:M,when:U}={}){const $=U;return M=M||[],L.map(te=>te.match(/\|\d+$/)||M.includes(te)?te:$(te)?`${te}|0`:te)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:T(E,{when:L=>L.length<3}),literal:l,type:d,built_in:m},contains:[{scope:"type",match:C(c)},A,N,w,a,s,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,n,k]}}function _k(e){return e?typeof e=="string"?e:e.source:null}function rc(e){return wt("(?=",e,")")}function wt(...e){return e.map(n=>_k(n)).join("")}function G6(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function An(...e){return"("+(G6(e).capture?"":"?:")+e.map(a=>_k(a)).join("|")+")"}const lb=e=>wt(/\b/,e,/\w$/.test(e)?/\b/:/\B/),V6=["Protocol","Type"].map(lb),q1=["init","self"].map(lb),Q6=["Any","Self"],um=["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"],K1=["false","nil","true"],Y6=["assignment","associativity","higherThan","left","lowerThan","none","right"],W6=["#colorLiteral","#column","#dsohandle","#else","#elseif","#endif","#error","#file","#fileID","#fileLiteral","#filePath","#function","#if","#imageLiteral","#keyPath","#line","#selector","#sourceLocation","#warning"],G1=["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"],Ck=An(/[/=\-+!*%<>&|^~?]/,/[\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]/),Ak=An(Ck,/[\u0300-\u036F]/,/[\u1DC0-\u1DFF]/,/[\u20D0-\u20FF]/,/[\uFE00-\uFE0F]/,/[\uFE20-\uFE2F]/),dm=wt(Ck,Ak,"*"),Tk=An(/[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]/),Vd=An(Tk,/\d/,/[\u0300-\u036F\u1DC0-\u1DFF\u20D0-\u20FF\uFE20-\uFE2F]/),Wi=wt(Tk,Vd,"*"),wd=wt(/[A-Z]/,Vd,"*"),X6=["attached","autoclosure",wt(/convention\(/,An("swift","block","c"),/\)/),"discardableResult","dynamicCallable","dynamicMemberLookup","escaping","freestanding","frozen","GKInspectable","IBAction","IBDesignable","IBInspectable","IBOutlet","IBSegueAction","inlinable","main","nonobjc","NSApplicationMain","NSCopying","NSManaged",wt(/objc\(/,Wi,/\)/),"objc","objcMembers","propertyWrapper","requires_stored_property_inits","resultBuilder","Sendable","testable","UIApplicationMain","unchecked","unknown","usableFromInline","warn_unqualified_access"],Z6=["iOS","iOSApplicationExtension","macOS","macOSApplicationExtension","macCatalyst","macCatalystApplicationExtension","watchOS","watchOSApplicationExtension","tvOS","tvOSApplicationExtension","swift"];function J6(e){const t={match:/\s+/,relevance:0},n=e.COMMENT("/\\*","\\*/",{contains:["self"]}),a=[e.C_LINE_COMMENT_MODE,n],s={match:[/\./,An(...V6,...q1)],className:{2:"keyword"}},l={match:wt(/\./,An(...um)),relevance:0},c=um.filter(tt=>typeof tt=="string").concat(["_|0"]),d=um.filter(tt=>typeof tt!="string").concat(Q6).map(lb),f={variants:[{className:"keyword",match:An(...d,...q1)}]},h={$pattern:An(/\b\w+/,/#\w+/),keyword:c.concat(W6),literal:K1},b=[s,l,f],m={match:wt(/\./,An(...G1)),relevance:0},x={className:"built_in",match:wt(/\b/,An(...G1),/(?=\()/)},v=[m,x],E={match:/->/,relevance:0},w={className:"operator",relevance:0,variants:[{match:dm},{match:`\\.(\\.|${Ak})+`}]},k=[E,w],N="([0-9]_*)+",C="([0-9a-fA-F]_*)+",A={className:"number",relevance:0,variants:[{match:`\\b(${N})(\\.(${N}))?([eE][+-]?(${N}))?\\b`},{match:`\\b0x(${C})(\\.(${C}))?([pP][+-]?(${N}))?\\b`},{match:/\b0o([0-7]_*)+\b/},{match:/\b0b([01]_*)+\b/}]},T=(tt="")=>({className:"subst",variants:[{match:wt(/\\/,tt,/[0\\tnr"']/)},{match:wt(/\\/,tt,/u\{[0-9a-fA-F]{1,8}\}/)}]}),L=(tt="")=>({className:"subst",match:wt(/\\/,tt,/[\t ]*(?:[\r\n]|\r\n)/)}),M=(tt="")=>({className:"subst",label:"interpol",begin:wt(/\\/,tt,/\(/),end:/\)/}),U=(tt="")=>({begin:wt(tt,/"""/),end:wt(/"""/,tt),contains:[T(tt),L(tt),M(tt)]}),$=(tt="")=>({begin:wt(tt,/"/),end:wt(/"/,tt),contains:[T(tt),M(tt)]}),te={className:"string",variants:[U(),U("#"),U("##"),U("###"),$(),$("#"),$("##"),$("###")]},P=[e.BACKSLASH_ESCAPE,{begin:/\[/,end:/\]/,relevance:0,contains:[e.BACKSLASH_ESCAPE]}],Q={begin:/\/[^\s](?=[^/\n]*\/)/,end:/\//,contains:P},J=tt=>{const Oi=wt(tt,/\//),fi=wt(/\//,tt);return{begin:Oi,end:fi,contains:[...P,{scope:"comment",begin:`#(?!.*${fi})`,end:/$/}]}},me={scope:"regexp",variants:[J("###"),J("##"),J("#"),Q]},le={match:wt(/`/,Wi,/`/)},ee={className:"variable",match:/\$\d+/},H={className:"variable",match:`\\$${Vd}+`},oe=[le,ee,H],ce={match:/(@|#(un)?)available/,scope:"keyword",starts:{contains:[{begin:/\(/,end:/\)/,keywords:Z6,contains:[...k,A,te]}]}},ne={scope:"keyword",match:wt(/@/,An(...X6),rc(An(/\(/,/\s+/)))},j={scope:"meta",match:wt(/@/,Wi)},D=[ce,ne,j],Y={match:rc(/\b[A-Z]/),relevance:0,contains:[{className:"type",match:wt(/(AV|CA|CF|CG|CI|CL|CM|CN|CT|MK|MP|MTK|MTL|NS|SCN|SK|UI|WK|XC)/,Vd,"+")},{className:"type",match:wd,relevance:0},{match:/[?!]+/,relevance:0},{match:/\.\.\./,relevance:0},{match:wt(/\s+&\s+/,rc(wd)),relevance:0}]},R={begin:/</,end:/>/,keywords:h,contains:[...a,...b,...D,E,Y]};Y.contains.push(R);const ye={match:wt(Wi,/\s*:/),keywords:"_|0",relevance:0},X={begin:/\(/,end:/\)/,relevance:0,keywords:h,contains:["self",ye,...a,me,...b,...v,...k,A,te,...oe,...D,Y]},fe={begin:/</,end:/>/,keywords:"repeat each",contains:[...a,Y]},he={begin:An(rc(wt(Wi,/\s*:/)),rc(wt(Wi,/\s+/,Wi,/\s*:/))),end:/:/,relevance:0,contains:[{className:"keyword",match:/\b_\b/},{className:"params",match:Wi}]},K={begin:/\(/,end:/\)/,keywords:h,contains:[he,...a,...b,...k,A,te,...D,Y,X],endsParent:!0,illegal:/["']/},ue={match:[/(func|macro)/,/\s+/,An(le.match,Wi,dm)],className:{1:"keyword",3:"title.function"},contains:[fe,K,t],illegal:[/\[/,/%/]},Oe={match:[/\b(?:subscript|init[?!]?)/,/\s*(?=[<(])/],className:{1:"keyword"},contains:[fe,K,t],illegal:/\[|%/},dt={match:[/operator/,/\s+/,dm],className:{1:"keyword",3:"title"}},ft={begin:[/precedencegroup/,/\s+/,wd],className:{1:"keyword",3:"title"},contains:[Y],keywords:[...Y6,...K1],end:/}/},di={match:[/class\b/,/\s+/,/func\b/,/\s+/,/\b[A-Za-z_][A-Za-z0-9_]*\b/],scope:{1:"keyword",3:"keyword",5:"title.function"}},Yn={match:[/class\b/,/\s+/,/var\b/],scope:{1:"keyword",3:"keyword"}},$i={begin:[/(struct|protocol|class|extension|enum|actor)/,/\s+/,Wi,/\s*/],beginScope:{1:"keyword",3:"title.class"},keywords:h,contains:[fe,...b,{begin:/:/,end:/\{/,keywords:h,contains:[{scope:"title.class.inherited",match:wd},...b],relevance:0}]};for(const tt of te.variants){const Oi=tt.contains.find(Hi=>Hi.label==="interpol");Oi.keywords=h;const fi=[...b,...v,...k,A,te,...oe];Oi.contains=[...fi,{begin:/\(/,end:/\)/,contains:["self",...fi]}]}return{name:"Swift",keywords:h,contains:[...a,ue,Oe,di,Yn,$i,dt,ft,{beginKeywords:"import",end:/$/,contains:[...a],relevance:0},me,...b,...v,...k,A,te,...oe,...D,Y,X]}}const Qd="[A-Za-z$_][0-9A-Za-z$_]*",Ok=["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"],Rk=["true","false","null","undefined","NaN","Infinity"],jk=["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"],Mk=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],Dk=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],Lk=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],Ik=[].concat(Dk,jk,Mk);function e9(e){const t=e.regex,n=(ce,{after:ne})=>{const j="</"+ce[0].slice(1);return ce.input.indexOf(j,ne)!==-1},a=Qd,s={begin:"<>",end:"</>"},l=/<[A-Za-z0-9\\._:-]+\s*\/>/,c={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(ce,ne)=>{const j=ce[0].length+ce.index,D=ce.input[j];if(D==="<"||D===","){ne.ignoreMatch();return}D===">"&&(n(ce,{after:j})||ne.ignoreMatch());let Y;const R=ce.input.substring(j);if(Y=R.match(/^\s*=/)){ne.ignoreMatch();return}if((Y=R.match(/^\s+extends\s+/))&&Y.index===0){ne.ignoreMatch();return}}},d={$pattern:Qd,keyword:Ok,literal:Rk,built_in:Ik,"variable.language":Lk},f="[0-9](_?[0-9])*",h=`\\.(${f})`,b="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",m={className:"number",variants:[{begin:`(\\b(${b})((${h})|\\.)?|(${h}))[eE][+-]?(${f})\\b`},{begin:`\\b(${b})\\b((${h})\\b|\\.)?|(${h})\\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},x={className:"subst",begin:"\\$\\{",end:"\\}",keywords:d,contains:[]},v={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"xml"}},E={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"css"}},w={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,x],subLanguage:"graphql"}},k={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,x]},C={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:a+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},A=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,{match:/\$\d+/},m];x.contains=A.concat({begin:/\{/,end:/\}/,keywords:d,contains:["self"].concat(A)});const T=[].concat(C,x.contains),L=T.concat([{begin:/(\s*)\(/,end:/\)/,keywords:d,contains:["self"].concat(T)}]),M={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:d,contains:L},U={variants:[{match:[/class/,/\s+/,a,/\s+/,/extends/,/\s+/,t.concat(a,"(",t.concat(/\./,a),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,a],scope:{1:"keyword",3:"title.class"}}]},$={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:{_:[...jk,...Mk]}},te={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},P={variants:[{match:[/function/,/\s+/,a,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[M],illegal:/%/},Q={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function J(ce){return t.concat("(?!",ce.join("|"),")")}const me={match:t.concat(/\b/,J([...Dk,"super","import"].map(ce=>`${ce}\\s*\\(`)),a,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},le={begin:t.concat(/\./,t.lookahead(t.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},ee={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},M]},H="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",oe={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(H)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[M]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:d,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:$},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),te,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,v,E,w,k,C,{match:/\$\d+/},m,$,{scope:"attr",match:a+t.lookahead(":"),relevance:0},oe,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[C,e.REGEXP_MODE,{className:"function",begin:H,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:d,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:s.begin,end:s.end},{match:l},{begin:c.begin,"on:begin":c.isTrulyOpeningTag,end:c.end}],subLanguage:"xml",contains:[{begin:c.begin,end:c.end,skip:!0,contains:["self"]}]}]},P,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[M,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},le,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[M]},me,Q,U,ee,{match:/\$[(.]/}]}}function t9(e){const t=e.regex,n=e9(e),a=Qd,s=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],l={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},c={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:s},contains:[n.exports.CLASS_REFERENCE]},d={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},f=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],h={$pattern:Qd,keyword:Ok.concat(f),literal:Rk,built_in:Ik.concat(s),"variable.language":Lk},b={className:"meta",begin:"@"+a},m=(w,k,N)=>{const C=w.contains.findIndex(A=>A.label===k);if(C===-1)throw new Error("can not find mode to replace");w.contains.splice(C,1,N)};Object.assign(n.keywords,h),n.exports.PARAMS_CONTAINS.push(b);const x=n.contains.find(w=>w.scope==="attr"),v=Object.assign({},x,{match:t.concat(a,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,x,v]),n.contains=n.contains.concat([b,l,c,v]),m(n,"shebang",e.SHEBANG()),m(n,"use_strict",d);const E=n.contains.find(w=>w.label==="func.def");return E.relevance=0,Object.assign(n,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),n}function n9(e){const t=e.regex,n={className:"string",begin:/"(""|[^/n])"C\b/},a={className:"string",begin:/"/,end:/"/,illegal:/\n/,contains:[{begin:/""/}]},s=/\d{1,2}\/\d{1,2}\/\d{4}/,l=/\d{4}-\d{1,2}-\d{1,2}/,c=/(\d|1[012])(:\d+){0,2} *(AM|PM)/,d=/\d{1,2}(:\d{1,2}){1,2}/,f={className:"literal",variants:[{begin:t.concat(/# */,t.either(l,s),/ *#/)},{begin:t.concat(/# */,d,/ *#/)},{begin:t.concat(/# */,c,/ *#/)},{begin:t.concat(/# */,t.either(l,s),/ +/,t.either(c,d),/ *#/)}]},h={className:"number",relevance:0,variants:[{begin:/\b\d[\d_]*((\.[\d_]+(E[+-]?[\d_]+)?)|(E[+-]?[\d_]+))[RFD@!#]?/},{begin:/\b\d[\d_]*((U?[SIL])|[%&])?/},{begin:/&H[\dA-F_]+((U?[SIL])|[%&])?/},{begin:/&O[0-7_]+((U?[SIL])|[%&])?/},{begin:/&B[01_]+((U?[SIL])|[%&])?/}]},b={className:"label",begin:/^\w+:/},m=e.COMMENT(/'''/,/$/,{contains:[{className:"doctag",begin:/<\/?/,end:/>/}]}),x=e.COMMENT(null,/$/,{variants:[{begin:/'/},{begin:/([\t ]|^)REM(?=\s)/}]});return{name:"Visual Basic .NET",aliases:["vb"],case_insensitive:!0,classNameAliases:{label:"symbol"},keywords:{keyword:"addhandler alias aggregate ansi as async assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into iterator join key let lib loop me mid module mustinherit mustoverride mybase myclass namespace narrowing new next notinheritable notoverridable of off on operator option optional order overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly yield",built_in:"addressof and andalso await directcast gettype getxmlnamespace is isfalse isnot istrue like mod nameof new not or orelse trycast typeof xor cbool cbyte cchar cdate cdbl cdec cint clng cobj csbyte cshort csng cstr cuint culng cushort",type:"boolean byte char date decimal double integer long object sbyte short single string uinteger ulong ushort",literal:"true false nothing"},illegal:"//|\\{|\\}|endif|gosub|variant|wend|^\\$ ",contains:[n,a,f,h,b,m,x,{className:"meta",begin:/[\t ]*#(const|disable|else|elseif|enable|end|externalsource|if|region)\b/,end:/$/,keywords:{keyword:"const disable else elseif enable end externalsource if region then"},contains:[x]}]}}function i9(e){e.regex;const t=e.COMMENT(/\(;/,/;\)/);t.contains.push("self");const n=e.COMMENT(/;;/,/$/),a=["anyfunc","block","br","br_if","br_table","call","call_indirect","data","drop","elem","else","end","export","func","global.get","global.set","local.get","local.set","local.tee","get_global","get_local","global","if","import","local","loop","memory","memory.grow","memory.size","module","mut","nop","offset","param","result","return","select","set_global","set_local","start","table","tee_local","then","type","unreachable"],s={begin:[/(?:func|call|call_indirect)/,/\s+/,/\$[^\s)]+/],className:{1:"keyword",3:"title.function"}},l={className:"variable",begin:/\$[\w_]+/},c={match:/(\((?!;)|\))+/,className:"punctuation",relevance:0},d={className:"number",relevance:0,match:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/},f={match:/(i32|i64|f32|f64)(?!\.)/,className:"type"},h={className:"keyword",match:/\b(f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|nearest|neg?|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|store(?:8|16|32)?|sqrt|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))\b/};return{name:"WebAssembly",keywords:{$pattern:/[\w.]+/,keyword:a},contains:[n,t,{match:[/(?:offset|align)/,/\s*/,/=/],className:{1:"keyword",3:"operator"}},l,c,s,e.QUOTE_STRING_MODE,f,h,d]}}function a9(e){const t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),a=/[\p{L}0-9._:-]+/u,s={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},l={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},c=e.inherit(l,{begin:/\(/,end:/\)/}),d=e.inherit(e.APOS_STRING_MODE,{className:"string"}),f=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),h={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:a,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[s]},{begin:/'/,end:/'/,contains:[s]},{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:[l,f,d,c,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[l,c,f,d]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},s,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[f]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[h],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[h],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:h}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:"name",begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function r9(e){const t="true false yes no null",n="[\\w#;/?:@&=+$,.~*'()[\\]]+",a={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},s={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},l={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},c={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,s]},d=e.inherit(c,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),x={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"},v={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},E={begin:/\{/,end:/\}/,contains:[v],illegal:"\\n",relevance:0},w={begin:"\\[",end:"\\]",contains:[v],illegal:"\\n",relevance:0},k=[a,{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}},x,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},E,w,l,c],N=[...k];return N.pop(),N.push(d),v.contains=N,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:k}}const s9={arduino:F5,bash:$5,c:H5,cpp:q5,csharp:K5,css:e6,diff:t6,go:n6,graphql:i6,ini:a6,java:r6,javascript:u6,json:d6,kotlin:h6,less:w6,lua:E6,makefile:S6,markdown:k6,objectivec:N6,perl:_6,php:C6,"php-template":A6,plaintext:T6,python:O6,"python-repl":R6,r:j6,ruby:M6,rust:D6,scss:H6,shell:q6,sql:K6,swift:J6,typescript:t9,vbnet:n9,wasm:i9,xml:a9,yaml:r9};var fm,V1;function l9(){if(V1)return fm;V1=1;function e(B){return B instanceof Map?B.clear=B.delete=B.set=function(){throw new Error("map is read-only")}:B instanceof Set&&(B.add=B.clear=B.delete=function(){throw new Error("set is read-only")}),Object.freeze(B),Object.getOwnPropertyNames(B).forEach(re=>{const ve=B[re],ze=typeof ve;(ze==="object"||ze==="function")&&!Object.isFrozen(ve)&&e(ve)}),B}class t{constructor(re){re.data===void 0&&(re.data={}),this.data=re.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function n(B){return B.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function a(B,...re){const ve=Object.create(null);for(const ze in B)ve[ze]=B[ze];return re.forEach(function(ze){for(const At in ze)ve[At]=ze[At]}),ve}const s="</span>",l=B=>!!B.scope,c=(B,{prefix:re})=>{if(B.startsWith("language:"))return B.replace("language:","language-");if(B.includes(".")){const ve=B.split(".");return[`${re}${ve.shift()}`,...ve.map((ze,At)=>`${ze}${"_".repeat(At+1)}`)].join(" ")}return`${re}${B}`};class d{constructor(re,ve){this.buffer="",this.classPrefix=ve.classPrefix,re.walk(this)}addText(re){this.buffer+=n(re)}openNode(re){if(!l(re))return;const ve=c(re.scope,{prefix:this.classPrefix});this.span(ve)}closeNode(re){l(re)&&(this.buffer+=s)}value(){return this.buffer}span(re){this.buffer+=`<span class="${re}">`}}const f=(B={})=>{const re={children:[]};return Object.assign(re,B),re};class h{constructor(){this.rootNode=f(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(re){this.top.children.push(re)}openNode(re){const ve=f({scope:re});this.add(ve),this.stack.push(ve)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(re){return this.constructor._walk(re,this.rootNode)}static _walk(re,ve){return typeof ve=="string"?re.addText(ve):ve.children&&(re.openNode(ve),ve.children.forEach(ze=>this._walk(re,ze)),re.closeNode(ve)),re}static _collapse(re){typeof re!="string"&&re.children&&(re.children.every(ve=>typeof ve=="string")?re.children=[re.children.join("")]:re.children.forEach(ve=>{h._collapse(ve)}))}}class b extends h{constructor(re){super(),this.options=re}addText(re){re!==""&&this.add(re)}startScope(re){this.openNode(re)}endScope(){this.closeNode()}__addSublanguage(re,ve){const ze=re.root;ve&&(ze.scope=`language:${ve}`),this.add(ze)}toHTML(){return new d(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function m(B){return B?typeof B=="string"?B:B.source:null}function x(B){return w("(?=",B,")")}function v(B){return w("(?:",B,")*")}function E(B){return w("(?:",B,")?")}function w(...B){return B.map(ve=>m(ve)).join("")}function k(B){const re=B[B.length-1];return typeof re=="object"&&re.constructor===Object?(B.splice(B.length-1,1),re):{}}function N(...B){return"("+(k(B).capture?"":"?:")+B.map(ze=>m(ze)).join("|")+")"}function C(B){return new RegExp(B.toString()+"|").exec("").length-1}function A(B,re){const ve=B&&B.exec(re);return ve&&ve.index===0}const T=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function L(B,{joinWith:re}){let ve=0;return B.map(ze=>{ve+=1;const At=ve;let Et=m(ze),ke="";for(;Et.length>0;){const Ee=T.exec(Et);if(!Ee){ke+=Et;break}ke+=Et.substring(0,Ee.index),Et=Et.substring(Ee.index+Ee[0].length),Ee[0][0]==="\\"&&Ee[1]?ke+="\\"+String(Number(Ee[1])+At):(ke+=Ee[0],Ee[0]==="("&&ve++)}return ke}).map(ze=>`(${ze})`).join(re)}const M=/\b\B/,U="[a-zA-Z]\\w*",$="[a-zA-Z_]\\w*",te="\\b\\d+(\\.\\d+)?",P="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Q="\\b(0b[01]+)",J="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",me=(B={})=>{const re=/^#![ ]*\//;return B.binary&&(B.begin=w(re,/.*\b/,B.binary,/\b.*/)),a({scope:"meta",begin:re,end:/$/,relevance:0,"on:begin":(ve,ze)=>{ve.index!==0&&ze.ignoreMatch()}},B)},le={begin:"\\\\[\\s\\S]",relevance:0},ee={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[le]},H={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[le]},oe={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/},ce=function(B,re,ve={}){const ze=a({scope:"comment",begin:B,end:re,contains:[]},ve);ze.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const At=N("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 ze.contains.push({begin:w(/[ ]+/,"(",At,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),ze},ne=ce("//","$"),j=ce("/\\*","\\*/"),D=ce("#","$"),Y={scope:"number",begin:te,relevance:0},R={scope:"number",begin:P,relevance:0},ye={scope:"number",begin:Q,relevance:0},X={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[le,{begin:/\[/,end:/\]/,relevance:0,contains:[le]}]},fe={scope:"title",begin:U,relevance:0},he={scope:"title",begin:$,relevance:0},K={begin:"\\.\\s*"+$,relevance:0};var Oe=Object.freeze({__proto__:null,APOS_STRING_MODE:ee,BACKSLASH_ESCAPE:le,BINARY_NUMBER_MODE:ye,BINARY_NUMBER_RE:Q,COMMENT:ce,C_BLOCK_COMMENT_MODE:j,C_LINE_COMMENT_MODE:ne,C_NUMBER_MODE:R,C_NUMBER_RE:P,END_SAME_AS_BEGIN:function(B){return Object.assign(B,{"on:begin":(re,ve)=>{ve.data._beginMatch=re[1]},"on:end":(re,ve)=>{ve.data._beginMatch!==re[1]&&ve.ignoreMatch()}})},HASH_COMMENT_MODE:D,IDENT_RE:U,MATCH_NOTHING_RE:M,METHOD_GUARD:K,NUMBER_MODE:Y,NUMBER_RE:te,PHRASAL_WORDS_MODE:oe,QUOTE_STRING_MODE:H,REGEXP_MODE:X,RE_STARTERS_RE:J,SHEBANG:me,TITLE_MODE:fe,UNDERSCORE_IDENT_RE:$,UNDERSCORE_TITLE_MODE:he});function dt(B,re){B.input[B.index-1]==="."&&re.ignoreMatch()}function ft(B,re){B.className!==void 0&&(B.scope=B.className,delete B.className)}function di(B,re){re&&B.beginKeywords&&(B.begin="\\b("+B.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",B.__beforeBegin=dt,B.keywords=B.keywords||B.beginKeywords,delete B.beginKeywords,B.relevance===void 0&&(B.relevance=0))}function Yn(B,re){Array.isArray(B.illegal)&&(B.illegal=N(...B.illegal))}function $i(B,re){if(B.match){if(B.begin||B.end)throw new Error("begin & end are not supported with match");B.begin=B.match,delete B.match}}function tt(B,re){B.relevance===void 0&&(B.relevance=1)}const Oi=(B,re)=>{if(!B.beforeMatch)return;if(B.starts)throw new Error("beforeMatch cannot be used with starts");const ve=Object.assign({},B);Object.keys(B).forEach(ze=>{delete B[ze]}),B.keywords=ve.keywords,B.begin=w(ve.beforeMatch,x(ve.begin)),B.starts={relevance:0,contains:[Object.assign(ve,{endsParent:!0})]},B.relevance=0,delete ve.beforeMatch},fi=["of","and","for","in","not","or","if","then","parent","list","value"],Hi="keyword";function ra(B,re,ve=Hi){const ze=Object.create(null);return typeof B=="string"?At(ve,B.split(" ")):Array.isArray(B)?At(ve,B):Object.keys(B).forEach(function(Et){Object.assign(ze,ra(B[Et],re,Et))}),ze;function At(Et,ke){re&&(ke=ke.map(Ee=>Ee.toLowerCase())),ke.forEach(function(Ee){const Ie=Ee.split("|");ze[Ie[0]]=[Et,Rr(Ie[0],Ie[1])]})}}function Rr(B,re){return re?Number(re):to(B)?0:1}function to(B){return fi.includes(B.toLowerCase())}const Es={},Lt=B=>{console.error(B)},Ss=(B,...re)=>{console.log(`WARN: ${B}`,...re)},ie=(B,re)=>{Es[`${B}/${re}`]||(console.log(`Deprecated as of ${B}. ${re}`),Es[`${B}/${re}`]=!0)},be=new Error;function Me(B,re,{key:ve}){let ze=0;const At=B[ve],Et={},ke={};for(let Ee=1;Ee<=re.length;Ee++)ke[Ee+ze]=At[Ee],Et[Ee+ze]=!0,ze+=C(re[Ee-1]);B[ve]=ke,B[ve]._emit=Et,B[ve]._multi=!0}function Ve(B){if(Array.isArray(B.begin)){if(B.skip||B.excludeBegin||B.returnBegin)throw Lt("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),be;if(typeof B.beginScope!="object"||B.beginScope===null)throw Lt("beginScope must be object"),be;Me(B,B.begin,{key:"beginScope"}),B.begin=L(B.begin,{joinWith:""})}}function rt(B){if(Array.isArray(B.end)){if(B.skip||B.excludeEnd||B.returnEnd)throw Lt("skip, excludeEnd, returnEnd not compatible with endScope: {}"),be;if(typeof B.endScope!="object"||B.endScope===null)throw Lt("endScope must be object"),be;Me(B,B.end,{key:"endScope"}),B.end=L(B.end,{joinWith:""})}}function Sn(B){B.scope&&typeof B.scope=="object"&&B.scope!==null&&(B.beginScope=B.scope,delete B.scope)}function Ri(B){Sn(B),typeof B.beginScope=="string"&&(B.beginScope={_wrap:B.beginScope}),typeof B.endScope=="string"&&(B.endScope={_wrap:B.endScope}),Ve(B),rt(B)}function cn(B){function re(ke,Ee){return new RegExp(m(ke),"m"+(B.case_insensitive?"i":"")+(B.unicodeRegex?"u":"")+(Ee?"g":""))}class ve{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(Ee,Ie){Ie.position=this.position++,this.matchIndexes[this.matchAt]=Ie,this.regexes.push([Ie,Ee]),this.matchAt+=C(Ee)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const Ee=this.regexes.map(Ie=>Ie[1]);this.matcherRe=re(L(Ee,{joinWith:"|"}),!0),this.lastIndex=0}exec(Ee){this.matcherRe.lastIndex=this.lastIndex;const Ie=this.matcherRe.exec(Ee);if(!Ie)return null;const Kt=Ie.findIndex((sa,Ns)=>Ns>0&&sa!==void 0),Rt=this.matchIndexes[Kt];return Ie.splice(0,Kt),Object.assign(Ie,Rt)}}class ze{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(Ee){if(this.multiRegexes[Ee])return this.multiRegexes[Ee];const Ie=new ve;return this.rules.slice(Ee).forEach(([Kt,Rt])=>Ie.addRule(Kt,Rt)),Ie.compile(),this.multiRegexes[Ee]=Ie,Ie}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(Ee,Ie){this.rules.push([Ee,Ie]),Ie.type==="begin"&&this.count++}exec(Ee){const Ie=this.getMatcher(this.regexIndex);Ie.lastIndex=this.lastIndex;let Kt=Ie.exec(Ee);if(this.resumingScanAtSamePosition()&&!(Kt&&Kt.index===this.lastIndex)){const Rt=this.getMatcher(0);Rt.lastIndex=this.lastIndex+1,Kt=Rt.exec(Ee)}return Kt&&(this.regexIndex+=Kt.position+1,this.regexIndex===this.count&&this.considerAll()),Kt}}function At(ke){const Ee=new ze;return ke.contains.forEach(Ie=>Ee.addRule(Ie.begin,{rule:Ie,type:"begin"})),ke.terminatorEnd&&Ee.addRule(ke.terminatorEnd,{type:"end"}),ke.illegal&&Ee.addRule(ke.illegal,{type:"illegal"}),Ee}function Et(ke,Ee){const Ie=ke;if(ke.isCompiled)return Ie;[ft,$i,Ri,Oi].forEach(Rt=>Rt(ke,Ee)),B.compilerExtensions.forEach(Rt=>Rt(ke,Ee)),ke.__beforeBegin=null,[di,Yn,tt].forEach(Rt=>Rt(ke,Ee)),ke.isCompiled=!0;let Kt=null;return typeof ke.keywords=="object"&&ke.keywords.$pattern&&(ke.keywords=Object.assign({},ke.keywords),Kt=ke.keywords.$pattern,delete ke.keywords.$pattern),Kt=Kt||/\w+/,ke.keywords&&(ke.keywords=ra(ke.keywords,B.case_insensitive)),Ie.keywordPatternRe=re(Kt,!0),Ee&&(ke.begin||(ke.begin=/\B|\b/),Ie.beginRe=re(Ie.begin),!ke.end&&!ke.endsWithParent&&(ke.end=/\B|\b/),ke.end&&(Ie.endRe=re(Ie.end)),Ie.terminatorEnd=m(Ie.end)||"",ke.endsWithParent&&Ee.terminatorEnd&&(Ie.terminatorEnd+=(ke.end?"|":"")+Ee.terminatorEnd)),ke.illegal&&(Ie.illegalRe=re(ke.illegal)),ke.contains||(ke.contains=[]),ke.contains=[].concat(...ke.contains.map(function(Rt){return mn(Rt==="self"?ke:Rt)})),ke.contains.forEach(function(Rt){Et(Rt,Ie)}),ke.starts&&Et(ke.starts,Ee),Ie.matcher=At(Ie),Ie}if(B.compilerExtensions||(B.compilerExtensions=[]),B.contains&&B.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return B.classNameAliases=a(B.classNameAliases||{}),Et(B)}function Pt(B){return B?B.endsWithParent||Pt(B.starts):!1}function mn(B){return B.variants&&!B.cachedVariants&&(B.cachedVariants=B.variants.map(function(re){return a(B,{variants:null},re)})),B.cachedVariants?B.cachedVariants:Pt(B)?a(B,{starts:B.starts?a(B.starts):null}):Object.isFrozen(B)?a(B):B}var ht="11.11.1";class qi extends Error{constructor(re,ve){super(re),this.name="HTMLInjectionError",this.html=ve}}const kn=n,Fc=a,jr=Symbol("nomatch"),ks=7,Mr=function(B){const re=Object.create(null),ve=Object.create(null),ze=[];let At=!0;const Et="Could not find the language '{}', did you forget to load/include a language module?",ke={disableAutodetect:!0,name:"Plain text",contains:[]};let Ee={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:b};function Ie(pe){return Ee.noHighlightRe.test(pe)}function Kt(pe){let Ae=pe.className+" ";Ae+=pe.parentNode?pe.parentNode.className:"";const Qe=Ee.languageDetectRe.exec(Ae);if(Qe){const pt=Nn(Qe[1]);return pt||(Ss(Et.replace("{}",Qe[1])),Ss("Falling back to no-highlight mode for this block.",pe)),pt?Qe[1]:"no-highlight"}return Ae.split(/\s+/).find(pt=>Ie(pt)||Nn(pt))}function Rt(pe,Ae,Qe){let pt="",Vt="";typeof Ae=="object"?(pt=pe,Qe=Ae.ignoreIllegals,Vt=Ae.language):(ie("10.7.0","highlight(lang, code, ...args) has been deprecated."),ie("10.7.0",`Please use highlight(code, options) instead.
|
|
558
558
|
https://github.com/highlightjs/highlight.js/issues/2277`),Vt=pe,pt=Ae),Qe===void 0&&(Qe=!0);const bn={code:pt,language:Vt};Lr("before:highlight",bn);const Wn=bn.result?bn.result:sa(bn.language,bn.code,Qe);return Wn.code=bn.code,Lr("after:highlight",Wn),Wn}function sa(pe,Ae,Qe,pt){const Vt=Object.create(null);function bn(xe,Ne){return xe.keywords[Ne]}function Wn(){if(!Le.keywords){Xt.addText(mt);return}let xe=0;Le.keywordPatternRe.lastIndex=0;let Ne=Le.keywordPatternRe.exec(mt),$e="";for(;Ne;){$e+=mt.substring(xe,Ne.index);const Ze=un.case_insensitive?Ne[0].toLowerCase():Ne[0],It=bn(Le,Ze);if(It){const[hi,lo]=It;if(Xt.addText($e),$e="",Vt[Ze]=(Vt[Ze]||0)+1,Vt[Ze]<=ks&&(Ua+=lo),hi.startsWith("_"))$e+=Ne[0];else{const Qc=un.classNameAliases[hi]||hi;Xn(Ne[0],Qc)}}else $e+=Ne[0];xe=Le.keywordPatternRe.lastIndex,Ne=Le.keywordPatternRe.exec(mt)}$e+=mt.substring(xe),Xt.addText($e)}function Mn(){if(mt==="")return;let xe=null;if(typeof Le.subLanguage=="string"){if(!re[Le.subLanguage]){Xt.addText(mt);return}xe=sa(Le.subLanguage,mt,!0,Vc[Le.subLanguage]),Vc[Le.subLanguage]=xe._top}else xe=_s(mt,Le.subLanguage.length?Le.subLanguage:null);Le.relevance>0&&(Ua+=xe.relevance),Xt.__addSublanguage(xe._emitter,xe.language)}function _t(){Le.subLanguage!=null?Mn():Wn(),mt=""}function Xn(xe,Ne){xe!==""&&(Xt.startScope(Ne),Xt.addText(xe),Xt.endScope())}function Kc(xe,Ne){let $e=1;const Ze=Ne.length-1;for(;$e<=Ze;){if(!xe._emit[$e]){$e++;continue}const It=un.classNameAliases[xe[$e]]||xe[$e],hi=Ne[$e];It?Xn(hi,It):(mt=hi,Wn(),mt=""),$e++}}function As(xe,Ne){return xe.scope&&typeof xe.scope=="string"&&Xt.openNode(un.classNameAliases[xe.scope]||xe.scope),xe.beginScope&&(xe.beginScope._wrap?(Xn(mt,un.classNameAliases[xe.beginScope._wrap]||xe.beginScope._wrap),mt=""):xe.beginScope._multi&&(Kc(xe.beginScope,Ne),mt="")),Le=Object.create(xe,{parent:{value:Le}}),Le}function ao(xe,Ne,$e){let Ze=A(xe.endRe,$e);if(Ze){if(xe["on:end"]){const It=new t(xe);xe["on:end"](Ne,It),It.isMatchIgnored&&(Ze=!1)}if(Ze){for(;xe.endsParent&&xe.parent;)xe=xe.parent;return xe}}if(xe.endsWithParent)return ao(xe.parent,Ne,$e)}function Ts(xe){return Le.matcher.regexIndex===0?(mt+=xe[0],1):(Pa=!0,0)}function Sf(xe){const Ne=xe[0],$e=xe.rule,Ze=new t($e),It=[$e.__beforeBegin,$e["on:begin"]];for(const hi of It)if(hi&&(hi(xe,Ze),Ze.isMatchIgnored))return Ts(Ne);return $e.skip?mt+=Ne:($e.excludeBegin&&(mt+=Ne),_t(),!$e.returnBegin&&!$e.excludeBegin&&(mt=Ne)),As($e,xe),$e.returnBegin?0:Ne.length}function Dn(xe){const Ne=xe[0],$e=Ae.substring(xe.index),Ze=ao(Le,xe,$e);if(!Ze)return jr;const It=Le;Le.endScope&&Le.endScope._wrap?(_t(),Xn(Ne,Le.endScope._wrap)):Le.endScope&&Le.endScope._multi?(_t(),Kc(Le.endScope,xe)):It.skip?mt+=Ne:(It.returnEnd||It.excludeEnd||(mt+=Ne),_t(),It.excludeEnd&&(mt=Ne));do Le.scope&&Xt.closeNode(),!Le.skip&&!Le.subLanguage&&(Ua+=Le.relevance),Le=Le.parent;while(Le!==Ze.parent);return Ze.starts&&As(Ze.starts,xe),It.returnEnd?0:Ne.length}function ro(){const xe=[];for(let Ne=Le;Ne!==un;Ne=Ne.parent)Ne.scope&&xe.unshift(Ne.scope);xe.forEach(Ne=>Xt.openNode(Ne))}let Ir={};function Os(xe,Ne){const $e=Ne&&Ne[0];if(mt+=xe,$e==null)return _t(),0;if(Ir.type==="begin"&&Ne.type==="end"&&Ir.index===Ne.index&&$e===""){if(mt+=Ae.slice(Ne.index,Ne.index+1),!At){const Ze=new Error(`0 width match regex (${pe})`);throw Ze.languageName=pe,Ze.badRule=Ir.rule,Ze}return 1}if(Ir=Ne,Ne.type==="begin")return Sf(Ne);if(Ne.type==="illegal"&&!Qe){const Ze=new Error('Illegal lexeme "'+$e+'" for mode "'+(Le.scope||"<unnamed>")+'"');throw Ze.mode=Le,Ze}else if(Ne.type==="end"){const Ze=Dn(Ne);if(Ze!==jr)return Ze}if(Ne.type==="illegal"&&$e==="")return mt+=`
|
|
559
|
-
`,1;if(so>1e5&&so>Ne.index*3)throw new Error("potential infinite loop, way more iterations than matches");return mt+=$e,$e.length}const un=Nn(pe);if(!un)throw Lt(Et.replace("{}",pe)),new Error('Unknown language: "'+pe+'"');const Gc=cn(un);let Rs="",Le=pt||Gc;const Vc={},Xt=new Ee.__emitter(Ee);ro();let mt="",Ua=0,ca=0,so=0,Pa=!1;try{if(un.__emitTokens)un.__emitTokens(Ae,Xt);else{for(Le.matcher.considerAll();;){so++,Pa?Pa=!1:Le.matcher.considerAll(),Le.matcher.lastIndex=ca;const xe=Le.matcher.exec(Ae);if(!xe)break;const Ne=Ae.substring(ca,xe.index),$e=Os(Ne,xe);ca=xe.index+$e}Os(Ae.substring(ca))}return Xt.finalize(),Rs=Xt.toHTML(),{language:pe,value:Rs,relevance:Ua,illegal:!1,_emitter:Xt,_top:Le}}catch(xe){if(xe.message&&xe.message.includes("Illegal"))return{language:pe,value:kn(Ae),illegal:!0,relevance:0,_illegalBy:{message:xe.message,index:ca,context:Ae.slice(ca-100,ca+100),mode:xe.mode,resultSoFar:Rs},_emitter:Xt};if(At)return{language:pe,value:kn(Ae),illegal:!1,relevance:0,errorRaised:xe,_emitter:Xt,_top:Le};throw xe}}function Ns(pe){const Ae={value:kn(pe),illegal:!1,relevance:0,_top:ke,_emitter:new Ee.__emitter(Ee)};return Ae._emitter.addText(pe),Ae}function _s(pe,Ae){Ae=Ae||Ee.languages||Object.keys(re);const Qe=Ns(pe),pt=Ae.filter(Nn).filter(za).map(_t=>sa(_t,pe,!1));pt.unshift(Qe);const Vt=pt.sort((_t,Xn)=>{if(_t.relevance!==Xn.relevance)return Xn.relevance-_t.relevance;if(_t.language&&Xn.language){if(Nn(_t.language).supersetOf===Xn.language)return 1;if(Nn(Xn.language).supersetOf===_t.language)return-1}return 0}),[bn,Wn]=Vt,Mn=bn;return Mn.secondBest=Wn,Mn}function Ki(pe,Ae,Qe){const pt=Ae&&ve[Ae]||Qe;pe.classList.add("hljs"),pe.classList.add(`language-${pt}`)}function Gt(pe){let Ae=null;const Qe=Kt(pe);if(Ie(Qe))return;if(Lr("before:highlightElement",{el:pe,language:Qe}),pe.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",pe);return}if(pe.children.length>0&&(Ee.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(pe)),Ee.throwUnescapedHTML))throw new qi("One of your code blocks includes unescaped HTML.",pe.innerHTML);Ae=pe;const pt=Ae.textContent,Vt=Qe?Rt(pt,{language:Qe,ignoreIllegals:!0}):_s(pt);pe.innerHTML=Vt.value,pe.dataset.highlighted="yes",Ki(pe,Qe,Vt.language),pe.result={language:Vt.language,re:Vt.relevance,relevance:Vt.relevance},Vt.secondBest&&(pe.secondBest={language:Vt.secondBest.language,relevance:Vt.secondBest.relevance}),Lr("after:highlightElement",{el:pe,result:Vt,text:pt})}function gn(pe){Ee=Fc(Ee,pe)}const Ia=()=>{Cs(),ie("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function no(){Cs(),ie("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let $c=!1;function Cs(){function pe(){Cs()}if(document.readyState==="loading"){$c||window.addEventListener("DOMContentLoaded",pe,!1),$c=!0;return}document.querySelectorAll(Ee.cssSelector).forEach(Gt)}function Hc(pe,Ae){let Qe=null;try{Qe=Ae(B)}catch(pt){if(Lt("Language definition for '{}' could not be registered.".replace("{}",pe)),At)Lt(pt);else throw pt;Qe=ke}Qe.name||(Qe.name=pe),re[pe]=Qe,Qe.rawDefinition=Ae.bind(null,B),Qe.aliases&&la(Qe.aliases,{languageName:pe})}function Dr(pe){delete re[pe];for(const Ae of Object.keys(ve))ve[Ae]===pe&&delete ve[Ae]}function io(){return Object.keys(re)}function Nn(pe){return pe=(pe||"").toLowerCase(),re[pe]||re[ve[pe]]}function la(pe,{languageName:Ae}){typeof pe=="string"&&(pe=[pe]),pe.forEach(Qe=>{ve[Qe.toLowerCase()]=Ae})}function za(pe){const Ae=Nn(pe);return Ae&&!Ae.disableAutodetect}function Ba(pe){pe["before:highlightBlock"]&&!pe["before:highlightElement"]&&(pe["before:highlightElement"]=Ae=>{pe["before:highlightBlock"](Object.assign({block:Ae.el},Ae))}),pe["after:highlightBlock"]&&!pe["after:highlightElement"]&&(pe["after:highlightElement"]=Ae=>{pe["after:highlightBlock"](Object.assign({block:Ae.el},Ae))})}function Wt(pe){Ba(pe),ze.push(pe)}function qc(pe){const Ae=ze.indexOf(pe);Ae!==-1&&ze.splice(Ae,1)}function Lr(pe,Ae){const Qe=pe;ze.forEach(function(pt){pt[Qe]&&pt[Qe](Ae)})}function oa(pe){return ie("10.7.0","highlightBlock will be removed entirely in v12.0"),ie("10.7.0","Please use highlightElement now."),Gt(pe)}Object.assign(B,{highlight:Rt,highlightAuto:_s,highlightAll:Cs,highlightElement:Gt,highlightBlock:oa,configure:gn,initHighlighting:Ia,initHighlightingOnLoad:no,registerLanguage:Hc,unregisterLanguage:Dr,listLanguages:io,getLanguage:Nn,registerAliases:la,autoDetection:za,inherit:Fc,addPlugin:Wt,removePlugin:qc}),B.debugMode=function(){At=!1},B.safeMode=function(){At=!0},B.versionString=ht,B.regex={concat:w,lookahead:x,either:N,optional:E,anyNumberOfTimes:v};for(const pe in Oe)typeof Oe[pe]=="object"&&e(Oe[pe]);return Object.assign(B,Oe),B},jn=Mr({});return jn.newInstance=()=>Mr({}),fm=jn,jn.HighlightJS=jn,jn.default=jn,fm}var s9=r9();const l9=ag(s9),Q1={},o9="hljs-";function c9(e){const t=l9.newInstance();return e&&l(e),{highlight:n,highlightAuto:a,listLanguages:s,register:l,registerAlias:c,registered:d};function n(f,h,b){const m=b||Q1,x=typeof m.prefix=="string"?m.prefix:o9;if(!t.getLanguage(f))throw new Error("Unknown language: `"+f+"` is not registered");t.configure({__emitter:u9,classPrefix:x});const v=t.highlight(h,{ignoreIllegals:!0,language:f});if(v.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:v.errorRaised});const E=v._emitter.root,w=E.data;return w.language=v.language,w.relevance=v.relevance,E}function a(f,h){const m=(h||Q1).subset||s();let x=-1,v=0,E;for(;++x<m.length;){const w=m[x];if(!t.getLanguage(w))continue;const k=n(w,f,h);k.data&&k.data.relevance!==void 0&&k.data.relevance>v&&(v=k.data.relevance,E=k)}return E||{type:"root",children:[],data:{language:void 0,relevance:v}}}function s(){return t.listLanguages()}function l(f,h){if(typeof f=="string")t.registerLanguage(f,h);else{let b;for(b in f)Object.hasOwn(f,b)&&t.registerLanguage(b,f[b])}}function c(f,h){if(typeof f=="string")t.registerAliases(typeof h=="string"?h:[...h],{languageName:f});else{let b;for(b in f)if(Object.hasOwn(f,b)){const m=f[b];t.registerAliases(typeof m=="string"?m:[...m],{languageName:b})}}}function d(f){return!!t.getLanguage(f)}}class u9{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],a=n.children[n.children.length-1];a&&a.type==="text"?a.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const a=this.stack[this.stack.length-1],s=t.root.children;n?a.children.push({type:"element",tagName:"span",properties:{className:[n]},children:s}):a.children.push(...s)}openNode(t){const n=this,a=t.split(".").map(function(c,d){return d?c+"_".repeat(d):n.options.classPrefix+c}),s=this.stack[this.stack.length-1],l={type:"element",tagName:"span",properties:{className:a},children:[]};s.children.push(l),this.stack.push(l)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const d9={};function ob(e){const t=e||d9,n=t.aliases,a=t.detect||!1,s=t.languages||a9,l=t.plainText,c=t.prefix,d=t.subset;let f="hljs";const h=c9(s);if(n&&h.registerAlias(n),c){const b=c.indexOf("-");f=b===-1?c:c.slice(0,b)}return function(b,m){Ef(b,"element",function(x,v,E){if(x.tagName!=="code"||!E||E.type!=="element"||E.tagName!=="pre")return;const w=f9(x);if(w===!1||!w&&!a||w&&l&&l.includes(w))return;Array.isArray(x.properties.className)||(x.properties.className=[]),x.properties.className.includes(f)||x.properties.className.unshift(f);const k=R5(x,{whitespace:"pre"});let N;try{N=w?h.highlight(w,k,{prefix:c}):h.highlightAuto(k,{prefix:c,subset:d})}catch(C){const A=C;if(w&&/Unknown language/.test(A.message)){m.message("Cannot highlight as `"+w+"`, it’s not registered",{ancestors:[E,x],cause:A,place:x.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw A}!w&&N.data&&N.data.language&&x.properties.className.push("language-"+N.data.language),N.children.length>0&&(x.children=N.children)})}}function f9(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let a;for(;++n<t.length;){const s=String(t[n]);if(s==="no-highlight"||s==="nohighlight")return!1;!a&&s.slice(0,5)==="lang-"&&(a=s.slice(5)),!a&&s.slice(0,9)==="language-"&&(a=s.slice(9))}return a}function h9({name:e,projects:t,onClose:n,onChange:a}){const{t:s}=Fe("skills"),{confirm:l,alert:c}=ui(),{data:d,isLoading:f,isError:h,error:b,refetch:m}=ct({queryKey:["skill",e],queryFn:()=>J3(e)});O.useEffect(()=>{const C=A=>{A.key==="Escape"&&n()};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[n]);const x=async(C,A)=>{try{await A(),await m(),a()}catch(T){c({title:s("modal.labelFailed",{label:C}),body:T instanceof Error?T.message:String(T)})}},v=C=>x("link",()=>tz(e,C)),E=async C=>{await l({title:s("modal.removeTitle",{name:e,project:C}),body:s("modal.removeBody"),confirm:s("modal.removeConfirm"),danger:!0})&&await x("unlink",()=>nz(e,C))},w=C=>x("freeze",()=>iz(e,C)),k=async C=>{await l({title:s("modal.unfreezeTitle",{name:e,project:C}),body:s("modal.unfreezeBody"),confirm:s("modal.unfreezeConfirm"),danger:!0})&&await x("unfreeze",()=>az(e,C))},N=new Map(((d==null?void 0:d.linkedProjects)??[]).map(C=>[C.project,C.state]));return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-8 w-full max-w-4xl",children:[p.jsxs("header",{className:"flex items-start justify-between gap-4 mb-4",children:[p.jsxs("div",{children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-3xl font-bold",children:e}),d&&p.jsxs("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:[d.category," · ",d.origin||"local"]})]}),p.jsx("button",{onClick:n,className:"nb-btn nb-btn-mint p-2","aria-label":s("modal.closeAria"),type:"button",children:p.jsx(Ci,{size:16,strokeWidth:3})})]}),f&&p.jsx("p",{children:s("modal.loading")}),h&&p.jsx("p",{className:"text-[var(--color-crashed)]",children:s("modal.loadFailed",{error:b instanceof Error?b.message:String(b)})}),d&&p.jsxs("div",{className:"flex flex-col gap-4",children:[p.jsxs("div",{className:"nb-card bg-[var(--color-bg-cream)] p-4",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-3 uppercase tracking-wider",children:s("modal.linkStatus")}),p.jsxs("div",{className:"flex flex-col gap-2",children:[t.map(C=>{const A=N.get(C);return p.jsxs("div",{className:"flex items-center justify-between gap-3 p-2 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold text-sm",children:C}),A==="linked"&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"linked"}),A==="frozen"&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-stuck-bg)",color:"var(--color-stuck)"},children:"frozen"}),!A&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-idle-bg)",color:"var(--color-idle)"},children:"absent"})]}),p.jsxs("div",{className:"flex gap-2",children:[!A&&p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"4px 10px",fontSize:11},onClick:()=>v(C),type:"button",children:[p.jsx(j2,{size:11})," link"]}),A==="linked"&&p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>w(C),type:"button",children:[p.jsx(tO,{size:11})," freeze"]}),p.jsx("button",{className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:()=>E(C),type:"button",children:"unlink"})]}),A==="frozen"&&p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>k(C),type:"button",children:[p.jsx(d2,{size:11})," unfreeze"]}),p.jsx("button",{className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:()=>E(C),type:"button",children:"unlink"})]})]})]},C)}),t.length===0&&p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic",children:s("modal.noProjects")})]})]}),p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("modal.preview")}),p.jsx("div",{className:"prose-chat bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4 max-h-80 overflow-auto text-sm",children:d.body?p.jsx(tb,{remarkPlugins:[rb],rehypePlugins:[ob],children:d.body}):p.jsx("p",{className:"text-[var(--color-text-muted)] italic",children:"(empty)"})})]}),d.references.length>0&&p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:"References"}),p.jsx("ul",{className:"flex flex-col gap-2",children:d.references.map(C=>p.jsx(p9,{skillName:e,file:C.name,lines:C.lines},C.name))})]})]})]})})}function p9({skillName:e,file:t,lines:n}){const{t:a}=Fe("skills"),[s,l]=O.useState(!1),{data:c,isLoading:d,isError:f,error:h}=ct({queryKey:["skill-ref",e,t],queryFn:()=>ez(e,t),enabled:s,staleTime:1/0});return p.jsxs("li",{className:"border-2 border-[var(--color-text)] rounded-lg overflow-hidden bg-[var(--color-bg-cream)]",children:[p.jsxs("button",{type:"button",onClick:()=>l(b=>!b),"aria-label":a("modal.fileToggleAria",{action:a(s?"modal.collapse":"modal.expand"),file:t}),"aria-expanded":s,className:"w-full flex items-center gap-2 px-3 py-2 text-sm font-[family-name:var(--font-mono)] hover:bg-[var(--color-accent-yellow)] transition-colors",children:[p.jsx(ef,{size:12,strokeWidth:3,className:["transition-transform",s?"rotate-90":""].join(" ")}),p.jsx(Mc,{size:12,strokeWidth:2.5}),p.jsx("span",{className:"flex-1 text-left font-bold",children:t}),p.jsxs("span",{className:"text-xs text-[var(--color-text-subtle)]",children:[n," lines"]})]}),s&&p.jsxs("div",{className:"px-4 py-3 border-t-2 border-[var(--color-text)] bg-[var(--color-bg)] max-h-96 overflow-auto",children:[d&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)]",children:a("modal.loading")}),f&&p.jsx("p",{className:"text-xs text-[var(--color-crashed)]",children:a("modal.loadFailed",{error:h instanceof Error?h.message:String(h)})}),c&&p.jsx("div",{className:"prose-chat text-sm",children:p.jsx(tb,{remarkPlugins:[rb],rehypePlugins:[ob],children:c.content})})]})]})}const m9=[{value:"all",label:"All"},{value:"language",label:"language"},{value:"end",label:"end"},{value:"persona",label:"persona"},{value:"workflow",label:"workflow"},{value:"other",label:"other"}],g9={language:"var(--color-accent-purple)",end:"var(--color-secondary)",persona:"var(--color-primary)",workflow:"var(--color-accent-mint)",other:"var(--color-bg-cream)"};function b9(){var v;const{t:e}=Fe("skills"),[t,n]=O.useState("all"),[a,s]=O.useState(""),[l,c]=O.useState(null),d=Vn(),{data:f,isLoading:h}=ct({queryKey:["skills"],queryFn:()=>zg()}),b=ct({queryKey:["projects"],queryFn:Ar}),m=O.useMemo(()=>((f==null?void 0:f.data)??[]).filter(w=>!(t!=="all"&&w.category!==t||a&&!w.name.toLowerCase().includes(a.toLowerCase()))),[f,t,a]),x=O.useMemo(()=>{const E=(f==null?void 0:f.data)??[],w={all:E.length};for(const k of E)w[k.category]=(w[k.category]??0)+1;return w},[f]);return p.jsxs("div",{className:"flex flex-col gap-4 max-w-full",children:[p.jsxs("header",{className:"flex items-center justify-between flex-wrap gap-3",children:[p.jsxs("div",{children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold",children:e("title")}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:h?e("loading"):e("summary",{count:(f==null?void 0:f.data.length)??0})})]}),p.jsx("div",{className:"flex gap-3 items-center",children:p.jsxs("button",{className:"nb-btn nb-btn-mint",onClick:async()=>{await rz(),d.invalidateQueries({queryKey:["skills"]})},type:"button",children:[p.jsx(zl,{size:14,strokeWidth:2.5}),e("syncBundled")]})})]}),p.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[p.jsxs("div",{className:"relative flex-1 max-w-md",children:[p.jsx(Dd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-subtle)]"}),p.jsx("input",{className:"nb-input pl-9 w-full",placeholder:e("searchPlaceholder"),value:a,onChange:E=>s(E.target.value),"aria-label":e("search")})]}),p.jsx("div",{className:"flex gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:m9.map(E=>p.jsxs("button",{type:"button",onClick:()=>n(E.value),className:["px-3 py-1 rounded-full text-xs font-bold font-[family-name:var(--font-body)]",t===E.value?"bg-[var(--color-text)] text-[var(--color-bg)]":"text-[var(--color-text-muted)] hover:text-[var(--color-text)]"].join(" "),children:[E.label," ",x[E.value]]},E.value))})]}),p.jsx("div",{className:"grid gap-4 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]",children:m.map(E=>{var w;return p.jsx(y9,{skill:E,projectCount:((w=b.data)==null?void 0:w.data.length)??0,onOpen:()=>c(E.name)},E.name)})}),l&&p.jsx(h9,{name:l,projects:((v=b.data)==null?void 0:v.data.map(E=>E.name))??[],onClose:()=>c(null),onChange:()=>d.invalidateQueries({queryKey:["skills"]})})]})}function y9({skill:e,projectCount:t,onOpen:n}){const a=g9[e.category];return p.jsxs("article",{onClick:n,onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),n())},tabIndex:0,role:"button","aria-label":`Open ${e.name}`,className:"nb-card nb-card-interactive flex flex-col gap-3",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-lg",children:e.name}),p.jsx("span",{className:"nb-badge text-[10px]",style:{background:a},children:e.category})]}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] leading-5 line-clamp-3",children:e.description||"(no description)"}),p.jsxs("div",{className:"flex items-center justify-between text-xs font-[family-name:var(--font-mono)] pt-2 border-t-[1.5px] border-dashed border-[var(--color-border-light)]",children:[p.jsx("span",{className:"font-bold",children:e.linkedProjects.length>0?`● linked in ${e.linkedProjects.length}`:"○ not linked"}),p.jsxs("span",{className:"text-[var(--color-text-subtle)]",children:[t," projects"]})]})]})}function x9(){var l;const{t:e}=Fe("system"),t=ct({queryKey:["system-info"],queryFn:cE}),n=ct({queryKey:["system-env"],queryFn:tI}),[a,s]=O.useState(!1);return p.jsxs("div",{className:"flex flex-col gap-6 max-w-4xl",children:[p.jsx("header",{children:p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold",children:e("title")})}),p.jsx(v9,{current:(l=t.data)==null?void 0:l.version}),p.jsxs("section",{className:"nb-card",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-3",children:e("runtime")}),t.data?p.jsxs("dl",{className:"grid grid-cols-[160px_1fr] gap-y-2 text-sm",children:[p.jsx("dt",{className:"font-bold",children:"Node"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.data.nodeVersion}),p.jsx("dt",{className:"font-bold",children:"Platform"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.data.platform}),p.jsx("dt",{className:"font-bold",children:"PID"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.data.pid??"—"}),p.jsx("dt",{className:"font-bold",children:"Uptime"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:k9(t.data.uptimeMs)})]}):p.jsx("p",{className:"text-[var(--color-text-muted)]",children:e("loading")})]}),p.jsxs("section",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:[e("envSection"),p.jsx("code",{className:"text-sm font-[family-name:var(--font-mono)] font-normal bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded",children:"~/.coral/env"})]}),a?p.jsx("span",{className:"text-xs text-[var(--color-stuck)] font-bold",children:e("envEditing")}):p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>s(!0),type:"button","aria-label":e("envEditAria"),children:[p.jsx(xg,{size:12,strokeWidth:2.5})," ",e("envEdit")]})]}),a?p.jsx(w9,{onClose:()=>{s(!1),n.refetch()}}):n.data&&n.data.exists?p.jsx("dl",{className:"grid grid-cols-[220px_1fr] gap-y-1 text-sm font-[family-name:var(--font-mono)]",children:n.data.entries.map(c=>p.jsxs("div",{className:"contents",children:[p.jsxs("dt",{className:"font-bold flex items-center gap-2",children:[c.masked&&p.jsx("span",{className:"text-[var(--color-stuck)]",children:"🔒"}),c.key]}),p.jsx("dd",{className:"text-[var(--color-text-muted)] truncate",children:c.value})]},c.key))}):p.jsxs("p",{className:"text-[var(--color-text-muted)] text-sm",children:[e("envMissing"),p.jsx("code",{className:"bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded font-[family-name:var(--font-mono)]",children:"sps setup"})]})]}),p.jsx(E9,{})]})}function v9({current:e}){var w;const{t}=Fe("system"),{confirm:n,alert:a}=ui(),[s,l]=O.useState(!1),[c,d]=O.useState(null),f=ct({queryKey:["latest-version"],queryFn:aI,enabled:!1}),[h,b]=O.useState(null),[m,x]=O.useState("npm i -g @coralai/sps-cli@latest"),v=async()=>{var N;if(await n({title:t("upgradeTitle"),body:t("upgradeBody",{current:e,latest:(N=f.data)==null?void 0:N.latest}),confirm:t("upgradeConfirm")})){l(!0),d(null),b(null);try{const C=await rI();if(d(C.output),b(C.installedVersion),x(C.command),C.ok)a({title:t("upgradeDoneTitle"),body:t("upgradeDoneBody",{version:C.installedVersion})});else{const A=C.installedVersion&&C.installedVersion===e?t("upgradeIneffectiveSameVersion",{version:C.installedVersion}):t("upgradeIneffectiveNoInstall");a({title:t("upgradeIneffectiveTitle"),body:A})}}catch(C){d(C.message),a({title:t("upgradeFailed"),body:C.message})}finally{l(!1)}}},E=async()=>{const k=f.data&&!f.data.upToDate?`npm i -g @coralai/sps-cli@${f.data.latest}`:m;try{await navigator.clipboard.writeText(k),a({title:t("cmdCopiedTitle"),body:t("cmdCopiedBody",{cmd:k})})}catch{a({title:t("copyFailedTitle"),body:t("copyFailedBody",{cmd:k})})}};return p.jsxs("section",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:t("version")}),p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>f.refetch(),disabled:f.isFetching||!e,type:"button","aria-label":t("checkUpdateAria"),children:[f.isFetching?p.jsx(Bt,{size:12,strokeWidth:3,className:"animate-spin"}):p.jsx(zl,{size:12,strokeWidth:2.5}),t("checkUpdate")]})]}),p.jsxs("dl",{className:"grid grid-cols-[160px_1fr] gap-y-2 text-sm",children:[p.jsx("dt",{className:"font-bold",children:t("spsCliCurrent")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:e??"—"}),f.data&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"font-bold",children:t("npmLatest")}),p.jsxs("dd",{className:"font-[family-name:var(--font-mono)] flex items-center gap-2 flex-wrap",children:[f.data.latest,f.data.upToDate?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:t("latestBadge")}):p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"3px 10px",fontSize:11},onClick:v,disabled:s,type:"button","aria-label":t("upgradeAria"),children:[s?p.jsx(Bt,{size:11,strokeWidth:3,className:"animate-spin"}):p.jsx(Gw,{size:11,strokeWidth:2.5}),t("upgrade")]}),p.jsxs("button",{className:"nb-btn",style:{padding:"3px 10px",fontSize:11},onClick:E,type:"button","aria-label":t("copyCmdAria"),title:t("copyCmdTitle"),children:[p.jsx(a2,{size:11,strokeWidth:2.5})," ",t("copyCmd")]})]})]})]}),h&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"font-bold",children:t("installed")}),p.jsxs("dd",{className:"font-[family-name:var(--font-mono)] flex items-center gap-2",children:[h,h===((w=f.data)==null?void 0:w.latest)?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:t("installedActive")}):h===e?p.jsx("span",{className:"nb-status",style:{background:"var(--color-stuck-bg)",color:"var(--color-stuck)"},children:t("installedFailed")}):null]})]}),f.isError&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"font-bold",children:t("checkLabel")}),p.jsx("dd",{className:"text-[var(--color-crashed)] text-xs",children:f.error instanceof Error?f.error.message:String(f.error)})]})]}),c&&p.jsx("pre",{className:"mt-3 text-xs font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-3 max-h-40 overflow-auto whitespace-pre-wrap",children:c})]})}function w9({onClose:e}){const{t}=Fe("system"),n=Vn(),{alert:a}=ui(),s=ct({queryKey:["system-env-raw"],queryFn:nI}),[l,c]=O.useState(null),[d,f]=O.useState(null);O.useEffect(()=>{s.data&&l===null&&(c(s.data.content),f(s.data.etag))},[s.data,l]);const h=l!==null&&s.data&&l!==s.data.content,b=Gn({mutationFn:()=>{if(l===null)throw new Error("no draft");return iI(l,d??"")},onSuccess:()=>{n.invalidateQueries({queryKey:["system-env"]}),n.invalidateQueries({queryKey:["system-env-raw"]}),e()},onError:m=>{const x=m.status;a({title:t(x===409?"envEtagConflict":"envSaveFailed"),body:x===409?t("envEtagBody"):m instanceof Error?m.message:String(m)})}});return s.isLoading?p.jsx("p",{className:"text-[var(--color-text-muted)]",children:t("loading")}):p.jsxs("div",{children:[p.jsx("p",{className:"text-xs text-[var(--color-stuck)] font-bold mb-2",children:t("envWarn")}),p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:320,resize:"vertical"},value:l??"",onChange:m=>c(m.target.value),spellCheck:!1,"aria-label":t("envEditorAria")}),p.jsxs("div",{className:"flex items-center justify-between mt-3",children:[p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:[d?`etag: ${d}`:"",h?t("envUnsaved"):""]}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px"},onClick:e,disabled:b.isPending,type:"button",children:[p.jsx(Ci,{size:12,strokeWidth:3})," ",t("envCancel")]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 12px"},onClick:()=>b.mutate(),disabled:!h||b.isPending,type:"button","aria-label":t("envSaveAria"),children:[b.isPending?p.jsx(Bt,{size:12,strokeWidth:3,className:"animate-spin"}):p.jsx(tf,{size:12,strokeWidth:3}),t("envSave")]})]})]})]})}function E9(){var x;const{t:e}=Fe("system"),{alert:t}=ui(),n=ct({queryKey:["projects"],queryFn:Ar}),[a,s]=O.useState({}),[l,c]=O.useState({}),[d,f]=O.useState({}),h=(((x=n.data)==null?void 0:x.data)??[]).map(v=>({project:v.name})),b=async(v,E)=>{c(w=>({...w,[v]:E?"fix":"check"}));try{const w=await sI(v,E);s(k=>({...k,[v]:w})),f(k=>({...k,[v]:!0}))}catch(w){t({title:e("doctor.doctorActionFailed",{action:e(E?"doctor.actionFix":"doctor.actionCheck")}),body:w instanceof Error?w.message:String(w)})}finally{c(w=>({...w,[v]:null}))}},m=async()=>{for(const v of h)await b(v.project,!1)};return p.jsxs("section",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:e("doctor.title")}),p.jsxs("button",{className:"nb-btn nb-btn-mint",style:{padding:"6px 12px",fontSize:12},onClick:()=>{m()},disabled:h.length===0||Object.values(l).some(Boolean),type:"button",children:[p.jsx(zl,{size:12,strokeWidth:2.5}),e("doctor.checkAll")]})]}),h.length===0?p.jsx("p",{className:"text-[var(--color-text-muted)] text-sm",children:e("doctor.noProjects")}):p.jsx("ul",{className:"flex flex-col gap-2",children:h.map(v=>{const E=a[v.project],w=l[v.project],k=E?E.checks.filter(T=>T.status==="fail").length:0,N=E?E.checks.filter(T=>T.status==="warn").length:0,C=d[v.project]??!1,A=E!=null;return p.jsxs("li",{className:"bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsxs("div",{className:"flex items-center gap-3 px-3 py-2",children:[p.jsxs("button",{type:"button",onClick:()=>f(T=>({...T,[v.project]:!C})),disabled:!A,className:"flex items-center gap-2 flex-1 text-left min-w-0","aria-label":e(C?"doctor.collapse":"doctor.expand"),children:[A&&E.ok?p.jsx(Dm,{size:16,className:"text-[var(--color-running)] shrink-0",strokeWidth:2.5}):A?p.jsx(gc,{size:16,className:"text-[var(--color-stuck)] shrink-0",strokeWidth:2.5}):p.jsx(Dm,{size:16,className:"text-[var(--color-text-subtle)] shrink-0",strokeWidth:2.5}),A&&(C?p.jsx(jc,{size:12}):p.jsx(ef,{size:12})),p.jsx("span",{className:"font-bold font-[family-name:var(--font-mono)]",children:v.project}),A?E.ok?p.jsx("span",{className:"text-xs text-[var(--color-running)] font-semibold",children:"OK"}):p.jsxs("span",{className:"text-xs text-[var(--color-stuck)] font-semibold",children:[k," fail · ",N," warn"]}):p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:e("doctor.clickCheck")})]}),p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>{b(v.project,!1)},disabled:!!w,type:"button","aria-label":e("doctor.checkAria"),children:[w==="check"?p.jsx(Bt,{size:11,strokeWidth:3,className:"animate-spin"}):p.jsx(zl,{size:11,strokeWidth:2.5}),e("doctor.check")]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"4px 10px",fontSize:11},onClick:()=>{b(v.project,!0)},disabled:!!w||A&&E.ok,type:"button","aria-label":e("doctor.fixAria"),title:A&&E.ok?e("doctor.fixNothing"):e("doctor.fixHint"),children:[w==="fix"?p.jsx(Bt,{size:11,strokeWidth:3,className:"animate-spin"}):p.jsx(nE,{size:11,strokeWidth:2.5}),e("doctor.fix")]})]}),C&&A&&p.jsxs("div",{className:"border-t-2 border-dashed border-[var(--color-text)] px-3 py-2",children:[p.jsx("ul",{className:"flex flex-col gap-1 text-xs font-[family-name:var(--font-mono)]",children:E.checks.map((T,L)=>p.jsx(S9,{check:T},`${T.name}-${L}`))}),E.fixes.length>0&&p.jsxs("div",{className:"mt-3 bg-[var(--color-running-bg)] border-2 border-[var(--color-running)] rounded p-2",children:[p.jsx("div",{className:"text-xs font-bold text-[var(--color-running)] mb-1",children:e("doctor.fixed")}),p.jsx("ul",{className:"text-xs list-disc pl-4",children:E.fixes.map((T,L)=>p.jsx("li",{children:T},L))})]})]})]},v.project)})})]})}function S9({check:e}){const t=e.status==="pass"?p.jsx(Dm,{size:12,className:"text-[var(--color-running)]",strokeWidth:2.5}):e.status==="fail"?p.jsx(gc,{size:12,className:"text-[var(--color-crashed)]",strokeWidth:2.5}):e.status==="warn"?p.jsx(gc,{size:12,className:"text-[var(--color-stuck)]",strokeWidth:2.5}):p.jsx("span",{className:"w-3 h-3 rounded-full bg-[var(--color-text-subtle)] inline-block"});return p.jsxs("li",{className:"flex items-start gap-2",children:[p.jsx("span",{className:"pt-0.5 shrink-0",children:t}),p.jsx("span",{className:"font-bold w-32 shrink-0",children:e.name}),p.jsx("span",{className:"text-[var(--color-text-muted)] break-words",children:e.message})]})}function k9(e){const t=Math.floor(e/1e3),n=Math.floor(t/3600),a=Math.floor(t%3600/60),s=t%60;return n>0?`${n}h ${a}m ${s}s`:a>0?`${a}m ${s}s`:`${s}s`}function N9(){return qt("/api/chat/sessions")}function _9(e){return qt(`/api/chat/sessions/${e}`)}async function hm(e={}){const t=await fetch("/api/chat/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`${t.status}: ${await t.text()}`);return await t.json()}async function C9(e){const t=await fetch(`/api/chat/sessions/${e}`,{method:"DELETE"});if(!t.ok)throw new Error(`${t.status}`)}async function A9(e,t,n){const a=await fetch(`/api/chat/sessions/${e}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,attachments:n})});if(!a.ok)throw new Error(`${a.status}: ${await a.text()}`);return await a.json()}async function T9(e){const t=await fetch(`/api/chat/sessions/${e}/interrupt`,{method:"POST"});if(!t.ok&&t.status!==204)throw new Error(`${t.status}: ${await t.text()}`)}function O9(e,t){const n=t?`?since=${encodeURIComponent(t)}`:"";return qt(`/api/chat/sessions/${e}/messages${n}`)}function Y1(){var oe,ce,ne,j,D,Y,R,ye;const{t:e}=Fe("chat"),{sessionId:t}=jw(),n=Cr(),a=Vn(),{confirm:s,alert:l}=ui(),c=ct({queryKey:["chat-sessions"],queryFn:N9}),d=ct({queryKey:["chat-session",t],queryFn:()=>_9(t??""),enabled:!!t}),[f,h]=O.useState(null),[b,m]=O.useState(""),[x,v]=O.useState(!1),E=O.useRef(null),[w,k]=O.useState(!1),[N,C]=O.useState([]),[A,T]=O.useState(!1),[L,M]=O.useState(!1),[U,$]=O.useState(!1),[te,P]=O.useState(null);O.useEffect(()=>{if(!t)return;const X=new EventSource(`/stream/chat/${encodeURIComponent(t)}`);let fe=!0;return X.addEventListener("open",()=>{if(fe){fe=!1;return}const he=a.getQueryData(["chat-session",t]),K=he!=null&&he.messages.length?he.messages[he.messages.length-1].ts:void 0;O9(t,K).then(ue=>{ue.data.length!==0&&a.setQueryData(["chat-session",t],Oe=>{if(!Oe)return Oe;const dt=new Set(Oe.messages.map(di=>di.id)),ft=ue.data.filter(di=>!dt.has(di.id));return ft.length===0?Oe:{...Oe,messages:[...Oe.messages,...ft],lastMessageAt:ft[ft.length-1].ts,messageCount:Oe.messageCount+ft.length}})}).catch(()=>{})}),X.addEventListener("chat.message",he=>{try{const K=JSON.parse(he.data);a.setQueryData(["chat-session",t],ue=>{if(!ue||ue.messages.some(ft=>ft.id===K.message.id))return ue;const dt=ue.messages.findIndex(ft=>ft.role==="user"&&ft.id.startsWith("optim-")&&ft.content===K.message.content);if(dt>=0){const ft=[...ue.messages];return ft[dt]=K.message,{...ue,messages:ft}}return{...ue,messages:[...ue.messages,K.message]}})}catch{}}),X.addEventListener("chat.message.pending",he=>{try{const K=JSON.parse(he.data);h({id:K.assistantId,blocks:[],done:!1,finalMessage:null})}catch{}}),X.addEventListener("chat.message.chunk.text",he=>{try{const K=JSON.parse(he.data);h(ue=>{if(!ue||ue.id!==K.assistantId)return ue;const Oe=[...ue.blocks],dt=Oe[Oe.length-1];return dt&&dt.type==="text"?Oe[Oe.length-1]={...dt,target:dt.target+K.text}:Oe.push({type:"text",target:K.text,displayed:""}),{...ue,blocks:Oe}})}catch{}}),X.addEventListener("chat.message.chunk.tool_use",he=>{try{const K=JSON.parse(he.data);h(ue=>!ue||ue.id!==K.assistantId?ue:{...ue,blocks:[...ue.blocks,{type:"tool_use",id:K.id,title:K.title,kind:K.kind,status:K.status}]})}catch{}}),X.addEventListener("chat.message.chunk.tool_update",he=>{try{const K=JSON.parse(he.data);h(ue=>!ue||ue.id!==K.assistantId?ue:{...ue,blocks:ue.blocks.map(Oe=>Oe.type==="tool_use"&&Oe.id===K.id?{...Oe,status:K.status}:Oe)})}catch{}}),X.addEventListener("chat.message.complete",he=>{try{const K=JSON.parse(he.data);h(ue=>ue&&ue.id===K.assistantId?{...ue,done:!0,finalMessage:K.message}:ue)}catch{}}),()=>X.close()},[t,a]),O.useEffect(()=>{if(!f)return;const X=f.blocks.reduce((he,K)=>K.type==="text"?he+(K.target.length-K.displayed.length):he,0);if(X<=0){if(f.done&&f.finalMessage){const he=f.finalMessage;a.setQueryData(["chat-session",t],K=>!K||K.messages.some(ue=>ue.id===he.id)?K:{...K,messages:[...K.messages,he],lastMessageAt:he.ts,messageCount:K.messageCount+1}),a.invalidateQueries({queryKey:["chat-sessions"]}),h(null),v(!1)}return}const fe=setTimeout(()=>{h(he=>{if(!he)return he;let K=Math.max(1,Math.ceil(X/40));const ue=he.blocks.map(Oe=>{if(Oe.type!=="text"||K<=0)return Oe;const dt=Oe.target.length-Oe.displayed.length;if(dt<=0)return Oe;const ft=Math.min(dt,K);return K-=ft,{...Oe,displayed:Oe.target.slice(0,Oe.displayed.length+ft)}});return{...he,blocks:ue}})},25);return()=>clearTimeout(fe)},[f,a,t]),O.useEffect(()=>{const X=E.current;X&&(X.scrollTop=X.scrollHeight)},[d.data,f]);const Q=O.useCallback(async(X={})=>{var fe,he;try{const K=await hm({cwd:((fe=X.cwd)==null?void 0:fe.trim())||void 0,title:((he=X.title)==null?void 0:he.trim())||void 0});a.invalidateQueries({queryKey:["chat-sessions"]}),n(`/chat/${K.id}`),k(!1)}catch(K){l({title:e("session.createFailed"),body:K instanceof Error?K.message:String(K)})}},[a,n,l]),J=O.useCallback(async()=>{const X=b.trim();if(!X&&N.length===0||x)return;let fe=t;if(!fe){const ue=await hm();a.invalidateQueries({queryKey:["chat-sessions"]}),fe=ue.id,n(`/chat/${fe}`,{replace:!0})}const he=N.map(ue=>ue.path),K={id:`optim-${Date.now()}`,role:"user",content:X||e("fallback.attachment"),ts:new Date().toISOString(),status:"complete",attachments:he.length>0?he:void 0};a.setQueryData(["chat-session",fe],ue=>ue?{...ue,messages:[...ue.messages,K],lastMessageAt:K.ts,messageCount:ue.messageCount+1}:{id:fe,createdAt:K.ts,lastMessageAt:K.ts,title:X.slice(0,60)||e("fallback.attachmentTitle"),project:null,messageCount:1,messages:[K]}),m(""),C([]),v(!0);try{await A9(fe,X||e("fallback.seeAttachments"),he.length>0?he:void 0)}catch(ue){v(!1),console.error("sendMessage failed",ue),l({title:e("errors.send"),body:ue instanceof Error?ue.message:String(ue)})}},[b,N,x,t,a,n,l]),me=O.useCallback(async X=>{if(X.size>uE){l({title:e("errors.fileTooLarge"),body:e("errors.fileTooLargeBody",{size:(X.size/1024/1024).toFixed(2),name:X.name})});return}let fe=t;if(!fe){const he=await hm();a.invalidateQueries({queryKey:["chat-sessions"]}),fe=he.id,n(`/chat/${fe}`,{replace:!0})}T(!0);try{const he=await OI(fe,X);C(K=>[...K,{path:he.path,name:he.name}])}catch(he){l({title:e("errors.uploadFailed"),body:he instanceof Error?he.message:String(he)})}finally{T(!1)}},[t,a,n,l]),le=O.useCallback(X=>{C(fe=>fe.filter(he=>he.path!==X))},[]),ee=O.useCallback(async X=>{await s({title:e("session.delete"),body:"The session will be permanently deleted and cannot be recovered.",confirm:"Delete",danger:!0})&&(await C9(X),a.invalidateQueries({queryKey:["chat-sessions"]}),t===X&&n("/chat"))},[a,t,n,s]),H=O.useCallback(async()=>{if(t)try{await T9(t)}catch(X){l({title:e("errors.cancelFailed"),body:X instanceof Error?X.message:String(X)})}},[t,l]);return p.jsxs("div",{className:"grid grid-cols-[260px_1fr] gap-4 h-[calc(100vh-140px)]",children:[p.jsxs("aside",{className:"nb-card p-3 overflow-auto flex flex-col gap-2",children:[p.jsxs("button",{className:"nb-btn nb-btn-primary w-full justify-center",onClick:()=>k(!0),type:"button",children:[p.jsx(Pi,{size:14,strokeWidth:3}),"New chat"]}),p.jsxs("div",{className:"mt-2 text-xs font-[family-name:var(--font-heading)] uppercase tracking-wider text-[var(--color-text-muted)] px-2",children:[e("history")," ",((oe=c.data)==null?void 0:oe.data.length)??0]}),p.jsxs("div",{className:"flex flex-col gap-1.5 mt-1",children:[(((ce=c.data)==null?void 0:ce.data)??[]).map(X=>p.jsxs("div",{className:["group flex items-start gap-2 p-2 rounded-lg border-2 border-transparent",t===X.id?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)]":"hover:bg-[var(--color-bg-cream)] hover:border-[var(--color-text)]"].join(" "),children:[p.jsxs("button",{type:"button","aria-label":X.cwd?e("session.openAriaWithCwd",{title:X.title,cwd:X.cwd}):e("session.openAria",{title:X.title}),onClick:()=>n(`/chat/${X.id}`),className:"flex items-start gap-2 flex-1 min-w-0 text-left",children:[p.jsx(x0,{size:14,strokeWidth:2.5,className:"mt-0.5 flex-shrink-0"}),p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsx("p",{className:"text-sm font-semibold truncate",children:X.title}),p.jsxs("p",{className:"text-[10px] text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] truncate",children:[X.messageCount," msg · ",Uk(X.lastMessageAt??X.createdAt,e("time.justNow"))]}),X.cwd&&p.jsxs("p",{className:"text-[10px] text-[var(--color-text-subtle)] font-[family-name:var(--font-mono)] truncate flex items-center gap-1",title:X.cwd,children:[p.jsx(yc,{size:9,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate",dir:"rtl",children:X.cwd})]})]})]}),p.jsx("button",{type:"button","aria-label":e("session.deleteAria"),className:"opacity-0 group-hover:opacity-100 p-1 hover:text-[var(--color-crashed)]",onClick:fe=>{fe.stopPropagation(),ee(X.id)},children:p.jsx(Kl,{size:12})})]},X.id)),(((ne=c.data)==null?void 0:ne.data)??[]).length===0&&p.jsx("p",{className:"text-xs text-[var(--color-text-subtle)] italic text-center py-4",children:"No sessions yet. Click above to create one."})]})]}),p.jsx("div",{className:"nb-card p-0 flex flex-col overflow-hidden",children:t?p.jsxs(p.Fragment,{children:[p.jsxs("header",{className:"px-4 py-3 border-b-2 border-[var(--color-text)] bg-[var(--color-bg-cream)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] font-bold text-lg",children:((j=d.data)==null?void 0:j.title)??e("newSession")}),p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:t}),((D=d.data)==null?void 0:D.cwd)&&p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] flex items-center gap-1 mt-1",title:d.data.cwd,children:[p.jsx(yc,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate",children:d.data.cwd})]})]}),p.jsxs("div",{ref:E,className:"flex-1 overflow-auto p-4 flex flex-col gap-4",children:[(((Y=d.data)==null?void 0:Y.messages)??[]).map(X=>p.jsx(M9,{msg:X,sessionId:t??null,onPreviewAttachment:fe=>P(fe)},X.id)),f&&p.jsx(L9,{pending:f}),!d.isLoading&&(((R=d.data)==null?void 0:R.messages)??[]).length===0&&!f&&!x&&p.jsx("p",{className:"text-center text-[var(--color-text-subtle)] italic mt-12",children:"Type below to start a chat · Enter to send · Shift+Enter for newline"})]}),p.jsxs("div",{className:["border-t-2 border-[var(--color-text)] p-3 bg-[var(--color-bg-cream)] transition-colors",U?"bg-[var(--color-accent-mint)]":""].join(" "),onDragOver:X=>{X.dataTransfer.types.includes("Files")&&(X.preventDefault(),X.dataTransfer.dropEffect="copy",U||$(!0))},onDragLeave:()=>$(!1),onDrop:X=>{if(!X.dataTransfer.types.includes("Files"))return;X.preventDefault(),$(!1);const fe=Array.from(X.dataTransfer.files??[]);for(const he of fe)me(he)},children:[(N.length>0||A)&&p.jsxs("div",{className:"flex flex-wrap gap-2 mb-2",children:[N.map(X=>p.jsxs("button",{type:"button",className:"flex items-center gap-1.5 px-2 py-1 rounded-md bg-[var(--color-bg)] border-2 border-[var(--color-text)] text-xs font-[family-name:var(--font-mono)] hover:bg-[var(--color-accent-mint)] group",onClick:()=>P(X.path),title:`${X.name}
|
|
559
|
+
`,1;if(so>1e5&&so>Ne.index*3)throw new Error("potential infinite loop, way more iterations than matches");return mt+=$e,$e.length}const un=Nn(pe);if(!un)throw Lt(Et.replace("{}",pe)),new Error('Unknown language: "'+pe+'"');const Gc=cn(un);let Rs="",Le=pt||Gc;const Vc={},Xt=new Ee.__emitter(Ee);ro();let mt="",Ua=0,ca=0,so=0,Pa=!1;try{if(un.__emitTokens)un.__emitTokens(Ae,Xt);else{for(Le.matcher.considerAll();;){so++,Pa?Pa=!1:Le.matcher.considerAll(),Le.matcher.lastIndex=ca;const xe=Le.matcher.exec(Ae);if(!xe)break;const Ne=Ae.substring(ca,xe.index),$e=Os(Ne,xe);ca=xe.index+$e}Os(Ae.substring(ca))}return Xt.finalize(),Rs=Xt.toHTML(),{language:pe,value:Rs,relevance:Ua,illegal:!1,_emitter:Xt,_top:Le}}catch(xe){if(xe.message&&xe.message.includes("Illegal"))return{language:pe,value:kn(Ae),illegal:!0,relevance:0,_illegalBy:{message:xe.message,index:ca,context:Ae.slice(ca-100,ca+100),mode:xe.mode,resultSoFar:Rs},_emitter:Xt};if(At)return{language:pe,value:kn(Ae),illegal:!1,relevance:0,errorRaised:xe,_emitter:Xt,_top:Le};throw xe}}function Ns(pe){const Ae={value:kn(pe),illegal:!1,relevance:0,_top:ke,_emitter:new Ee.__emitter(Ee)};return Ae._emitter.addText(pe),Ae}function _s(pe,Ae){Ae=Ae||Ee.languages||Object.keys(re);const Qe=Ns(pe),pt=Ae.filter(Nn).filter(za).map(_t=>sa(_t,pe,!1));pt.unshift(Qe);const Vt=pt.sort((_t,Xn)=>{if(_t.relevance!==Xn.relevance)return Xn.relevance-_t.relevance;if(_t.language&&Xn.language){if(Nn(_t.language).supersetOf===Xn.language)return 1;if(Nn(Xn.language).supersetOf===_t.language)return-1}return 0}),[bn,Wn]=Vt,Mn=bn;return Mn.secondBest=Wn,Mn}function Ki(pe,Ae,Qe){const pt=Ae&&ve[Ae]||Qe;pe.classList.add("hljs"),pe.classList.add(`language-${pt}`)}function Gt(pe){let Ae=null;const Qe=Kt(pe);if(Ie(Qe))return;if(Lr("before:highlightElement",{el:pe,language:Qe}),pe.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",pe);return}if(pe.children.length>0&&(Ee.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(pe)),Ee.throwUnescapedHTML))throw new qi("One of your code blocks includes unescaped HTML.",pe.innerHTML);Ae=pe;const pt=Ae.textContent,Vt=Qe?Rt(pt,{language:Qe,ignoreIllegals:!0}):_s(pt);pe.innerHTML=Vt.value,pe.dataset.highlighted="yes",Ki(pe,Qe,Vt.language),pe.result={language:Vt.language,re:Vt.relevance,relevance:Vt.relevance},Vt.secondBest&&(pe.secondBest={language:Vt.secondBest.language,relevance:Vt.secondBest.relevance}),Lr("after:highlightElement",{el:pe,result:Vt,text:pt})}function gn(pe){Ee=Fc(Ee,pe)}const Ia=()=>{Cs(),ie("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function no(){Cs(),ie("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let $c=!1;function Cs(){function pe(){Cs()}if(document.readyState==="loading"){$c||window.addEventListener("DOMContentLoaded",pe,!1),$c=!0;return}document.querySelectorAll(Ee.cssSelector).forEach(Gt)}function Hc(pe,Ae){let Qe=null;try{Qe=Ae(B)}catch(pt){if(Lt("Language definition for '{}' could not be registered.".replace("{}",pe)),At)Lt(pt);else throw pt;Qe=ke}Qe.name||(Qe.name=pe),re[pe]=Qe,Qe.rawDefinition=Ae.bind(null,B),Qe.aliases&&la(Qe.aliases,{languageName:pe})}function Dr(pe){delete re[pe];for(const Ae of Object.keys(ve))ve[Ae]===pe&&delete ve[Ae]}function io(){return Object.keys(re)}function Nn(pe){return pe=(pe||"").toLowerCase(),re[pe]||re[ve[pe]]}function la(pe,{languageName:Ae}){typeof pe=="string"&&(pe=[pe]),pe.forEach(Qe=>{ve[Qe.toLowerCase()]=Ae})}function za(pe){const Ae=Nn(pe);return Ae&&!Ae.disableAutodetect}function Ba(pe){pe["before:highlightBlock"]&&!pe["before:highlightElement"]&&(pe["before:highlightElement"]=Ae=>{pe["before:highlightBlock"](Object.assign({block:Ae.el},Ae))}),pe["after:highlightBlock"]&&!pe["after:highlightElement"]&&(pe["after:highlightElement"]=Ae=>{pe["after:highlightBlock"](Object.assign({block:Ae.el},Ae))})}function Wt(pe){Ba(pe),ze.push(pe)}function qc(pe){const Ae=ze.indexOf(pe);Ae!==-1&&ze.splice(Ae,1)}function Lr(pe,Ae){const Qe=pe;ze.forEach(function(pt){pt[Qe]&&pt[Qe](Ae)})}function oa(pe){return ie("10.7.0","highlightBlock will be removed entirely in v12.0"),ie("10.7.0","Please use highlightElement now."),Gt(pe)}Object.assign(B,{highlight:Rt,highlightAuto:_s,highlightAll:Cs,highlightElement:Gt,highlightBlock:oa,configure:gn,initHighlighting:Ia,initHighlightingOnLoad:no,registerLanguage:Hc,unregisterLanguage:Dr,listLanguages:io,getLanguage:Nn,registerAliases:la,autoDetection:za,inherit:Fc,addPlugin:Wt,removePlugin:qc}),B.debugMode=function(){At=!1},B.safeMode=function(){At=!0},B.versionString=ht,B.regex={concat:w,lookahead:x,either:N,optional:E,anyNumberOfTimes:v};for(const pe in Oe)typeof Oe[pe]=="object"&&e(Oe[pe]);return Object.assign(B,Oe),B},jn=Mr({});return jn.newInstance=()=>Mr({}),fm=jn,jn.HighlightJS=jn,jn.default=jn,fm}var o9=l9();const c9=ag(o9),Q1={},u9="hljs-";function d9(e){const t=c9.newInstance();return e&&l(e),{highlight:n,highlightAuto:a,listLanguages:s,register:l,registerAlias:c,registered:d};function n(f,h,b){const m=b||Q1,x=typeof m.prefix=="string"?m.prefix:u9;if(!t.getLanguage(f))throw new Error("Unknown language: `"+f+"` is not registered");t.configure({__emitter:f9,classPrefix:x});const v=t.highlight(h,{ignoreIllegals:!0,language:f});if(v.errorRaised)throw new Error("Could not highlight with `Highlight.js`",{cause:v.errorRaised});const E=v._emitter.root,w=E.data;return w.language=v.language,w.relevance=v.relevance,E}function a(f,h){const m=(h||Q1).subset||s();let x=-1,v=0,E;for(;++x<m.length;){const w=m[x];if(!t.getLanguage(w))continue;const k=n(w,f,h);k.data&&k.data.relevance!==void 0&&k.data.relevance>v&&(v=k.data.relevance,E=k)}return E||{type:"root",children:[],data:{language:void 0,relevance:v}}}function s(){return t.listLanguages()}function l(f,h){if(typeof f=="string")t.registerLanguage(f,h);else{let b;for(b in f)Object.hasOwn(f,b)&&t.registerLanguage(b,f[b])}}function c(f,h){if(typeof f=="string")t.registerAliases(typeof h=="string"?h:[...h],{languageName:f});else{let b;for(b in f)if(Object.hasOwn(f,b)){const m=f[b];t.registerAliases(typeof m=="string"?m:[...m],{languageName:b})}}}function d(f){return!!t.getLanguage(f)}}class f9{constructor(t){this.options=t,this.root={type:"root",children:[],data:{language:void 0,relevance:0}},this.stack=[this.root]}addText(t){if(t==="")return;const n=this.stack[this.stack.length-1],a=n.children[n.children.length-1];a&&a.type==="text"?a.value+=t:n.children.push({type:"text",value:t})}startScope(t){this.openNode(String(t))}endScope(){this.closeNode()}__addSublanguage(t,n){const a=this.stack[this.stack.length-1],s=t.root.children;n?a.children.push({type:"element",tagName:"span",properties:{className:[n]},children:s}):a.children.push(...s)}openNode(t){const n=this,a=t.split(".").map(function(c,d){return d?c+"_".repeat(d):n.options.classPrefix+c}),s=this.stack[this.stack.length-1],l={type:"element",tagName:"span",properties:{className:a},children:[]};s.children.push(l),this.stack.push(l)}closeNode(){this.stack.pop()}finalize(){}toHTML(){return""}}const h9={};function ob(e){const t=e||h9,n=t.aliases,a=t.detect||!1,s=t.languages||s9,l=t.plainText,c=t.prefix,d=t.subset;let f="hljs";const h=d9(s);if(n&&h.registerAlias(n),c){const b=c.indexOf("-");f=b===-1?c:c.slice(0,b)}return function(b,m){Ef(b,"element",function(x,v,E){if(x.tagName!=="code"||!E||E.type!=="element"||E.tagName!=="pre")return;const w=p9(x);if(w===!1||!w&&!a||w&&l&&l.includes(w))return;Array.isArray(x.properties.className)||(x.properties.className=[]),x.properties.className.includes(f)||x.properties.className.unshift(f);const k=M5(x,{whitespace:"pre"});let N;try{N=w?h.highlight(w,k,{prefix:c}):h.highlightAuto(k,{prefix:c,subset:d})}catch(C){const A=C;if(w&&/Unknown language/.test(A.message)){m.message("Cannot highlight as `"+w+"`, it’s not registered",{ancestors:[E,x],cause:A,place:x.position,ruleId:"missing-language",source:"rehype-highlight"});return}throw A}!w&&N.data&&N.data.language&&x.properties.className.push("language-"+N.data.language),N.children.length>0&&(x.children=N.children)})}}function p9(e){const t=e.properties.className;let n=-1;if(!Array.isArray(t))return;let a;for(;++n<t.length;){const s=String(t[n]);if(s==="no-highlight"||s==="nohighlight")return!1;!a&&s.slice(0,5)==="lang-"&&(a=s.slice(5)),!a&&s.slice(0,9)==="language-"&&(a=s.slice(9))}return a}function m9({name:e,projects:t,onClose:n,onChange:a}){const{t:s}=Ue("skills"),{confirm:l,alert:c}=ui(),{data:d,isLoading:f,isError:h,error:b,refetch:m}=ct({queryKey:["skill",e],queryFn:()=>tz(e)});O.useEffect(()=>{const C=A=>{A.key==="Escape"&&n()};return window.addEventListener("keydown",C),()=>window.removeEventListener("keydown",C)},[n]);const x=async(C,A)=>{try{await A(),await m(),a()}catch(T){c({title:s("modal.labelFailed",{label:C}),body:T instanceof Error?T.message:String(T)})}},v=C=>x("link",()=>iz(e,C)),E=async C=>{await l({title:s("modal.removeTitle",{name:e,project:C}),body:s("modal.removeBody"),confirm:s("modal.removeConfirm"),danger:!0})&&await x("unlink",()=>az(e,C))},w=C=>x("freeze",()=>rz(e,C)),k=async C=>{await l({title:s("modal.unfreezeTitle",{name:e,project:C}),body:s("modal.unfreezeBody"),confirm:s("modal.unfreezeConfirm"),danger:!0})&&await x("unfreeze",()=>sz(e,C))},N=new Map(((d==null?void 0:d.linkedProjects)??[]).map(C=>[C.project,C.state]));return p.jsx("div",{role:"dialog","aria-modal":"true",className:"fixed inset-0 z-40 flex items-start justify-center p-6 bg-black/30 overflow-auto",children:p.jsxs("div",{className:"nb-card mt-8 w-full max-w-4xl",children:[p.jsxs("header",{className:"flex items-start justify-between gap-4 mb-4",children:[p.jsxs("div",{children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-3xl font-bold",children:e}),d&&p.jsxs("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:[d.category," · ",d.origin||"local"]})]}),p.jsx("button",{onClick:n,className:"nb-btn nb-btn-mint p-2","aria-label":s("modal.closeAria"),type:"button",children:p.jsx(Ci,{size:16,strokeWidth:3})})]}),f&&p.jsx("p",{children:s("modal.loading")}),h&&p.jsx("p",{className:"text-[var(--color-crashed)]",children:s("modal.loadFailed",{error:b instanceof Error?b.message:String(b)})}),d&&p.jsxs("div",{className:"flex flex-col gap-4",children:[p.jsxs("div",{className:"nb-card bg-[var(--color-bg-cream)] p-4",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-3 uppercase tracking-wider",children:s("modal.linkStatus")}),p.jsxs("div",{className:"flex flex-col gap-2",children:[t.map(C=>{const A=N.get(C);return p.jsxs("div",{className:"flex items-center justify-between gap-3 p-2 bg-[var(--color-bg)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsxs("div",{className:"flex items-center gap-3",children:[p.jsx("span",{className:"font-[family-name:var(--font-mono)] font-bold text-sm",children:C}),A==="linked"&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:"linked"}),A==="frozen"&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-stuck-bg)",color:"var(--color-stuck)"},children:"frozen"}),!A&&p.jsx("span",{className:"nb-status",style:{background:"var(--color-idle-bg)",color:"var(--color-idle)"},children:"absent"})]}),p.jsxs("div",{className:"flex gap-2",children:[!A&&p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"4px 10px",fontSize:11},onClick:()=>v(C),type:"button",children:[p.jsx(j2,{size:11})," link"]}),A==="linked"&&p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>w(C),type:"button",children:[p.jsx(tO,{size:11})," freeze"]}),p.jsx("button",{className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:()=>E(C),type:"button",children:"unlink"})]}),A==="frozen"&&p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>k(C),type:"button",children:[p.jsx(d2,{size:11})," unfreeze"]}),p.jsx("button",{className:"nb-btn nb-btn-danger",style:{padding:"4px 10px",fontSize:11},onClick:()=>E(C),type:"button",children:"unlink"})]})]})]},C)}),t.length===0&&p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic",children:s("modal.noProjects")})]})]}),p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:s("modal.preview")}),p.jsx("div",{className:"prose-chat bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-4 max-h-80 overflow-auto text-sm",children:d.body?p.jsx(tb,{remarkPlugins:[rb],rehypePlugins:[ob],children:d.body}):p.jsx("p",{className:"text-[var(--color-text-muted)] italic",children:"(empty)"})})]}),d.references.length>0&&p.jsxs("div",{children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] text-sm font-bold mb-2 uppercase tracking-wider",children:"References"}),p.jsx("ul",{className:"flex flex-col gap-2",children:d.references.map(C=>p.jsx(g9,{skillName:e,file:C.name,lines:C.lines},C.name))})]})]})]})})}function g9({skillName:e,file:t,lines:n}){const{t:a}=Ue("skills"),[s,l]=O.useState(!1),{data:c,isLoading:d,isError:f,error:h}=ct({queryKey:["skill-ref",e,t],queryFn:()=>nz(e,t),enabled:s,staleTime:1/0});return p.jsxs("li",{className:"border-2 border-[var(--color-text)] rounded-lg overflow-hidden bg-[var(--color-bg-cream)]",children:[p.jsxs("button",{type:"button",onClick:()=>l(b=>!b),"aria-label":a("modal.fileToggleAria",{action:a(s?"modal.collapse":"modal.expand"),file:t}),"aria-expanded":s,className:"w-full flex items-center gap-2 px-3 py-2 text-sm font-[family-name:var(--font-mono)] hover:bg-[var(--color-accent-yellow)] transition-colors",children:[p.jsx(ef,{size:12,strokeWidth:3,className:["transition-transform",s?"rotate-90":""].join(" ")}),p.jsx(Mc,{size:12,strokeWidth:2.5}),p.jsx("span",{className:"flex-1 text-left font-bold",children:t}),p.jsxs("span",{className:"text-xs text-[var(--color-text-subtle)]",children:[n," lines"]})]}),s&&p.jsxs("div",{className:"px-4 py-3 border-t-2 border-[var(--color-text)] bg-[var(--color-bg)] max-h-96 overflow-auto",children:[d&&p.jsx("p",{className:"text-xs text-[var(--color-text-muted)]",children:a("modal.loading")}),f&&p.jsx("p",{className:"text-xs text-[var(--color-crashed)]",children:a("modal.loadFailed",{error:h instanceof Error?h.message:String(h)})}),c&&p.jsx("div",{className:"prose-chat text-sm",children:p.jsx(tb,{remarkPlugins:[rb],rehypePlugins:[ob],children:c.content})})]})]})}const b9=[{value:"all",label:"All"},{value:"language",label:"language"},{value:"end",label:"end"},{value:"persona",label:"persona"},{value:"workflow",label:"workflow"},{value:"other",label:"other"}],y9={language:"var(--color-accent-purple)",end:"var(--color-secondary)",persona:"var(--color-primary)",workflow:"var(--color-accent-mint)",other:"var(--color-bg-cream)"};function x9(){var v;const{t:e}=Ue("skills"),[t,n]=O.useState("all"),[a,s]=O.useState(""),[l,c]=O.useState(null),d=Vn(),{data:f,isLoading:h}=ct({queryKey:["skills"],queryFn:()=>zg()}),b=ct({queryKey:["projects"],queryFn:Ar}),m=O.useMemo(()=>((f==null?void 0:f.data)??[]).filter(w=>!(t!=="all"&&w.category!==t||a&&!w.name.toLowerCase().includes(a.toLowerCase()))),[f,t,a]),x=O.useMemo(()=>{const E=(f==null?void 0:f.data)??[],w={all:E.length};for(const k of E)w[k.category]=(w[k.category]??0)+1;return w},[f]);return p.jsxs("div",{className:"flex flex-col gap-4 max-w-full",children:[p.jsxs("header",{className:"flex items-center justify-between flex-wrap gap-3",children:[p.jsxs("div",{children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold",children:e("title")}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mt-1",children:h?e("loading"):e("summary",{count:(f==null?void 0:f.data.length)??0})})]}),p.jsx("div",{className:"flex gap-3 items-center",children:p.jsxs("button",{className:"nb-btn nb-btn-mint",onClick:async()=>{await lz(),d.invalidateQueries({queryKey:["skills"]})},type:"button",children:[p.jsx(zl,{size:14,strokeWidth:2.5}),e("syncBundled")]})})]}),p.jsxs("div",{className:"flex items-center gap-3 flex-wrap",children:[p.jsxs("div",{className:"relative flex-1 max-w-md",children:[p.jsx(Dd,{size:14,className:"absolute left-3 top-1/2 -translate-y-1/2 text-[var(--color-text-subtle)]"}),p.jsx("input",{className:"nb-input pl-9 w-full",placeholder:e("searchPlaceholder"),value:a,onChange:E=>s(E.target.value),"aria-label":e("search")})]}),p.jsx("div",{className:"flex gap-1 p-1 bg-[var(--color-bg)] border-[2px] border-[var(--color-text)] rounded-full shadow-[2px_2px_0_var(--color-text)]",children:b9.map(E=>p.jsxs("button",{type:"button",onClick:()=>n(E.value),className:["px-3 py-1 rounded-full text-xs font-bold font-[family-name:var(--font-body)]",t===E.value?"bg-[var(--color-text)] text-[var(--color-bg)]":"text-[var(--color-text-muted)] hover:text-[var(--color-text)]"].join(" "),children:[E.label," ",x[E.value]]},E.value))})]}),p.jsx("div",{className:"grid gap-4 grid-cols-[repeat(auto-fill,minmax(280px,1fr))]",children:m.map(E=>{var w;return p.jsx(v9,{skill:E,projectCount:((w=b.data)==null?void 0:w.data.length)??0,onOpen:()=>c(E.name)},E.name)})}),l&&p.jsx(m9,{name:l,projects:((v=b.data)==null?void 0:v.data.map(E=>E.name))??[],onClose:()=>c(null),onChange:()=>d.invalidateQueries({queryKey:["skills"]})})]})}function v9({skill:e,projectCount:t,onOpen:n}){const a=y9[e.category];return p.jsxs("article",{onClick:n,onKeyDown:s=>{(s.key==="Enter"||s.key===" ")&&(s.preventDefault(),n())},tabIndex:0,role:"button","aria-label":`Open ${e.name}`,className:"nb-card nb-card-interactive flex flex-col gap-3",children:[p.jsxs("div",{className:"flex items-center justify-between",children:[p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-lg",children:e.name}),p.jsx("span",{className:"nb-badge text-[10px]",style:{background:a},children:e.category})]}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] leading-5 line-clamp-3",children:e.description||"(no description)"}),p.jsxs("div",{className:"flex items-center justify-between text-xs font-[family-name:var(--font-mono)] pt-2 border-t-[1.5px] border-dashed border-[var(--color-border-light)]",children:[p.jsx("span",{className:"font-bold",children:e.linkedProjects.length>0?`● linked in ${e.linkedProjects.length}`:"○ not linked"}),p.jsxs("span",{className:"text-[var(--color-text-subtle)]",children:[t," projects"]})]})]})}function w9(){var l;const{t:e}=Ue("system"),t=ct({queryKey:["system-info"],queryFn:cE}),n=ct({queryKey:["system-env"],queryFn:iI}),[a,s]=O.useState(!1);return p.jsxs("div",{className:"flex flex-col gap-6 max-w-4xl",children:[p.jsx("header",{children:p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold",children:e("title")})}),p.jsx(E9,{current:(l=t.data)==null?void 0:l.version}),p.jsxs("section",{className:"nb-card",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold mb-3",children:e("runtime")}),t.data?p.jsxs("dl",{className:"grid grid-cols-[160px_1fr] gap-y-2 text-sm",children:[p.jsx("dt",{className:"font-bold",children:"Node"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.data.nodeVersion}),p.jsx("dt",{className:"font-bold",children:"Platform"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.data.platform}),p.jsx("dt",{className:"font-bold",children:"PID"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:t.data.pid??"—"}),p.jsx("dt",{className:"font-bold",children:"Uptime"}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:_9(t.data.uptimeMs)})]}):p.jsx("p",{className:"text-[var(--color-text-muted)]",children:e("loading")})]}),p.jsxs("section",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsxs("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:[e("envSection"),p.jsx("code",{className:"text-sm font-[family-name:var(--font-mono)] font-normal bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded",children:"~/.coral/env"})]}),a?p.jsx("span",{className:"text-xs text-[var(--color-stuck)] font-bold",children:e("envEditing")}):p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>s(!0),type:"button","aria-label":e("envEditAria"),children:[p.jsx(xg,{size:12,strokeWidth:2.5})," ",e("envEdit")]})]}),a?p.jsx(S9,{onClose:()=>{s(!1),n.refetch()}}):n.data&&n.data.exists?p.jsx("dl",{className:"grid grid-cols-[220px_1fr] gap-y-1 text-sm font-[family-name:var(--font-mono)]",children:n.data.entries.map(c=>p.jsxs("div",{className:"contents",children:[p.jsxs("dt",{className:"font-bold flex items-center gap-2",children:[c.masked&&p.jsx("span",{className:"text-[var(--color-stuck)]",children:"🔒"}),c.key]}),p.jsx("dd",{className:"text-[var(--color-text-muted)] truncate",children:c.value})]},c.key))}):p.jsxs("p",{className:"text-[var(--color-text-muted)] text-sm",children:[e("envMissing"),p.jsx("code",{className:"bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] px-2 py-0.5 rounded font-[family-name:var(--font-mono)]",children:"sps setup"})]})]}),p.jsx(k9,{})]})}function E9({current:e}){var w;const{t}=Ue("system"),{confirm:n,alert:a}=ui(),[s,l]=O.useState(!1),[c,d]=O.useState(null),f=ct({queryKey:["latest-version"],queryFn:sI,enabled:!1}),[h,b]=O.useState(null),[m,x]=O.useState("npm i -g @coralai/sps-cli@latest"),v=async()=>{var N;if(await n({title:t("upgradeTitle"),body:t("upgradeBody",{current:e,latest:(N=f.data)==null?void 0:N.latest}),confirm:t("upgradeConfirm")})){l(!0),d(null),b(null);try{const C=await lI();if(d(C.output),b(C.installedVersion),x(C.command),C.ok)a({title:t("upgradeDoneTitle"),body:t("upgradeDoneBody",{version:C.installedVersion})});else{const A=C.installedVersion&&C.installedVersion===e?t("upgradeIneffectiveSameVersion",{version:C.installedVersion}):t("upgradeIneffectiveNoInstall");a({title:t("upgradeIneffectiveTitle"),body:A})}}catch(C){d(C.message),a({title:t("upgradeFailed"),body:C.message})}finally{l(!1)}}},E=async()=>{const k=f.data&&!f.data.upToDate?`npm i -g @coralai/sps-cli@${f.data.latest}`:m;try{await navigator.clipboard.writeText(k),a({title:t("cmdCopiedTitle"),body:t("cmdCopiedBody",{cmd:k})})}catch{a({title:t("copyFailedTitle"),body:t("copyFailedBody",{cmd:k})})}};return p.jsxs("section",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:t("version")}),p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px",fontSize:12},onClick:()=>f.refetch(),disabled:f.isFetching||!e,type:"button","aria-label":t("checkUpdateAria"),children:[f.isFetching?p.jsx(Bt,{size:12,strokeWidth:3,className:"animate-spin"}):p.jsx(zl,{size:12,strokeWidth:2.5}),t("checkUpdate")]})]}),p.jsxs("dl",{className:"grid grid-cols-[160px_1fr] gap-y-2 text-sm",children:[p.jsx("dt",{className:"font-bold",children:t("spsCliCurrent")}),p.jsx("dd",{className:"font-[family-name:var(--font-mono)]",children:e??"—"}),f.data&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"font-bold",children:t("npmLatest")}),p.jsxs("dd",{className:"font-[family-name:var(--font-mono)] flex items-center gap-2 flex-wrap",children:[f.data.latest,f.data.upToDate?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:t("latestBadge")}):p.jsxs(p.Fragment,{children:[p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"3px 10px",fontSize:11},onClick:v,disabled:s,type:"button","aria-label":t("upgradeAria"),children:[s?p.jsx(Bt,{size:11,strokeWidth:3,className:"animate-spin"}):p.jsx(Gw,{size:11,strokeWidth:2.5}),t("upgrade")]}),p.jsxs("button",{className:"nb-btn",style:{padding:"3px 10px",fontSize:11},onClick:E,type:"button","aria-label":t("copyCmdAria"),title:t("copyCmdTitle"),children:[p.jsx(a2,{size:11,strokeWidth:2.5})," ",t("copyCmd")]})]})]})]}),h&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"font-bold",children:t("installed")}),p.jsxs("dd",{className:"font-[family-name:var(--font-mono)] flex items-center gap-2",children:[h,h===((w=f.data)==null?void 0:w.latest)?p.jsx("span",{className:"nb-status",style:{background:"var(--color-running-bg)",color:"var(--color-running)"},children:t("installedActive")}):h===e?p.jsx("span",{className:"nb-status",style:{background:"var(--color-stuck-bg)",color:"var(--color-stuck)"},children:t("installedFailed")}):null]})]}),f.isError&&p.jsxs(p.Fragment,{children:[p.jsx("dt",{className:"font-bold",children:t("checkLabel")}),p.jsx("dd",{className:"text-[var(--color-crashed)] text-xs",children:f.error instanceof Error?f.error.message:String(f.error)})]})]}),c&&p.jsx("pre",{className:"mt-3 text-xs font-[family-name:var(--font-mono)] bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg p-3 max-h-40 overflow-auto whitespace-pre-wrap",children:c})]})}function S9({onClose:e}){const{t}=Ue("system"),n=Vn(),{alert:a}=ui(),s=ct({queryKey:["system-env-raw"],queryFn:aI}),[l,c]=O.useState(null),[d,f]=O.useState(null);O.useEffect(()=>{s.data&&l===null&&(c(s.data.content),f(s.data.etag))},[s.data,l]);const h=l!==null&&s.data&&l!==s.data.content,b=Gn({mutationFn:()=>{if(l===null)throw new Error("no draft");return rI(l,d??"")},onSuccess:()=>{n.invalidateQueries({queryKey:["system-env"]}),n.invalidateQueries({queryKey:["system-env-raw"]}),e()},onError:m=>{const x=m.status;a({title:t(x===409?"envEtagConflict":"envSaveFailed"),body:x===409?t("envEtagBody"):m instanceof Error?m.message:String(m)})}});return s.isLoading?p.jsx("p",{className:"text-[var(--color-text-muted)]",children:t("loading")}):p.jsxs("div",{children:[p.jsx("p",{className:"text-xs text-[var(--color-stuck)] font-bold mb-2",children:t("envWarn")}),p.jsx("textarea",{className:"nb-input w-full font-[family-name:var(--font-mono)] text-xs",style:{minHeight:320,resize:"vertical"},value:l??"",onChange:m=>c(m.target.value),spellCheck:!1,"aria-label":t("envEditorAria")}),p.jsxs("div",{className:"flex items-center justify-between mt-3",children:[p.jsxs("span",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:[d?`etag: ${d}`:"",h?t("envUnsaved"):""]}),p.jsxs("div",{className:"flex gap-2",children:[p.jsxs("button",{className:"nb-btn",style:{padding:"6px 12px"},onClick:e,disabled:b.isPending,type:"button",children:[p.jsx(Ci,{size:12,strokeWidth:3})," ",t("envCancel")]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"6px 12px"},onClick:()=>b.mutate(),disabled:!h||b.isPending,type:"button","aria-label":t("envSaveAria"),children:[b.isPending?p.jsx(Bt,{size:12,strokeWidth:3,className:"animate-spin"}):p.jsx(tf,{size:12,strokeWidth:3}),t("envSave")]})]})]})]})}function k9(){var x;const{t:e}=Ue("system"),{alert:t}=ui(),n=ct({queryKey:["projects"],queryFn:Ar}),[a,s]=O.useState({}),[l,c]=O.useState({}),[d,f]=O.useState({}),h=(((x=n.data)==null?void 0:x.data)??[]).map(v=>({project:v.name})),b=async(v,E)=>{c(w=>({...w,[v]:E?"fix":"check"}));try{const w=await oI(v,E);s(k=>({...k,[v]:w})),f(k=>({...k,[v]:!0}))}catch(w){t({title:e("doctor.doctorActionFailed",{action:e(E?"doctor.actionFix":"doctor.actionCheck")}),body:w instanceof Error?w.message:String(w)})}finally{c(w=>({...w,[v]:null}))}},m=async()=>{for(const v of h)await b(v.project,!1)};return p.jsxs("section",{className:"nb-card",children:[p.jsxs("div",{className:"flex items-center justify-between mb-3",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] text-xl font-bold",children:e("doctor.title")}),p.jsxs("button",{className:"nb-btn nb-btn-mint",style:{padding:"6px 12px",fontSize:12},onClick:()=>{m()},disabled:h.length===0||Object.values(l).some(Boolean),type:"button",children:[p.jsx(zl,{size:12,strokeWidth:2.5}),e("doctor.checkAll")]})]}),h.length===0?p.jsx("p",{className:"text-[var(--color-text-muted)] text-sm",children:e("doctor.noProjects")}):p.jsx("ul",{className:"flex flex-col gap-2",children:h.map(v=>{const E=a[v.project],w=l[v.project],k=E?E.checks.filter(T=>T.status==="fail").length:0,N=E?E.checks.filter(T=>T.status==="warn").length:0,C=d[v.project]??!1,A=E!=null;return p.jsxs("li",{className:"bg-[var(--color-bg-cream)] border-2 border-[var(--color-text)] rounded-lg",children:[p.jsxs("div",{className:"flex items-center gap-3 px-3 py-2",children:[p.jsxs("button",{type:"button",onClick:()=>f(T=>({...T,[v.project]:!C})),disabled:!A,className:"flex items-center gap-2 flex-1 text-left min-w-0","aria-label":e(C?"doctor.collapse":"doctor.expand"),children:[A&&E.ok?p.jsx(Dm,{size:16,className:"text-[var(--color-running)] shrink-0",strokeWidth:2.5}):A?p.jsx(gc,{size:16,className:"text-[var(--color-stuck)] shrink-0",strokeWidth:2.5}):p.jsx(Dm,{size:16,className:"text-[var(--color-text-subtle)] shrink-0",strokeWidth:2.5}),A&&(C?p.jsx(jc,{size:12}):p.jsx(ef,{size:12})),p.jsx("span",{className:"font-bold font-[family-name:var(--font-mono)]",children:v.project}),A?E.ok?p.jsx("span",{className:"text-xs text-[var(--color-running)] font-semibold",children:"OK"}):p.jsxs("span",{className:"text-xs text-[var(--color-stuck)] font-semibold",children:[k," fail · ",N," warn"]}):p.jsx("span",{className:"text-xs text-[var(--color-text-muted)]",children:e("doctor.clickCheck")})]}),p.jsxs("button",{className:"nb-btn",style:{padding:"4px 10px",fontSize:11},onClick:()=>{b(v.project,!1)},disabled:!!w,type:"button","aria-label":e("doctor.checkAria"),children:[w==="check"?p.jsx(Bt,{size:11,strokeWidth:3,className:"animate-spin"}):p.jsx(zl,{size:11,strokeWidth:2.5}),e("doctor.check")]}),p.jsxs("button",{className:"nb-btn nb-btn-primary",style:{padding:"4px 10px",fontSize:11},onClick:()=>{b(v.project,!0)},disabled:!!w||A&&E.ok,type:"button","aria-label":e("doctor.fixAria"),title:A&&E.ok?e("doctor.fixNothing"):e("doctor.fixHint"),children:[w==="fix"?p.jsx(Bt,{size:11,strokeWidth:3,className:"animate-spin"}):p.jsx(nE,{size:11,strokeWidth:2.5}),e("doctor.fix")]})]}),C&&A&&p.jsxs("div",{className:"border-t-2 border-dashed border-[var(--color-text)] px-3 py-2",children:[p.jsx("ul",{className:"flex flex-col gap-1 text-xs font-[family-name:var(--font-mono)]",children:E.checks.map((T,L)=>p.jsx(N9,{check:T},`${T.name}-${L}`))}),E.fixes.length>0&&p.jsxs("div",{className:"mt-3 bg-[var(--color-running-bg)] border-2 border-[var(--color-running)] rounded p-2",children:[p.jsx("div",{className:"text-xs font-bold text-[var(--color-running)] mb-1",children:e("doctor.fixed")}),p.jsx("ul",{className:"text-xs list-disc pl-4",children:E.fixes.map((T,L)=>p.jsx("li",{children:T},L))})]})]})]},v.project)})})]})}function N9({check:e}){const t=e.status==="pass"?p.jsx(Dm,{size:12,className:"text-[var(--color-running)]",strokeWidth:2.5}):e.status==="fail"?p.jsx(gc,{size:12,className:"text-[var(--color-crashed)]",strokeWidth:2.5}):e.status==="warn"?p.jsx(gc,{size:12,className:"text-[var(--color-stuck)]",strokeWidth:2.5}):p.jsx("span",{className:"w-3 h-3 rounded-full bg-[var(--color-text-subtle)] inline-block"});return p.jsxs("li",{className:"flex items-start gap-2",children:[p.jsx("span",{className:"pt-0.5 shrink-0",children:t}),p.jsx("span",{className:"font-bold w-32 shrink-0",children:e.name}),p.jsx("span",{className:"text-[var(--color-text-muted)] break-words",children:e.message})]})}function _9(e){const t=Math.floor(e/1e3),n=Math.floor(t/3600),a=Math.floor(t%3600/60),s=t%60;return n>0?`${n}h ${a}m ${s}s`:a>0?`${a}m ${s}s`:`${s}s`}function C9(){return qt("/api/chat/sessions")}function A9(e){return qt(`/api/chat/sessions/${e}`)}async function hm(e={}){const t=await fetch("/api/chat/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!t.ok)throw new Error(`${t.status}: ${await t.text()}`);return await t.json()}async function T9(e){const t=await fetch(`/api/chat/sessions/${e}`,{method:"DELETE"});if(!t.ok)throw new Error(`${t.status}`)}async function O9(e,t,n){const a=await fetch(`/api/chat/sessions/${e}/messages`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,attachments:n})});if(!a.ok)throw new Error(`${a.status}: ${await a.text()}`);return await a.json()}async function R9(e){const t=await fetch(`/api/chat/sessions/${e}/interrupt`,{method:"POST"});if(!t.ok&&t.status!==204)throw new Error(`${t.status}: ${await t.text()}`)}function j9(e,t){const n=t?`?since=${encodeURIComponent(t)}`:"";return qt(`/api/chat/sessions/${e}/messages${n}`)}function Y1(){var oe,ce,ne,j,D,Y,R,ye;const{t:e}=Ue("chat"),{sessionId:t}=jw(),n=Cr(),a=Vn(),{confirm:s,alert:l}=ui(),c=ct({queryKey:["chat-sessions"],queryFn:C9}),d=ct({queryKey:["chat-session",t],queryFn:()=>A9(t??""),enabled:!!t}),[f,h]=O.useState(null),[b,m]=O.useState(""),[x,v]=O.useState(!1),E=O.useRef(null),[w,k]=O.useState(!1),[N,C]=O.useState([]),[A,T]=O.useState(!1),[L,M]=O.useState(!1),[U,$]=O.useState(!1),[te,P]=O.useState(null);O.useEffect(()=>{if(!t)return;const X=new EventSource(`/stream/chat/${encodeURIComponent(t)}`);let fe=!0;return X.addEventListener("open",()=>{if(fe){fe=!1;return}const he=a.getQueryData(["chat-session",t]),K=he!=null&&he.messages.length?he.messages[he.messages.length-1].ts:void 0;j9(t,K).then(ue=>{ue.data.length!==0&&a.setQueryData(["chat-session",t],Oe=>{if(!Oe)return Oe;const dt=new Set(Oe.messages.map(di=>di.id)),ft=ue.data.filter(di=>!dt.has(di.id));return ft.length===0?Oe:{...Oe,messages:[...Oe.messages,...ft],lastMessageAt:ft[ft.length-1].ts,messageCount:Oe.messageCount+ft.length}})}).catch(()=>{})}),X.addEventListener("chat.message",he=>{try{const K=JSON.parse(he.data);a.setQueryData(["chat-session",t],ue=>{if(!ue||ue.messages.some(ft=>ft.id===K.message.id))return ue;const dt=ue.messages.findIndex(ft=>ft.role==="user"&&ft.id.startsWith("optim-")&&ft.content===K.message.content);if(dt>=0){const ft=[...ue.messages];return ft[dt]=K.message,{...ue,messages:ft}}return{...ue,messages:[...ue.messages,K.message]}})}catch{}}),X.addEventListener("chat.message.pending",he=>{try{const K=JSON.parse(he.data);h({id:K.assistantId,blocks:[],done:!1,finalMessage:null})}catch{}}),X.addEventListener("chat.message.chunk.text",he=>{try{const K=JSON.parse(he.data);h(ue=>{if(!ue||ue.id!==K.assistantId)return ue;const Oe=[...ue.blocks],dt=Oe[Oe.length-1];return dt&&dt.type==="text"?Oe[Oe.length-1]={...dt,target:dt.target+K.text}:Oe.push({type:"text",target:K.text,displayed:""}),{...ue,blocks:Oe}})}catch{}}),X.addEventListener("chat.message.chunk.tool_use",he=>{try{const K=JSON.parse(he.data);h(ue=>!ue||ue.id!==K.assistantId?ue:{...ue,blocks:[...ue.blocks,{type:"tool_use",id:K.id,title:K.title,kind:K.kind,status:K.status}]})}catch{}}),X.addEventListener("chat.message.chunk.tool_update",he=>{try{const K=JSON.parse(he.data);h(ue=>!ue||ue.id!==K.assistantId?ue:{...ue,blocks:ue.blocks.map(Oe=>Oe.type==="tool_use"&&Oe.id===K.id?{...Oe,status:K.status}:Oe)})}catch{}}),X.addEventListener("chat.message.complete",he=>{try{const K=JSON.parse(he.data);h(ue=>ue&&ue.id===K.assistantId?{...ue,done:!0,finalMessage:K.message}:ue)}catch{}}),()=>X.close()},[t,a]),O.useEffect(()=>{if(!f)return;const X=f.blocks.reduce((he,K)=>K.type==="text"?he+(K.target.length-K.displayed.length):he,0);if(X<=0){if(f.done&&f.finalMessage){const he=f.finalMessage;a.setQueryData(["chat-session",t],K=>!K||K.messages.some(ue=>ue.id===he.id)?K:{...K,messages:[...K.messages,he],lastMessageAt:he.ts,messageCount:K.messageCount+1}),a.invalidateQueries({queryKey:["chat-sessions"]}),h(null),v(!1)}return}const fe=setTimeout(()=>{h(he=>{if(!he)return he;let K=Math.max(1,Math.ceil(X/40));const ue=he.blocks.map(Oe=>{if(Oe.type!=="text"||K<=0)return Oe;const dt=Oe.target.length-Oe.displayed.length;if(dt<=0)return Oe;const ft=Math.min(dt,K);return K-=ft,{...Oe,displayed:Oe.target.slice(0,Oe.displayed.length+ft)}});return{...he,blocks:ue}})},25);return()=>clearTimeout(fe)},[f,a,t]),O.useEffect(()=>{const X=E.current;X&&(X.scrollTop=X.scrollHeight)},[d.data,f]);const Q=O.useCallback(async(X={})=>{var fe,he;try{const K=await hm({cwd:((fe=X.cwd)==null?void 0:fe.trim())||void 0,title:((he=X.title)==null?void 0:he.trim())||void 0});a.invalidateQueries({queryKey:["chat-sessions"]}),n(`/chat/${K.id}`),k(!1)}catch(K){l({title:e("session.createFailed"),body:K instanceof Error?K.message:String(K)})}},[a,n,l]),J=O.useCallback(async()=>{const X=b.trim();if(!X&&N.length===0||x)return;let fe=t;if(!fe){const ue=await hm();a.invalidateQueries({queryKey:["chat-sessions"]}),fe=ue.id,n(`/chat/${fe}`,{replace:!0})}const he=N.map(ue=>ue.path),K={id:`optim-${Date.now()}`,role:"user",content:X||e("fallback.attachment"),ts:new Date().toISOString(),status:"complete",attachments:he.length>0?he:void 0};a.setQueryData(["chat-session",fe],ue=>ue?{...ue,messages:[...ue.messages,K],lastMessageAt:K.ts,messageCount:ue.messageCount+1}:{id:fe,createdAt:K.ts,lastMessageAt:K.ts,title:X.slice(0,60)||e("fallback.attachmentTitle"),project:null,messageCount:1,messages:[K]}),m(""),C([]),v(!0);try{await O9(fe,X||e("fallback.seeAttachments"),he.length>0?he:void 0)}catch(ue){v(!1),console.error("sendMessage failed",ue),l({title:e("errors.send"),body:ue instanceof Error?ue.message:String(ue)})}},[b,N,x,t,a,n,l]),me=O.useCallback(async X=>{if(X.size>uE){l({title:e("errors.fileTooLarge"),body:e("errors.fileTooLargeBody",{size:(X.size/1024/1024).toFixed(2),name:X.name})});return}let fe=t;if(!fe){const he=await hm();a.invalidateQueries({queryKey:["chat-sessions"]}),fe=he.id,n(`/chat/${fe}`,{replace:!0})}T(!0);try{const he=await jI(fe,X);C(K=>[...K,{path:he.path,name:he.name}])}catch(he){l({title:e("errors.uploadFailed"),body:he instanceof Error?he.message:String(he)})}finally{T(!1)}},[t,a,n,l]),le=O.useCallback(X=>{C(fe=>fe.filter(he=>he.path!==X))},[]),ee=O.useCallback(async X=>{await s({title:e("session.delete"),body:"The session will be permanently deleted and cannot be recovered.",confirm:"Delete",danger:!0})&&(await T9(X),a.invalidateQueries({queryKey:["chat-sessions"]}),t===X&&n("/chat"))},[a,t,n,s]),H=O.useCallback(async()=>{if(t)try{await R9(t)}catch(X){l({title:e("errors.cancelFailed"),body:X instanceof Error?X.message:String(X)})}},[t,l]);return p.jsxs("div",{className:"grid grid-cols-[260px_1fr] gap-4 h-[calc(100vh-140px)]",children:[p.jsxs("aside",{className:"nb-card p-3 overflow-auto flex flex-col gap-2",children:[p.jsxs("button",{className:"nb-btn nb-btn-primary w-full justify-center",onClick:()=>k(!0),type:"button",children:[p.jsx(Pi,{size:14,strokeWidth:3}),e("newSession")]}),p.jsxs("div",{className:"mt-2 text-xs font-[family-name:var(--font-heading)] uppercase tracking-wider text-[var(--color-text-muted)] px-2",children:[e("history")," ",((oe=c.data)==null?void 0:oe.data.length)??0]}),p.jsxs("div",{className:"flex flex-col gap-1.5 mt-1",children:[(((ce=c.data)==null?void 0:ce.data)??[]).map(X=>p.jsxs("div",{className:["group flex items-start gap-2 p-2 rounded-lg border-2 border-transparent",t===X.id?"bg-[var(--color-accent-mint)] border-[var(--color-text)] shadow-[2px_2px_0_var(--color-text)]":"hover:bg-[var(--color-bg-cream)] hover:border-[var(--color-text)]"].join(" "),children:[p.jsxs("button",{type:"button","aria-label":X.cwd?e("session.openAriaWithCwd",{title:X.title,cwd:X.cwd}):e("session.openAria",{title:X.title}),onClick:()=>n(`/chat/${X.id}`),className:"flex items-start gap-2 flex-1 min-w-0 text-left",children:[p.jsx(x0,{size:14,strokeWidth:2.5,className:"mt-0.5 flex-shrink-0"}),p.jsxs("div",{className:"flex-1 min-w-0",children:[p.jsx("p",{className:"text-sm font-semibold truncate",children:X.title}),p.jsxs("p",{className:"text-[10px] text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] truncate",children:[X.messageCount," msg · ",Uk(X.lastMessageAt??X.createdAt,e("time.justNow"))]}),X.cwd&&p.jsxs("p",{className:"text-[10px] text-[var(--color-text-subtle)] font-[family-name:var(--font-mono)] truncate flex items-center gap-1",title:X.cwd,children:[p.jsx(yc,{size:9,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate",dir:"rtl",children:X.cwd})]})]})]}),p.jsx("button",{type:"button","aria-label":e("session.deleteAria"),className:"opacity-0 group-hover:opacity-100 p-1 hover:text-[var(--color-crashed)]",onClick:fe=>{fe.stopPropagation(),ee(X.id)},children:p.jsx(Kl,{size:12})})]},X.id)),(((ne=c.data)==null?void 0:ne.data)??[]).length===0&&p.jsx("p",{className:"text-xs text-[var(--color-text-subtle)] italic text-center py-4",children:"No sessions yet. Click above to create one."})]})]}),p.jsx("div",{className:"nb-card p-0 flex flex-col overflow-hidden",children:t?p.jsxs(p.Fragment,{children:[p.jsxs("header",{className:"px-4 py-3 border-b-2 border-[var(--color-text)] bg-[var(--color-bg-cream)]",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] font-bold text-lg",children:((j=d.data)==null?void 0:j.title)??e("newSession")}),p.jsx("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:t}),((D=d.data)==null?void 0:D.cwd)&&p.jsxs("p",{className:"text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] flex items-center gap-1 mt-1",title:d.data.cwd,children:[p.jsx(yc,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate",children:d.data.cwd})]})]}),p.jsxs("div",{ref:E,className:"flex-1 overflow-auto p-4 flex flex-col gap-4",children:[(((Y=d.data)==null?void 0:Y.messages)??[]).map(X=>p.jsx(L9,{msg:X,sessionId:t??null,onPreviewAttachment:fe=>P(fe)},X.id)),f&&p.jsx(z9,{pending:f}),!d.isLoading&&(((R=d.data)==null?void 0:R.messages)??[]).length===0&&!f&&!x&&p.jsx("p",{className:"text-center text-[var(--color-text-subtle)] italic mt-12",children:"Type below to start a chat · Enter to send · Shift+Enter for newline"})]}),p.jsxs("div",{className:["border-t-2 border-[var(--color-text)] p-3 bg-[var(--color-bg-cream)] transition-colors",U?"bg-[var(--color-accent-mint)]":""].join(" "),onDragOver:X=>{X.dataTransfer.types.includes("Files")&&(X.preventDefault(),X.dataTransfer.dropEffect="copy",U||$(!0))},onDragLeave:()=>$(!1),onDrop:X=>{if(!X.dataTransfer.types.includes("Files"))return;X.preventDefault(),$(!1);const fe=Array.from(X.dataTransfer.files??[]);for(const he of fe)me(he)},children:[(N.length>0||A)&&p.jsxs("div",{className:"flex flex-wrap gap-2 mb-2",children:[N.map(X=>p.jsxs("button",{type:"button",className:"flex items-center gap-1.5 px-2 py-1 rounded-md bg-[var(--color-bg)] border-2 border-[var(--color-text)] text-xs font-[family-name:var(--font-mono)] hover:bg-[var(--color-accent-mint)] group",onClick:()=>P(X.path),title:`${X.name}
|
|
560
560
|
${X.path}
|
|
561
|
-
Click to preview`,children:[Yd(X.path)?p.jsx(_2,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}):p.jsx(Mc,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate max-w-[180px]",children:X.name}),p.jsx("span",{role:"button","aria-label":e("input.ariaRemoveAttachment",{name:X.name}),className:"ml-1 hover:text-[var(--color-crashed)] cursor-pointer",onClick:fe=>{fe.stopPropagation(),le(X.path)},children:p.jsx(Ci,{size:11,strokeWidth:3})})]},X.path)),A&&p.jsxs("span",{className:"flex items-center gap-1.5 px-2 py-1 text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:[p.jsx(Bt,{size:11,strokeWidth:2.5,className:"animate-spin"}),e("input.uploading")]})]}),p.jsxs("div",{className:"flex gap-2 items-end",children:[p.jsx("button",{type:"button",className:"nb-btn flex-shrink-0",onClick:()=>M(!0),disabled:x,"aria-label":e("input.attach"),title:e("input.attachHint"),children:p.jsx(B2,{size:14,strokeWidth:2.5})}),p.jsx("textarea",{className:"nb-input flex-1 resize-none",placeholder:e(U?"input.placeholderDragOver":"input.placeholder"),rows:2,value:b,onChange:X=>m(X.target.value),onKeyDown:X=>{X.key==="Enter"&&!X.shiftKey&&!X.nativeEvent.isComposing&&(X.preventDefault(),J())},onPaste:X=>{const he=Array.from(X.clipboardData.items??[]).filter(K=>K.kind==="file"&&K.type.startsWith("image/"));if(he.length!==0){X.preventDefault();for(const K of he){const ue=K.getAsFile();ue&&me(ue)}}},"aria-label":e("input.ariaInput")}),f?p.jsxs("button",{className:"nb-btn nb-btn-danger",onClick:H,type:"button","aria-label":e("input.ariaStop"),children:[p.jsx(Zw,{size:14,strokeWidth:3}),e("input.stop")]}):p.jsxs("button",{className:"nb-btn nb-btn-primary",onClick:J,disabled:!b.trim()&&N.length===0||x,type:"button","aria-label":e("input.ariaSend"),children:[x?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(W2,{size:14,strokeWidth:3}),e("input.send")]})]})]})]}):p.jsx("div",{className:"flex-1 flex items-center justify-center p-8",children:p.jsxs("div",{className:"text-center max-w-md",children:[p.jsx("div",{className:"w-20 h-20 rounded-2xl bg-[var(--color-accent-mint)] border-[3px] border-[var(--color-text)] shadow-[3px_3px_0_var(--color-text)] flex items-center justify-center mx-auto mb-4",children:p.jsx(x0,{size:32,strokeWidth:2.5})}),p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold mb-2",children:e("empty.heading")}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-4",children:e("empty.hint1")}),p.jsx("p",{className:"text-xs text-[var(--color-text-subtle)] italic",children:e("empty.hint2")})]})})}),w&&p.jsx(
|
|
561
|
+
Click to preview`,children:[Yd(X.path)?p.jsx(_2,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}):p.jsx(Mc,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate max-w-[180px]",children:X.name}),p.jsx("span",{role:"button","aria-label":e("input.ariaRemoveAttachment",{name:X.name}),className:"ml-1 hover:text-[var(--color-crashed)] cursor-pointer",onClick:fe=>{fe.stopPropagation(),le(X.path)},children:p.jsx(Ci,{size:11,strokeWidth:3})})]},X.path)),A&&p.jsxs("span",{className:"flex items-center gap-1.5 px-2 py-1 text-xs text-[var(--color-text-muted)] font-[family-name:var(--font-mono)]",children:[p.jsx(Bt,{size:11,strokeWidth:2.5,className:"animate-spin"}),e("input.uploading")]})]}),p.jsxs("div",{className:"flex gap-2 items-end",children:[p.jsx("button",{type:"button",className:"nb-btn flex-shrink-0",onClick:()=>M(!0),disabled:x,"aria-label":e("input.attach"),title:e("input.attachHint"),children:p.jsx(B2,{size:14,strokeWidth:2.5})}),p.jsx("textarea",{className:"nb-input flex-1 resize-none",placeholder:e(U?"input.placeholderDragOver":"input.placeholder"),rows:2,value:b,onChange:X=>m(X.target.value),onKeyDown:X=>{X.key==="Enter"&&!X.shiftKey&&!X.nativeEvent.isComposing&&(X.preventDefault(),J())},onPaste:X=>{const he=Array.from(X.clipboardData.items??[]).filter(K=>K.kind==="file"&&K.type.startsWith("image/"));if(he.length!==0){X.preventDefault();for(const K of he){const ue=K.getAsFile();ue&&me(ue)}}},"aria-label":e("input.ariaInput")}),f?p.jsxs("button",{className:"nb-btn nb-btn-danger",onClick:H,type:"button","aria-label":e("input.ariaStop"),children:[p.jsx(Zw,{size:14,strokeWidth:3}),e("input.stop")]}):p.jsxs("button",{className:"nb-btn nb-btn-primary",onClick:J,disabled:!b.trim()&&N.length===0||x,type:"button","aria-label":e("input.ariaSend"),children:[x?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(W2,{size:14,strokeWidth:3}),e("input.send")]})]})]})]}):p.jsx("div",{className:"flex-1 flex items-center justify-center p-8",children:p.jsxs("div",{className:"text-center max-w-md",children:[p.jsx("div",{className:"w-20 h-20 rounded-2xl bg-[var(--color-accent-mint)] border-[3px] border-[var(--color-text)] shadow-[3px_3px_0_var(--color-text)] flex items-center justify-center mx-auto mb-4",children:p.jsx(x0,{size:32,strokeWidth:2.5})}),p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-2xl font-bold mb-2",children:e("empty.heading")}),p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] mb-4",children:e("empty.hint1")}),p.jsx("p",{className:"text-xs text-[var(--color-text-subtle)] italic",children:e("empty.hint2")})]})})}),w&&p.jsx(D9,{onCancel:()=>k(!1),onCreate:X=>Q(X)}),L&&p.jsx(wg,{mode:"file",title:e("newDialog.filePicker"),initialPath:((ye=d.data)==null?void 0:ye.cwd)??void 0,onCancel:()=>M(!1),onSelect:X=>{C(fe=>{if(fe.some(K=>K.path===X))return fe;const he=X.split(/[\\/]/).pop()||X;return[...fe,{path:X,name:he}]}),M(!1)}}),te&&t&&p.jsx(M9,{sessionId:t,path:te,onClose:()=>P(null)})]})}function Yd(e){return/\.(png|jpe?g|gif|webp|svg|avif)$/i.test(e)}function W1(e){return/\.pdf$/i.test(e)}function pm(e){return/\.(txt|md|log|json|yaml|yml|csv|html|xml|tsx?|jsx?|css|sh|ya?ml|conf|toml|ini|env|gitignore|sql|py|rb|go|rs|java|kt|swift|c|cc|cpp|h|hpp)$/i.test(e)}function M9({sessionId:e,path:t,onClose:n}){const{t:a}=Ue("chat"),[s,l]=O.useState(null),[c,d]=O.useState(null);O.useEffect(()=>{const b=m=>{m.key==="Escape"&&(m.preventDefault(),n())};return window.addEventListener("keydown",b),()=>window.removeEventListener("keydown",b)},[n]),O.useEffect(()=>{if(!pm(t))return;let b=!1;return fetch(zm(e,t)).then(async m=>{if(!m.ok)throw new Error(`${m.status}`);return m.text()}).then(m=>{b||l(m.length>2e5?m.slice(0,2e5)+`
|
|
562
562
|
|
|
563
|
-
…(truncated)`:m)}).catch(m=>{b||d(m instanceof Error?m.message:String(m))}),()=>{b=!0}},[e,t]);const f=zm(e,t),h=t.split(/[\\/]/).pop()??t;return p.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[rgba(45,55,72,0.6)] p-4",role:"presentation",children:p.jsxs("div",{className:"nb-card bg-[var(--color-bg)] max-w-3xl w-full p-5 flex flex-col",style:{maxHeight:"85vh"},role:"dialog","aria-modal":"true","aria-label":`Preview ${h}`,children:[p.jsxs("header",{className:"flex items-center justify-between mb-3 shrink-0",children:[p.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[p.jsx(l2,{size:16,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-base truncate",children:h})]}),p.jsx("button",{type:"button",className:"p-1 hover:bg-[var(--color-bg-cream)] rounded flex-shrink-0",onClick:n,"aria-label":a("preview.closeAria"),children:p.jsx(Ci,{size:16,strokeWidth:3})})]}),p.jsx("p",{className:"text-[10px] text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] truncate mb-2 shrink-0",title:t,dir:"rtl",children:t}),p.jsxs("div",{className:"flex-1 overflow-auto border-2 border-[var(--color-text)] rounded-lg bg-[var(--color-bg-cream)] min-h-0",children:[Yd(t)&&p.jsx("div",{className:"flex items-center justify-center p-4",children:p.jsx("img",{src:f,alt:`Preview: ${h}`,className:"max-w-full max-h-[60vh] object-contain"})}),W1(t)&&p.jsx("iframe",{src:f,title:`PDF: ${h}`,className:"w-full",style:{height:"60vh",border:0}}),pm(t)&&p.jsx("pre",{className:"p-3 text-xs font-[family-name:var(--font-mono)] whitespace-pre-wrap break-words",children:c?p.jsx("span",{className:"text-[var(--color-crashed)]",children:a("preview.readFailed",{error:String(c)})}):s===null?p.jsx("span",{className:"text-[var(--color-text-muted)]",children:a("preview.loading")}):s}),!Yd(t)&&!W1(t)&&!pm(t)&&p.jsxs("div",{className:"p-6 text-center text-sm text-[var(--color-text-muted)]",children:[p.jsx("p",{className:"mb-3",children:a("preview.unsupported")}),p.jsx("a",{href:f,download:h,className:"nb-btn nb-btn-primary inline-flex",children:a("preview.download")})]})]})]})})}function
|
|
563
|
+
…(truncated)`:m)}).catch(m=>{b||d(m instanceof Error?m.message:String(m))}),()=>{b=!0}},[e,t]);const f=zm(e,t),h=t.split(/[\\/]/).pop()??t;return p.jsx("div",{className:"fixed inset-0 z-50 flex items-center justify-center bg-[rgba(45,55,72,0.6)] p-4",role:"presentation",children:p.jsxs("div",{className:"nb-card bg-[var(--color-bg)] max-w-3xl w-full p-5 flex flex-col",style:{maxHeight:"85vh"},role:"dialog","aria-modal":"true","aria-label":`Preview ${h}`,children:[p.jsxs("header",{className:"flex items-center justify-between mb-3 shrink-0",children:[p.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[p.jsx(l2,{size:16,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("h3",{className:"font-[family-name:var(--font-heading)] font-bold text-base truncate",children:h})]}),p.jsx("button",{type:"button",className:"p-1 hover:bg-[var(--color-bg-cream)] rounded flex-shrink-0",onClick:n,"aria-label":a("preview.closeAria"),children:p.jsx(Ci,{size:16,strokeWidth:3})})]}),p.jsx("p",{className:"text-[10px] text-[var(--color-text-muted)] font-[family-name:var(--font-mono)] truncate mb-2 shrink-0",title:t,dir:"rtl",children:t}),p.jsxs("div",{className:"flex-1 overflow-auto border-2 border-[var(--color-text)] rounded-lg bg-[var(--color-bg-cream)] min-h-0",children:[Yd(t)&&p.jsx("div",{className:"flex items-center justify-center p-4",children:p.jsx("img",{src:f,alt:`Preview: ${h}`,className:"max-w-full max-h-[60vh] object-contain"})}),W1(t)&&p.jsx("iframe",{src:f,title:`PDF: ${h}`,className:"w-full",style:{height:"60vh",border:0}}),pm(t)&&p.jsx("pre",{className:"p-3 text-xs font-[family-name:var(--font-mono)] whitespace-pre-wrap break-words",children:c?p.jsx("span",{className:"text-[var(--color-crashed)]",children:a("preview.readFailed",{error:String(c)})}):s===null?p.jsx("span",{className:"text-[var(--color-text-muted)]",children:a("preview.loading")}):s}),!Yd(t)&&!W1(t)&&!pm(t)&&p.jsxs("div",{className:"p-6 text-center text-sm text-[var(--color-text-muted)]",children:[p.jsx("p",{className:"mb-3",children:a("preview.unsupported")}),p.jsx("a",{href:f,download:h,className:"nb-btn nb-btn-primary inline-flex",children:a("preview.download")})]})]})]})})}function D9({onCancel:e,onCreate:t}){const{t:n}=Ue("chat"),{t:a}=Ue("common"),[s,l]=O.useState(""),[c,d]=O.useState(""),[f,h]=O.useState(!1),[b,m]=O.useState(!1);O.useEffect(()=>{if(b)return;const v=E=>{E.key==="Escape"&&(E.preventDefault(),e())};return window.addEventListener("keydown",v),()=>window.removeEventListener("keydown",v)},[e,b]);const x=async()=>{if(!f){h(!0);try{t({title:s.trim()||void 0,cwd:c.trim()||void 0})}finally{h(!1)}}};return p.jsxs("div",{className:"fixed inset-0 z-40 flex items-center justify-center bg-[rgba(45,55,72,0.4)] p-4",role:"presentation",children:[p.jsxs("div",{className:"nb-card bg-[var(--color-bg)] max-w-md w-full p-5",role:"dialog","aria-modal":"true","aria-label":n("newDialog.ariaLabel"),children:[p.jsxs("header",{className:"flex items-center justify-between mb-4",children:[p.jsx("h2",{className:"font-[family-name:var(--font-heading)] font-bold text-lg",children:n("newDialog.title")}),p.jsx("button",{type:"button",className:"p-1 hover:bg-[var(--color-bg-cream)] rounded",onClick:e,"aria-label":n("newDialog.closeAria"),children:p.jsx(Ci,{size:16,strokeWidth:3})})]}),p.jsxs("div",{className:"flex flex-col gap-4",children:[p.jsxs("div",{children:[p.jsx("label",{htmlFor:"new-session-title",className:"block text-xs font-bold mb-1.5 uppercase tracking-wider",children:n("newDialog.titleField")}),p.jsx("input",{id:"new-session-title",type:"text",className:"nb-input w-full",placeholder:n("newDialog.titlePlaceholder"),value:s,onChange:v=>l(v.target.value),autoFocus:!0})]}),p.jsxs("div",{children:[p.jsx("label",{htmlFor:"new-session-cwd",className:"block text-xs font-bold mb-1.5 uppercase tracking-wider",children:n("cwd.label")}),p.jsxs("div",{className:"flex gap-2",children:[p.jsx("input",{id:"new-session-cwd",type:"text",className:"nb-input flex-1 font-[family-name:var(--font-mono)] text-sm",placeholder:n("cwd.placeholder"),value:c,onChange:v=>d(v.target.value)}),p.jsxs("button",{type:"button",className:"nb-btn flex-shrink-0",onClick:()=>m(!0),"aria-label":n("cwd.selectAria"),title:n("cwd.selectAria"),children:[p.jsx(Vw,{size:14,strokeWidth:2.5}),n("cwd.select")]})]}),p.jsxs("p",{className:"text-[11px] text-[var(--color-text-muted)] mt-1.5 leading-relaxed",children:[p.jsx(yc,{size:10,strokeWidth:2.5,className:"inline mr-1 -mt-0.5"}),n("cwd.hint1")," ",n("cwd.hint2")]})]}),p.jsxs("div",{className:"flex gap-2 justify-end pt-2",children:[p.jsx("button",{type:"button",className:"nb-btn",onClick:e,children:a("actions.cancel")}),p.jsxs("button",{type:"button",className:"nb-btn nb-btn-primary",onClick:x,disabled:f,children:[f?p.jsx(Bt,{size:14,strokeWidth:3,className:"animate-spin"}):p.jsx(Pi,{size:14,strokeWidth:3}),a("actions.create")]})]})]})]}),b&&p.jsx(wg,{initialPath:c.trim()||void 0,onCancel:()=>m(!1),onSelect:v=>{d(v),m(!1)}})]})}function L9({msg:e,sessionId:t,onPreviewAttachment:n}){const{t:a}=Ue("chat"),s=e.role==="user",l=e.role==="error",c=e.blocks&&e.blocks.length>0?e.blocks:[{type:"text",text:e.content}],d=e.attachments??[];return p.jsx("div",{className:s?"self-end max-w-3xl":"self-start max-w-3xl",children:p.jsxs("div",{className:["nb-card",s?"bg-[var(--color-secondary)]":l?"bg-[var(--color-crashed-bg)]":"bg-[var(--color-bg)]"].join(" "),children:[p.jsxs("p",{className:"text-xs font-bold uppercase tracking-wider text-[var(--color-text-muted)] mb-2 flex items-center gap-2",children:[a(s?"bubble.you":l?"bubble.error":"bubble.assistant"),p.jsx("span",{className:"font-normal",children:"·"}),p.jsx("span",{className:"font-normal",children:Uk(e.ts,a("time.justNow"))})]}),p.jsx("div",{className:"flex flex-col gap-2",children:c.map((f,h)=>p.jsx(B9,{block:f},h))}),d.length>0&&t&&p.jsx("div",{className:"mt-3 pt-3 border-t-2 border-dashed border-[var(--color-text)]/30 flex flex-wrap gap-2",children:d.map(f=>p.jsx(I9,{sessionId:t,path:f,onPreview:()=>n(f)},f))}),e.truncated&&p.jsx("p",{className:"mt-3 px-3 py-2 bg-[var(--color-stuck-bg)] border-2 border-[var(--color-stuck)] rounded-lg text-xs text-[var(--color-stuck)] font-bold",children:a("bubble.outputTruncated")})]})})}function I9({sessionId:e,path:t,onPreview:n}){const a=t.split(/[\\/]/).pop()??t;return Yd(t)?p.jsx("button",{type:"button",onClick:n,className:"block rounded-md overflow-hidden border-2 border-[var(--color-text)] hover:shadow-[2px_2px_0_var(--color-text)] transition-shadow",title:`${a}
|
|
564
564
|
Click to enlarge`,children:p.jsx("img",{src:zm(e,t),alt:a,className:"block max-h-40 max-w-[12rem] object-cover",loading:"lazy"})}):p.jsxs("button",{type:"button",onClick:n,className:"flex items-center gap-1.5 px-2 py-1 rounded-md bg-[var(--color-bg)] border-2 border-[var(--color-text)] text-xs font-[family-name:var(--font-mono)] hover:bg-[var(--color-accent-mint)]",title:`${a}
|
|
565
565
|
${t}
|
|
566
|
-
Click to preview`,children:[p.jsx(Mc,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate max-w-[200px]",children:a})]})}function
|
|
566
|
+
Click to preview`,children:[p.jsx(Mc,{size:11,strokeWidth:2.5,className:"flex-shrink-0"}),p.jsx("span",{className:"truncate max-w-[200px]",children:a})]})}function z9({pending:e}){const t=(()=>{for(let n=e.blocks.length-1;n>=0;n--)if(e.blocks[n].type==="text")return n;return-1})();return p.jsx("div",{className:"self-start max-w-3xl",children:p.jsxs("div",{className:"nb-card bg-[var(--color-bg)]",children:[p.jsxs("p",{className:"text-xs font-bold uppercase tracking-wider text-[var(--color-text-muted)] mb-2 flex items-center gap-2",children:["assistant",p.jsx("span",{className:"font-normal",children:"·"}),p.jsxs("span",{className:"flex items-center gap-1 font-normal text-[var(--color-running)]",children:[p.jsx(Bt,{size:10,strokeWidth:3,className:"animate-spin"}),"streaming"]})]}),p.jsxs("div",{className:"flex flex-col gap-2",children:[e.blocks.length===0&&p.jsx("p",{className:"text-sm text-[var(--color-text-muted)] italic",children:"…"}),e.blocks.map((n,a)=>{if(n.type==="text"){const s=a===t;return p.jsxs("div",{className:"relative",children:[p.jsx(zk,{text:n.displayed}),s&&p.jsx("span",{className:"inline-block w-2 h-4 ml-1 bg-[var(--color-text)] animate-pulse align-middle"})]},a)}return p.jsx(Bk,{tool:n},a)})]})]})})}function B9({block:e}){return e.type==="text"?p.jsx(zk,{text:e.text}):p.jsx(Bk,{tool:e})}function zk({text:e}){return e?p.jsx("div",{className:"text-sm font-[family-name:var(--font-body)] break-words prose-chat",children:p.jsx(tb,{remarkPlugins:[rb],rehypePlugins:[ob],children:e})}):null}function Bk({tool:e}){const[t,n]=O.useState(!1),a=e.status==="completed",s=e.status==="failed",l=!a&&!s;return p.jsxs("div",{className:"border-2 border-[var(--color-text)] rounded-lg overflow-hidden bg-[var(--color-bg-cream)]",children:[p.jsxs("button",{type:"button",onClick:()=>n(c=>!c),className:"w-full flex items-center gap-2 px-3 py-2 text-xs font-[family-name:var(--font-mono)] hover:bg-[var(--color-accent-yellow)] transition-colors",children:[p.jsx(ef,{size:12,strokeWidth:3,className:["transition-transform",t?"rotate-90":""].join(" ")}),p.jsx(nE,{size:12,strokeWidth:2.5}),p.jsx("span",{className:"font-bold",children:e.kind}),p.jsx("span",{className:"flex-1 text-left text-[var(--color-text-muted)] truncate",children:e.title}),l&&p.jsx(Bt,{size:12,strokeWidth:3,className:"animate-spin text-[var(--color-running)]"}),a&&p.jsx(bc,{size:12,strokeWidth:2.5,className:"text-[var(--color-running)]"}),s&&p.jsx(e2,{size:12,strokeWidth:2.5,className:"text-[var(--color-crashed)]"})]}),t&&p.jsxs("div",{className:"px-3 py-2 text-xs font-[family-name:var(--font-mono)] text-[var(--color-text-muted)] border-t-2 border-[var(--color-text)]",children:[p.jsxs("div",{children:["id: ",p.jsx("span",{className:"text-[var(--color-text)]",children:e.id})]}),p.jsxs("div",{children:["status: ",p.jsx("span",{className:"text-[var(--color-text)]",children:e.status})]})]})]})}function Uk(e,t="just now",n){if(!e)return"";const a=new Date(e),s=Date.now()-a.getTime();return s<6e4?t:s<36e5?`${Math.floor(s/6e4)}m`:s<864e5?`${Math.floor(s/36e5)}h`:a.toLocaleDateString(n)}function U9(){const{t:e}=Ue("common");return p.jsxs("div",{className:"nb-card max-w-2xl mt-12",children:[p.jsx("h1",{className:"font-[family-name:var(--font-heading)] text-4xl font-bold mb-2",children:e("notFound.title")}),p.jsx("p",{className:"text-[var(--color-text-muted)] mb-6",children:e("notFound.body")}),p.jsx(bs,{to:"/",className:"nb-btn nb-btn-mint inline-flex",children:e("notFound.back")})]})}function P9(){return p.jsx(NI,{children:p.jsx(BA,{children:p.jsxs(Fn,{element:p.jsx(SI,{}),children:[p.jsx(Fn,{index:!0,element:p.jsx(LA,{to:"/projects",replace:!0})}),p.jsx(Fn,{path:"/projects",element:p.jsx(_I,{})}),p.jsx(Fn,{path:"/projects/new",element:p.jsx(zI,{})}),p.jsx(Fn,{path:"/projects/:name",element:p.jsx(W3,{})}),p.jsx(Fn,{path:"/board",element:p.jsx(Iz,{})}),p.jsx(Fn,{path:"/workers",element:p.jsx(Xz,{})}),p.jsx(Fn,{path:"/logs",element:p.jsx(nB,{})}),p.jsx(Fn,{path:"/skills",element:p.jsx(x9,{})}),p.jsx(Fn,{path:"/system",element:p.jsx(w9,{})}),p.jsx(Fn,{path:"/chat",element:p.jsx(Y1,{})}),p.jsx(Fn,{path:"/chat/:sessionId",element:p.jsx(Y1,{})}),p.jsx(Fn,{path:"*",element:p.jsx(U9,{})})]})})})}kI();const F9=new NC({defaultOptions:{queries:{staleTime:3e4,refetchOnWindowFocus:!1}}}),Pk=document.getElementById("root");if(!Pk)throw new Error("#root not found");eC.createRoot(Pk).render(p.jsx(O.StrictMode,{children:p.jsx(_C,{client:F9,children:p.jsx(cT,{children:p.jsx(DI,{children:p.jsx(P9,{})})})})}));
|