typebulb 0.13.2 → 0.13.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.md CHANGED
@@ -252,7 +252,7 @@ To render a bulb live inline, wrap the **entire** bulb — frontmatter and all b
252
252
 
253
253
  The agent mirror turns that block into a live, sandboxed app, with a *breakout ↗* control that saves it as a `.bulb.md` in the `typebulbs/` folder — editable with hot reload, and sandboxed unless you trust it. Embedded bulbs are client-only — no `server.ts`, no `tb.fs`/`tb.ai`, no storage.
254
254
 
255
- **Fixing a broken embed?** Re-emit it under the *same* `name:` — the mirror folds the old version into a stub and keeps your fix as the live one. (A rename is treated as a new bulb.)
255
+ **Iterating on an embed?** Re-emit under the *same* `name:` to refine it (a different `name:` starts a separate bulb) — the mirror keeps the latest version live and folds each earlier one into an expandable stub in place, so the transcript shows the bulb's evolution, not a stack of repeated renders. Same move fixes a broken embed.
256
256
 
257
257
  **A broken embed reads back.** Emit it and move on; embeds usually just work. If the user says one broke, the mirror has already forwarded its compile/runtime error to `typebulb logs claude`, name-tagged (`[embed <name>]`) — pull it from there and fix, instead of asking the user to copy-paste.
258
258
 
@@ -282,7 +282,7 @@ The host owns a bulb's **width**; you own its **height**.
282
282
  - **`tb.ai()` takes more than the basics** — the full shape is `tb.ai({ messages, system?, reasoning?, provider?, model?, webSearch? })` → `Promise<{ text }>` (non-streaming). `webSearch` defaults **on** in the CLI (you supply your own key); pass `webSearch: false` to turn it off.
283
283
  - **`tb.theme` drives the `html[data-theme]` attribute** — style off that selector (`html[data-theme="dark"] { … }`); don't read `tb.theme` to branch your rendering.
284
284
  - **`color-scheme` is set for you** — the host always applies `html[data-theme="dark"] { color-scheme: dark }` / `html[data-theme="light"] { color-scheme: light }` on top of your `styles.css`.
285
- - **Math renders live in the mirror** — write inline math as `$…$` and display math as `$$…$$` (the mirror renders KaTeX; a plain terminal chat doesn't, so reach for real math here). Prefer `$y = x^2$` over inline-code or a Unicode superscript (`y = x²`).
285
+ - **Math (KaTeX) renders in your replies** — write inline `$…$` / display `$$…$$` (prefer `$y = x^2$` over inline-code or a Unicode `y = x²`). The mirror's KaTeX renders only in prose and doesn't reach inside a fenced block (bulb, mermaid, svg, code).
286
286
  - **`tb.json<T>(n)` is generic** — `tb.json<Album[]>(0)` returns typed parsed JSON; `tb.data(n)` returns the raw string.
287
287
  - **`tb.proxy()` is for same-origin Web Worker / WASM loads** — e.g. ffmpeg or tesseract: `tb.proxy("https://unpkg.com/...")` routes the CDN URL through the local server's origin.
288
288
  - **Prefer an `index.html` fragment** over a full HTML document — usually just the mount stub (`<div id="root"></div>`).
@@ -25,8 +25,8 @@ Consider installing the package or pass your own 'workerFactory' to ELK's constr
25
25
  https://github.com/highlightjs/highlight.js/issues/2277`),ir=Jt,hr=Rn),Z===void 0&&(Z=!0);let mr={code:hr,language:ir};wr("before:highlight",mr);let Ns=mr.result?mr.result:L(mr.language,mr.code,Z);return Ns.code=mr.code,wr("after:highlight",Ns),Ns}function L(Jt,Rn,Z,hr){let ir=Object.create(null);function mr(sn,Lr){return sn.keywords[Lr]}function Ns(){if(!ur.keywords){mc.addText(wo);return}let sn=0;ur.keywordPatternRe.lastIndex=0;let Lr=ur.keywordPatternRe.exec(wo),Bi="";for(;Lr;){Bi+=wo.substring(sn,Lr.index);let Os=Xu.case_insensitive?Lr[0].toLowerCase():Lr[0],Nu=mr(ur,Os);if(Nu){let[f1,bg]=Nu;if(mc.addText(Bi),Bi="",ir[Os]=(ir[Os]||0)+1,ir[Os]<=qdn&&(Vh+=bg),f1.startsWith("_"))Bi+=Lr[0];else{let mg=Xu.classNameAliases[f1]||f1;Ii(Lr[0],mg)}}else Bi+=Lr[0];sn=ur.keywordPatternRe.lastIndex,Lr=ur.keywordPatternRe.exec(wo)}Bi+=wo.substring(sn),mc.addText(Bi)}function Bn(){if(wo==="")return;let sn=null;if(typeof ur.subLanguage=="string"){if(!o[ur.subLanguage]){mc.addText(wo);return}sn=L(ur.subLanguage,wo,!0,Gs[ur.subLanguage]),Gs[ur.subLanguage]=sn._top}else sn=Q(wo,ur.subLanguage.length?ur.subLanguage:null);ur.relevance>0&&(Vh+=sn.relevance),mc.__addSublanguage(sn._emitter,sn.language)}function Oi(){ur.subLanguage!=null?Bn():Ns(),wo=""}function Ii(sn,Lr){sn!==""&&(mc.startScope(Lr),mc.addText(sn),mc.endScope())}function Wu(sn,Lr){let Bi=1,Os=Lr.length-1;for(;Bi<=Os;){if(!sn._emit[Bi]){Bi++;continue}let Nu=Xu.classNameAliases[sn[Bi]]||sn[Bi],f1=Lr[Bi];Nu?Ii(f1,Nu):(wo=f1,Ns(),wo=""),Bi++}}function Yu(sn,Lr){return sn.scope&&typeof sn.scope=="string"&&mc.openNode(Xu.classNameAliases[sn.scope]||sn.scope),sn.beginScope&&(sn.beginScope._wrap?(Ii(wo,Xu.classNameAliases[sn.beginScope._wrap]||sn.beginScope._wrap),wo=""):sn.beginScope._multi&&(Wu(sn.beginScope,Lr),wo="")),ur=Object.create(sn,{parent:{value:ur}}),ur}function Ml(sn,Lr,Bi){let Os=cdn(sn.endRe,Bi);if(Os){if(sn["on:end"]){let Nu=new Ute(sn);sn["on:end"](Lr,Nu),Nu.isMatchIgnored&&(Os=!1)}if(Os){for(;sn.endsParent&&sn.parent;)sn=sn.parent;return sn}}if(sn.endsWithParent)return Ml(sn.parent,Lr,Bi)}function Bu(sn){return ur.matcher.regexIndex===0?(wo+=sn[0],1):(Bl=!0,0)}function ha(sn){let Lr=sn[0],Bi=sn.rule,Os=new Ute(Bi),Nu=[Bi.__beforeBegin,Bi["on:begin"]];for(let f1 of Nu)if(f1&&(f1(sn,Os),Os.isMatchIgnored))return Bu(Lr);return Bi.skip?wo+=Lr:(Bi.excludeBegin&&(wo+=Lr),Oi(),!Bi.returnBegin&&!Bi.excludeBegin&&(wo=Lr)),Yu(Bi,sn),Bi.returnBegin?0:Lr.length}function Yh(sn){let Lr=sn[0],Bi=Rn.substring(sn.index),Os=Ml(ur,sn,Bi);if(!Os)return B7t;let Nu=ur;ur.endScope&&ur.endScope._wrap?(Oi(),Ii(Lr,ur.endScope._wrap)):ur.endScope&&ur.endScope._multi?(Oi(),Wu(ur.endScope,sn)):Nu.skip?wo+=Lr:(Nu.returnEnd||Nu.excludeEnd||(wo+=Lr),Oi(),Nu.excludeEnd&&(wo=Lr));do ur.scope&&mc.closeNode(),!ur.skip&&!ur.subLanguage&&(Vh+=ur.relevance),ur=ur.parent;while(ur!==Os.parent);return Os.starts&&Yu(Os.starts,sn),Nu.returnEnd?0:Lr.length}function u1(){let sn=[];for(let Lr=ur;Lr!==Xu;Lr=Lr.parent)Lr.scope&&sn.unshift(Lr.scope);sn.forEach(Lr=>mc.openNode(Lr))}let Za={};function Lu(sn,Lr){let Bi=Lr&&Lr[0];if(wo+=sn,Bi==null)return Oi(),0;if(Za.type==="begin"&&Lr.type==="end"&&Za.index===Lr.index&&Bi===""){if(wo+=Rn.slice(Lr.index,Lr.index+1),!g){let Os=new Error(`0 width match regex (${Jt})`);throw Os.languageName=Jt,Os.badRule=Za.rule,Os}return 1}if(Za=Lr,Lr.type==="begin")return ha(Lr);if(Lr.type==="illegal"&&!Z){let Os=new Error('Illegal lexeme "'+Bi+'" for mode "'+(ur.scope||"<unnamed>")+'"');throw Os.mode=ur,Os}else if(Lr.type==="end"){let Os=Yh(Lr);if(Os!==B7t)return Os}if(Lr.type==="illegal"&&Bi==="")return wo+=`
26
26
  `,1;if(l1>1e5&&l1>Lr.index*3)throw new Error("potential infinite loop, way more iterations than matches");return wo+=Bi,Bi.length}let Xu=nt(Jt);if(!Xu)throw kC(m.replace("{}",Jt)),new Error('Unknown language: "'+Jt+'"');let Xh=Hdn(Xu),a1="",ur=hr||Xh,Gs={},mc=new A.__emitter(A);u1();let wo="",Vh=0,Dl=0,l1=0,Bl=!1;try{if(Xu.__emitTokens)Xu.__emitTokens(Rn,mc);else{for(ur.matcher.considerAll();;){l1++,Bl?Bl=!1:ur.matcher.considerAll(),ur.matcher.lastIndex=Dl;let sn=ur.matcher.exec(Rn);if(!sn)break;let Lr=Rn.substring(Dl,sn.index),Bi=Lu(Lr,sn);Dl=sn.index+Bi}Lu(Rn.substring(Dl))}return mc.finalize(),a1=mc.toHTML(),{language:Jt,value:a1,relevance:Vh,illegal:!1,_emitter:mc,_top:ur}}catch(sn){if(sn.message&&sn.message.includes("Illegal"))return{language:Jt,value:$7e(Rn),illegal:!0,relevance:0,_illegalBy:{message:sn.message,index:Dl,context:Rn.slice(Dl-100,Dl+100),mode:sn.mode,resultSoFar:a1},_emitter:mc};if(g)return{language:Jt,value:$7e(Rn),illegal:!1,relevance:0,errorRaised:sn,_emitter:mc,_top:ur};throw sn}}function R(Jt){let Rn={value:$7e(Jt),illegal:!1,relevance:0,_top:v,_emitter:new A.__emitter(A)};return Rn._emitter.addText(Jt),Rn}function Q(Jt,Rn){Rn=Rn||A.languages||Object.keys(o);let Z=R(Jt),hr=Rn.filter(nt).filter(Xt).map(Oi=>L(Oi,Jt,!1));hr.unshift(Z);let ir=hr.sort((Oi,Ii)=>{if(Oi.relevance!==Ii.relevance)return Ii.relevance-Oi.relevance;if(Oi.language&&Ii.language){if(nt(Oi.language).supersetOf===Ii.language)return 1;if(nt(Ii.language).supersetOf===Oi.language)return-1}return 0}),[mr,Ns]=ir,Bn=mr;return Bn.secondBest=Ns,Bn}function U(Jt,Rn,Z){let hr=Rn&&a[Rn]||Z;Jt.classList.add("hljs"),Jt.classList.add(`language-${hr}`)}function W(Jt){let Rn=null,Z=T(Jt);if(I(Z))return;if(wr("before:highlightElement",{el:Jt,language:Z}),Jt.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",Jt);return}if(Jt.children.length>0&&(A.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(Jt)),A.throwUnescapedHTML))throw new q7e("One of your code blocks includes unescaped HTML.",Jt.innerHTML);Rn=Jt;let hr=Rn.textContent,ir=Z?B(hr,{language:Z,ignoreIllegals:!0}):Q(hr);Jt.innerHTML=ir.value,Jt.dataset.highlighted="yes",U(Jt,Z,ir.language),Jt.result={language:ir.language,re:ir.relevance,relevance:ir.relevance},ir.secondBest&&(Jt.secondBest={language:ir.secondBest.language,relevance:ir.secondBest.relevance}),wr("after:highlightElement",{el:Jt,result:ir,text:hr})}function ne(Jt){A=D7t(A,Jt)}let he=()=>{ie(),AM("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function Ee(){ie(),AM("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let Oe=!1;function ie(){function Jt(){ie()}if(document.readyState==="loading"){Oe||window.addEventListener("DOMContentLoaded",Jt,!1),Oe=!0;return}document.querySelectorAll(A.cssSelector).forEach(W)}function Ie(Jt,Rn){let Z=null;try{Z=Rn(s)}catch(hr){if(kC("Language definition for '{}' could not be registered.".replace("{}",Jt)),g)kC(hr);else throw hr;Z=v}Z.name||(Z.name=Jt),o[Jt]=Z,Z.rawDefinition=Rn.bind(null,s),Z.aliases&&Ce(Z.aliases,{languageName:Jt})}function He(Jt){delete o[Jt];for(let Rn of Object.keys(a))a[Rn]===Jt&&delete a[Rn]}function kt(){return Object.keys(o)}function nt(Jt){return Jt=(Jt||"").toLowerCase(),o[Jt]||o[a[Jt]]}function Ce(Jt,{languageName:Rn}){typeof Jt=="string"&&(Jt=[Jt]),Jt.forEach(Z=>{a[Z.toLowerCase()]=Rn})}function Xt(Jt){let Rn=nt(Jt);return Rn&&!Rn.disableAutodetect}function tn(Jt){Jt["before:highlightBlock"]&&!Jt["before:highlightElement"]&&(Jt["before:highlightElement"]=Rn=>{Jt["before:highlightBlock"](Object.assign({block:Rn.el},Rn))}),Jt["after:highlightBlock"]&&!Jt["after:highlightElement"]&&(Jt["after:highlightElement"]=Rn=>{Jt["after:highlightBlock"](Object.assign({block:Rn.el},Rn))})}function Sn(Jt){tn(Jt),d.push(Jt)}function ai(Jt){let Rn=d.indexOf(Jt);Rn!==-1&&d.splice(Rn,1)}function wr(Jt,Rn){let Z=Jt;d.forEach(function(hr){hr[Z]&&hr[Z](Rn)})}function Ji(Jt){return AM("10.7.0","highlightBlock will be removed entirely in v12.0"),AM("10.7.0","Please use highlightElement now."),W(Jt)}Object.assign(s,{highlight:B,highlightAuto:Q,highlightAll:ie,highlightElement:W,highlightBlock:Ji,configure:ne,initHighlighting:he,initHighlightingOnLoad:Ee,registerLanguage:Ie,unregisterLanguage:He,listLanguages:kt,getLanguage:nt,registerAliases:Ce,autoDetection:Xt,inherit:D7t,addPlugin:Sn,removePlugin:ai}),s.debugMode=function(){g=!1},s.safeMode=function(){g=!0},s.versionString=Gdn,s.regex={concat:xC,lookahead:O7t,either:J7e,optional:sdn,anyNumberOfTimes:idn};for(let Jt in Jte)typeof Jte[Jt]=="object"&&L7t(Jte[Jt]);return Object.assign(s,Jte),s},vM=q7t({});vM.newInstance=()=>q7t({});J7t.exports=vM;vM.HighlightJS=vM;vM.default=vM});var Skt=Gi((K9e,W9e)=>{(function(s,o){typeof K9e=="object"&&typeof W9e<"u"?W9e.exports=o():typeof define=="function"&&define.amd?define(o):(s=typeof globalThis<"u"?globalThis:s||self,s.resolveURI=o())})(K9e,(function(){"use strict";let s=/^[\w+.-]+:\/\//,o=/^([\w+.-]+:)\/\/([^@/#?]*@)?([^:/#?]*)(:\d+)?(\/[^#?]*)?(\?[^#]*)?(#.*)?/,a=/^file:(?:\/\/((?![a-z]:)[^/#?]*)?)?(\/?[^#?]*)(\?[^#]*)?(#.*)?/i;function d(ne){return s.test(ne)}function g(ne){return ne.startsWith("//")}function m(ne){return ne.startsWith("/")}function v(ne){return ne.startsWith("file:")}function A(ne){return/^[.?#]/.test(ne)}function I(ne){let he=o.exec(ne);return B(he[1],he[2]||"",he[3],he[4]||"",he[5]||"/",he[6]||"",he[7]||"")}function T(ne){let he=a.exec(ne),Ee=he[2];return B("file:","",he[1]||"","",m(Ee)?Ee:"/"+Ee,he[3]||"",he[4]||"")}function B(ne,he,Ee,Oe,ie,Ie,He){return{scheme:ne,user:he,host:Ee,port:Oe,path:ie,query:Ie,hash:He,type:7}}function L(ne){if(g(ne)){let Ee=I("http:"+ne);return Ee.scheme="",Ee.type=6,Ee}if(m(ne)){let Ee=I("http://foo.com"+ne);return Ee.scheme="",Ee.host="",Ee.type=5,Ee}if(v(ne))return T(ne);if(d(ne))return I(ne);let he=I("http://foo.com/"+ne);return he.scheme="",he.host="",he.type=ne?ne.startsWith("?")?3:ne.startsWith("#")?2:4:1,he}function R(ne){if(ne.endsWith("/.."))return ne;let he=ne.lastIndexOf("/");return ne.slice(0,he+1)}function Q(ne,he){U(he,he.type),ne.path==="/"?ne.path=he.path:ne.path=R(he.path)+ne.path}function U(ne,he){let Ee=he<=4,Oe=ne.path.split("/"),ie=1,Ie=0,He=!1;for(let nt=1;nt<Oe.length;nt++){let Ce=Oe[nt];if(!Ce){He=!0;continue}if(He=!1,Ce!=="."){if(Ce===".."){Ie?(He=!0,Ie--,ie--):Ee&&(Oe[ie++]=Ce);continue}Oe[ie++]=Ce,Ie++}}let kt="";for(let nt=1;nt<ie;nt++)kt+="/"+Oe[nt];(!kt||He&&!kt.endsWith("/.."))&&(kt+="/"),ne.path=kt}function W(ne,he){if(!ne&&!he)return"";let Ee=L(ne),Oe=Ee.type;if(he&&Oe!==7){let Ie=L(he),He=Ie.type;switch(Oe){case 1:Ee.hash=Ie.hash;case 2:Ee.query=Ie.query;case 3:case 4:Q(Ee,Ie);case 5:Ee.user=Ie.user,Ee.host=Ie.host,Ee.port=Ie.port;case 6:Ee.scheme=Ie.scheme}He>Oe&&(Oe=He)}U(Ee,Oe);let ie=Ee.query+Ee.hash;switch(Oe){case 2:case 3:return ie;case 4:{let Ie=Ee.path.slice(1);return Ie?A(he||ne)&&!A(Ie)?"./"+Ie+ie:Ie+ie:ie||"."}case 5:return Ee.path+ie;default:return Ee.scheme+"//"+Ee.user+Ee.host+Ee.port+Ee.path+ie}}return W}))});var qne=Gi($4=>{"use strict";var ebn=$4&&$4.__extends||(function(){var s=function(o,a){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var m in g)g.hasOwnProperty(m)&&(d[m]=g[m])},s(o,a)};return function(o,a){s(o,a);function d(){this.constructor=o}o.prototype=a===null?Object.create(a):(d.prototype=a.prototype,new d)}})();Object.defineProperty($4,"__esModule",{value:!0});$4.DetailContext=$4.NoopContext=$4.VError=void 0;var Nkt=(function(s){ebn(o,s);function o(a,d){var g=s.call(this,d)||this;return g.path=a,Object.setPrototypeOf(g,o.prototype),g}return o})(Error);$4.VError=Nkt;var tbn=(function(){function s(){}return s.prototype.fail=function(o,a,d){return!1},s.prototype.unionResolver=function(){return this},s.prototype.createContext=function(){return this},s.prototype.resolveUnion=function(o){},s})();$4.NoopContext=tbn;var Okt=(function(){function s(){this._propNames=[""],this._messages=[null],this._score=0}return s.prototype.fail=function(o,a,d){return this._propNames.push(o),this._messages.push(a),this._score+=d,!1},s.prototype.unionResolver=function(){return new nbn},s.prototype.resolveUnion=function(o){for(var a,d,g=o,m=null,v=0,A=g.contexts;v<A.length;v++){var I=A[v];(!m||I._score>=m._score)&&(m=I)}m&&m._score>0&&((a=this._propNames).push.apply(a,m._propNames),(d=this._messages).push.apply(d,m._messages))},s.prototype.getError=function(o){for(var a=[],d=this._propNames.length-1;d>=0;d--){var g=this._propNames[d];o+=typeof g=="number"?"["+g+"]":g?"."+g:"";var m=this._messages[d];m&&a.push(o+" "+m)}return new Nkt(o,a.join("; "))},s.prototype.getErrorDetail=function(o){for(var a=[],d=this._propNames.length-1;d>=0;d--){var g=this._propNames[d];o+=typeof g=="number"?"["+g+"]":g?"."+g:"";var m=this._messages[d];m&&a.push({path:o,message:m})}for(var v=null,d=a.length-1;d>=0;d--)v&&(a[d].nested=[v]),v=a[d];return v},s})();$4.DetailContext=Okt;var nbn=(function(){function s(){this.contexts=[]}return s.prototype.createContext=function(){var o=new Okt;return this.contexts.push(o),o},s})()});var oke=Gi(ei=>{"use strict";var Ob=ei&&ei.__extends||(function(){var s=function(o,a){return s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d,g){d.__proto__=g}||function(d,g){for(var m in g)g.hasOwnProperty(m)&&(d[m]=g[m])},s(o,a)};return function(o,a){s(o,a);function d(){this.constructor=o}o.prototype=a===null?Object.create(a):(d.prototype=a.prototype,new d)}})();Object.defineProperty(ei,"__esModule",{value:!0});ei.basicTypes=ei.BasicType=ei.TParamList=ei.TParam=ei.param=ei.TFunc=ei.func=ei.TProp=ei.TOptional=ei.opt=ei.TIface=ei.iface=ei.TEnumLiteral=ei.enumlit=ei.TEnumType=ei.enumtype=ei.TIntersection=ei.intersection=ei.TUnion=ei.union=ei.TTuple=ei.tuple=ei.TArray=ei.array=ei.TLiteral=ei.lit=ei.TName=ei.name=ei.TType=void 0;var Pkt=qne(),dg=(function(){function s(){}return s})();ei.TType=dg;function K7(s){return typeof s=="string"?Fkt(s):s}function tke(s,o){var a=s[o];if(!a)throw new Error("Unknown type "+o);return a}function Fkt(s){return new nke(s)}ei.name=Fkt;var nke=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.name=a,d._failMsg="is not a "+a,d}return o.prototype.getChecker=function(a,d,g){var m=this,v=tke(a,this.name),A=v.getChecker(a,d,g);return v instanceof zh||v instanceof o?A:function(I,T){return A(I,T)?!0:T.fail(null,m._failMsg,0)}},o})(dg);ei.TName=nke;function rbn(s){return new rke(s)}ei.lit=rbn;var rke=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.value=a,d.name=JSON.stringify(a),d._failMsg="is not "+d.name,d}return o.prototype.getChecker=function(a,d){var g=this;return function(m,v){return m===g.value?!0:v.fail(null,g._failMsg,-1)}},o})(dg);ei.TLiteral=rke;function ibn(s){return new $kt(K7(s))}ei.array=ibn;var $kt=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.ttype=a,d}return o.prototype.getChecker=function(a,d){var g=this.ttype.getChecker(a,d);return function(m,v){if(!Array.isArray(m))return v.fail(null,"is not an array",0);for(var A=0;A<m.length;A++){var I=g(m[A],v);if(!I)return v.fail(A,null,1)}return!0}},o})(dg);ei.TArray=$kt;function sbn(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];return new Hkt(s.map(function(a){return K7(a)}))}ei.tuple=sbn;var Hkt=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.ttypes=a,d}return o.prototype.getChecker=function(a,d){var g=this.ttypes.map(function(v){return v.getChecker(a,d)}),m=function(v,A){if(!Array.isArray(v))return A.fail(null,"is not an array",0);for(var I=0;I<g.length;I++){var T=g[I](v[I],A);if(!T)return A.fail(I,null,1)}return!0};return d?function(v,A){return m(v,A)?v.length<=g.length?!0:A.fail(g.length,"is extraneous",2):!1}:m},o})(dg);ei.TTuple=Hkt;function obn(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];return new Qkt(s.map(function(a){return K7(a)}))}ei.union=obn;var Qkt=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;d.ttypes=a;var g=a.map(function(v){return v instanceof nke||v instanceof rke?v.name:null}).filter(function(v){return v}),m=a.length-g.length;return g.length?(m>0&&g.push(m+" more"),d._failMsg="is none of "+g.join(", ")):d._failMsg="is none of "+m+" types",d}return o.prototype.getChecker=function(a,d){var g=this,m=this.ttypes.map(function(v){return v.getChecker(a,d)});return function(v,A){for(var I=A.unionResolver(),T=0;T<m.length;T++){var B=m[T](v,I.createContext());if(B)return!0}return A.resolveUnion(I),A.fail(null,g._failMsg,0)}},o})(dg);ei.TUnion=Qkt;function cbn(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];return new Gkt(s.map(function(a){return K7(a)}))}ei.intersection=cbn;var Gkt=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.ttypes=a,d}return o.prototype.getChecker=function(a,d){var g=new Set,m=this.ttypes.map(function(v){return v.getChecker(a,d,g)});return function(v,A){var I=m.every(function(T){return T(v,A)});return I?!0:A.fail(null,null,0)}},o})(dg);ei.TIntersection=Gkt;function ubn(s){return new ike(s)}ei.enumtype=ubn;var ike=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.members=a,d.validValues=new Set,d._failMsg="is not a valid enum value",d.validValues=new Set(Object.keys(a).map(function(g){return a[g]})),d}return o.prototype.getChecker=function(a,d){var g=this;return function(m,v){return g.validValues.has(m)?!0:v.fail(null,g._failMsg,0)}},o})(dg);ei.TEnumType=ike;function abn(s,o){return new qkt(s,o)}ei.enumlit=abn;var qkt=(function(s){Ob(o,s);function o(a,d){var g=s.call(this)||this;return g.enumName=a,g.prop=d,g._failMsg="is not "+a+"."+d,g}return o.prototype.getChecker=function(a,d){var g=this,m=tke(a,this.enumName);if(!(m instanceof ike))throw new Error("Type "+this.enumName+" used in enumlit is not an enum type");var v=m.members[this.prop];if(!m.members.hasOwnProperty(this.prop))throw new Error("Unknown value "+this.enumName+"."+this.prop+" used in enumlit");return function(A,I){return A===v?!0:I.fail(null,g._failMsg,-1)}},o})(dg);ei.TEnumLiteral=qkt;function lbn(s){return Object.keys(s).map(function(o){return fbn(o,s[o])})}function fbn(s,o){return o instanceof ske?new eke(s,o.ttype,!0):new eke(s,K7(o),!1)}function hbn(s,o){return new Jkt(s,lbn(o))}ei.iface=hbn;var Jkt=(function(s){Ob(o,s);function o(a,d){var g=s.call(this)||this;return g.bases=a,g.props=d,g.propSet=new Set(d.map(function(m){return m.name})),g}return o.prototype.getChecker=function(a,d,g){var m=this,v=this.bases.map(function(R){return tke(a,R).getChecker(a,d)}),A=this.props.map(function(R){return R.ttype.getChecker(a,d)}),I=new Pkt.NoopContext,T=this.props.map(function(R,Q){return!R.isOpt&&!A[Q](void 0,I)}),B=function(R,Q){if(typeof R!="object"||R===null)return Q.fail(null,"is not an object",0);for(var U=0;U<v.length;U++)if(!v[U](R,Q))return!1;for(var U=0;U<A.length;U++){var W=m.props[U].name,ne=R[W];if(ne===void 0){if(T[U])return Q.fail(W,"is missing",1)}else{var he=A[U](ne,Q);if(!he)return Q.fail(W,null,1)}}return!0};if(!d)return B;var L=this.propSet;return g&&(this.propSet.forEach(function(R){return g.add(R)}),L=g),function(R,Q){if(!B(R,Q))return!1;for(var U in R)if(!L.has(U))return Q.fail(U,"is extraneous",2);return!0}},o})(dg);ei.TIface=Jkt;function dbn(s){return new ske(K7(s))}ei.opt=dbn;var ske=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.ttype=a,d}return o.prototype.getChecker=function(a,d){var g=this.ttype.getChecker(a,d);return function(m,v){return m===void 0||g(m,v)}},o})(dg);ei.TOptional=ske;var eke=(function(){function s(o,a,d){this.name=o,this.ttype=a,this.isOpt=d}return s})();ei.TProp=eke;function pbn(s){for(var o=[],a=1;a<arguments.length;a++)o[a-1]=arguments[a];return new Ukt(new Kkt(o),K7(s))}ei.func=pbn;var Ukt=(function(s){Ob(o,s);function o(a,d){var g=s.call(this)||this;return g.paramList=a,g.result=d,g}return o.prototype.getChecker=function(a,d){return function(g,m){return typeof g=="function"?!0:m.fail(null,"is not a function",0)}},o})(dg);ei.TFunc=Ukt;function gbn(s,o,a){return new zkt(s,K7(o),!!a)}ei.param=gbn;var zkt=(function(){function s(o,a,d){this.name=o,this.ttype=a,this.isOpt=d}return s})();ei.TParam=zkt;var Kkt=(function(s){Ob(o,s);function o(a){var d=s.call(this)||this;return d.params=a,d}return o.prototype.getChecker=function(a,d){var g=this,m=this.params.map(function(T){return T.ttype.getChecker(a,d)}),v=new Pkt.NoopContext,A=this.params.map(function(T,B){return!T.isOpt&&!m[B](void 0,v)}),I=function(T,B){if(!Array.isArray(T))return B.fail(null,"is not an array",0);for(var L=0;L<m.length;L++){var R=g.params[L];if(T[L]===void 0){if(A[L])return B.fail(R.name,"is missing",1)}else{var Q=m[L](T[L],B);if(!Q)return B.fail(R.name,null,1)}}return!0};return d?function(T,B){return I(T,B)?T.length<=m.length?!0:B.fail(m.length,"is extraneous",2):!1}:I},o})(dg);ei.TParamList=Kkt;var zh=(function(s){Ob(o,s);function o(a,d){var g=s.call(this)||this;return g.validator=a,g.message=d,g}return o.prototype.getChecker=function(a,d){var g=this;return function(m,v){return g.validator(m)?!0:v.fail(null,g.message,0)}},o})(dg);ei.BasicType=zh;ei.basicTypes={any:new zh(function(s){return!0},"is invalid"),number:new zh(function(s){return typeof s=="number"},"is not a number"),object:new zh(function(s){return typeof s=="object"&&s},"is not an object"),boolean:new zh(function(s){return typeof s=="boolean"},"is not a boolean"),string:new zh(function(s){return typeof s=="string"},"is not a string"),symbol:new zh(function(s){return typeof s=="symbol"},"is not a symbol"),void:new zh(function(s){return s==null},"is not void"),undefined:new zh(function(s){return s===void 0},"is not undefined"),null:new zh(function(s){return s===null},"is not null"),never:new zh(function(s){return!1},"is unexpected"),Date:new zh(jkt("[object Date]"),"is not a Date"),RegExp:new zh(jkt("[object RegExp]"),"is not a RegExp")};var bbn=Object.prototype.toString;function jkt(s){return function(o){return typeof o=="object"&&o&&bbn.call(o)===s}}typeof Buffer<"u"&&(ei.basicTypes.Buffer=new zh(function(s){return Buffer.isBuffer(s)},"is not a Buffer"));var mbn=function(s){ei.basicTypes[s.name]=new zh(function(o){return o instanceof s},"is not a "+s.name)};for(Jne=0,Z9e=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,ArrayBuffer];Jne<Z9e.length;Jne++)Rkt=Z9e[Jne],mbn(Rkt);var Rkt,Jne,Z9e});var cke=Gi(Po=>{"use strict";var wbn=Po&&Po.__spreadArrays||function(){for(var s=0,o=0,a=arguments.length;o<a;o++)s+=arguments[o].length;for(var d=Array(s),g=0,o=0;o<a;o++)for(var m=arguments[o],v=0,A=m.length;v<A;v++,g++)d[g]=m[v];return d};Object.defineProperty(Po,"__esModule",{value:!0});Po.Checker=Po.createCheckers=void 0;var v$=oke(),NM=qne(),Du=oke();Object.defineProperty(Po,"TArray",{enumerable:!0,get:function(){return Du.TArray}});Object.defineProperty(Po,"TEnumType",{enumerable:!0,get:function(){return Du.TEnumType}});Object.defineProperty(Po,"TEnumLiteral",{enumerable:!0,get:function(){return Du.TEnumLiteral}});Object.defineProperty(Po,"TFunc",{enumerable:!0,get:function(){return Du.TFunc}});Object.defineProperty(Po,"TIface",{enumerable:!0,get:function(){return Du.TIface}});Object.defineProperty(Po,"TLiteral",{enumerable:!0,get:function(){return Du.TLiteral}});Object.defineProperty(Po,"TName",{enumerable:!0,get:function(){return Du.TName}});Object.defineProperty(Po,"TOptional",{enumerable:!0,get:function(){return Du.TOptional}});Object.defineProperty(Po,"TParam",{enumerable:!0,get:function(){return Du.TParam}});Object.defineProperty(Po,"TParamList",{enumerable:!0,get:function(){return Du.TParamList}});Object.defineProperty(Po,"TProp",{enumerable:!0,get:function(){return Du.TProp}});Object.defineProperty(Po,"TTuple",{enumerable:!0,get:function(){return Du.TTuple}});Object.defineProperty(Po,"TType",{enumerable:!0,get:function(){return Du.TType}});Object.defineProperty(Po,"TUnion",{enumerable:!0,get:function(){return Du.TUnion}});Object.defineProperty(Po,"TIntersection",{enumerable:!0,get:function(){return Du.TIntersection}});Object.defineProperty(Po,"array",{enumerable:!0,get:function(){return Du.array}});Object.defineProperty(Po,"enumlit",{enumerable:!0,get:function(){return Du.enumlit}});Object.defineProperty(Po,"enumtype",{enumerable:!0,get:function(){return Du.enumtype}});Object.defineProperty(Po,"func",{enumerable:!0,get:function(){return Du.func}});Object.defineProperty(Po,"iface",{enumerable:!0,get:function(){return Du.iface}});Object.defineProperty(Po,"lit",{enumerable:!0,get:function(){return Du.lit}});Object.defineProperty(Po,"name",{enumerable:!0,get:function(){return Du.name}});Object.defineProperty(Po,"opt",{enumerable:!0,get:function(){return Du.opt}});Object.defineProperty(Po,"param",{enumerable:!0,get:function(){return Du.param}});Object.defineProperty(Po,"tuple",{enumerable:!0,get:function(){return Du.tuple}});Object.defineProperty(Po,"union",{enumerable:!0,get:function(){return Du.union}});Object.defineProperty(Po,"intersection",{enumerable:!0,get:function(){return Du.intersection}});Object.defineProperty(Po,"BasicType",{enumerable:!0,get:function(){return Du.BasicType}});var Abn=qne();Object.defineProperty(Po,"VError",{enumerable:!0,get:function(){return Abn.VError}});function vbn(){for(var s=[],o=0;o<arguments.length;o++)s[o]=arguments[o];for(var a=Object.assign.apply(Object,wbn([{},v$.basicTypes],s)),d={},g=0,m=s;g<m.length;g++)for(var v=m[g],A=0,I=Object.keys(v);A<I.length;A++){var T=I[A];d[T]=new Wkt(a,v[T])}return d}Po.createCheckers=vbn;var Wkt=(function(){function s(o,a,d){if(d===void 0&&(d="value"),this.suite=o,this.ttype=a,this._path=d,this.props=new Map,a instanceof v$.TIface)for(var g=0,m=a.props;g<m.length;g++){var v=m[g];this.props.set(v.name,v.ttype)}this.checkerPlain=this.ttype.getChecker(o,!1),this.checkerStrict=this.ttype.getChecker(o,!0)}return s.prototype.setReportedPath=function(o){this._path=o},s.prototype.check=function(o){return this._doCheck(this.checkerPlain,o)},s.prototype.test=function(o){return this.checkerPlain(o,new NM.NoopContext)},s.prototype.validate=function(o){return this._doValidate(this.checkerPlain,o)},s.prototype.strictCheck=function(o){return this._doCheck(this.checkerStrict,o)},s.prototype.strictTest=function(o){return this.checkerStrict(o,new NM.NoopContext)},s.prototype.strictValidate=function(o){return this._doValidate(this.checkerStrict,o)},s.prototype.getProp=function(o){var a=this.props.get(o);if(!a)throw new Error("Type has no property "+o);return new s(this.suite,a,this._path+"."+o)},s.prototype.methodArgs=function(o){var a=this._getMethod(o);return new s(this.suite,a.paramList)},s.prototype.methodResult=function(o){var a=this._getMethod(o);return new s(this.suite,a.result)},s.prototype.getArgs=function(){if(!(this.ttype instanceof v$.TFunc))throw new Error("getArgs() applied to non-function");return new s(this.suite,this.ttype.paramList)},s.prototype.getResult=function(){if(!(this.ttype instanceof v$.TFunc))throw new Error("getResult() applied to non-function");return new s(this.suite,this.ttype.result)},s.prototype.getType=function(){return this.ttype},s.prototype._doCheck=function(o,a){var d=new NM.NoopContext;if(!o(a,d)){var g=new NM.DetailContext;throw o(a,g),g.getError(this._path)}},s.prototype._doValidate=function(o,a){var d=new NM.NoopContext;if(o(a,d))return null;var g=new NM.DetailContext;return o(a,g),g.getErrorDetail(this._path)},s.prototype._getMethod=function(o){var a=this.props.get(o);if(!a)throw new Error("Type has no property "+o);if(!(a instanceof v$.TFunc))throw new Error("Property "+o+" is not a method");return a},s})();Po.Checker=Wkt});var LEt=Gi(W$=>{"use strict";W$.__esModule=!0;W$.LinesAndColumns=void 0;var bre=`
27
27
  `,DEt="\r",BEt=(function(){function s(o){this.string=o;for(var a=[0],d=0;d<o.length;)switch(o[d]){case bre:d+=bre.length,a.push(d);break;case DEt:d+=DEt.length,o[d]===bre&&(d+=bre.length),a.push(d);break;default:d++;break}this.offsets=a}return s.prototype.locationForIndex=function(o){if(o<0||o>this.string.length)return null;for(var a=0,d=this.offsets;d[a+1]<=o;)a++;var g=o-d[a];return{line:a,column:g}},s.prototype.indexForLocation=function(o){var a=o.line,d=o.column;return a<0||a>=this.offsets.length||d<0||d>this.lengthOfLine(a)?null:this.offsets[a]+d},s.prototype.lengthOfLine=function(o){var a=this.offsets[o],d=o===this.offsets.length-1?this.string.length:this.offsets[o+1];return d-a},s})();W$.LinesAndColumns=BEt;W$.default=BEt});var nH=Gi((Xar,JEt)=>{"use strict";var fwn="2.0.0",hwn=Number.MAX_SAFE_INTEGER||9007199254740991,dwn=16,pwn=250,gwn=["major","premajor","minor","preminor","patch","prepatch","prerelease"];JEt.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:dwn,MAX_SAFE_BUILD_LENGTH:pwn,MAX_SAFE_INTEGER:hwn,RELEASE_TYPES:gwn,SEMVER_SPEC_VERSION:fwn,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var rH=Gi((Var,UEt)=>{"use strict";var bwn=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...s)=>console.error("SEMVER",...s):()=>{};UEt.exports=bwn});var UM=Gi((Q4,zEt)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:Xke,MAX_SAFE_BUILD_LENGTH:mwn,MAX_LENGTH:wwn}=nH(),Awn=rH();Q4=zEt.exports={};var vwn=Q4.re=[],ywn=Q4.safeRe=[],Pr=Q4.src=[],kwn=Q4.safeSrc=[],Fr=Q4.t={},xwn=0,Vke="[a-zA-Z0-9-]",Ewn=[["\\s",1],["\\d",wwn],[Vke,mwn]],Cwn=s=>{for(let[o,a]of Ewn)s=s.split(`${o}*`).join(`${o}{0,${a}}`).split(`${o}+`).join(`${o}{1,${a}}`);return s},Qs=(s,o,a)=>{let d=Cwn(o),g=xwn++;Awn(s,g,o),Fr[s]=g,Pr[g]=o,kwn[g]=d,vwn[g]=new RegExp(o,a?"g":void 0),ywn[g]=new RegExp(d,a?"g":void 0)};Qs("NUMERICIDENTIFIER","0|[1-9]\\d*");Qs("NUMERICIDENTIFIERLOOSE","\\d+");Qs("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Vke}*`);Qs("MAINVERSION",`(${Pr[Fr.NUMERICIDENTIFIER]})\\.(${Pr[Fr.NUMERICIDENTIFIER]})\\.(${Pr[Fr.NUMERICIDENTIFIER]})`);Qs("MAINVERSIONLOOSE",`(${Pr[Fr.NUMERICIDENTIFIERLOOSE]})\\.(${Pr[Fr.NUMERICIDENTIFIERLOOSE]})\\.(${Pr[Fr.NUMERICIDENTIFIERLOOSE]})`);Qs("PRERELEASEIDENTIFIER",`(?:${Pr[Fr.NONNUMERICIDENTIFIER]}|${Pr[Fr.NUMERICIDENTIFIER]})`);Qs("PRERELEASEIDENTIFIERLOOSE",`(?:${Pr[Fr.NONNUMERICIDENTIFIER]}|${Pr[Fr.NUMERICIDENTIFIERLOOSE]})`);Qs("PRERELEASE",`(?:-(${Pr[Fr.PRERELEASEIDENTIFIER]}(?:\\.${Pr[Fr.PRERELEASEIDENTIFIER]})*))`);Qs("PRERELEASELOOSE",`(?:-?(${Pr[Fr.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${Pr[Fr.PRERELEASEIDENTIFIERLOOSE]})*))`);Qs("BUILDIDENTIFIER",`${Vke}+`);Qs("BUILD",`(?:\\+(${Pr[Fr.BUILDIDENTIFIER]}(?:\\.${Pr[Fr.BUILDIDENTIFIER]})*))`);Qs("FULLPLAIN",`v?${Pr[Fr.MAINVERSION]}${Pr[Fr.PRERELEASE]}?${Pr[Fr.BUILD]}?`);Qs("FULL",`^${Pr[Fr.FULLPLAIN]}$`);Qs("LOOSEPLAIN",`[v=\\s]*${Pr[Fr.MAINVERSIONLOOSE]}${Pr[Fr.PRERELEASELOOSE]}?${Pr[Fr.BUILD]}?`);Qs("LOOSE",`^${Pr[Fr.LOOSEPLAIN]}$`);Qs("GTLT","((?:<|>)?=?)");Qs("XRANGEIDENTIFIERLOOSE",`${Pr[Fr.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Qs("XRANGEIDENTIFIER",`${Pr[Fr.NUMERICIDENTIFIER]}|x|X|\\*`);Qs("XRANGEPLAIN",`[v=\\s]*(${Pr[Fr.XRANGEIDENTIFIER]})(?:\\.(${Pr[Fr.XRANGEIDENTIFIER]})(?:\\.(${Pr[Fr.XRANGEIDENTIFIER]})(?:${Pr[Fr.PRERELEASE]})?${Pr[Fr.BUILD]}?)?)?`);Qs("XRANGEPLAINLOOSE",`[v=\\s]*(${Pr[Fr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Pr[Fr.XRANGEIDENTIFIERLOOSE]})(?:\\.(${Pr[Fr.XRANGEIDENTIFIERLOOSE]})(?:${Pr[Fr.PRERELEASELOOSE]})?${Pr[Fr.BUILD]}?)?)?`);Qs("XRANGE",`^${Pr[Fr.GTLT]}\\s*${Pr[Fr.XRANGEPLAIN]}$`);Qs("XRANGELOOSE",`^${Pr[Fr.GTLT]}\\s*${Pr[Fr.XRANGEPLAINLOOSE]}$`);Qs("COERCEPLAIN",`(^|[^\\d])(\\d{1,${Xke}})(?:\\.(\\d{1,${Xke}}))?(?:\\.(\\d{1,${Xke}}))?`);Qs("COERCE",`${Pr[Fr.COERCEPLAIN]}(?:$|[^\\d])`);Qs("COERCEFULL",Pr[Fr.COERCEPLAIN]+`(?:${Pr[Fr.PRERELEASE]})?(?:${Pr[Fr.BUILD]})?(?:$|[^\\d])`);Qs("COERCERTL",Pr[Fr.COERCE],!0);Qs("COERCERTLFULL",Pr[Fr.COERCEFULL],!0);Qs("LONETILDE","(?:~>?)");Qs("TILDETRIM",`(\\s*)${Pr[Fr.LONETILDE]}\\s+`,!0);Q4.tildeTrimReplace="$1~";Qs("TILDE",`^${Pr[Fr.LONETILDE]}${Pr[Fr.XRANGEPLAIN]}$`);Qs("TILDELOOSE",`^${Pr[Fr.LONETILDE]}${Pr[Fr.XRANGEPLAINLOOSE]}$`);Qs("LONECARET","(?:\\^)");Qs("CARETTRIM",`(\\s*)${Pr[Fr.LONECARET]}\\s+`,!0);Q4.caretTrimReplace="$1^";Qs("CARET",`^${Pr[Fr.LONECARET]}${Pr[Fr.XRANGEPLAIN]}$`);Qs("CARETLOOSE",`^${Pr[Fr.LONECARET]}${Pr[Fr.XRANGEPLAINLOOSE]}$`);Qs("COMPARATORLOOSE",`^${Pr[Fr.GTLT]}\\s*(${Pr[Fr.LOOSEPLAIN]})$|^$`);Qs("COMPARATOR",`^${Pr[Fr.GTLT]}\\s*(${Pr[Fr.FULLPLAIN]})$|^$`);Qs("COMPARATORTRIM",`(\\s*)${Pr[Fr.GTLT]}\\s*(${Pr[Fr.LOOSEPLAIN]}|${Pr[Fr.XRANGEPLAIN]})`,!0);Q4.comparatorTrimReplace="$1$2$3";Qs("HYPHENRANGE",`^\\s*(${Pr[Fr.XRANGEPLAIN]})\\s+-\\s+(${Pr[Fr.XRANGEPLAIN]})\\s*$`);Qs("HYPHENRANGELOOSE",`^\\s*(${Pr[Fr.XRANGEPLAINLOOSE]})\\s+-\\s+(${Pr[Fr.XRANGEPLAINLOOSE]})\\s*$`);Qs("STAR","(<|>)?=?\\s*\\*");Qs("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Qs("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var mre=Gi((Zar,KEt)=>{"use strict";var Iwn=Object.freeze({loose:!0}),Swn=Object.freeze({}),Twn=s=>s?typeof s!="object"?Iwn:s:Swn;KEt.exports=Twn});var Zke=Gi((elr,XEt)=>{"use strict";var WEt=/^[0-9]+$/,YEt=(s,o)=>{if(typeof s=="number"&&typeof o=="number")return s===o?0:s<o?-1:1;let a=WEt.test(s),d=WEt.test(o);return a&&d&&(s=+s,o=+o),s===o?0:a&&!d?-1:d&&!a?1:s<o?-1:1},_wn=(s,o)=>YEt(o,s);XEt.exports={compareIdentifiers:YEt,rcompareIdentifiers:_wn}});var Kh=Gi((tlr,ZEt)=>{"use strict";var wre=rH(),{MAX_LENGTH:VEt,MAX_SAFE_INTEGER:Are}=nH(),{safeRe:vre,t:yre}=UM(),Mwn=mre(),{compareIdentifiers:exe}=Zke(),txe=class s{constructor(o,a){if(a=Mwn(a),o instanceof s){if(o.loose===!!a.loose&&o.includePrerelease===!!a.includePrerelease)return o;o=o.version}else if(typeof o!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof o}".`);if(o.length>VEt)throw new TypeError(`version is longer than ${VEt} characters`);wre("SemVer",o,a),this.options=a,this.loose=!!a.loose,this.includePrerelease=!!a.includePrerelease;let d=o.trim().match(a.loose?vre[yre.LOOSE]:vre[yre.FULL]);if(!d)throw new TypeError(`Invalid Version: ${o}`);if(this.raw=o,this.major=+d[1],this.minor=+d[2],this.patch=+d[3],this.major>Are||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Are||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Are||this.patch<0)throw new TypeError("Invalid patch version");d[4]?this.prerelease=d[4].split(".").map(g=>{if(/^[0-9]+$/.test(g)){let m=+g;if(m>=0&&m<Are)return m}return g}):this.prerelease=[],this.build=d[5]?d[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(o){if(wre("SemVer.compare",this.version,this.options,o),!(o instanceof s)){if(typeof o=="string"&&o===this.version)return 0;o=new s(o,this.options)}return o.version===this.version?0:this.compareMain(o)||this.comparePre(o)}compareMain(o){return o instanceof s||(o=new s(o,this.options)),this.major<o.major?-1:this.major>o.major?1:this.minor<o.minor?-1:this.minor>o.minor?1:this.patch<o.patch?-1:this.patch>o.patch?1:0}comparePre(o){if(o instanceof s||(o=new s(o,this.options)),this.prerelease.length&&!o.prerelease.length)return-1;if(!this.prerelease.length&&o.prerelease.length)return 1;if(!this.prerelease.length&&!o.prerelease.length)return 0;let a=0;do{let d=this.prerelease[a],g=o.prerelease[a];if(wre("prerelease compare",a,d,g),d===void 0&&g===void 0)return 0;if(g===void 0)return 1;if(d===void 0)return-1;if(d===g)continue;return exe(d,g)}while(++a)}compareBuild(o){o instanceof s||(o=new s(o,this.options));let a=0;do{let d=this.build[a],g=o.build[a];if(wre("build compare",a,d,g),d===void 0&&g===void 0)return 0;if(g===void 0)return 1;if(d===void 0)return-1;if(d===g)continue;return exe(d,g)}while(++a)}inc(o,a,d){if(o.startsWith("pre")){if(!a&&d===!1)throw new Error("invalid increment argument: identifier is empty");if(a){let g=`-${a}`.match(this.options.loose?vre[yre.PRERELEASELOOSE]:vre[yre.PRERELEASE]);if(!g||g[1]!==a)throw new Error(`invalid identifier: ${a}`)}}switch(o){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",a,d);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",a,d);break;case"prepatch":this.prerelease.length=0,this.inc("patch",a,d),this.inc("pre",a,d);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",a,d),this.inc("pre",a,d);break;case"release":if(this.prerelease.length===0)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let g=Number(d)?1:0;if(this.prerelease.length===0)this.prerelease=[g];else{let m=this.prerelease.length;for(;--m>=0;)typeof this.prerelease[m]=="number"&&(this.prerelease[m]++,m=-2);if(m===-1){if(a===this.prerelease.join(".")&&d===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(g)}}if(a){let m=[a,g];d===!1&&(m=[a]),exe(this.prerelease[0],a)===0?isNaN(this.prerelease[1])&&(this.prerelease=m):this.prerelease=m}break}default:throw new Error(`invalid increment argument: ${o}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};ZEt.exports=txe});var LC=Gi((nlr,tCt)=>{"use strict";var eCt=Kh(),Dwn=(s,o,a=!1)=>{if(s instanceof eCt)return s;try{return new eCt(s,o)}catch(d){if(!a)return null;throw d}};tCt.exports=Dwn});var rCt=Gi((rlr,nCt)=>{"use strict";var Bwn=LC(),Lwn=(s,o)=>{let a=Bwn(s,o);return a?a.version:null};nCt.exports=Lwn});var sCt=Gi((ilr,iCt)=>{"use strict";var Nwn=LC(),Own=(s,o)=>{let a=Nwn(s.trim().replace(/^[=v]+/,""),o);return a?a.version:null};iCt.exports=Own});var uCt=Gi((slr,cCt)=>{"use strict";var oCt=Kh(),jwn=(s,o,a,d,g)=>{typeof a=="string"&&(g=d,d=a,a=void 0);try{return new oCt(s instanceof oCt?s.version:s,a).inc(o,d,g).version}catch{return null}};cCt.exports=jwn});var fCt=Gi((olr,lCt)=>{"use strict";var aCt=LC(),Rwn=(s,o)=>{let a=aCt(s,null,!0),d=aCt(o,null,!0),g=a.compare(d);if(g===0)return null;let m=g>0,v=m?a:d,A=m?d:a,I=!!v.prerelease.length;if(!!A.prerelease.length&&!I){if(!A.patch&&!A.minor)return"major";if(A.compareMain(v)===0)return A.minor&&!A.patch?"minor":"patch"}let B=I?"pre":"";return a.major!==d.major?B+"major":a.minor!==d.minor?B+"minor":a.patch!==d.patch?B+"patch":"prerelease"};lCt.exports=Rwn});var dCt=Gi((clr,hCt)=>{"use strict";var Pwn=Kh(),Fwn=(s,o)=>new Pwn(s,o).major;hCt.exports=Fwn});var gCt=Gi((ulr,pCt)=>{"use strict";var $wn=Kh(),Hwn=(s,o)=>new $wn(s,o).minor;pCt.exports=Hwn});var mCt=Gi((alr,bCt)=>{"use strict";var Qwn=Kh(),Gwn=(s,o)=>new Qwn(s,o).patch;bCt.exports=Gwn});var ACt=Gi((llr,wCt)=>{"use strict";var qwn=LC(),Jwn=(s,o)=>{let a=qwn(s,o);return a&&a.prerelease.length?a.prerelease:null};wCt.exports=Jwn});var l2=Gi((flr,yCt)=>{"use strict";var vCt=Kh(),Uwn=(s,o,a)=>new vCt(s,a).compare(new vCt(o,a));yCt.exports=Uwn});var xCt=Gi((hlr,kCt)=>{"use strict";var zwn=l2(),Kwn=(s,o,a)=>zwn(o,s,a);kCt.exports=Kwn});var CCt=Gi((dlr,ECt)=>{"use strict";var Wwn=l2(),Ywn=(s,o)=>Wwn(s,o,!0);ECt.exports=Ywn});var kre=Gi((plr,SCt)=>{"use strict";var ICt=Kh(),Xwn=(s,o,a)=>{let d=new ICt(s,a),g=new ICt(o,a);return d.compare(g)||d.compareBuild(g)};SCt.exports=Xwn});var _Ct=Gi((glr,TCt)=>{"use strict";var Vwn=kre(),Zwn=(s,o)=>s.sort((a,d)=>Vwn(a,d,o));TCt.exports=Zwn});var DCt=Gi((blr,MCt)=>{"use strict";var e3n=kre(),t3n=(s,o)=>s.sort((a,d)=>e3n(d,a,o));MCt.exports=t3n});var iH=Gi((mlr,BCt)=>{"use strict";var n3n=l2(),r3n=(s,o,a)=>n3n(s,o,a)>0;BCt.exports=r3n});var xre=Gi((wlr,LCt)=>{"use strict";var i3n=l2(),s3n=(s,o,a)=>i3n(s,o,a)<0;LCt.exports=s3n});var nxe=Gi((Alr,NCt)=>{"use strict";var o3n=l2(),c3n=(s,o,a)=>o3n(s,o,a)===0;NCt.exports=c3n});var rxe=Gi((vlr,OCt)=>{"use strict";var u3n=l2(),a3n=(s,o,a)=>u3n(s,o,a)!==0;OCt.exports=a3n});var Ere=Gi((ylr,jCt)=>{"use strict";var l3n=l2(),f3n=(s,o,a)=>l3n(s,o,a)>=0;jCt.exports=f3n});var Cre=Gi((klr,RCt)=>{"use strict";var h3n=l2(),d3n=(s,o,a)=>h3n(s,o,a)<=0;RCt.exports=d3n});var ixe=Gi((xlr,PCt)=>{"use strict";var p3n=nxe(),g3n=rxe(),b3n=iH(),m3n=Ere(),w3n=xre(),A3n=Cre(),v3n=(s,o,a,d)=>{switch(o){case"===":return typeof s=="object"&&(s=s.version),typeof a=="object"&&(a=a.version),s===a;case"!==":return typeof s=="object"&&(s=s.version),typeof a=="object"&&(a=a.version),s!==a;case"":case"=":case"==":return p3n(s,a,d);case"!=":return g3n(s,a,d);case">":return b3n(s,a,d);case">=":return m3n(s,a,d);case"<":return w3n(s,a,d);case"<=":return A3n(s,a,d);default:throw new TypeError(`Invalid operator: ${o}`)}};PCt.exports=v3n});var $Ct=Gi((Elr,FCt)=>{"use strict";var y3n=Kh(),k3n=LC(),{safeRe:Ire,t:Sre}=UM(),x3n=(s,o)=>{if(s instanceof y3n)return s;if(typeof s=="number"&&(s=String(s)),typeof s!="string")return null;o=o||{};let a=null;if(!o.rtl)a=s.match(o.includePrerelease?Ire[Sre.COERCEFULL]:Ire[Sre.COERCE]);else{let I=o.includePrerelease?Ire[Sre.COERCERTLFULL]:Ire[Sre.COERCERTL],T;for(;(T=I.exec(s))&&(!a||a.index+a[0].length!==s.length);)(!a||T.index+T[0].length!==a.index+a[0].length)&&(a=T),I.lastIndex=T.index+T[1].length+T[2].length;I.lastIndex=-1}if(a===null)return null;let d=a[2],g=a[3]||"0",m=a[4]||"0",v=o.includePrerelease&&a[5]?`-${a[5]}`:"",A=o.includePrerelease&&a[6]?`+${a[6]}`:"";return k3n(`${d}.${g}.${m}${v}${A}`,o)};FCt.exports=x3n});var QCt=Gi((Clr,HCt)=>{"use strict";var sxe=class{constructor(){this.max=1e3,this.map=new Map}get(o){let a=this.map.get(o);if(a!==void 0)return this.map.delete(o),this.map.set(o,a),a}delete(o){return this.map.delete(o)}set(o,a){if(!this.delete(o)&&a!==void 0){if(this.map.size>=this.max){let g=this.map.keys().next().value;this.delete(g)}this.map.set(o,a)}return this}};HCt.exports=sxe});var f2=Gi((Ilr,UCt)=>{"use strict";var E3n=/\s+/g,oxe=class s{constructor(o,a){if(a=I3n(a),o instanceof s)return o.loose===!!a.loose&&o.includePrerelease===!!a.includePrerelease?o:new s(o.raw,a);if(o instanceof cxe)return this.raw=o.value,this.set=[[o]],this.formatted=void 0,this;if(this.options=a,this.loose=!!a.loose,this.includePrerelease=!!a.includePrerelease,this.raw=o.trim().replace(E3n," "),this.set=this.raw.split("||").map(d=>this.parseRange(d.trim())).filter(d=>d.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let d=this.set[0];if(this.set=this.set.filter(g=>!qCt(g[0])),this.set.length===0)this.set=[d];else if(this.set.length>1){for(let g of this.set)if(g.length===1&&L3n(g[0])){this.set=[g];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let o=0;o<this.set.length;o++){o>0&&(this.formatted+="||");let a=this.set[o];for(let d=0;d<a.length;d++)d>0&&(this.formatted+=" "),this.formatted+=a[d].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(o){let d=((this.options.includePrerelease&&D3n)|(this.options.loose&&B3n))+":"+o,g=GCt.get(d);if(g)return g;let m=this.options.loose,v=m?ep[Wh.HYPHENRANGELOOSE]:ep[Wh.HYPHENRANGE];o=o.replace(v,G3n(this.options.includePrerelease)),Ta("hyphen replace",o),o=o.replace(ep[Wh.COMPARATORTRIM],T3n),Ta("comparator trim",o),o=o.replace(ep[Wh.TILDETRIM],_3n),Ta("tilde trim",o),o=o.replace(ep[Wh.CARETTRIM],M3n),Ta("caret trim",o);let A=o.split(" ").map(L=>N3n(L,this.options)).join(" ").split(/\s+/).map(L=>Q3n(L,this.options));m&&(A=A.filter(L=>(Ta("loose invalid filter",L,this.options),!!L.match(ep[Wh.COMPARATORLOOSE])))),Ta("range list",A);let I=new Map,T=A.map(L=>new cxe(L,this.options));for(let L of T){if(qCt(L))return[L];I.set(L.value,L)}I.size>1&&I.has("")&&I.delete("");let B=[...I.values()];return GCt.set(d,B),B}intersects(o,a){if(!(o instanceof s))throw new TypeError("a Range is required");return this.set.some(d=>JCt(d,a)&&o.set.some(g=>JCt(g,a)&&d.every(m=>g.every(v=>m.intersects(v,a)))))}test(o){if(!o)return!1;if(typeof o=="string")try{o=new S3n(o,this.options)}catch{return!1}for(let a=0;a<this.set.length;a++)if(q3n(this.set[a],o,this.options))return!0;return!1}};UCt.exports=oxe;var C3n=QCt(),GCt=new C3n,I3n=mre(),cxe=sH(),Ta=rH(),S3n=Kh(),{safeRe:ep,t:Wh,comparatorTrimReplace:T3n,tildeTrimReplace:_3n,caretTrimReplace:M3n}=UM(),{FLAG_INCLUDE_PRERELEASE:D3n,FLAG_LOOSE:B3n}=nH(),qCt=s=>s.value==="<0.0.0-0",L3n=s=>s.value==="",JCt=(s,o)=>{let a=!0,d=s.slice(),g=d.pop();for(;a&&d.length;)a=d.every(m=>g.intersects(m,o)),g=d.pop();return a},N3n=(s,o)=>(s=s.replace(ep[Wh.BUILD],""),Ta("comp",s,o),s=R3n(s,o),Ta("caret",s),s=O3n(s,o),Ta("tildes",s),s=F3n(s,o),Ta("xrange",s),s=H3n(s,o),Ta("stars",s),s),tp=s=>!s||s.toLowerCase()==="x"||s==="*",O3n=(s,o)=>s.trim().split(/\s+/).map(a=>j3n(a,o)).join(" "),j3n=(s,o)=>{let a=o.loose?ep[Wh.TILDELOOSE]:ep[Wh.TILDE];return s.replace(a,(d,g,m,v,A)=>{Ta("tilde",s,d,g,m,v,A);let I;return tp(g)?I="":tp(m)?I=`>=${g}.0.0 <${+g+1}.0.0-0`:tp(v)?I=`>=${g}.${m}.0 <${g}.${+m+1}.0-0`:A?(Ta("replaceTilde pr",A),I=`>=${g}.${m}.${v}-${A} <${g}.${+m+1}.0-0`):I=`>=${g}.${m}.${v} <${g}.${+m+1}.0-0`,Ta("tilde return",I),I})},R3n=(s,o)=>s.trim().split(/\s+/).map(a=>P3n(a,o)).join(" "),P3n=(s,o)=>{Ta("caret",s,o);let a=o.loose?ep[Wh.CARETLOOSE]:ep[Wh.CARET],d=o.includePrerelease?"-0":"";return s.replace(a,(g,m,v,A,I)=>{Ta("caret",s,g,m,v,A,I);let T;return tp(m)?T="":tp(v)?T=`>=${m}.0.0${d} <${+m+1}.0.0-0`:tp(A)?m==="0"?T=`>=${m}.${v}.0${d} <${m}.${+v+1}.0-0`:T=`>=${m}.${v}.0${d} <${+m+1}.0.0-0`:I?(Ta("replaceCaret pr",I),m==="0"?v==="0"?T=`>=${m}.${v}.${A}-${I} <${m}.${v}.${+A+1}-0`:T=`>=${m}.${v}.${A}-${I} <${m}.${+v+1}.0-0`:T=`>=${m}.${v}.${A}-${I} <${+m+1}.0.0-0`):(Ta("no pr"),m==="0"?v==="0"?T=`>=${m}.${v}.${A}${d} <${m}.${v}.${+A+1}-0`:T=`>=${m}.${v}.${A}${d} <${m}.${+v+1}.0-0`:T=`>=${m}.${v}.${A} <${+m+1}.0.0-0`),Ta("caret return",T),T})},F3n=(s,o)=>(Ta("replaceXRanges",s,o),s.split(/\s+/).map(a=>$3n(a,o)).join(" ")),$3n=(s,o)=>{s=s.trim();let a=o.loose?ep[Wh.XRANGELOOSE]:ep[Wh.XRANGE];return s.replace(a,(d,g,m,v,A,I)=>{Ta("xRange",s,d,g,m,v,A,I);let T=tp(m),B=T||tp(v),L=B||tp(A),R=L;return g==="="&&R&&(g=""),I=o.includePrerelease?"-0":"",T?g===">"||g==="<"?d="<0.0.0-0":d="*":g&&R?(B&&(v=0),A=0,g===">"?(g=">=",B?(m=+m+1,v=0,A=0):(v=+v+1,A=0)):g==="<="&&(g="<",B?m=+m+1:v=+v+1),g==="<"&&(I="-0"),d=`${g+m}.${v}.${A}${I}`):B?d=`>=${m}.0.0${I} <${+m+1}.0.0-0`:L&&(d=`>=${m}.${v}.0${I} <${m}.${+v+1}.0-0`),Ta("xRange return",d),d})},H3n=(s,o)=>(Ta("replaceStars",s,o),s.trim().replace(ep[Wh.STAR],"")),Q3n=(s,o)=>(Ta("replaceGTE0",s,o),s.trim().replace(ep[o.includePrerelease?Wh.GTE0PRE:Wh.GTE0],"")),G3n=s=>(o,a,d,g,m,v,A,I,T,B,L,R)=>(tp(d)?a="":tp(g)?a=`>=${d}.0.0${s?"-0":""}`:tp(m)?a=`>=${d}.${g}.0${s?"-0":""}`:v?a=`>=${a}`:a=`>=${a}${s?"-0":""}`,tp(T)?I="":tp(B)?I=`<${+T+1}.0.0-0`:tp(L)?I=`<${T}.${+B+1}.0-0`:R?I=`<=${T}.${B}.${L}-${R}`:s?I=`<${T}.${B}.${+L+1}-0`:I=`<=${I}`,`${a} ${I}`.trim()),q3n=(s,o,a)=>{for(let d=0;d<s.length;d++)if(!s[d].test(o))return!1;if(o.prerelease.length&&!a.includePrerelease){for(let d=0;d<s.length;d++)if(Ta(s[d].semver),s[d].semver!==cxe.ANY&&s[d].semver.prerelease.length>0){let g=s[d].semver;if(g.major===o.major&&g.minor===o.minor&&g.patch===o.patch)return!0}return!1}return!0}});var sH=Gi((Slr,VCt)=>{"use strict";var oH=Symbol("SemVer ANY"),lxe=class s{static get ANY(){return oH}constructor(o,a){if(a=zCt(a),o instanceof s){if(o.loose===!!a.loose)return o;o=o.value}o=o.trim().split(/\s+/).join(" "),axe("comparator",o,a),this.options=a,this.loose=!!a.loose,this.parse(o),this.semver===oH?this.value="":this.value=this.operator+this.semver.version,axe("comp",this)}parse(o){let a=this.options.loose?KCt[WCt.COMPARATORLOOSE]:KCt[WCt.COMPARATOR],d=o.match(a);if(!d)throw new TypeError(`Invalid comparator: ${o}`);this.operator=d[1]!==void 0?d[1]:"",this.operator==="="&&(this.operator=""),d[2]?this.semver=new YCt(d[2],this.options.loose):this.semver=oH}toString(){return this.value}test(o){if(axe("Comparator.test",o,this.options.loose),this.semver===oH||o===oH)return!0;if(typeof o=="string")try{o=new YCt(o,this.options)}catch{return!1}return uxe(o,this.operator,this.semver,this.options)}intersects(o,a){if(!(o instanceof s))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new XCt(o.value,a).test(this.value):o.operator===""?o.value===""?!0:new XCt(this.value,a).test(o.semver):(a=zCt(a),a.includePrerelease&&(this.value==="<0.0.0-0"||o.value==="<0.0.0-0")||!a.includePrerelease&&(this.value.startsWith("<0.0.0")||o.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&o.operator.startsWith(">")||this.operator.startsWith("<")&&o.operator.startsWith("<")||this.semver.version===o.semver.version&&this.operator.includes("=")&&o.operator.includes("=")||uxe(this.semver,"<",o.semver,a)&&this.operator.startsWith(">")&&o.operator.startsWith("<")||uxe(this.semver,">",o.semver,a)&&this.operator.startsWith("<")&&o.operator.startsWith(">")))}};VCt.exports=lxe;var zCt=mre(),{safeRe:KCt,t:WCt}=UM(),uxe=ixe(),axe=rH(),YCt=Kh(),XCt=f2()});var cH=Gi((Tlr,ZCt)=>{"use strict";var J3n=f2(),U3n=(s,o,a)=>{try{o=new J3n(o,a)}catch{return!1}return o.test(s)};ZCt.exports=U3n});var tIt=Gi((_lr,eIt)=>{"use strict";var z3n=f2(),K3n=(s,o)=>new z3n(s,o).set.map(a=>a.map(d=>d.value).join(" ").trim().split(" "));eIt.exports=K3n});var rIt=Gi((Mlr,nIt)=>{"use strict";var W3n=Kh(),Y3n=f2(),X3n=(s,o,a)=>{let d=null,g=null,m=null;try{m=new Y3n(o,a)}catch{return null}return s.forEach(v=>{m.test(v)&&(!d||g.compare(v)===-1)&&(d=v,g=new W3n(d,a))}),d};nIt.exports=X3n});var sIt=Gi((Dlr,iIt)=>{"use strict";var V3n=Kh(),Z3n=f2(),eAn=(s,o,a)=>{let d=null,g=null,m=null;try{m=new Z3n(o,a)}catch{return null}return s.forEach(v=>{m.test(v)&&(!d||g.compare(v)===1)&&(d=v,g=new V3n(d,a))}),d};iIt.exports=eAn});var uIt=Gi((Blr,cIt)=>{"use strict";var fxe=Kh(),tAn=f2(),oIt=iH(),nAn=(s,o)=>{s=new tAn(s,o);let a=new fxe("0.0.0");if(s.test(a)||(a=new fxe("0.0.0-0"),s.test(a)))return a;a=null;for(let d=0;d<s.set.length;++d){let g=s.set[d],m=null;g.forEach(v=>{let A=new fxe(v.semver.version);switch(v.operator){case">":A.prerelease.length===0?A.patch++:A.prerelease.push(0),A.raw=A.format();case"":case">=":(!m||oIt(A,m))&&(m=A);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${v.operator}`)}}),m&&(!a||oIt(a,m))&&(a=m)}return a&&s.test(a)?a:null};cIt.exports=nAn});var lIt=Gi((Llr,aIt)=>{"use strict";var rAn=f2(),iAn=(s,o)=>{try{return new rAn(s,o).range||"*"}catch{return null}};aIt.exports=iAn});var Tre=Gi((Nlr,pIt)=>{"use strict";var sAn=Kh(),dIt=sH(),{ANY:oAn}=dIt,cAn=f2(),uAn=cH(),fIt=iH(),hIt=xre(),aAn=Cre(),lAn=Ere(),fAn=(s,o,a,d)=>{s=new sAn(s,d),o=new cAn(o,d);let g,m,v,A,I;switch(a){case">":g=fIt,m=aAn,v=hIt,A=">",I=">=";break;case"<":g=hIt,m=lAn,v=fIt,A="<",I="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(uAn(s,o,d))return!1;for(let T=0;T<o.set.length;++T){let B=o.set[T],L=null,R=null;if(B.forEach(Q=>{Q.semver===oAn&&(Q=new dIt(">=0.0.0")),L=L||Q,R=R||Q,g(Q.semver,L.semver,d)?L=Q:v(Q.semver,R.semver,d)&&(R=Q)}),L.operator===A||L.operator===I||(!R.operator||R.operator===A)&&m(s,R.semver))return!1;if(R.operator===I&&v(s,R.semver))return!1}return!0};pIt.exports=fAn});var bIt=Gi((Olr,gIt)=>{"use strict";var hAn=Tre(),dAn=(s,o,a)=>hAn(s,o,">",a);gIt.exports=dAn});var wIt=Gi((jlr,mIt)=>{"use strict";var pAn=Tre(),gAn=(s,o,a)=>pAn(s,o,"<",a);mIt.exports=gAn});var yIt=Gi((Rlr,vIt)=>{"use strict";var AIt=f2(),bAn=(s,o,a)=>(s=new AIt(s,a),o=new AIt(o,a),s.intersects(o,a));vIt.exports=bAn});var xIt=Gi((Plr,kIt)=>{"use strict";var mAn=cH(),wAn=l2();kIt.exports=(s,o,a)=>{let d=[],g=null,m=null,v=s.sort((B,L)=>wAn(B,L,a));for(let B of v)mAn(B,o,a)?(m=B,g||(g=B)):(m&&d.push([g,m]),m=null,g=null);g&&d.push([g,null]);let A=[];for(let[B,L]of d)B===L?A.push(B):!L&&B===v[0]?A.push("*"):L?B===v[0]?A.push(`<=${L}`):A.push(`${B} - ${L}`):A.push(`>=${B}`);let I=A.join(" || "),T=typeof o.raw=="string"?o.raw:String(o);return I.length<T.length?I:o}});var _It=Gi((Flr,TIt)=>{"use strict";var EIt=f2(),dxe=sH(),{ANY:hxe}=dxe,uH=cH(),pxe=l2(),AAn=(s,o,a={})=>{if(s===o)return!0;s=new EIt(s,a),o=new EIt(o,a);let d=!1;e:for(let g of s.set){for(let m of o.set){let v=yAn(g,m,a);if(d=d||v!==null,v)continue e}if(d)return!1}return!0},vAn=[new dxe(">=0.0.0-0")],CIt=[new dxe(">=0.0.0")],yAn=(s,o,a)=>{if(s===o)return!0;if(s.length===1&&s[0].semver===hxe){if(o.length===1&&o[0].semver===hxe)return!0;a.includePrerelease?s=vAn:s=CIt}if(o.length===1&&o[0].semver===hxe){if(a.includePrerelease)return!0;o=CIt}let d=new Set,g,m;for(let Q of s)Q.operator===">"||Q.operator===">="?g=IIt(g,Q,a):Q.operator==="<"||Q.operator==="<="?m=SIt(m,Q,a):d.add(Q.semver);if(d.size>1)return null;let v;if(g&&m){if(v=pxe(g.semver,m.semver,a),v>0)return null;if(v===0&&(g.operator!==">="||m.operator!=="<="))return null}for(let Q of d){if(g&&!uH(Q,String(g),a)||m&&!uH(Q,String(m),a))return null;for(let U of o)if(!uH(Q,String(U),a))return!1;return!0}let A,I,T,B,L=m&&!a.includePrerelease&&m.semver.prerelease.length?m.semver:!1,R=g&&!a.includePrerelease&&g.semver.prerelease.length?g.semver:!1;L&&L.prerelease.length===1&&m.operator==="<"&&L.prerelease[0]===0&&(L=!1);for(let Q of o){if(B=B||Q.operator===">"||Q.operator===">=",T=T||Q.operator==="<"||Q.operator==="<=",g){if(R&&Q.semver.prerelease&&Q.semver.prerelease.length&&Q.semver.major===R.major&&Q.semver.minor===R.minor&&Q.semver.patch===R.patch&&(R=!1),Q.operator===">"||Q.operator===">="){if(A=IIt(g,Q,a),A===Q&&A!==g)return!1}else if(g.operator===">="&&!uH(g.semver,String(Q),a))return!1}if(m){if(L&&Q.semver.prerelease&&Q.semver.prerelease.length&&Q.semver.major===L.major&&Q.semver.minor===L.minor&&Q.semver.patch===L.patch&&(L=!1),Q.operator==="<"||Q.operator==="<="){if(I=SIt(m,Q,a),I===Q&&I!==m)return!1}else if(m.operator==="<="&&!uH(m.semver,String(Q),a))return!1}if(!Q.operator&&(m||g)&&v!==0)return!1}return!(g&&T&&!m&&v!==0||m&&B&&!g&&v!==0||R||L)},IIt=(s,o,a)=>{if(!s)return o;let d=pxe(s.semver,o.semver,a);return d>0?s:d<0||o.operator===">"&&s.operator===">="?o:s},SIt=(s,o,a)=>{if(!s)return o;let d=pxe(s.semver,o.semver,a);return d<0?s:d>0||o.operator==="<"&&s.operator==="<="?o:s};TIt.exports=AAn});var LIt=Gi(($lr,BIt)=>{"use strict";var gxe=UM(),MIt=nH(),kAn=Kh(),DIt=Zke(),xAn=LC(),EAn=rCt(),CAn=sCt(),IAn=uCt(),SAn=fCt(),TAn=dCt(),_An=gCt(),MAn=mCt(),DAn=ACt(),BAn=l2(),LAn=xCt(),NAn=CCt(),OAn=kre(),jAn=_Ct(),RAn=DCt(),PAn=iH(),FAn=xre(),$An=nxe(),HAn=rxe(),QAn=Ere(),GAn=Cre(),qAn=ixe(),JAn=$Ct(),UAn=sH(),zAn=f2(),KAn=cH(),WAn=tIt(),YAn=rIt(),XAn=sIt(),VAn=uIt(),ZAn=lIt(),e4n=Tre(),t4n=bIt(),n4n=wIt(),r4n=yIt(),i4n=xIt(),s4n=_It();BIt.exports={parse:xAn,valid:EAn,clean:CAn,inc:IAn,diff:SAn,major:TAn,minor:_An,patch:MAn,prerelease:DAn,compare:BAn,rcompare:LAn,compareLoose:NAn,compareBuild:OAn,sort:jAn,rsort:RAn,gt:PAn,lt:FAn,eq:$An,neq:HAn,gte:QAn,lte:GAn,cmp:qAn,coerce:JAn,Comparator:UAn,Range:zAn,satisfies:KAn,toComparators:WAn,maxSatisfying:YAn,minSatisfying:XAn,minVersion:VAn,validRange:ZAn,outside:e4n,gtr:t4n,ltr:n4n,intersects:r4n,simplifyRange:i4n,subset:s4n,SemVer:kAn,re:gxe.re,src:gxe.src,tokens:gxe.t,SEMVER_SPEC_VERSION:MIt.SEMVER_SPEC_VERSION,RELEASE_TYPES:MIt.RELEASE_TYPES,compareIdentifiers:DIt.compareIdentifiers,rcompareIdentifiers:DIt.rcompareIdentifiers}});function Tvt(s){return(""+s).match(/\.([a-zA-Z_$][0-9a-zA-Z_$]*)[^\.]*$/)[1]}var kee=s=>typeof s=="string"?s:Tvt(s);var _vt=s=>s.replace(/([A-Z])/g,"-$1").toLowerCase();function Mvt(s,o){let a;return function(...d){return clearTimeout(a),new Promise(g=>{a=setTimeout(()=>g(s.apply(this,d)),o)})}}function Dvt(s,o){let a=[];for(let d=0;d<s.length&&o(s[d],d);d++)a.push(s[d]);return a}function Bvt(s,o){for(let a of o)Object.defineProperty(s,a,{value:s[a],writable:!1,configurable:!1,enumerable:!0})}var Ccn=new Set(["animate","animateMotion","animateTransform","circle","clipPath","defs","ellipse","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","filter","foreignObject","g","image","line","linearGradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialGradient","rect","set","stop","svg","symbol","text","textPath","tspan","use","view"]),Icn=new Set(["attributeName","baseFrequency","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","xChannelSelector","yChannelSelector"]),Svt=new Map([["strokeDashArray",{kebab:"stroke-dasharray",react:"strokeDasharray"}],["strokeDashOffset",{kebab:"stroke-dashoffset",react:"strokeDashoffset"}],["strokeLineCap",{kebab:"stroke-linecap",react:"strokeLinecap"}],["strokeLineJoin",{kebab:"stroke-linejoin",react:"strokeLinejoin"}],["strokeMiterLimit",{kebab:"stroke-miterlimit",react:"strokeMiterlimit"}]]),Scn=new Set(["acceptCharset","autoComplete","autoPlay","bgColor","colSpan","crossOrigin","dateTime","dirName","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","hrefLang","httpEquiv","isMap","maxLength","minLength","noValidate","playsInline","readOnly","referrerPolicy","rowSpan","srcDoc","srcLang","srcSet","useMap","autoCapitalize","autoFocus","contentEditable","enterKeyHint","exportParts","inputMode","itemId","itemProp","itemRef","itemScope","itemType","popOver","spellCheck","tabIndex","virtualKeyboardPolicy","writingSuggestions"]),Lvt=s=>Ccn.has(s),Tcn=s=>Icn.has(s),Nvt=s=>Scn.has(s),Ovt=s=>/^on[A-Z]/.test(s),jvt=s=>/^(aria)[A-Z]/.test(s),_cn=s=>/^(data)[A-Z]/.test(s),Mcn=s=>!Tcn(s)&&!Nvt(s)&&!_cn(s),Rvt=(s,o)=>Nvt(s)?s.toLowerCase():o&&Svt.has(s)?Svt.get(s).kebab:o&&Mcn(s)?_vt(s):s;var Dcn=Object.defineProperty,Bcn=(s,o,a)=>o in s?Dcn(s,o,{enumerable:!0,configurable:!0,writable:!0,value:a}):s[o]=a,vs=(s,o,a)=>Bcn(s,typeof o!="symbol"?o+"":o,a);function Pvt(s){return!!s&&typeof s=="object"&&"attributes"in s&&"nodeName"in s}var Lcn=new Set(["checked","selected","disabled","readonly","multiple","required"]),Fvt=class{constructor(s){vs(this,"_transformer"),this._transformer=s}renderVNode(s){if(!Pvt(s))return s;let o=this._transformer,a=s,d=a.attributes,g={},m=Lvt(a.nodeName);for(let L in d){if(L==="key"||L==="onMounted"||L.startsWith("with"))continue;let R=d[L];if(jvt(L)){g[L.replace("aria","aria-").toLowerCase()]=R;continue}if(Lcn.has(L)){g[L]=!!R;continue}o.transformAttributeName?g[o.transformAttributeName(L,m)]=R:g[L]=R}g=o.transformAttributes?o.transformAttributes(a.nodeName,g):g;let v=d["with"+this.rendererName],A=a.children.map(L=>this.renderVNode(L)),I=v&&"hook"in v,T=v&&"component"in v;d.key!==void 0&&(g.key=d.key);let B=I?o.transformHook(v,a.nodeName,g,A):T?o.tranformComponent(v,a.nodeName,g,A):o.transformElement(a.nodeName,g,A);return d.onMounted?o.transformOnMounted(B,d.onMounted,g):B}};var dF={};V_(dF,{Component:()=>uF,Fragment:()=>hF,cloneElement:()=>iye,createContext:()=>$cn,createElement:()=>m4,createRef:()=>Ocn,h:()=>m4,hydrate:()=>i5t,isValidElement:()=>qvt,options:()=>Ju,render:()=>r5t,toChildArray:()=>Zvt});var lF,Ju,Gvt,qvt,aC,$vt,Jvt,Uvt,zvt,eye,Y6e,X6e,Kvt,aF={},Wvt=[],Ncn=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,fF=Array.isArray;function b4(s,o){for(var a in o)s[a]=o[a];return s}function tye(s){s&&s.parentNode&&s.parentNode.removeChild(s)}function m4(s,o,a){var d,g,m,v={};for(m in o)m=="key"?d=o[m]:m=="ref"?g=o[m]:v[m]=o[m];if(arguments.length>2&&(v.children=arguments.length>3?lF.call(arguments,2):a),typeof s=="function"&&s.defaultProps!=null)for(m in s.defaultProps)v[m]===void 0&&(v[m]=s.defaultProps[m]);return cF(s,v,d,g,null)}function cF(s,o,a,d,g){var m={type:s,props:o,key:a,ref:d,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:g??++Gvt,__i:-1,__u:0};return g==null&&Ju.vnode!=null&&Ju.vnode(m),m}function Ocn(){return{current:null}}function hF(s){return s.children}function uF(s,o){this.props=s,this.context=o}function Z_(s,o){if(o==null)return s.__?Z_(s.__,s.__i+1):null;for(var a;o<s.__k.length;o++)if((a=s.__k[o])!=null&&a.__e!=null)return a.__e;return typeof s.type=="function"?Z_(s):null}function Yvt(s){var o,a;if((s=s.__)!=null&&s.__c!=null){for(s.__e=s.__c.base=null,o=0;o<s.__k.length;o++)if((a=s.__k[o])!=null&&a.__e!=null){s.__e=s.__c.base=a.__e;break}return Yvt(s)}}function V6e(s){(!s.__d&&(s.__d=!0)&&aC.push(s)&&!Eee.__r++||$vt!=Ju.debounceRendering)&&(($vt=Ju.debounceRendering)||Jvt)(Eee)}function Eee(){for(var s,o,a,d,g,m,v,A=1;aC.length;)aC.length>A&&aC.sort(Uvt),s=aC.shift(),A=aC.length,s.__d&&(a=void 0,d=void 0,g=(d=(o=s).__v).__e,m=[],v=[],o.__P&&((a=b4({},d)).__v=d.__v+1,Ju.vnode&&Ju.vnode(a),nye(o.__P,a,d,o.__n,o.__P.namespaceURI,32&d.__u?[g]:null,m,g??Z_(d),!!(32&d.__u),v),a.__v=d.__v,a.__.__k[a.__i]=a,e5t(m,a,v),d.__e=d.__=null,a.__e!=g&&Yvt(a)));Eee.__r=0}function Xvt(s,o,a,d,g,m,v,A,I,T,B){var L,R,Q,U,W,ne,he,Ee=d&&d.__k||Wvt,Oe=o.length;for(I=jcn(a,o,Ee,I,Oe),L=0;L<Oe;L++)(Q=a.__k[L])!=null&&(R=Q.__i==-1?aF:Ee[Q.__i]||aF,Q.__i=L,ne=nye(s,Q,R,g,m,v,A,I,T,B),U=Q.__e,Q.ref&&R.ref!=Q.ref&&(R.ref&&rye(R.ref,null,Q),B.push(Q.ref,Q.__c||U,Q)),W==null&&U!=null&&(W=U),(he=!!(4&Q.__u))||R.__k===Q.__k?I=Vvt(Q,I,s,he):typeof Q.type=="function"&&ne!==void 0?I=ne:U&&(I=U.nextSibling),Q.__u&=-7);return a.__e=W,I}function jcn(s,o,a,d,g){var m,v,A,I,T,B=a.length,L=B,R=0;for(s.__k=new Array(g),m=0;m<g;m++)(v=o[m])!=null&&typeof v!="boolean"&&typeof v!="function"?(I=m+R,(v=s.__k[m]=typeof v=="string"||typeof v=="number"||typeof v=="bigint"||v.constructor==String?cF(null,v,null,null,null):fF(v)?cF(hF,{children:v},null,null,null):v.constructor==null&&v.__b>0?cF(v.type,v.props,v.key,v.ref?v.ref:null,v.__v):v).__=s,v.__b=s.__b+1,A=null,(T=v.__i=Rcn(v,a,I,L))!=-1&&(L--,(A=a[T])&&(A.__u|=2)),A==null||A.__v==null?(T==-1&&(g>B?R--:g<B&&R++),typeof v.type!="function"&&(v.__u|=4)):T!=I&&(T==I-1?R--:T==I+1?R++:(T>I?R--:R++,v.__u|=4))):s.__k[m]=null;if(L)for(m=0;m<B;m++)(A=a[m])!=null&&(2&A.__u)==0&&(A.__e==d&&(d=Z_(A)),n5t(A,A));return d}function Vvt(s,o,a,d){var g,m;if(typeof s.type=="function"){for(g=s.__k,m=0;g&&m<g.length;m++)g[m]&&(g[m].__=s,o=Vvt(g[m],o,a,d));return o}s.__e!=o&&(d&&(o&&s.type&&!o.parentNode&&(o=Z_(s)),a.insertBefore(s.__e,o||null)),o=s.__e);do o=o&&o.nextSibling;while(o!=null&&o.nodeType==8);return o}function Zvt(s,o){return o=o||[],s==null||typeof s=="boolean"||(fF(s)?s.some(function(a){Zvt(a,o)}):o.push(s)),o}function Rcn(s,o,a,d){var g,m,v,A=s.key,I=s.type,T=o[a],B=T!=null&&(2&T.__u)==0;if(T===null&&s.key==null||B&&A==T.key&&I==T.type)return a;if(d>(B?1:0)){for(g=a-1,m=a+1;g>=0||m<o.length;)if((T=o[v=g>=0?g--:m++])!=null&&(2&T.__u)==0&&A==T.key&&I==T.type)return v}return-1}function Hvt(s,o,a){o[0]=="-"?s.setProperty(o,a??""):s[o]=a==null?"":typeof a!="number"||Ncn.test(o)?a:a+"px"}function xee(s,o,a,d,g){var m,v;e:if(o=="style")if(typeof a=="string")s.style.cssText=a;else{if(typeof d=="string"&&(s.style.cssText=d=""),d)for(o in d)a&&o in a||Hvt(s.style,o,"");if(a)for(o in a)d&&a[o]==d[o]||Hvt(s.style,o,a[o])}else if(o[0]=="o"&&o[1]=="n")m=o!=(o=o.replace(zvt,"$1")),v=o.toLowerCase(),o=v in s||o=="onFocusOut"||o=="onFocusIn"?v.slice(2):o.slice(2),s.l||(s.l={}),s.l[o+m]=a,a?d?a.u=d.u:(a.u=eye,s.addEventListener(o,m?X6e:Y6e,m)):s.removeEventListener(o,m?X6e:Y6e,m);else{if(g=="http://www.w3.org/2000/svg")o=o.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(o!="width"&&o!="height"&&o!="href"&&o!="list"&&o!="form"&&o!="tabIndex"&&o!="download"&&o!="rowSpan"&&o!="colSpan"&&o!="role"&&o!="popover"&&o in s)try{s[o]=a??"";break e}catch{}typeof a=="function"||(a==null||a===!1&&o[4]!="-"?s.removeAttribute(o):s.setAttribute(o,o=="popover"&&a==1?"":a))}}function Qvt(s){return function(o){if(this.l){var a=this.l[o.type+s];if(o.t==null)o.t=eye++;else if(o.t<a.u)return;return a(Ju.event?Ju.event(o):o)}}}function nye(s,o,a,d,g,m,v,A,I,T){var B,L,R,Q,U,W,ne,he,Ee,Oe,ie,Ie,He,kt,nt,Ce,Xt,tn=o.type;if(o.constructor!=null)return null;128&a.__u&&(I=!!(32&a.__u),m=[A=o.__e=a.__e]),(B=Ju.__b)&&B(o);e:if(typeof tn=="function")try{if(he=o.props,Ee="prototype"in tn&&tn.prototype.render,Oe=(B=tn.contextType)&&d[B.__c],ie=B?Oe?Oe.props.value:B.__:d,a.__c?ne=(L=o.__c=a.__c).__=L.__E:(Ee?o.__c=L=new tn(he,ie):(o.__c=L=new uF(he,ie),L.constructor=tn,L.render=Fcn),Oe&&Oe.sub(L),L.props=he,L.state||(L.state={}),L.context=ie,L.__n=d,R=L.__d=!0,L.__h=[],L._sb=[]),Ee&&L.__s==null&&(L.__s=L.state),Ee&&tn.getDerivedStateFromProps!=null&&(L.__s==L.state&&(L.__s=b4({},L.__s)),b4(L.__s,tn.getDerivedStateFromProps(he,L.__s))),Q=L.props,U=L.state,L.__v=o,R)Ee&&tn.getDerivedStateFromProps==null&&L.componentWillMount!=null&&L.componentWillMount(),Ee&&L.componentDidMount!=null&&L.__h.push(L.componentDidMount);else{if(Ee&&tn.getDerivedStateFromProps==null&&he!==Q&&L.componentWillReceiveProps!=null&&L.componentWillReceiveProps(he,ie),!L.__e&&L.shouldComponentUpdate!=null&&L.shouldComponentUpdate(he,L.__s,ie)===!1||o.__v==a.__v){for(o.__v!=a.__v&&(L.props=he,L.state=L.__s,L.__d=!1),o.__e=a.__e,o.__k=a.__k,o.__k.some(function(Sn){Sn&&(Sn.__=o)}),Ie=0;Ie<L._sb.length;Ie++)L.__h.push(L._sb[Ie]);L._sb=[],L.__h.length&&v.push(L);break e}L.componentWillUpdate!=null&&L.componentWillUpdate(he,L.__s,ie),Ee&&L.componentDidUpdate!=null&&L.__h.push(function(){L.componentDidUpdate(Q,U,W)})}if(L.context=ie,L.props=he,L.__P=s,L.__e=!1,He=Ju.__r,kt=0,Ee){for(L.state=L.__s,L.__d=!1,He&&He(o),B=L.render(L.props,L.state,L.context),nt=0;nt<L._sb.length;nt++)L.__h.push(L._sb[nt]);L._sb=[]}else do L.__d=!1,He&&He(o),B=L.render(L.props,L.state,L.context),L.state=L.__s;while(L.__d&&++kt<25);L.state=L.__s,L.getChildContext!=null&&(d=b4(b4({},d),L.getChildContext())),Ee&&!R&&L.getSnapshotBeforeUpdate!=null&&(W=L.getSnapshotBeforeUpdate(Q,U)),Ce=B,B!=null&&B.type===hF&&B.key==null&&(Ce=t5t(B.props.children)),A=Xvt(s,fF(Ce)?Ce:[Ce],o,a,d,g,m,v,A,I,T),L.base=o.__e,o.__u&=-161,L.__h.length&&v.push(L),ne&&(L.__E=L.__=null)}catch(Sn){if(o.__v=null,I||m!=null)if(Sn.then){for(o.__u|=I?160:128;A&&A.nodeType==8&&A.nextSibling;)A=A.nextSibling;m[m.indexOf(A)]=null,o.__e=A}else{for(Xt=m.length;Xt--;)tye(m[Xt]);Z6e(o)}else o.__e=a.__e,o.__k=a.__k,Sn.then||Z6e(o);Ju.__e(Sn,o,a)}else m==null&&o.__v==a.__v?(o.__k=a.__k,o.__e=a.__e):A=o.__e=Pcn(a.__e,o,a,d,g,m,v,I,T);return(B=Ju.diffed)&&B(o),128&o.__u?void 0:A}function Z6e(s){s&&s.__c&&(s.__c.__e=!0),s&&s.__k&&s.__k.forEach(Z6e)}function e5t(s,o,a){for(var d=0;d<a.length;d++)rye(a[d],a[++d],a[++d]);Ju.__c&&Ju.__c(o,s),s.some(function(g){try{s=g.__h,g.__h=[],s.some(function(m){m.call(g)})}catch(m){Ju.__e(m,g.__v)}})}function t5t(s){return typeof s!="object"||s==null||s.__b&&s.__b>0?s:fF(s)?s.map(t5t):b4({},s)}function Pcn(s,o,a,d,g,m,v,A,I){var T,B,L,R,Q,U,W,ne=a.props,he=o.props,Ee=o.type;if(Ee=="svg"?g="http://www.w3.org/2000/svg":Ee=="math"?g="http://www.w3.org/1998/Math/MathML":g||(g="http://www.w3.org/1999/xhtml"),m!=null){for(T=0;T<m.length;T++)if((Q=m[T])&&"setAttribute"in Q==!!Ee&&(Ee?Q.localName==Ee:Q.nodeType==3)){s=Q,m[T]=null;break}}if(s==null){if(Ee==null)return document.createTextNode(he);s=document.createElementNS(g,Ee,he.is&&he),A&&(Ju.__m&&Ju.__m(o,m),A=!1),m=null}if(Ee==null)ne===he||A&&s.data==he||(s.data=he);else{if(m=m&&lF.call(s.childNodes),ne=a.props||aF,!A&&m!=null)for(ne={},T=0;T<s.attributes.length;T++)ne[(Q=s.attributes[T]).name]=Q.value;for(T in ne)if(Q=ne[T],T!="children"){if(T=="dangerouslySetInnerHTML")L=Q;else if(!(T in he)){if(T=="value"&&"defaultValue"in he||T=="checked"&&"defaultChecked"in he)continue;xee(s,T,null,Q,g)}}for(T in he)Q=he[T],T=="children"?R=Q:T=="dangerouslySetInnerHTML"?B=Q:T=="value"?U=Q:T=="checked"?W=Q:A&&typeof Q!="function"||ne[T]===Q||xee(s,T,Q,ne[T],g);if(B)A||L&&(B.__html==L.__html||B.__html==s.innerHTML)||(s.innerHTML=B.__html),o.__k=[];else if(L&&(s.innerHTML=""),Xvt(o.type=="template"?s.content:s,fF(R)?R:[R],o,a,d,Ee=="foreignObject"?"http://www.w3.org/1999/xhtml":g,m,v,m?m[0]:a.__k&&Z_(a,0),A,I),m!=null)for(T=m.length;T--;)tye(m[T]);A||(T="value",Ee=="progress"&&U==null?s.removeAttribute("value"):U!=null&&(U!==s[T]||Ee=="progress"&&!U||Ee=="option"&&U!=ne[T])&&xee(s,T,U,ne[T],g),T="checked",W!=null&&W!=s[T]&&xee(s,T,W,ne[T],g))}return s}function rye(s,o,a){try{if(typeof s=="function"){var d=typeof s.__u=="function";d&&s.__u(),d&&o==null||(s.__u=s(o))}else s.current=o}catch(g){Ju.__e(g,a)}}function n5t(s,o,a){var d,g;if(Ju.unmount&&Ju.unmount(s),(d=s.ref)&&(d.current&&d.current!=s.__e||rye(d,null,o)),(d=s.__c)!=null){if(d.componentWillUnmount)try{d.componentWillUnmount()}catch(m){Ju.__e(m,o)}d.base=d.__P=null}if(d=s.__k)for(g=0;g<d.length;g++)d[g]&&n5t(d[g],o,a||typeof s.type!="function");a||tye(s.__e),s.__c=s.__=s.__e=void 0}function Fcn(s,o,a){return this.constructor(s,a)}function r5t(s,o,a){var d,g,m,v;o==document&&(o=document.documentElement),Ju.__&&Ju.__(s,o),g=(d=typeof a=="function")?null:a&&a.__k||o.__k,m=[],v=[],nye(o,s=(!d&&a||o).__k=m4(hF,null,[s]),g||aF,aF,o.namespaceURI,!d&&a?[a]:g?null:o.firstChild?lF.call(o.childNodes):null,m,!d&&a?a:g?g.__e:o.firstChild,d,v),e5t(m,s,v)}function i5t(s,o){r5t(s,o,i5t)}function iye(s,o,a){var d,g,m,v,A=b4({},s.props);for(m in s.type&&s.type.defaultProps&&(v=s.type.defaultProps),o)m=="key"?d=o[m]:m=="ref"?g=o[m]:A[m]=o[m]===void 0&&v!=null?v[m]:o[m];return arguments.length>2&&(A.children=arguments.length>3?lF.call(arguments,2):a),cF(s.type,A,d||s.key,g||s.ref,null)}function $cn(s){function o(a){var d,g;return this.getChildContext||(d=new Set,(g={})[o.__c]=this,this.getChildContext=function(){return g},this.componentWillUnmount=function(){d=null},this.shouldComponentUpdate=function(m){this.props.value!=m.value&&d.forEach(function(v){v.__e=!0,V6e(v)})},this.sub=function(m){d.add(m);var v=m.componentWillUnmount;m.componentWillUnmount=function(){d&&d.delete(m),v&&v.call(m)}}),a.children}return o.__c="__cC"+Kvt++,o.__=s,o.Provider=o.__l=(o.Consumer=function(a,d){return a.children(d)}).contextType=o,o}lF=Wvt.slice,Ju={__e:function(s,o,a,d){for(var g,m,v;o=o.__;)if((g=o.__c)&&!g.__)try{if((m=g.constructor)&&m.getDerivedStateFromError!=null&&(g.setState(m.getDerivedStateFromError(s)),v=g.__d),g.componentDidCatch!=null&&(g.componentDidCatch(s,d||{}),v=g.__d),v)return g.__E=g}catch(A){s=A}throw s}},Gvt=0,qvt=function(s){return s!=null&&s.constructor==null},uF.prototype.setState=function(s,o){var a;a=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=b4({},this.state),typeof s=="function"&&(s=s(b4({},a),this.props)),s&&b4(a,s),s!=null&&this.__v&&(o&&this._sb.push(o),V6e(this))},uF.prototype.forceUpdate=function(s){this.__v&&(this.__e=!0,s&&this.__h.push(s),V6e(this))},uF.prototype.render=hF,aC=[],Jvt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Uvt=function(s,o){return s.__v.__b-o.__v.__b},Eee.__r=0,zvt=/(PointerCapture)$|Capture$/i,eye=0,Y6e=Qvt(!1),X6e=Qvt(!0),Kvt=0;var See={};V_(See,{useCallback:()=>Gcn,useContext:()=>qcn,useDebugValue:()=>Jcn,useEffect:()=>Hcn,useErrorBoundary:()=>Ucn,useId:()=>zcn,useImperativeHandle:()=>Qcn,useLayoutEffect:()=>Iee,useMemo:()=>uye,useReducer:()=>g5t,useRef:()=>cye,useState:()=>p5t});var Z5,Uu,sye,s5t,eM=0,d5t=[],xl=Ju,o5t=xl.__b,c5t=xl.__r,u5t=xl.diffed,a5t=xl.__c,l5t=xl.unmount,f5t=xl.__;function lC(s,o){xl.__h&&xl.__h(Uu,s,eM||o),eM=0;var a=Uu.__H||(Uu.__H={__:[],__h:[]});return s>=a.__.length&&a.__.push({}),a.__[s]}function p5t(s){return eM=1,g5t(b5t,s)}function g5t(s,o,a){var d=lC(Z5++,2);if(d.t=s,!d.__c&&(d.__=[a?a(o):b5t(void 0,o),function(A){var I=d.__N?d.__N[0]:d.__[0],T=d.t(I,A);I!==T&&(d.__N=[T,d.__[1]],d.__c.setState({}))}],d.__c=Uu,!Uu.__f)){var g=function(A,I,T){if(!d.__c.__H)return!0;var B=d.__c.__H.__.filter(function(R){return!!R.__c});if(B.every(function(R){return!R.__N}))return!m||m.call(this,A,I,T);var L=d.__c.props!==A;return B.forEach(function(R){if(R.__N){var Q=R.__[0];R.__=R.__N,R.__N=void 0,Q!==R.__[0]&&(L=!0)}}),m&&m.call(this,A,I,T)||L};Uu.__f=!0;var m=Uu.shouldComponentUpdate,v=Uu.componentWillUpdate;Uu.componentWillUpdate=function(A,I,T){if(this.__e){var B=m;m=void 0,g(A,I,T),m=B}v&&v.call(this,A,I,T)},Uu.shouldComponentUpdate=g}return d.__N||d.__}function Hcn(s,o){var a=lC(Z5++,3);!xl.__s&&aye(a.__H,o)&&(a.__=s,a.u=o,Uu.__H.__h.push(a))}function Iee(s,o){var a=lC(Z5++,4);!xl.__s&&aye(a.__H,o)&&(a.__=s,a.u=o,Uu.__h.push(a))}function cye(s){return eM=5,uye(function(){return{current:s}},[])}function Qcn(s,o,a){eM=6,Iee(function(){if(typeof s=="function"){var d=s(o());return function(){s(null),d&&typeof d=="function"&&d()}}if(s)return s.current=o(),function(){return s.current=null}},a==null?a:a.concat(s))}function uye(s,o){var a=lC(Z5++,7);return aye(a.__H,o)&&(a.__=s(),a.__H=o,a.__h=s),a.__}function Gcn(s,o){return eM=8,uye(function(){return s},o)}function qcn(s){var o=Uu.context[s.__c],a=lC(Z5++,9);return a.c=s,o?(a.__==null&&(a.__=!0,o.sub(Uu)),o.props.value):s.__}function Jcn(s,o){xl.useDebugValue&&xl.useDebugValue(o?o(s):s)}function Ucn(s){var o=lC(Z5++,10),a=p5t();return o.__=s,Uu.componentDidCatch||(Uu.componentDidCatch=function(d,g){o.__&&o.__(d,g),a[1](d)}),[a[0],function(){a[1](void 0)}]}function zcn(){var s=lC(Z5++,11);if(!s.__){for(var o=Uu.__v;o!==null&&!o.__m&&o.__!==null;)o=o.__;var a=o.__m||(o.__m=[0,0]);s.__="P"+a[0]+"-"+a[1]++}return s.__}function Kcn(){for(var s;s=d5t.shift();)if(s.__P&&s.__H)try{s.__H.__h.forEach(Cee),s.__H.__h.forEach(oye),s.__H.__h=[]}catch(o){s.__H.__h=[],xl.__e(o,s.__v)}}xl.__b=function(s){Uu=null,o5t&&o5t(s)},xl.__=function(s,o){s&&o.__k&&o.__k.__m&&(s.__m=o.__k.__m),f5t&&f5t(s,o)},xl.__r=function(s){c5t&&c5t(s),Z5=0;var o=(Uu=s.__c).__H;o&&(sye===Uu?(o.__h=[],Uu.__h=[],o.__.forEach(function(a){a.__N&&(a.__=a.__N),a.u=a.__N=void 0})):(o.__h.forEach(Cee),o.__h.forEach(oye),o.__h=[],Z5=0)),sye=Uu},xl.diffed=function(s){u5t&&u5t(s);var o=s.__c;o&&o.__H&&(o.__H.__h.length&&(d5t.push(o)!==1&&s5t===xl.requestAnimationFrame||((s5t=xl.requestAnimationFrame)||Wcn)(Kcn)),o.__H.__.forEach(function(a){a.u&&(a.__H=a.u),a.u=void 0})),sye=Uu=null},xl.__c=function(s,o){o.some(function(a){try{a.__h.forEach(Cee),a.__h=a.__h.filter(function(d){return!d.__||oye(d)})}catch(d){o.some(function(g){g.__h&&(g.__h=[])}),o=[],xl.__e(d,a.__v)}}),a5t&&a5t(s,o)},xl.unmount=function(s){l5t&&l5t(s);var o,a=s.__c;a&&a.__H&&(a.__H.__.forEach(function(d){try{Cee(d)}catch(g){o=g}}),a.__H=void 0,o&&xl.__e(o,a.__v))};var h5t=typeof requestAnimationFrame=="function";function Wcn(s){var o,a=function(){clearTimeout(d),h5t&&cancelAnimationFrame(o),setTimeout(s)},d=setTimeout(a,35);h5t&&(o=requestAnimationFrame(a))}function Cee(s){var o=Uu,a=s.__c;typeof a=="function"&&(s.__c=void 0,a()),Uu=o}function oye(s){var o=Uu;s.__c=s.__(),Uu=o}function aye(s,o){return!s||s.length!==o.length||o.some(function(a,d){return a!==s[d]})}function b5t(s,o){return typeof o=="function"?o(s):o}var Ycn=({onMounted:s,preactElement:o})=>{let a=cye(null);return Iee(()=>s(a.current),[]),iye(o,{ref:a})};function m5t(s){return!!(s&&typeof s=="object"&&"current"in s)}var Xcn=({hookConfig:s,tag:o,elementProps:a,elementChildren:d})=>{let{hook:g,options:m}=s,v=g(m??{}),A=m5t(v?.[0])?v[0]:m5t(v)?v:null,I=A?{...a,ref:A}:a;return m4(o,I,d)},Vcn=({componentConfig:s,elementProps:o,elementChildren:a})=>{let{component:d,componentProps:g={}}=s,m={...g,...o};return m4(d,m,a)},Zcn=()=>({transformElement:(s,o,a)=>m4(s,o,a),transformHook:(s,o,a,d)=>m4(Xcn,{elementProps:a,elementChildren:d,hookConfig:s,tag:o}),tranformComponent:(s,o,a,d)=>m4(Vcn,{elementProps:a,elementChildren:d,componentConfig:s}),transformAttributeName:(s,o)=>Ovt(s)?s:Rvt(s,o),transformOnMounted:(s,o,a)=>m4(Ycn,{onMounted:o,preactElement:s})}),eun=class extends Fvt{constructor(s){super(Zcn()),vs(this,"_dependencies"),vs(this,"_PreactLib"),this._dependencies={...s,mountCallback:s.mountCallback??((o,a)=>{this._PreactLib.render(o,a)})},this._PreactLib=this._dependencies.PreactLib}get rendererName(){return"Preact"}patch(s,o){let a=this.renderVNode(s);return this._dependencies.mountCallback(a,o),o}unmount(s){this._PreactLib.render(null,s)}},tun=()=>new eun({PreactLib:dF,PreactHooksLib:See}),nun=class{constructor(s){vs(this,"_host"),this._host=s}load(){lye()&&this._host.deserialize(window.localStorage.getItem(this._host.key))}save(){if(lye()){let s=this._host.serialize();window.localStorage.setItem(this._host.key,s)}}clear(){lye()&&window.localStorage.removeItem(this._host.key)}};function lye(){return window.localStorage!=null}var run=class{constructor(s){vs(this,"_host"),vs(this,"_localStorage"),this._host=s,this._localStorage=this.createStorage(),this._host.autoPersist&&this._localStorage.load()}serialize(){return this._host.root.serializer.serialize()}deserialize(s){this._host.root.serializer.deserialize(s),this._host.refresh()}load(){this._localStorage.load()}save(){this._localStorage.save()}clear(){this._localStorage.clear()}createStorage(){return new nun({key:this._host.id,serialize:()=>JSON.stringify(this.serialize()),deserialize:s=>this.deserialize(JSON.parse(s))})}},iun=/\[&\s+/,sun=/\s+(?=[^\]]*\]:)/g,w5t=/\[[^\]]+\]:\S+/g,oun=s=>s.startsWith("[& ")?s.trim().replace(iun,"[&_").replace(sun,"_"):s.trim();var cun=class{constructor(){vs(this,"_elementClasses",new Set)}addClass(s){let a=(typeof s=="string"?[s]:Array.isArray(s)?s:[]).flatMap(d=>{if(!d)return[];let g=Array.from(d.matchAll(w5t),A=>A[0]),v=d.replace(w5t," ").trim().split(/\s+/g).filter(Boolean);return[...g,...v]}).filter(Boolean);for(let d of a){let g=E5t.addClass(d,!1);this._elementClasses.add(g)}}getClassString(){return[...this._elementClasses].join(" ")}},uun=class{constructor(){vs(this,"_classes",new Set),vs(this,"_stickyClasses",new Set)}addClass(s,o){let a=oun(s);return o?this._stickyClasses.add(a):this._classes.add(a),a}async flushClasses(s){s&&(await s.generate(this._classes,this._stickyClasses),this._classes.clear(),this._stickyClasses.clear())}},E5t=new uun;var aun=class{constructor(){vs(this,"styles")}addStyle(s){lun(s)&&(this.styles??(this.styles={}),Object.assign(this.styles,s))}},lun=s=>typeof s=="object"&&s!==null&&!Array.isArray(s)&&!(s instanceof Date),hye=s=>typeof s=="object"&&s!==null&&!Array.isArray(s)&&!(s instanceof Date)&&!("nodeName"in s)&&!("view"in s),C5t=s=>s.flatMap(o=>Array.isArray(o)?C5t(o):o!=null&&!hye(o)?[o]:[]);function fun(...s){let o=new cun,a=new aun,d={};for(let m of s)if(m)for(let v in m){let A=m[v];v==="class"?o.addClass(A):v==="style"?a.addStyle(A):v==="key"?A!=null&&(d.key=A):A!=null&&(d[v]=A)}d.style=a.styles;let g=o.getClassString();return g&&(d.class=g),d}function h3(s,...o){let a=o.findIndex(v=>v!=null&&!hye(v)&&typeof v!="boolean"),d=a<0?o.length:a,g=fun(...o.slice(0,d).filter(hye)),m=C5t(o.slice(d));return{nodeName:s,attributes:g,children:m,key:g.key}}function tM(...s){return h3("a",...s)}function Y0(...s){return h3("button",...s)}function I5t(...s){return h3("details",...s)}function Vi(...s){return h3("div",...s)}function hun(...s){return h3("input",...s)}function I7(...s){return h3("pre",...s)}function zu(...s){return h3("span",...s)}function S5t(...s){return h3("summary",...s)}async function T5t(s,o,a,d){if(d())return{cancel:!0,updates:[]};let g=o.firstSegment,m=g?o.remainder:o;if(await s.component.onNavigate(o,a)===!1||d())return{cancel:!0,updates:[]};let v=[];if(g){let A=s.children.find(T=>T.routeSegment===g)?.router;if(!A)return{cancel:!0,updates:[]};for(let T of dun(A).reverse()){if(await T.component.onNavigate(o,a)===!1||d())return{cancel:!0,updates:[]};v.push({router:T,segment:g})}let I=await T5t(A,m,a,d);if(I.cancel)return{cancel:!0,updates:[]};v.push(...I.updates)}return d()?{cancel:!0,updates:[]}:(v.push({router:s,segment:g}),{cancel:!1,updates:v})}var dun=s=>Dvt(s.rootToHereRouters.reverse().slice(1),o=>o.isTransparent),w4=class C7{constructor(o,a=""){if(vs(this,"segments"),vs(this,"query"),Array.isArray(o)){this.segments=o.filter(Boolean),this.query=a;return}let[d,g]=o.split("?"),m=d.replace(/^\/+/g,"").replace(/\/+$/g,"");this.segments=m?m.split("/"):[],this.query=a||g||""}get pathOnly(){return new C7(this.segments)}get firstSegment(){return this.segments[0]}get remainder(){return new C7(this.segments.slice(1),this.query)}withQuery(o){let a=o.replace(/^\?/,"");return new C7(this.segments,a)}concat(o){let a=o instanceof C7?o:new C7(o);return new C7([...this.segments,...a.segments],a.query||this.query)}toString(){return"/"+this.segments.join("/")+(this.query?`?${this.query}`:"")}equals(o){return this.query!==o.query||this.segments.length!==o.segments.length?!1:this.segments.every((a,d)=>a===o.segments[d])}relativeTo(o){return o.segments.length===0?this:o.segments.every((d,g)=>this.segments[g]===d)?new C7(this.segments.slice(o.segments.length),this.query):this}},pun=class{constructor(s){vs(this,"_component"),vs(this,"_activeSegment",""),vs(this,"_navigationVersion",0),vs(this,"_inFlight"),vs(this,"routeService"),this._component=s}navigate(s,o="PUSH"){let a=s instanceof w4?s:new w4(s),d=this.root,g=d.activeLeaf.rootToHereRouters,m=a.pathOnly,v=a.query,I=this.rootToHereRoute.concat(m).withQuery(v),T=this.getInFlight(I);if(T)return T;let B=this.bumpNavigationVersion();if(this.shouldShortCircuit(I,o))return Promise.resolve(!0);let L=(async()=>{let R=await T5t(this.root,I,o,B);if(R.cancel)return!1;for(let{router:Q,segment:U}of R.updates)Q._activeSegment=U;return this.root.routeService.currentRoute=I,this.root.routeService?.syncHistory(o),this.clearActiveSegments(g),this.fireRouterUpdateEvent(),this.fireNavigated(),!0})();return d._inFlight={route:I,promise:L},L.finally(()=>{d._inFlight?.promise===L&&(d._inFlight=void 0)}),L}get component(){return this._component}fireRouterUpdateEvent(){let s=this.root.routeService?.currentRoute;s&&this.component.update({cause:"router",key:"route",value:s.toString()})}bumpNavigationVersion(){this.root._navigationVersion++;let s=this.root._navigationVersion;return()=>s!==this.root._navigationVersion}getInFlight(s){return this.root._inFlight?.route.equals(s)?this.root._inFlight.promise:void 0}shouldShortCircuit(s,o){let a=this.root.routeService?.currentRoute;return o!=="POP"&&a?s.equals(a):!1}fireNavigated(){this.root.activeLeaf.rootToHereRouters.forEach(s=>s.component.onNavigated())}clearActiveSegments(s){let o=this.root.activeLeaf.rootToHereRouters;s.filter(a=>!o.includes(a)).forEach(a=>a._activeSegment="")}get activeSegment(){return this._activeSegment}get activeLeaf(){if(this.isActive)return this.activeChild?.router.activeLeaf??this}get isActive(){return this.parent?this.parent.activeChild?.router===this:!0}get parent(){let s=this.component.ctx.parent;for(;s&&!dye(s);)s=s.ctx.parent;return s?s.router:void 0}get rootToHereRouters(){let s=[];for(let o=this;o;o=o.parent)s.unshift(o);return s}get rootToHereRoute(){let s=this.rootToHereRouters.filter(o=>!o.isTransparent).map(o=>o.component.routeSegment);return new w4(s)}get root(){return this.parent?this.parent.root:this}get children(){return this.component.ctx.children.flatMap(s=>dye(s)?s.router.isTransparent?s.router.children:[s]:[])}child(s){return this.children.find(o=>o.routeSegment===s)}get activeChild(){return this.child(this.activeSegment)}get isTransparent(){return this.component.routeSegment===""}link(s,...o){let a=s instanceof w4?s:new w4(s),d=this.root.routeService?.basePath.concat(this.rootToHereRoute).concat(a).toString();return tM({href:d,onClick:g=>{g.preventDefault(),this.navigate(a)}},...o)}};function dye(s){return typeof s=="object"&&s!==null&&"router"in s&&s.router instanceof pun}var Tee={push(s){window.history.pushState({},"",s.toString()),window.dispatchEvent(new PopStateEvent("popstate",{state:{}}))},replace(s){window.history.replaceState({},"",s.toString()),window.dispatchEvent(new PopStateEvent("popstate",{state:{}}))},back(){window.history.back()},listen(s){window.addEventListener("popstate",()=>{s(new w4(window.location.pathname+window.location.search),"POP")})},get location(){return new w4(window.location.pathname+window.location.search)}},gun=class{constructor(s){this.service=s,vs(this,"_registered",!1)}ensureListener(){this.service.root.parent||this._registered||(this._registered=!0,Tee.listen((s,o)=>{o==="POP"&&this.service.navigateAbsolute(s,"POP")}))}sync(s){if(s==="POP")return;let o=this.service.basePath.concat(this.service.currentRoute);o.equals(Tee.location)?Tee.replace(o):Tee.push(o)}},bun=class{constructor(s={}){vs(this,"_basePath"),vs(this,"_history"),vs(this,"_root"),vs(this,"currentRoute",new w4("")),this._basePath=new w4(s.basePath??"")}get basePath(){return this._basePath}get root(){return this._root}syncHistory(s){this._history?.sync(s)}init(s){let o=s.root;if(!dye(o))return;o.router.routeService=this,this._root=o.router,this._history=new gun(this),this._history.ensureListener();let a=window.location;this.navigateAbsolute(new w4(a.pathname+a.search),"POP")}navigateAbsolute(s,o){let a=s.relativeTo(this._basePath);return this.root.navigate(a,o)}},mun=class{constructor(s,o=[]){this.app=s,vs(this,"_pluginData",[]),vs(this,"_rendered",!1);for(let a of o){let d=a.create?.(s);this._pluginData.push({plugin:a,instance:d})}}onRendered(){if(!this._rendered){this._rendered=!0;for(let{plugin:s,instance:o}of this._pluginData)s.onRendered?.(o)}}onUpdated(s){for(let{plugin:o,instance:a}of this._pluginData)o.onUpdated?.(a,s)}},_5t=class{constructor(s){vs(this,"_lock",!1),vs(this,"_pending",!1),vs(this,"serializer"),vs(this,"renderer"),vs(this,"routeService"),vs(this,"_root"),vs(this,"_props"),vs(this,"_rootElement",null),vs(this,"_id"),vs(this,"_saveDebounce"),vs(this,"_plugins"),this._id=s.id,this._root=s.root,this._props=s,this.renderer=s.renderer??tun(),this._rootElement=document.getElementById(s.id),this._saveDebounce=Mvt(()=>this.save(),200),this.serializer=new run({id:s.id,root:this._root,refresh:()=>this.render(),autoPersist:s.autoPersist??!1}),this.routeService=s.routeService??new bun,this.routeService.init(this),this._root.ctx.attach(this),this._plugins=new mun(this,s.plugins??[]),this.render()}get containerId(){return this._id}get root(){return this._root}render(){if(this._lock){this._pending=!0;return}this._lock=!0,this._pending=!1,requestAnimationFrame(async()=>{try{let s=this._root.view();await E5t.flushClasses(this._props.cssAdapter),this.renderer.patch(s,this._rootElement),this.root.ctx.markRendered(),this._plugins.onRendered()}finally{this._lock=!1,this._pending&&(this._pending=!1,this.render())}})}update(s){!this.serializer||!this._plugins||(this._plugins.onUpdated(s),this._saveDebounce(),this.render())}save(){this._props.autoPersist&&this.serializer.save()}},A5t=["ctx","serializer","serializerMap","validator","router"],v5t=(s,o)=>{try{return typeof s[o]=="function"}catch{return!0}},wun=(s,o)=>{for(let a=s;a;a=Object.getPrototypeOf(a)){let d=Object.getOwnPropertyDescriptor(a,o);if(d)return!!d.set||!!d.writable}return!0},y5t=s=>{let o=new Set;for(let a of Object.keys(s))!A5t.includes(a)&&wun(s,a)&&!a.startsWith("_")&&!v5t(s,a)&&o.add(a);for(let a=Object.getPrototypeOf(s);a&&a!==Object.prototype;a=Object.getPrototypeOf(a))for(let d of Object.getOwnPropertyNames(a)){if(o.has(d)||A5t.includes(d))continue;let g=Object.getOwnPropertyDescriptor(a,d);g.get&&g.set&&!v5t(s,d)&&o.add(d)}return[...o]},M5t=class D5t{constructor(o){vs(this,"_app"),vs(this,"_parent"),vs(this,"_state","detached"),vs(this,"_component"),vs(this,"_componentId"),this._component=o,this._componentId=D5t._globalComponentId++}get component(){return this._component}get state(){return this._state}get componentId(){return this._componentId}get parent(){return this._parent}get app(){return this._app}attach(o){this.attachInternal(o,this.parent)}attachInternal(o,a,d=!1){this.attachTraverse(o,a),d&&this.traversePostOrder(g=>g.onDeserialized()),o&&this.traversePreOrder(g=>{g.ctx.state==="detached"&&(g.ctx._state="updating",g.onAttached())})}attachTraverse(o,a){this._app=o,this._parent=a;for(let d of this.children)d.ctx.attachTraverse(o,this.component)}update(o){this.attachInternal(this.app,this.parent,o?.cause==="serializer"),this.state==="rendered"&&(this._state="updating");let a={...o,component:this.component};for(let d of this.rootToHere.reverse())d.onUpdated(a);this._app?.update(a)}traversePreOrder(o,a=new Set){this.throwOnDupe(a),o(this.component);for(let d of this.children)d.ctx.traversePreOrder(o,a)}traversePostOrder(o,a=new Set){this.throwOnDupe(a);for(let d of this.children)d.ctx.traversePostOrder(o,a);o(this.component)}markRendered(){this.traversePreOrder(o=>{o.ctx._state="rendered",o.onRendered()})}get root(){let o=this.component;for(;o?.ctx?.parent;)o=o.ctx.parent;return o}get rootToHere(){let o=[],a=this.component;for(;a;)o.unshift(a),a=a.ctx.parent;return o}get children(){return y5t(this.component).flatMap(o=>{let a=this.component[o];return a instanceof El?[a]:Array.isArray(a)?a.filter(d=>d instanceof El):[]})}get keys(){return y5t(this.component)}throwOnDupe(o){if(o.has(this.component)){let a=this.rootToHere.map(d=>`${d.constructor.name}-${d.ctx.componentId}`).join(" -> ");throw new Error(`Component graph invariant violated: duplicate reference or cycle at Path: ${a}
28
- Hint: use a get-only property or a private field (_ or #) for back references.`)}o.add(this.component)}childrenKeys(){return this.keys.filter(o=>this.component[o]instanceof El)}childByKey(o){if(!this.keys.includes(o))return;let a=this.component[o];return a instanceof El?a:void 0}childKey(o){return this.keys.find(a=>this.component[a]===o)}qualify(o){return`${kee(o)}-${this._componentId}`}};vs(M5t,"_globalComponentId",1);var Aun=M5t,vun=new Map([[Date,{toJSON:s=>s instanceof Date?s.toISOString():s,fromJSON:s=>{if(s==null)return s;let o=s instanceof Date?s:new Date(s);return isNaN(o.getTime())?void 0:o}}]]),fye=s=>vun.get(s),yun=class{constructor(s){this.component=s,vs(this,"fromJSON",(o,a)=>{if(!o)return a;let d=fye(o);if(d?.fromJSON)return d.fromJSON(a);let g=new o;return g instanceof El&&g.serializer.deserializeInternal(a),g})}get keys(){let s=this.component.serializerMap;return this.component.ctx.keys.filter(o=>s[o]!==null)}serialize(){let s={},o=this.component.serializerMap;for(let a of this.keys){let d=this.component[a];if(d instanceof El)s[a]=d.serializer.serialize();else if(Array.isArray(d))s[a]=d.map(g=>{if(g instanceof El)return g.serializer.serialize();let m=g?.constructor?fye(g.constructor):void 0;return m?.toJSON?m.toJSON(g):x5t(g)});else if(k5t(d)||_ee(d))s[a]=d;else if(a in o){let g=fye(o[a]);s[a]=g?.toJSON?g.toJSON(d):x5t(d)}}return s}deserialize(s){this.deserializeInternal(s),this.component.update({cause:"serializer"})}deserializeInternal(s){if(!s)return;let o=this.component.serializerMap,a=new Set([...this.component.ctx.keys,...Object.keys(o)]),d=this.component;for(let[g,m]of Object.entries(s)){if(o[g]===null||!a.has(g))continue;let v=o[g],A=d[g];if(v){if(Array.isArray(v)&&Array.isArray(m)){let I=v[0];d[g]=m.map((T,B)=>{let L=A?.[B];return L instanceof El?(L.serializer.deserializeInternal(T),L):this.fromJSON(I,T)});continue}if(!Array.isArray(v)&&!Array.isArray(m)){A instanceof El?(A.serializer.deserializeInternal(m),d[g]=A):d[g]=this.fromJSON(v,m);continue}d[g]=m;continue}if(A instanceof El){A.serializer.deserializeInternal(m);continue}if(Array.isArray(A)&&Array.isArray(m)){if(!v){d[g]=m;continue}let I=Math.min(A.length,m.length);for(let T=0;T<I;T++){let B=A[T],L=m[T];B instanceof El?B.serializer.deserializeInternal(L):_ee(B)&&_ee(L)?Object.assign(B,L):A[T]=L}continue}(k5t(m)||_ee(m)||Array.isArray(m))&&(d[g]=m)}}},k5t=s=>s==null||typeof s!="object"&&typeof s!="function",_ee=s=>{let o=s&&typeof s=="object"?Object.getPrototypeOf(s):null;return o===Object.prototype||o===null},x5t=s=>JSON.parse(JSON.stringify(s)),El=class{constructor(){vs(this,"ctx",new Aun(this)),vs(this,"serializer",new yun(this)),vs(this,"serializerMap",{}),Bvt(this,["ctx","serializer"])}view(...s){return Vi(this.constructor.name)}update(s){this.ctx.update(s)}onAttached(){}onUpdated(s){}onRendered(){}async onValidate(){return[]}async onNavigate(s,o){}onNavigated(){}onDeserialized(){}},B5t=(s,o)=>s[kee(o)],kun=(s,o,a)=>{let d=kee(o);a!=B5t(s,o)&&(s[d]=a,s.update({cause:"input",key:d,value:a}))};function xun(s,o){return{value:String(B5t(s,o)??""),onInput:a=>kun(s,o,a.target.value)}}function L5t(s){let{id:o,target:a,prop:d,attrs:g}=s;return hun({type:"text",id:o,...g,...xun(a,d)})}function N5t(...s){return h3("path",...s)}function O5t(...s){return h3("rect",...s)}function j5t(...s){return h3("svg",...s)}function Mee(s){return Vi({class:"bulb-filter-control"},L5t({target:s.target,prop:s.prop,id:s.id,attrs:{class:"bulb-filter",placeholder:s.placeholder,ariaLabel:s.placeholder,onKeyDown:s.onKeyDown}}),s.hasValue?Y0({class:"bulb-filter-clear",type:"button",title:"Clear filter",ariaLabel:"Clear filter",onClick:o=>{o.stopPropagation(),s.onClear()}},"\xD7"):null)}function R5t(s,o){let a=!0,d=g=>{g.target?.closest(s)||o()};return setTimeout(()=>{a&&document.addEventListener("click",d)},0),()=>{a=!1,document.removeEventListener("click",d)}}var pye=class extends El{open=!1;#e;get parent(){return this.ctx.parent}beginOpen(){this.parent.closePopups(this),this.open=!0}armClose(){this.#e?.(),this.#e=R5t(this.keepOpenSelector,()=>this.close())}close(){this.#e?.(),this.#e=void 0,this.open&&(this.open=!1,this.onClosed(),this.update())}onClosed(){}},nM=class extends pye{filter="";highlighted=0;onClosed(){this.filter="",this.highlighted=0}focusFilter(){setTimeout(()=>document.getElementById(this.filterId)?.focus())}clearFilter(){this.filter="",this.highlighted=0,this.update(),this.focusFilter()}moveHighlight(o){let a=this.itemCount();a&&(this.highlighted=Math.max(0,Math.min(this.highlighted+o,a-1)),this.update(),setTimeout(()=>this.listEl()?.children[this.highlighted]?.scrollIntoView({block:"nearest"})))}activateHighlighted(){let o=this.itemCount();o&&this.onActivate(Math.max(0,Math.min(this.highlighted,o-1)))}onFilterKey(o){o.key==="Escape"?this.close():o.key==="ArrowDown"?(o.preventDefault(),this.moveHighlight(1)):o.key==="ArrowUp"?(o.preventDefault(),this.moveHighlight(-1)):o.key==="Enter"?(o.preventDefault(),this.activateHighlighted()):this.highlighted=0}};var Gd=s=>typeof s=="string"?s:void 0;var gye=s=>`turn-${s%5}`;function Dee(s){let o=Math.max(0,Date.now()-s);return o<6e4?"now":o<36e5?`${Math.floor(o/6e4)}m`:o<864e5?`${Math.floor(o/36e5)}h`:o<7*864e5?`${Math.floor(o/864e5)}d`:new Date(s).toLocaleDateString()}function P5t(s){return s<1e3?`${s}`:s<1e4?`${(s/1e3).toFixed(1)}k`:s<1e6?`${Math.round(s/1e3)}k`:`${(s/1e6).toFixed(1)}M`}function Bee(s,o){return s.length>o?s.slice(0,o).trimEnd()+"\u2026":s}function e6(s){return s.replace(/\\/g,"/").toLowerCase()}function bye(s){return s.replace(/[/\\]+$/,"").split(/[/\\]/).pop()??""}function Lee(s){return bye(s).replace(/\.bulb\.md$/,"")}var Nee=class extends nM{sessions=[];keepOpenSelector=".sid-wrap";filterId="session-filter";itemCount(){return this.filtered().length}listEl(){return document.getElementById("session-list")}onActivate(o){let a=this.filtered()[o];a&&this.pick(a.sessionId)}filtered(){let o=this.filter.trim().toLowerCase();return o?this.sessions.filter(a=>a.preview.toLowerCase().includes(o)):this.sessions}currentIndex(){let a=this.filtered().findIndex(d=>d.sessionId===this.parent.sessionId);return a<0?0:a}onAttached(){tb.server.listSessions().then(o=>{this.sessions=o,this.parent.updateTitle(),this.update()}).catch(()=>{})}currentPreview(){return this.sessions.find(o=>o.sessionId===this.parent.sessionId)?.preview?.trim()??""}async show(){this.beginOpen(),this.highlighted=this.currentIndex(),this.update(),this.focusFilter();try{this.sessions=await tb.server.listSessions(),this.highlighted=this.currentIndex(),this.parent.updateTitle(),this.update()}catch(o){console.error("[claude-bulb] listSessions failed",o)}this.armClose()}async pick(o){this.close(),this.parent.messageList.stickToBottomNextRender(),await tb.server.attach(o)}view(){let o=this.parent;if(!o.sessionId)return Vi({class:"sid-wrap"});let a=this.currentPreview()||"current",d=Bee(a,25),g=`${o.cwd}
29
- Session: ${o.sessionId}`;return Vi({class:"sid-wrap"},Y0({class:"pill",title:g,onClick:m=>{m.stopPropagation(),this.open?this.close():this.show()}},d),this.open?this.picker():null)}picker(){let o=this.filtered();return Vi({class:"picker"},Mee({target:this,prop:()=>this.filter,id:"session-filter",placeholder:"Filter sessions\u2026",hasValue:!!this.filter,onKeyDown:a=>this.onFilterKey(a),onClear:()=>this.clearFilter()}),o.length===0?Vi({class:"picker-empty"},this.filter?"No match.":"No sessions yet \u2014 start one in your terminal."):Vi({id:"session-list",class:"picker-list"},o.map((a,d)=>this.pickerRow(a,d))))}pickerRow(o,a){let d=o.sessionId===this.parent.sessionId;return Vi({class:["picker-row",a===this.highlighted?"active":"",d?"current":""],onMouseEnter:()=>{this.highlighted!==a&&(this.highlighted=a,this.update())},onClick:()=>this.pick(o.sessionId)},zu({class:"picker-dot"}),zu({class:"picker-preview"},o.preview||"(no preview)"),zu({class:"picker-time"},Dee(o.mtime)))}};var Oee=class extends El{get parent(){return this.ctx.parent}view(){let o=this.parent.tokens,a=o.in+o.out+o.cached+o.cacheCreate;return a<=0?zu({class:"token-wrap"}):zu({class:"token-wrap"},zu({class:"token"},`${P5t(a)} tokens`))}};var F5t=(...s)=>j5t({viewBox:"0 0 16 16",width:"13",height:"13",class:"btn-icon"},...s),Eun=()=>F5t(N5t({d:"M5.5 2 L15.5 8 L5.5 14 Z",fill:"currentColor"})),Cun=()=>F5t(O5t({x:3,y:3,width:10,height:10,fill:"currentColor"})),jee=class extends nM{files=[];servers=[];keepOpenSelector=".servers-wrap";filterId="bulb-filter";launching=new Set;dismissedDenials=new Set;pendingLaunch;openLog;#e;itemCount(){return this.rows().length}listEl(){return document.querySelector(".bulb-list")}onActivate(o){let a=this.rows()[o];a&&(a.running?window.open(a.running.url,"_blank","noopener"):this.launch(a.path))}onAttached(){this.refresh(),setInterval(()=>this.refreshServers(),800),setInterval(()=>this.refreshFiles(),3e3),window.addEventListener("tb-breakout",()=>this.refreshServers())}refresh(){return Promise.all([this.refreshServers(),this.refreshFiles()])}async refreshServers(){try{let o=await tb.server.listBreakouts(),a=o.length!==this.servers.length||o.some((d,g)=>d.pid!==this.servers[g]?.pid||d.denied!==this.servers[g]?.denied||d.predicted!==this.servers[g]?.predicted||d.trust!==this.servers[g]?.trust);this.servers=o,a&&this.update()}catch(o){console.error("[claude-bulb] server list refresh failed",o)}}async refreshFiles(){try{let o=await tb.server.listBulbFiles(),a=o.length!==this.files.length||o.some((d,g)=>d.path!==this.files[g]?.path||d.mtime!==this.files[g]?.mtime);this.files=o,a&&this.update()}catch(o){console.error("[claude-bulb] bulb list refresh failed",o)}}rows(){let o=new Map;for(let g of this.files)o.set(e6(g.path),{path:g.path,name:g.name,recent:g.mtime,trusted:g.trusted});for(let g of this.servers){if(g.pid===this.parent.ownPid)continue;let m=e6(g.file),v=Lee(g.file)||g.file,A=o.get(m)??{path:g.file,name:v,recent:0};A.running=g,A.recent=Math.max(A.recent,g.startedAt),o.set(m,A)}let a=this.filter.trim().toLowerCase(),d=[...o.values()];return a&&(d=d.filter(g=>g.name.toLowerCase().includes(a)||g.path.toLowerCase().includes(a))),d.sort((g,m)=>m.recent-g.recent)}show(){this.beginOpen(),this.highlighted=0,this.refresh(),this.update(),this.armClose(),this.focusFilter()}onClosed(){super.onClosed(),this.closeLog()}async launch(o){if(!this.files.find(d=>e6(d.path)===e6(o))?.trusted){let d;try{d=(await tb.server.predictTrustOf(o)).cap}catch(g){console.error("[claude-bulb] predictTrustOf failed",g)}if(d){this.pendingLaunch={path:o,name:this.displayName(o),cap:d},this.update();return}}await this.doLaunch(o)}async doLaunch(o,a,d=!1){let g=e6(o);this.launching.add(g),this.update();let m;try{m=(await tb.server.launchBulb(o,a)).pid}catch(v){console.error("[claude-bulb] launchBulb failed",v)}finally{this.launching.delete(g)}d&&m&&this.dismissedDenials.add(m),await this.refresh()}displayName(o){return this.files.find(d=>e6(d.path)===e6(o))?.name||Lee(o)||o}launchTrusted(){let o=this.pendingLaunch;this.pendingLaunch=void 0,o&&this.doLaunch(o.path,!0)}launchRestricted(){let o=this.pendingLaunch;this.pendingLaunch=void 0,o&&this.doLaunch(o.path,void 0,!0)}cancelLaunch(){this.pendingLaunch=void 0,this.update()}async stop(o){this.openLog?.pid===o&&this.closeLog(),this.dismissedDenials.delete(o);try{await tb.server.stopBreakout(o)}catch(a){console.error("[claude-bulb] stopBreakout failed",a)}await this.refresh()}pendingDenial(){return this.servers.find(o=>o.denied&&o.pid!==this.parent.ownPid&&!this.dismissedDenials.has(o.pid))}async elevate(o){this.dismissedDenials.add(o.pid),this.openLog?.pid===o.pid&&this.closeLog();try{await tb.server.stopBreakout(o.pid),await tb.server.launchBulb(o.file,!0)}catch(a){console.error("[claude-bulb] elevate failed",a)}await this.refresh()}dismissDenial(o){this.dismissedDenials.add(o),this.update()}async toggleTrust(o){let a=!(o.running?o.running.trust:o.trusted);try{await tb.server.setBulbTrust(o.path,a),o.running&&(this.openLog?.pid===o.running.pid&&this.closeLog(),await tb.server.stopBreakout(o.running.pid),await tb.server.launchBulb(o.path,a))}catch(d){console.error("[claude-bulb] toggleTrust failed",d)}await this.refresh()}showLog(o,a){if(this.openLog?.pid===o.pid){this.closeLog();return}this.closeLog(),this.openLog={pid:o.pid,name:a,text:"",offset:0},this.update(),setTimeout(()=>document.getElementById("bulb-console")?.focus()),this.#t(),this.#e=setInterval(()=>this.#t(),700)}closeLog(){this.#e&&(clearInterval(this.#e),this.#e=void 0),this.openLog&&(this.openLog=void 0,this.update())}async#t(){let o=this.openLog;if(o)try{let{text:a,offset:d}=await tb.server.readBulbLog(o.pid,o.offset);if(this.openLog!==o)return;a?(o.text=(o.text+a).slice(-5e4),o.offset=d,this.update()):d!==o.offset&&(o.offset=d)}catch(a){console.error("[claude-bulb] readBulbLog failed",a)}}view(){let o=this.servers.filter(m=>m.pid!==this.parent.ownPid).length;if(!(this.files.length>0)&&o===0)return Vi({class:"servers-wrap"});let d=o>0?`${o} running`:"bulbs",g=this.pendingDenial();return Vi({class:"servers-wrap"},Y0({class:"pill",title:"Launch a project bulb \xB7 stop a running one",onClick:m=>{m.stopPropagation(),this.open?this.close():this.show()}},d),this.open?this.popup():null,this.pendingLaunch?this.launchModal(this.pendingLaunch):g?this.denialModal(g):null)}trustModal(o){return Vi({class:"trust-back",onClick:a=>{a.stopPropagation(),o.onDismiss()}},Vi({class:"trust-modal",onClick:a=>a.stopPropagation()},Vi({class:"trust-modal-h"},o.heading),Vi({class:"trust-modal-b"},o.body),Vi({class:"trust-modal-warn"},o.warn),Vi({class:"trust-modal-acts"},Y0({class:"trust-no",onClick:a=>{a.stopPropagation(),o.onNo()}},o.noLabel),Y0({class:"trust-yes",onClick:a=>{a.stopPropagation(),o.onYes()}},o.yesLabel))))}launchModal(o){return this.trustModal({heading:`\u201C${o.name}\u201D will likely need access`,body:`It looks like it uses ${o.cap}, which is blocked unless you launch it Trusted. Launch Trusted to allow filesystem / AI / server.ts?`,warn:"Only trust bulbs you wrote or have read \u2014 be careful with anything off the internet.",noLabel:"Launch restricted",yesLabel:"Launch trusted",onNo:()=>this.launchRestricted(),onYes:()=>this.launchTrusted(),onDismiss:()=>this.cancelLaunch()})}denialModal(o){let a=Lee(o.file)||o.file,d=!o.predicted;return this.trustModal({heading:d?`\u201C${a}\u201D reached for access it didn't declare`:`\u201C${a}\u201D wants more access`,body:d?`It tried to use ${o.denied} at runtime, though nothing in its code obviously needed it. Relaunch it Trusted to allow filesystem / AI / server.ts?`:`It tried to use ${o.denied}, blocked while it's restricted. Relaunch it Trusted to allow filesystem / AI / server.ts?`,warn:d?"Code that reaches for capabilities it never visibly uses can be hiding something \u2014 only continue if you wrote this bulb or have read it.":"Only trust bulbs you wrote or have read \u2014 be careful with anything off the internet.",noLabel:"Keep restricted",yesLabel:"Trust & relaunch",onNo:()=>this.dismissDenial(o.pid),onYes:()=>this.elevate(o),onDismiss:()=>this.dismissDenial(o.pid)})}popup(){if(this.openLog)return this.consoleView(this.openLog);let o=this.rows();return Vi({class:"servers-pop"},Mee({target:this,prop:()=>this.filter,id:"bulb-filter",placeholder:"Filter bulbs\u2026",hasValue:!!this.filter,onKeyDown:a=>this.onFilterKey(a),onClear:()=>this.clearFilter()}),o.length===0?Vi({class:"picker-empty"},this.filter?"No match.":"No bulbs in this project yet."):Vi({class:"bulb-list"},o.map((a,d)=>this.row(a,d))))}consoleView(o){return Vi({id:"bulb-console",class:"servers-pop log-mode",tabIndex:0,onKeyDown:a=>{a.key==="Escape"&&(a.stopPropagation(),this.closeLog())}},Vi({class:"bulb-log-head"},zu({class:"bulb-log-name"},`console \xB7 ${o.name}`),Y0({class:"bulb-log-back",title:"Back to the bulb list",onClick:a=>{a.stopPropagation(),this.closeLog()}},"\u2190 bulbs")),I7({class:"bulb-log-body"},zu({class:"bulb-log-text"},o.text||"(no output yet)")))}row(o,a){let d=o.running,g=d&&this.openLog?.pid===d.pid,m=d?!!d.trust:!!o.trusted;return Vi({class:["server-row",a===this.highlighted?"active":""],onMouseEnter:()=>{this.highlighted!==a&&(this.highlighted=a,this.update())}},d?Y0({class:"server-stop",title:"Stop this server",ariaLabel:"Stop",onClick:v=>{v.stopPropagation(),this.stop(d.pid)}},Cun()):Y0({class:["bulb-launch",this.launching.has(e6(o.path))?"launching":""],title:m?"Launch (trusted \u2014 remembered)":"Launch (restricted)",ariaLabel:"Launch",onClick:v=>{v.stopPropagation(),this.launch(o.path)}},Eun()),zu({class:["server-name",d?"":"stopped"],title:`Open ${o.path}`,onClick:v=>{v.stopPropagation(),tb.server.openFile(o.path)}},o.name),d||m?this.trustToggle(o,m):zu({class:"cell-empty"}),d?tM({class:["server-logs",g?"on":""],title:"Show this server\u2019s console",onClick:v=>{v.stopPropagation(),this.showLog(d,o.name)}},"logs"):zu({class:"cell-empty"}),d?tM({class:"server-port",href:d.url,target:"_blank",rel:"noopener noreferrer",title:`Open ${d.url}`},`:${d.port}`):zu({class:"bulb-time"},Dee(o.recent)))}trustToggle(o,a){return Y0({class:["trust-toggle",a?"on":""],title:`${a?"Trusted":"Restricted"} \u2014 click to switch to ${a?"restricted":"trusted"}`+(o.running?" (stops + relaunches it)":""),onClick:d=>{d.stopPropagation(),this.toggleTrust(o)}},a?"trusted":"restricted")}};var Cye={};V_(Cye,{arrayReplaceAt:()=>Eye,asciiTrim:()=>gC,assign:()=>oM,escapeHtml:()=>n6,escapeRE:()=>can,fromCodePoint:()=>cM,has:()=>Yun,isMdAsciiPunct:()=>dC,isPunctChar:()=>o6t,isPunctCharCode:()=>hC,isSpace:()=>jo,isString:()=>Kee,isValidEntityCode:()=>Wee,isWhiteSpace:()=>fC,lib:()=>uan,normalizeReference:()=>pC,unescapeAll:()=>t6,unescapeMd:()=>tan});var Hee={};V_(Hee,{decode:()=>pF,encode:()=>Fee,format:()=>rM,parse:()=>gF});var $5t={};function Iun(s){let o=$5t[s];if(o)return o;o=$5t[s]=[];for(let a=0;a<128;a++){let d=String.fromCharCode(a);o.push(d)}for(let a=0;a<s.length;a++){let d=s.charCodeAt(a);o[d]="%"+("0"+d.toString(16).toUpperCase()).slice(-2)}return o}function Ree(s,o){typeof o!="string"&&(o=Ree.defaultChars);let a=Iun(o);return s.replace(/(%[a-f0-9]{2})+/gi,function(d){let g="";for(let m=0,v=d.length;m<v;m+=3){let A=parseInt(d.slice(m+1,m+3),16);if(A<128){g+=a[A];continue}if((A&224)===192&&m+3<v){let I=parseInt(d.slice(m+4,m+6),16);if((I&192)===128){let T=A<<6&1984|I&63;T<128?g+="\uFFFD\uFFFD":g+=String.fromCharCode(T),m+=3;continue}}if((A&240)===224&&m+6<v){let I=parseInt(d.slice(m+4,m+6),16),T=parseInt(d.slice(m+7,m+9),16);if((I&192)===128&&(T&192)===128){let B=A<<12&61440|I<<6&4032|T&63;B<2048||B>=55296&&B<=57343?g+="\uFFFD\uFFFD\uFFFD":g+=String.fromCharCode(B),m+=6;continue}}if((A&248)===240&&m+9<v){let I=parseInt(d.slice(m+4,m+6),16),T=parseInt(d.slice(m+7,m+9),16),B=parseInt(d.slice(m+10,m+12),16);if((I&192)===128&&(T&192)===128&&(B&192)===128){let L=A<<18&1835008|I<<12&258048|T<<6&4032|B&63;L<65536||L>1114111?g+="\uFFFD\uFFFD\uFFFD\uFFFD":(L-=65536,g+=String.fromCharCode(55296+(L>>10),56320+(L&1023))),m+=9;continue}}g+="\uFFFD"}return g})}Ree.defaultChars=";/?:@&=+$,#";Ree.componentChars="";var pF=Ree;var H5t={};function Sun(s){let o=H5t[s];if(o)return o;o=H5t[s]=[];for(let a=0;a<128;a++){let d=String.fromCharCode(a);/^[0-9a-z]$/i.test(d)?o.push(d):o.push("%"+("0"+a.toString(16).toUpperCase()).slice(-2))}for(let a=0;a<s.length;a++)o[s.charCodeAt(a)]=s[a];return o}function Pee(s,o,a){typeof o!="string"&&(a=o,o=Pee.defaultChars),typeof a>"u"&&(a=!0);let d=Sun(o),g="";for(let m=0,v=s.length;m<v;m++){let A=s.charCodeAt(m);if(a&&A===37&&m+2<v&&/^[0-9a-f]{2}$/i.test(s.slice(m+1,m+3))){g+=s.slice(m,m+3),m+=2;continue}if(A<128){g+=d[A];continue}if(A>=55296&&A<=57343){if(A>=55296&&A<=56319&&m+1<v){let I=s.charCodeAt(m+1);if(I>=56320&&I<=57343){g+=encodeURIComponent(s[m]+s[m+1]),m++;continue}}g+="%EF%BF%BD";continue}g+=encodeURIComponent(s[m])}return g}Pee.defaultChars=";/?:@&=+$,-_.!~*'()#";Pee.componentChars="-_.!~*'()";var Fee=Pee;function rM(s){let o="";return o+=s.protocol||"",o+=s.slashes?"//":"",o+=s.auth?s.auth+"@":"",s.hostname&&s.hostname.indexOf(":")!==-1?o+="["+s.hostname+"]":o+=s.hostname||"",o+=s.port?":"+s.port:"",o+=s.pathname||"",o+=s.search||"",o+=s.hash||"",o}function $ee(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var Tun=/^([a-z0-9.+-]+:)/i,_un=/:[0-9]*$/,Mun=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Dun=["<",">",'"',"`"," ","\r",`
28
+ Hint: use a get-only property or a private field (_ or #) for back references.`)}o.add(this.component)}childrenKeys(){return this.keys.filter(o=>this.component[o]instanceof El)}childByKey(o){if(!this.keys.includes(o))return;let a=this.component[o];return a instanceof El?a:void 0}childKey(o){return this.keys.find(a=>this.component[a]===o)}qualify(o){return`${kee(o)}-${this._componentId}`}};vs(M5t,"_globalComponentId",1);var Aun=M5t,vun=new Map([[Date,{toJSON:s=>s instanceof Date?s.toISOString():s,fromJSON:s=>{if(s==null)return s;let o=s instanceof Date?s:new Date(s);return isNaN(o.getTime())?void 0:o}}]]),fye=s=>vun.get(s),yun=class{constructor(s){this.component=s,vs(this,"fromJSON",(o,a)=>{if(!o)return a;let d=fye(o);if(d?.fromJSON)return d.fromJSON(a);let g=new o;return g instanceof El&&g.serializer.deserializeInternal(a),g})}get keys(){let s=this.component.serializerMap;return this.component.ctx.keys.filter(o=>s[o]!==null)}serialize(){let s={},o=this.component.serializerMap;for(let a of this.keys){let d=this.component[a];if(d instanceof El)s[a]=d.serializer.serialize();else if(Array.isArray(d))s[a]=d.map(g=>{if(g instanceof El)return g.serializer.serialize();let m=g?.constructor?fye(g.constructor):void 0;return m?.toJSON?m.toJSON(g):x5t(g)});else if(k5t(d)||_ee(d))s[a]=d;else if(a in o){let g=fye(o[a]);s[a]=g?.toJSON?g.toJSON(d):x5t(d)}}return s}deserialize(s){this.deserializeInternal(s),this.component.update({cause:"serializer"})}deserializeInternal(s){if(!s)return;let o=this.component.serializerMap,a=new Set([...this.component.ctx.keys,...Object.keys(o)]),d=this.component;for(let[g,m]of Object.entries(s)){if(o[g]===null||!a.has(g))continue;let v=o[g],A=d[g];if(v){if(Array.isArray(v)&&Array.isArray(m)){let I=v[0];d[g]=m.map((T,B)=>{let L=A?.[B];return L instanceof El?(L.serializer.deserializeInternal(T),L):this.fromJSON(I,T)});continue}if(!Array.isArray(v)&&!Array.isArray(m)){A instanceof El?(A.serializer.deserializeInternal(m),d[g]=A):d[g]=this.fromJSON(v,m);continue}d[g]=m;continue}if(A instanceof El){A.serializer.deserializeInternal(m);continue}if(Array.isArray(A)&&Array.isArray(m)){if(!v){d[g]=m;continue}let I=Math.min(A.length,m.length);for(let T=0;T<I;T++){let B=A[T],L=m[T];B instanceof El?B.serializer.deserializeInternal(L):_ee(B)&&_ee(L)?Object.assign(B,L):A[T]=L}continue}(k5t(m)||_ee(m)||Array.isArray(m))&&(d[g]=m)}}},k5t=s=>s==null||typeof s!="object"&&typeof s!="function",_ee=s=>{let o=s&&typeof s=="object"?Object.getPrototypeOf(s):null;return o===Object.prototype||o===null},x5t=s=>JSON.parse(JSON.stringify(s)),El=class{constructor(){vs(this,"ctx",new Aun(this)),vs(this,"serializer",new yun(this)),vs(this,"serializerMap",{}),Bvt(this,["ctx","serializer"])}view(...s){return Vi(this.constructor.name)}update(s){this.ctx.update(s)}onAttached(){}onUpdated(s){}onRendered(){}async onValidate(){return[]}async onNavigate(s,o){}onNavigated(){}onDeserialized(){}},B5t=(s,o)=>s[kee(o)],kun=(s,o,a)=>{let d=kee(o);a!=B5t(s,o)&&(s[d]=a,s.update({cause:"input",key:d,value:a}))};function xun(s,o){return{value:String(B5t(s,o)??""),onInput:a=>kun(s,o,a.target.value)}}function L5t(s){let{id:o,target:a,prop:d,attrs:g}=s;return hun({type:"text",id:o,...g,...xun(a,d)})}function N5t(...s){return h3("path",...s)}function O5t(...s){return h3("rect",...s)}function j5t(...s){return h3("svg",...s)}function Mee(s){return Vi({class:"bulb-filter-control"},L5t({target:s.target,prop:s.prop,id:s.id,attrs:{class:"bulb-filter",placeholder:s.placeholder,ariaLabel:s.placeholder,onKeyDown:s.onKeyDown}}),s.hasValue?Y0({class:"bulb-filter-clear",type:"button",title:"Clear filter",ariaLabel:"Clear filter",onClick:o=>{o.stopPropagation(),s.onClear()}},"\xD7"):null)}function R5t(s,o){let a=!0,d=g=>{g.target?.closest(s)||o()};return setTimeout(()=>{a&&document.addEventListener("click",d)},0),()=>{a=!1,document.removeEventListener("click",d)}}var pye=class extends El{open=!1;#e;get parent(){return this.ctx.parent}beginOpen(){this.parent.closePopups(this),this.open=!0}armClose(){this.#e?.(),this.#e=R5t(this.keepOpenSelector,()=>this.close())}close(){this.#e?.(),this.#e=void 0,this.open&&(this.open=!1,this.onClosed(),this.update())}onClosed(){}},nM=class extends pye{filter="";highlighted=0;onClosed(){this.filter="",this.highlighted=0}focusFilter(){setTimeout(()=>document.getElementById(this.filterId)?.focus())}clearFilter(){this.filter="",this.highlighted=0,this.update(),this.focusFilter()}moveHighlight(o){let a=this.itemCount();a&&(this.highlighted=Math.max(0,Math.min(this.highlighted+o,a-1)),this.update(),setTimeout(()=>this.listEl()?.children[this.highlighted]?.scrollIntoView({block:"nearest"})))}activateHighlighted(){let o=this.itemCount();o&&this.onActivate(Math.max(0,Math.min(this.highlighted,o-1)))}onFilterKey(o){o.key==="Escape"?this.close():o.key==="ArrowDown"?(o.preventDefault(),this.moveHighlight(1)):o.key==="ArrowUp"?(o.preventDefault(),this.moveHighlight(-1)):o.key==="Enter"?(o.preventDefault(),this.activateHighlighted()):this.highlighted=0}};var Gd=s=>typeof s=="string"?s:void 0;var gye=s=>`turn-${s%5}`;function Dee(s){let o=Math.max(0,Date.now()-s);return o<6e4?"now":o<36e5?`${Math.floor(o/6e4)}m`:o<864e5?`${Math.floor(o/36e5)}h`:o<7*864e5?`${Math.floor(o/864e5)}d`:new Date(s).toLocaleDateString()}function P5t(s){return s<1e3?`${s}`:s<1e4?`${(s/1e3).toFixed(1)}k`:s<1e6?`${Math.round(s/1e3)}k`:`${(s/1e6).toFixed(1)}M`}function Bee(s,o){return s.length>o?s.slice(0,o).trimEnd()+"\u2026":s}function e6(s){return s.replace(/\\/g,"/").toLowerCase()}function bye(s){return s.replace(/[/\\]+$/,"").split(/[/\\]/).pop()??""}function Lee(s){return bye(s).replace(/\.bulb\.md$/,"")}var Nee=class extends nM{sessions=[];keepOpenSelector=".sid-wrap";filterId="session-filter";itemCount(){return this.filtered().length}listEl(){return document.getElementById("session-list")}onActivate(o){let a=this.filtered()[o];a&&this.pick(a.sessionId)}filtered(){let o=this.filter.trim().toLowerCase();return o?this.sessions.filter(a=>a.preview.toLowerCase().includes(o)):this.sessions}currentIndex(){let a=this.filtered().findIndex(d=>d.sessionId===this.parent.sessionId);return a<0?0:a}onAttached(){tb.server.listSessions().then(o=>{this.sessions=o,this.parent.updateTitle(),this.update()}).catch(()=>{})}currentPreview(){return this.sessions.find(o=>o.sessionId===this.parent.sessionId)?.preview?.trim()??""}async show(){this.beginOpen(),this.highlighted=this.currentIndex(),this.update(),this.focusFilter();try{this.sessions=await tb.server.listSessions(),this.highlighted=this.currentIndex(),this.parent.updateTitle(),this.update()}catch(o){console.error("[mirror] listSessions failed",o)}this.armClose()}async pick(o){this.close(),this.parent.messageList.stickToBottomNextRender(),await tb.server.attach(o)}view(){let o=this.parent;if(!o.sessionId)return Vi({class:"sid-wrap"});let a=this.currentPreview()||"current",d=Bee(a,25),g=`${o.cwd}
29
+ Session: ${o.sessionId}`;return Vi({class:"sid-wrap"},Y0({class:"pill",title:g,onClick:m=>{m.stopPropagation(),this.open?this.close():this.show()}},d),this.open?this.picker():null)}picker(){let o=this.filtered();return Vi({class:"picker"},Mee({target:this,prop:()=>this.filter,id:"session-filter",placeholder:"Filter sessions\u2026",hasValue:!!this.filter,onKeyDown:a=>this.onFilterKey(a),onClear:()=>this.clearFilter()}),o.length===0?Vi({class:"picker-empty"},this.filter?"No match.":"No sessions yet \u2014 start one in your terminal."):Vi({id:"session-list",class:"picker-list"},o.map((a,d)=>this.pickerRow(a,d))))}pickerRow(o,a){let d=o.sessionId===this.parent.sessionId;return Vi({class:["picker-row",a===this.highlighted?"active":"",d?"current":""],onMouseEnter:()=>{this.highlighted!==a&&(this.highlighted=a,this.update())},onClick:()=>this.pick(o.sessionId)},zu({class:"picker-dot"}),zu({class:"picker-preview"},o.preview||"(no preview)"),zu({class:"picker-time"},Dee(o.mtime)))}};var Oee=class extends El{get parent(){return this.ctx.parent}view(){let o=this.parent.tokens,a=o.in+o.out+o.cached+o.cacheCreate;return a<=0?zu({class:"token-wrap"}):zu({class:"token-wrap"},zu({class:"token"},`${P5t(a)} tokens`))}};var F5t=(...s)=>j5t({viewBox:"0 0 16 16",width:"13",height:"13",class:"btn-icon"},...s),Eun=()=>F5t(N5t({d:"M5.5 2 L15.5 8 L5.5 14 Z",fill:"currentColor"})),Cun=()=>F5t(O5t({x:3,y:3,width:10,height:10,fill:"currentColor"})),jee=class extends nM{files=[];servers=[];keepOpenSelector=".servers-wrap";filterId="bulb-filter";launching=new Set;dismissedDenials=new Set;pendingLaunch;openLog;#e;itemCount(){return this.rows().length}listEl(){return document.querySelector(".bulb-list")}onActivate(o){let a=this.rows()[o];a&&(a.running?window.open(a.running.url,"_blank","noopener"):this.launch(a.path))}onAttached(){this.refresh(),setInterval(()=>this.refreshServers(),800),setInterval(()=>this.refreshFiles(),3e3),window.addEventListener("tb-breakout",()=>this.refreshServers())}refresh(){return Promise.all([this.refreshServers(),this.refreshFiles()])}async refreshServers(){try{let o=await tb.server.listBreakouts(),a=o.length!==this.servers.length||o.some((d,g)=>d.pid!==this.servers[g]?.pid||d.denied!==this.servers[g]?.denied||d.predicted!==this.servers[g]?.predicted||d.trust!==this.servers[g]?.trust);this.servers=o,a&&this.update()}catch(o){console.error("[mirror] server list refresh failed",o)}}async refreshFiles(){try{let o=await tb.server.listBulbFiles(),a=o.length!==this.files.length||o.some((d,g)=>d.path!==this.files[g]?.path||d.mtime!==this.files[g]?.mtime);this.files=o,a&&this.update()}catch(o){console.error("[mirror] bulb list refresh failed",o)}}rows(){let o=new Map;for(let g of this.files)o.set(e6(g.path),{path:g.path,name:g.name,recent:g.mtime,trusted:g.trusted});for(let g of this.servers){if(g.pid===this.parent.ownPid)continue;let m=e6(g.file),v=Lee(g.file)||g.file,A=o.get(m)??{path:g.file,name:v,recent:0};A.running=g,A.recent=Math.max(A.recent,g.startedAt),o.set(m,A)}let a=this.filter.trim().toLowerCase(),d=[...o.values()];return a&&(d=d.filter(g=>g.name.toLowerCase().includes(a)||g.path.toLowerCase().includes(a))),d.sort((g,m)=>m.recent-g.recent)}show(){this.beginOpen(),this.highlighted=0,this.refresh(),this.update(),this.armClose(),this.focusFilter()}onClosed(){super.onClosed(),this.closeLog()}async launch(o){if(!this.files.find(d=>e6(d.path)===e6(o))?.trusted){let d;try{d=(await tb.server.predictTrustOf(o)).cap}catch(g){console.error("[mirror] predictTrustOf failed",g)}if(d){this.pendingLaunch={path:o,name:this.displayName(o),cap:d},this.update();return}}await this.doLaunch(o)}async doLaunch(o,a,d=!1){let g=e6(o);this.launching.add(g),this.update();let m;try{m=(await tb.server.launchBulb(o,a)).pid}catch(v){console.error("[mirror] launchBulb failed",v)}finally{this.launching.delete(g)}d&&m&&this.dismissedDenials.add(m),await this.refresh()}displayName(o){return this.files.find(d=>e6(d.path)===e6(o))?.name||Lee(o)||o}launchTrusted(){let o=this.pendingLaunch;this.pendingLaunch=void 0,o&&this.doLaunch(o.path,!0)}launchRestricted(){let o=this.pendingLaunch;this.pendingLaunch=void 0,o&&this.doLaunch(o.path,void 0,!0)}cancelLaunch(){this.pendingLaunch=void 0,this.update()}async stop(o){this.openLog?.pid===o&&this.closeLog(),this.dismissedDenials.delete(o);try{await tb.server.stopBreakout(o)}catch(a){console.error("[mirror] stopBreakout failed",a)}await this.refresh()}pendingDenial(){return this.servers.find(o=>o.denied&&o.pid!==this.parent.ownPid&&!this.dismissedDenials.has(o.pid))}async elevate(o){this.dismissedDenials.add(o.pid),this.openLog?.pid===o.pid&&this.closeLog();try{await tb.server.stopBreakout(o.pid),await tb.server.launchBulb(o.file,!0)}catch(a){console.error("[mirror] elevate failed",a)}await this.refresh()}dismissDenial(o){this.dismissedDenials.add(o),this.update()}async toggleTrust(o){let a=!(o.running?o.running.trust:o.trusted);try{await tb.server.setBulbTrust(o.path,a),o.running&&(this.openLog?.pid===o.running.pid&&this.closeLog(),await tb.server.stopBreakout(o.running.pid),await tb.server.launchBulb(o.path,a))}catch(d){console.error("[mirror] toggleTrust failed",d)}await this.refresh()}showLog(o,a){if(this.openLog?.pid===o.pid){this.closeLog();return}this.closeLog(),this.openLog={pid:o.pid,name:a,text:"",offset:0},this.update(),setTimeout(()=>document.getElementById("bulb-console")?.focus()),this.#t(),this.#e=setInterval(()=>this.#t(),700)}closeLog(){this.#e&&(clearInterval(this.#e),this.#e=void 0),this.openLog&&(this.openLog=void 0,this.update())}async#t(){let o=this.openLog;if(o)try{let{text:a,offset:d}=await tb.server.readBulbLog(o.pid,o.offset);if(this.openLog!==o)return;a?(o.text=(o.text+a).slice(-5e4),o.offset=d,this.update()):d!==o.offset&&(o.offset=d)}catch(a){console.error("[mirror] readBulbLog failed",a)}}view(){let o=this.servers.filter(m=>m.pid!==this.parent.ownPid).length;if(!(this.files.length>0)&&o===0)return Vi({class:"servers-wrap"});let d=o>0?`${o} running`:"bulbs",g=this.pendingDenial();return Vi({class:"servers-wrap"},Y0({class:"pill",title:"Launch a project bulb \xB7 stop a running one",onClick:m=>{m.stopPropagation(),this.open?this.close():this.show()}},d),this.open?this.popup():null,this.pendingLaunch?this.launchModal(this.pendingLaunch):g?this.denialModal(g):null)}trustModal(o){return Vi({class:"trust-back",onClick:a=>{a.stopPropagation(),o.onDismiss()}},Vi({class:"trust-modal",onClick:a=>a.stopPropagation()},Vi({class:"trust-modal-h"},o.heading),Vi({class:"trust-modal-b"},o.body),Vi({class:"trust-modal-warn"},o.warn),Vi({class:"trust-modal-acts"},Y0({class:"trust-no",onClick:a=>{a.stopPropagation(),o.onNo()}},o.noLabel),Y0({class:"trust-yes",onClick:a=>{a.stopPropagation(),o.onYes()}},o.yesLabel))))}launchModal(o){return this.trustModal({heading:`\u201C${o.name}\u201D will likely need access`,body:`It looks like it uses ${o.cap}, which is blocked unless you launch it Trusted. Launch Trusted to allow filesystem / AI / server.ts?`,warn:"Only trust bulbs you wrote or have read \u2014 be careful with anything off the internet.",noLabel:"Launch restricted",yesLabel:"Launch trusted",onNo:()=>this.launchRestricted(),onYes:()=>this.launchTrusted(),onDismiss:()=>this.cancelLaunch()})}denialModal(o){let a=Lee(o.file)||o.file,d=!o.predicted;return this.trustModal({heading:d?`\u201C${a}\u201D reached for access it didn't declare`:`\u201C${a}\u201D wants more access`,body:d?`It tried to use ${o.denied} at runtime, though nothing in its code obviously needed it. Relaunch it Trusted to allow filesystem / AI / server.ts?`:`It tried to use ${o.denied}, blocked while it's restricted. Relaunch it Trusted to allow filesystem / AI / server.ts?`,warn:d?"Code that reaches for capabilities it never visibly uses can be hiding something \u2014 only continue if you wrote this bulb or have read it.":"Only trust bulbs you wrote or have read \u2014 be careful with anything off the internet.",noLabel:"Keep restricted",yesLabel:"Trust & relaunch",onNo:()=>this.dismissDenial(o.pid),onYes:()=>this.elevate(o),onDismiss:()=>this.dismissDenial(o.pid)})}popup(){if(this.openLog)return this.consoleView(this.openLog);let o=this.rows();return Vi({class:"servers-pop"},Mee({target:this,prop:()=>this.filter,id:"bulb-filter",placeholder:"Filter bulbs\u2026",hasValue:!!this.filter,onKeyDown:a=>this.onFilterKey(a),onClear:()=>this.clearFilter()}),o.length===0?Vi({class:"picker-empty"},this.filter?"No match.":"No bulbs in this project yet."):Vi({class:"bulb-list"},o.map((a,d)=>this.row(a,d))))}consoleView(o){return Vi({id:"bulb-console",class:"servers-pop log-mode",tabIndex:0,onKeyDown:a=>{a.key==="Escape"&&(a.stopPropagation(),this.closeLog())}},Vi({class:"bulb-log-head"},zu({class:"bulb-log-name"},`console \xB7 ${o.name}`),Y0({class:"bulb-log-back",title:"Back to the bulb list",onClick:a=>{a.stopPropagation(),this.closeLog()}},"\u2190 bulbs")),I7({class:"bulb-log-body"},zu({class:"bulb-log-text"},o.text||"(no output yet)")))}row(o,a){let d=o.running,g=d&&this.openLog?.pid===d.pid,m=d?!!d.trust:!!o.trusted;return Vi({class:["server-row",a===this.highlighted?"active":""],onMouseEnter:()=>{this.highlighted!==a&&(this.highlighted=a,this.update())}},d?Y0({class:"server-stop",title:"Stop this server",ariaLabel:"Stop",onClick:v=>{v.stopPropagation(),this.stop(d.pid)}},Cun()):Y0({class:["bulb-launch",this.launching.has(e6(o.path))?"launching":""],title:m?"Launch (trusted \u2014 remembered)":"Launch (restricted)",ariaLabel:"Launch",onClick:v=>{v.stopPropagation(),this.launch(o.path)}},Eun()),zu({class:["server-name",d?"":"stopped"],title:`Open ${o.path}`,onClick:v=>{v.stopPropagation(),tb.server.openFile(o.path)}},o.name),d||m?this.trustToggle(o,m):zu({class:"cell-empty"}),d?tM({class:["server-logs",g?"on":""],title:"Show this server\u2019s console",onClick:v=>{v.stopPropagation(),this.showLog(d,o.name)}},"logs"):zu({class:"cell-empty"}),d?tM({class:"server-port",href:d.url,target:"_blank",rel:"noopener noreferrer",title:`Open ${d.url}`},`:${d.port}`):zu({class:"bulb-time"},Dee(o.recent)))}trustToggle(o,a){return Y0({class:["trust-toggle",a?"on":""],title:`${a?"Trusted":"Restricted"} \u2014 click to switch to ${a?"restricted":"trusted"}`+(o.running?" (stops + relaunches it)":""),onClick:d=>{d.stopPropagation(),this.toggleTrust(o)}},a?"trusted":"restricted")}};var Cye={};V_(Cye,{arrayReplaceAt:()=>Eye,asciiTrim:()=>gC,assign:()=>oM,escapeHtml:()=>n6,escapeRE:()=>can,fromCodePoint:()=>cM,has:()=>Yun,isMdAsciiPunct:()=>dC,isPunctChar:()=>o6t,isPunctCharCode:()=>hC,isSpace:()=>jo,isString:()=>Kee,isValidEntityCode:()=>Wee,isWhiteSpace:()=>fC,lib:()=>uan,normalizeReference:()=>pC,unescapeAll:()=>t6,unescapeMd:()=>tan});var Hee={};V_(Hee,{decode:()=>pF,encode:()=>Fee,format:()=>rM,parse:()=>gF});var $5t={};function Iun(s){let o=$5t[s];if(o)return o;o=$5t[s]=[];for(let a=0;a<128;a++){let d=String.fromCharCode(a);o.push(d)}for(let a=0;a<s.length;a++){let d=s.charCodeAt(a);o[d]="%"+("0"+d.toString(16).toUpperCase()).slice(-2)}return o}function Ree(s,o){typeof o!="string"&&(o=Ree.defaultChars);let a=Iun(o);return s.replace(/(%[a-f0-9]{2})+/gi,function(d){let g="";for(let m=0,v=d.length;m<v;m+=3){let A=parseInt(d.slice(m+1,m+3),16);if(A<128){g+=a[A];continue}if((A&224)===192&&m+3<v){let I=parseInt(d.slice(m+4,m+6),16);if((I&192)===128){let T=A<<6&1984|I&63;T<128?g+="\uFFFD\uFFFD":g+=String.fromCharCode(T),m+=3;continue}}if((A&240)===224&&m+6<v){let I=parseInt(d.slice(m+4,m+6),16),T=parseInt(d.slice(m+7,m+9),16);if((I&192)===128&&(T&192)===128){let B=A<<12&61440|I<<6&4032|T&63;B<2048||B>=55296&&B<=57343?g+="\uFFFD\uFFFD\uFFFD":g+=String.fromCharCode(B),m+=6;continue}}if((A&248)===240&&m+9<v){let I=parseInt(d.slice(m+4,m+6),16),T=parseInt(d.slice(m+7,m+9),16),B=parseInt(d.slice(m+10,m+12),16);if((I&192)===128&&(T&192)===128&&(B&192)===128){let L=A<<18&1835008|I<<12&258048|T<<6&4032|B&63;L<65536||L>1114111?g+="\uFFFD\uFFFD\uFFFD\uFFFD":(L-=65536,g+=String.fromCharCode(55296+(L>>10),56320+(L&1023))),m+=9;continue}}g+="\uFFFD"}return g})}Ree.defaultChars=";/?:@&=+$,#";Ree.componentChars="";var pF=Ree;var H5t={};function Sun(s){let o=H5t[s];if(o)return o;o=H5t[s]=[];for(let a=0;a<128;a++){let d=String.fromCharCode(a);/^[0-9a-z]$/i.test(d)?o.push(d):o.push("%"+("0"+a.toString(16).toUpperCase()).slice(-2))}for(let a=0;a<s.length;a++)o[s.charCodeAt(a)]=s[a];return o}function Pee(s,o,a){typeof o!="string"&&(a=o,o=Pee.defaultChars),typeof a>"u"&&(a=!0);let d=Sun(o),g="";for(let m=0,v=s.length;m<v;m++){let A=s.charCodeAt(m);if(a&&A===37&&m+2<v&&/^[0-9a-f]{2}$/i.test(s.slice(m+1,m+3))){g+=s.slice(m,m+3),m+=2;continue}if(A<128){g+=d[A];continue}if(A>=55296&&A<=57343){if(A>=55296&&A<=56319&&m+1<v){let I=s.charCodeAt(m+1);if(I>=56320&&I<=57343){g+=encodeURIComponent(s[m]+s[m+1]),m++;continue}}g+="%EF%BF%BD";continue}g+=encodeURIComponent(s[m])}return g}Pee.defaultChars=";/?:@&=+$,-_.!~*'()#";Pee.componentChars="-_.!~*'()";var Fee=Pee;function rM(s){let o="";return o+=s.protocol||"",o+=s.slashes?"//":"",o+=s.auth?s.auth+"@":"",s.hostname&&s.hostname.indexOf(":")!==-1?o+="["+s.hostname+"]":o+=s.hostname||"",o+=s.port?":"+s.port:"",o+=s.pathname||"",o+=s.search||"",o+=s.hash||"",o}function $ee(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var Tun=/^([a-z0-9.+-]+:)/i,_un=/:[0-9]*$/,Mun=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Dun=["<",">",'"',"`"," ","\r",`
30
30
  `," "],Bun=["{","}","|","\\","^","`"].concat(Dun),Lun=["'"].concat(Bun),Q5t=["%","/","?",";","#"].concat(Lun),G5t=["/","?","#"],Nun=255,q5t=/^[+a-z0-9A-Z_-]{0,63}$/,Oun=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,J5t={javascript:!0,"javascript:":!0},U5t={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function jun(s,o){if(s&&s instanceof $ee)return s;let a=new $ee;return a.parse(s,o),a}$ee.prototype.parse=function(s,o){let a,d,g,m=s;if(m=m.trim(),!o&&s.split("#").length===1){let T=Mun.exec(m);if(T)return this.pathname=T[1],T[2]&&(this.search=T[2]),this}let v=Tun.exec(m);if(v&&(v=v[0],a=v.toLowerCase(),this.protocol=v,m=m.substr(v.length)),(o||v||m.match(/^\/\/[^@\/]+@[^@\/]+/))&&(g=m.substr(0,2)==="//",g&&!(v&&J5t[v])&&(m=m.substr(2),this.slashes=!0)),!J5t[v]&&(g||v&&!U5t[v])){let T=-1;for(let U=0;U<G5t.length;U++)d=m.indexOf(G5t[U]),d!==-1&&(T===-1||d<T)&&(T=d);let B,L;T===-1?L=m.lastIndexOf("@"):L=m.lastIndexOf("@",T),L!==-1&&(B=m.slice(0,L),m=m.slice(L+1),this.auth=B),T=-1;for(let U=0;U<Q5t.length;U++)d=m.indexOf(Q5t[U]),d!==-1&&(T===-1||d<T)&&(T=d);T===-1&&(T=m.length),m[T-1]===":"&&T--;let R=m.slice(0,T);m=m.slice(T),this.parseHost(R),this.hostname=this.hostname||"";let Q=this.hostname[0]==="["&&this.hostname[this.hostname.length-1]==="]";if(!Q){let U=this.hostname.split(/\./);for(let W=0,ne=U.length;W<ne;W++){let he=U[W];if(he&&!he.match(q5t)){let Ee="";for(let Oe=0,ie=he.length;Oe<ie;Oe++)he.charCodeAt(Oe)>127?Ee+="x":Ee+=he[Oe];if(!Ee.match(q5t)){let Oe=U.slice(0,W),ie=U.slice(W+1),Ie=he.match(Oun);Ie&&(Oe.push(Ie[1]),ie.unshift(Ie[2])),ie.length&&(m=ie.join(".")+m),this.hostname=Oe.join(".");break}}}}this.hostname.length>Nun&&(this.hostname=""),Q&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}let A=m.indexOf("#");A!==-1&&(this.hash=m.substr(A),m=m.slice(0,A));let I=m.indexOf("?");return I!==-1&&(this.search=m.substr(I),m=m.slice(0,I)),m&&(this.pathname=m),U5t[a]&&this.hostname&&!this.pathname&&(this.pathname=""),this};$ee.prototype.parseHost=function(s){let o=_un.exec(s);o&&(o=o[0],o!==":"&&(this.port=o.substr(1)),s=s.substr(0,s.length-o.length)),s&&(this.hostname=s)};var gF=jun;var mye={};V_(mye,{Any:()=>Qee,Cc:()=>Gee,Cf:()=>z5t,P:()=>iM,S:()=>qee,Z:()=>Jee});var Qee=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;var Gee=/[\0-\x1F\x7F-\x9F]/;var z5t=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/;var iM=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1B7D\u1B7E\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDEAD\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/;var qee=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C0\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2426\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2B95\u2B97-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E3\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBC2\uFD40-\uFD4F\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED7\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDF76\uDF7B-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0\uDCB1\uDD00-\uDE53\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC5\uDECE-\uDEDB\uDEE0-\uDEE8\uDEF0-\uDEF8\uDF00-\uDF92\uDF94-\uDFCA]/;var Jee=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/;var K5t=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(s=>s.charCodeAt(0)));var W5t=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(s=>s.charCodeAt(0)));var wye,Run=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Aye=(wye=String.fromCodePoint)!==null&&wye!==void 0?wye:function(s){let o="";return s>65535&&(s-=65536,o+=String.fromCharCode(s>>>10&1023|55296),s=56320|s&1023),o+=String.fromCharCode(s),o};function vye(s){var o;return s>=55296&&s<=57343||s>1114111?65533:(o=Run.get(s))!==null&&o!==void 0?o:s}var A0;(function(s){s[s.NUM=35]="NUM",s[s.SEMI=59]="SEMI",s[s.EQUALS=61]="EQUALS",s[s.ZERO=48]="ZERO",s[s.NINE=57]="NINE",s[s.LOWER_A=97]="LOWER_A",s[s.LOWER_F=102]="LOWER_F",s[s.LOWER_X=120]="LOWER_X",s[s.LOWER_Z=122]="LOWER_Z",s[s.UPPER_A=65]="UPPER_A",s[s.UPPER_F=70]="UPPER_F",s[s.UPPER_Z=90]="UPPER_Z"})(A0||(A0={}));var Pun=32,S7;(function(s){s[s.VALUE_LENGTH=49152]="VALUE_LENGTH",s[s.BRANCH_LENGTH=16256]="BRANCH_LENGTH",s[s.JUMP_TABLE=127]="JUMP_TABLE"})(S7||(S7={}));function yye(s){return s>=A0.ZERO&&s<=A0.NINE}function Fun(s){return s>=A0.UPPER_A&&s<=A0.UPPER_F||s>=A0.LOWER_A&&s<=A0.LOWER_F}function $un(s){return s>=A0.UPPER_A&&s<=A0.UPPER_Z||s>=A0.LOWER_A&&s<=A0.LOWER_Z||yye(s)}function Hun(s){return s===A0.EQUALS||$un(s)}var w0;(function(s){s[s.EntityStart=0]="EntityStart",s[s.NumericStart=1]="NumericStart",s[s.NumericDecimal=2]="NumericDecimal",s[s.NumericHex=3]="NumericHex",s[s.NamedEntity=4]="NamedEntity"})(w0||(w0={}));var d3;(function(s){s[s.Legacy=0]="Legacy",s[s.Strict=1]="Strict",s[s.Attribute=2]="Attribute"})(d3||(d3={}));var Uee=class{constructor(o,a,d){this.decodeTree=o,this.emitCodePoint=a,this.errors=d,this.state=w0.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=d3.Strict}startEntity(o){this.decodeMode=o,this.state=w0.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1}write(o,a){switch(this.state){case w0.EntityStart:return o.charCodeAt(a)===A0.NUM?(this.state=w0.NumericStart,this.consumed+=1,this.stateNumericStart(o,a+1)):(this.state=w0.NamedEntity,this.stateNamedEntity(o,a));case w0.NumericStart:return this.stateNumericStart(o,a);case w0.NumericDecimal:return this.stateNumericDecimal(o,a);case w0.NumericHex:return this.stateNumericHex(o,a);case w0.NamedEntity:return this.stateNamedEntity(o,a)}}stateNumericStart(o,a){return a>=o.length?-1:(o.charCodeAt(a)|Pun)===A0.LOWER_X?(this.state=w0.NumericHex,this.consumed+=1,this.stateNumericHex(o,a+1)):(this.state=w0.NumericDecimal,this.stateNumericDecimal(o,a))}addToNumericResult(o,a,d,g){if(a!==d){let m=d-a;this.result=this.result*Math.pow(g,m)+parseInt(o.substr(a,m),g),this.consumed+=m}}stateNumericHex(o,a){let d=a;for(;a<o.length;){let g=o.charCodeAt(a);if(yye(g)||Fun(g))a+=1;else return this.addToNumericResult(o,d,a,16),this.emitNumericEntity(g,3)}return this.addToNumericResult(o,d,a,16),-1}stateNumericDecimal(o,a){let d=a;for(;a<o.length;){let g=o.charCodeAt(a);if(yye(g))a+=1;else return this.addToNumericResult(o,d,a,10),this.emitNumericEntity(g,2)}return this.addToNumericResult(o,d,a,10),-1}emitNumericEntity(o,a){var d;if(this.consumed<=a)return(d=this.errors)===null||d===void 0||d.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(o===A0.SEMI)this.consumed+=1;else if(this.decodeMode===d3.Strict)return 0;return this.emitCodePoint(vye(this.result),this.consumed),this.errors&&(o!==A0.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(o,a){let{decodeTree:d}=this,g=d[this.treeIndex],m=(g&S7.VALUE_LENGTH)>>14;for(;a<o.length;a++,this.excess++){let v=o.charCodeAt(a);if(this.treeIndex=Qun(d,g,this.treeIndex+Math.max(1,m),v),this.treeIndex<0)return this.result===0||this.decodeMode===d3.Attribute&&(m===0||Hun(v))?0:this.emitNotTerminatedNamedEntity();if(g=d[this.treeIndex],m=(g&S7.VALUE_LENGTH)>>14,m!==0){if(v===A0.SEMI)return this.emitNamedEntityData(this.treeIndex,m,this.consumed+this.excess);this.decodeMode!==d3.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1}emitNotTerminatedNamedEntity(){var o;let{result:a,decodeTree:d}=this,g=(d[a]&S7.VALUE_LENGTH)>>14;return this.emitNamedEntityData(a,g,this.consumed),(o=this.errors)===null||o===void 0||o.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(o,a,d){let{decodeTree:g}=this;return this.emitCodePoint(a===1?g[o]&~S7.VALUE_LENGTH:g[o+1],d),a===3&&this.emitCodePoint(g[o+2],d),d}end(){var o;switch(this.state){case w0.NamedEntity:return this.result!==0&&(this.decodeMode!==d3.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case w0.NumericDecimal:return this.emitNumericEntity(0,2);case w0.NumericHex:return this.emitNumericEntity(0,3);case w0.NumericStart:return(o=this.errors)===null||o===void 0||o.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case w0.EntityStart:return 0}}};function Y5t(s){let o="",a=new Uee(s,d=>o+=Aye(d));return function(g,m){let v=0,A=0;for(;(A=g.indexOf("&",A))>=0;){o+=g.slice(v,A),a.startEntity(m);let T=a.write(g,A+1);if(T<0){v=A+a.end();break}v=A+T,A=T===0?v+1:v}let I=o+g.slice(v);return o="",I}}function Qun(s,o,a,d){let g=(o&S7.BRANCH_LENGTH)>>7,m=o&S7.JUMP_TABLE;if(g===0)return m!==0&&d===m?a:-1;if(m){let I=d-m;return I<0||I>=g?-1:s[a+I]-1}let v=a,A=v+g-1;for(;v<=A;){let I=v+A>>>1,T=s[I];if(T<d)v=I+1;else if(T>d)A=I-1;else return s[I+g]}return-1}var X5t=Y5t(K5t),Hzn=Y5t(W5t);function sM(s,o=d3.Legacy){return X5t(s,o)}function bF(s){return X5t(s,d3.Strict)}function zee(s){for(let o=1;o<s.length;o++)s[o][0]+=s[o-1][0]+1;return s}var Gun=new Map(zee([[9,"&Tab;"],[0,"&NewLine;"],[22,"&excl;"],[0,"&quot;"],[0,"&num;"],[0,"&dollar;"],[0,"&percnt;"],[0,"&amp;"],[0,"&apos;"],[0,"&lpar;"],[0,"&rpar;"],[0,"&ast;"],[0,"&plus;"],[0,"&comma;"],[1,"&period;"],[0,"&sol;"],[10,"&colon;"],[0,"&semi;"],[0,{v:"&lt;",n:8402,o:"&nvlt;"}],[0,{v:"&equals;",n:8421,o:"&bne;"}],[0,{v:"&gt;",n:8402,o:"&nvgt;"}],[0,"&quest;"],[0,"&commat;"],[26,"&lbrack;"],[0,"&bsol;"],[0,"&rbrack;"],[0,"&Hat;"],[0,"&lowbar;"],[0,"&DiacriticalGrave;"],[5,{n:106,o:"&fjlig;"}],[20,"&lbrace;"],[0,"&verbar;"],[0,"&rbrace;"],[34,"&nbsp;"],[0,"&iexcl;"],[0,"&cent;"],[0,"&pound;"],[0,"&curren;"],[0,"&yen;"],[0,"&brvbar;"],[0,"&sect;"],[0,"&die;"],[0,"&copy;"],[0,"&ordf;"],[0,"&laquo;"],[0,"&not;"],[0,"&shy;"],[0,"&circledR;"],[0,"&macr;"],[0,"&deg;"],[0,"&PlusMinus;"],[0,"&sup2;"],[0,"&sup3;"],[0,"&acute;"],[0,"&micro;"],[0,"&para;"],[0,"&centerdot;"],[0,"&cedil;"],[0,"&sup1;"],[0,"&ordm;"],[0,"&raquo;"],[0,"&frac14;"],[0,"&frac12;"],[0,"&frac34;"],[0,"&iquest;"],[0,"&Agrave;"],[0,"&Aacute;"],[0,"&Acirc;"],[0,"&Atilde;"],[0,"&Auml;"],[0,"&angst;"],[0,"&AElig;"],[0,"&Ccedil;"],[0,"&Egrave;"],[0,"&Eacute;"],[0,"&Ecirc;"],[0,"&Euml;"],[0,"&Igrave;"],[0,"&Iacute;"],[0,"&Icirc;"],[0,"&Iuml;"],[0,"&ETH;"],[0,"&Ntilde;"],[0,"&Ograve;"],[0,"&Oacute;"],[0,"&Ocirc;"],[0,"&Otilde;"],[0,"&Ouml;"],[0,"&times;"],[0,"&Oslash;"],[0,"&Ugrave;"],[0,"&Uacute;"],[0,"&Ucirc;"],[0,"&Uuml;"],[0,"&Yacute;"],[0,"&THORN;"],[0,"&szlig;"],[0,"&agrave;"],[0,"&aacute;"],[0,"&acirc;"],[0,"&atilde;"],[0,"&auml;"],[0,"&aring;"],[0,"&aelig;"],[0,"&ccedil;"],[0,"&egrave;"],[0,"&eacute;"],[0,"&ecirc;"],[0,"&euml;"],[0,"&igrave;"],[0,"&iacute;"],[0,"&icirc;"],[0,"&iuml;"],[0,"&eth;"],[0,"&ntilde;"],[0,"&ograve;"],[0,"&oacute;"],[0,"&ocirc;"],[0,"&otilde;"],[0,"&ouml;"],[0,"&div;"],[0,"&oslash;"],[0,"&ugrave;"],[0,"&uacute;"],[0,"&ucirc;"],[0,"&uuml;"],[0,"&yacute;"],[0,"&thorn;"],[0,"&yuml;"],[0,"&Amacr;"],[0,"&amacr;"],[0,"&Abreve;"],[0,"&abreve;"],[0,"&Aogon;"],[0,"&aogon;"],[0,"&Cacute;"],[0,"&cacute;"],[0,"&Ccirc;"],[0,"&ccirc;"],[0,"&Cdot;"],[0,"&cdot;"],[0,"&Ccaron;"],[0,"&ccaron;"],[0,"&Dcaron;"],[0,"&dcaron;"],[0,"&Dstrok;"],[0,"&dstrok;"],[0,"&Emacr;"],[0,"&emacr;"],[2,"&Edot;"],[0,"&edot;"],[0,"&Eogon;"],[0,"&eogon;"],[0,"&Ecaron;"],[0,"&ecaron;"],[0,"&Gcirc;"],[0,"&gcirc;"],[0,"&Gbreve;"],[0,"&gbreve;"],[0,"&Gdot;"],[0,"&gdot;"],[0,"&Gcedil;"],[1,"&Hcirc;"],[0,"&hcirc;"],[0,"&Hstrok;"],[0,"&hstrok;"],[0,"&Itilde;"],[0,"&itilde;"],[0,"&Imacr;"],[0,"&imacr;"],[2,"&Iogon;"],[0,"&iogon;"],[0,"&Idot;"],[0,"&imath;"],[0,"&IJlig;"],[0,"&ijlig;"],[0,"&Jcirc;"],[0,"&jcirc;"],[0,"&Kcedil;"],[0,"&kcedil;"],[0,"&kgreen;"],[0,"&Lacute;"],[0,"&lacute;"],[0,"&Lcedil;"],[0,"&lcedil;"],[0,"&Lcaron;"],[0,"&lcaron;"],[0,"&Lmidot;"],[0,"&lmidot;"],[0,"&Lstrok;"],[0,"&lstrok;"],[0,"&Nacute;"],[0,"&nacute;"],[0,"&Ncedil;"],[0,"&ncedil;"],[0,"&Ncaron;"],[0,"&ncaron;"],[0,"&napos;"],[0,"&ENG;"],[0,"&eng;"],[0,"&Omacr;"],[0,"&omacr;"],[2,"&Odblac;"],[0,"&odblac;"],[0,"&OElig;"],[0,"&oelig;"],[0,"&Racute;"],[0,"&racute;"],[0,"&Rcedil;"],[0,"&rcedil;"],[0,"&Rcaron;"],[0,"&rcaron;"],[0,"&Sacute;"],[0,"&sacute;"],[0,"&Scirc;"],[0,"&scirc;"],[0,"&Scedil;"],[0,"&scedil;"],[0,"&Scaron;"],[0,"&scaron;"],[0,"&Tcedil;"],[0,"&tcedil;"],[0,"&Tcaron;"],[0,"&tcaron;"],[0,"&Tstrok;"],[0,"&tstrok;"],[0,"&Utilde;"],[0,"&utilde;"],[0,"&Umacr;"],[0,"&umacr;"],[0,"&Ubreve;"],[0,"&ubreve;"],[0,"&Uring;"],[0,"&uring;"],[0,"&Udblac;"],[0,"&udblac;"],[0,"&Uogon;"],[0,"&uogon;"],[0,"&Wcirc;"],[0,"&wcirc;"],[0,"&Ycirc;"],[0,"&ycirc;"],[0,"&Yuml;"],[0,"&Zacute;"],[0,"&zacute;"],[0,"&Zdot;"],[0,"&zdot;"],[0,"&Zcaron;"],[0,"&zcaron;"],[19,"&fnof;"],[34,"&imped;"],[63,"&gacute;"],[65,"&jmath;"],[142,"&circ;"],[0,"&caron;"],[16,"&breve;"],[0,"&DiacriticalDot;"],[0,"&ring;"],[0,"&ogon;"],[0,"&DiacriticalTilde;"],[0,"&dblac;"],[51,"&DownBreve;"],[127,"&Alpha;"],[0,"&Beta;"],[0,"&Gamma;"],[0,"&Delta;"],[0,"&Epsilon;"],[0,"&Zeta;"],[0,"&Eta;"],[0,"&Theta;"],[0,"&Iota;"],[0,"&Kappa;"],[0,"&Lambda;"],[0,"&Mu;"],[0,"&Nu;"],[0,"&Xi;"],[0,"&Omicron;"],[0,"&Pi;"],[0,"&Rho;"],[1,"&Sigma;"],[0,"&Tau;"],[0,"&Upsilon;"],[0,"&Phi;"],[0,"&Chi;"],[0,"&Psi;"],[0,"&ohm;"],[7,"&alpha;"],[0,"&beta;"],[0,"&gamma;"],[0,"&delta;"],[0,"&epsi;"],[0,"&zeta;"],[0,"&eta;"],[0,"&theta;"],[0,"&iota;"],[0,"&kappa;"],[0,"&lambda;"],[0,"&mu;"],[0,"&nu;"],[0,"&xi;"],[0,"&omicron;"],[0,"&pi;"],[0,"&rho;"],[0,"&sigmaf;"],[0,"&sigma;"],[0,"&tau;"],[0,"&upsi;"],[0,"&phi;"],[0,"&chi;"],[0,"&psi;"],[0,"&omega;"],[7,"&thetasym;"],[0,"&Upsi;"],[2,"&phiv;"],[0,"&piv;"],[5,"&Gammad;"],[0,"&digamma;"],[18,"&kappav;"],[0,"&rhov;"],[3,"&epsiv;"],[0,"&backepsilon;"],[10,"&IOcy;"],[0,"&DJcy;"],[0,"&GJcy;"],[0,"&Jukcy;"],[0,"&DScy;"],[0,"&Iukcy;"],[0,"&YIcy;"],[0,"&Jsercy;"],[0,"&LJcy;"],[0,"&NJcy;"],[0,"&TSHcy;"],[0,"&KJcy;"],[1,"&Ubrcy;"],[0,"&DZcy;"],[0,"&Acy;"],[0,"&Bcy;"],[0,"&Vcy;"],[0,"&Gcy;"],[0,"&Dcy;"],[0,"&IEcy;"],[0,"&ZHcy;"],[0,"&Zcy;"],[0,"&Icy;"],[0,"&Jcy;"],[0,"&Kcy;"],[0,"&Lcy;"],[0,"&Mcy;"],[0,"&Ncy;"],[0,"&Ocy;"],[0,"&Pcy;"],[0,"&Rcy;"],[0,"&Scy;"],[0,"&Tcy;"],[0,"&Ucy;"],[0,"&Fcy;"],[0,"&KHcy;"],[0,"&TScy;"],[0,"&CHcy;"],[0,"&SHcy;"],[0,"&SHCHcy;"],[0,"&HARDcy;"],[0,"&Ycy;"],[0,"&SOFTcy;"],[0,"&Ecy;"],[0,"&YUcy;"],[0,"&YAcy;"],[0,"&acy;"],[0,"&bcy;"],[0,"&vcy;"],[0,"&gcy;"],[0,"&dcy;"],[0,"&iecy;"],[0,"&zhcy;"],[0,"&zcy;"],[0,"&icy;"],[0,"&jcy;"],[0,"&kcy;"],[0,"&lcy;"],[0,"&mcy;"],[0,"&ncy;"],[0,"&ocy;"],[0,"&pcy;"],[0,"&rcy;"],[0,"&scy;"],[0,"&tcy;"],[0,"&ucy;"],[0,"&fcy;"],[0,"&khcy;"],[0,"&tscy;"],[0,"&chcy;"],[0,"&shcy;"],[0,"&shchcy;"],[0,"&hardcy;"],[0,"&ycy;"],[0,"&softcy;"],[0,"&ecy;"],[0,"&yucy;"],[0,"&yacy;"],[1,"&iocy;"],[0,"&djcy;"],[0,"&gjcy;"],[0,"&jukcy;"],[0,"&dscy;"],[0,"&iukcy;"],[0,"&yicy;"],[0,"&jsercy;"],[0,"&ljcy;"],[0,"&njcy;"],[0,"&tshcy;"],[0,"&kjcy;"],[1,"&ubrcy;"],[0,"&dzcy;"],[7074,"&ensp;"],[0,"&emsp;"],[0,"&emsp13;"],[0,"&emsp14;"],[1,"&numsp;"],[0,"&puncsp;"],[0,"&ThinSpace;"],[0,"&hairsp;"],[0,"&NegativeMediumSpace;"],[0,"&zwnj;"],[0,"&zwj;"],[0,"&lrm;"],[0,"&rlm;"],[0,"&dash;"],[2,"&ndash;"],[0,"&mdash;"],[0,"&horbar;"],[0,"&Verbar;"],[1,"&lsquo;"],[0,"&CloseCurlyQuote;"],[0,"&lsquor;"],[1,"&ldquo;"],[0,"&CloseCurlyDoubleQuote;"],[0,"&bdquo;"],[1,"&dagger;"],[0,"&Dagger;"],[0,"&bull;"],[2,"&nldr;"],[0,"&hellip;"],[9,"&permil;"],[0,"&pertenk;"],[0,"&prime;"],[0,"&Prime;"],[0,"&tprime;"],[0,"&backprime;"],[3,"&lsaquo;"],[0,"&rsaquo;"],[3,"&oline;"],[2,"&caret;"],[1,"&hybull;"],[0,"&frasl;"],[10,"&bsemi;"],[7,"&qprime;"],[7,{v:"&MediumSpace;",n:8202,o:"&ThickSpace;"}],[0,"&NoBreak;"],[0,"&af;"],[0,"&InvisibleTimes;"],[0,"&ic;"],[72,"&euro;"],[46,"&tdot;"],[0,"&DotDot;"],[37,"&complexes;"],[2,"&incare;"],[4,"&gscr;"],[0,"&hamilt;"],[0,"&Hfr;"],[0,"&Hopf;"],[0,"&planckh;"],[0,"&hbar;"],[0,"&imagline;"],[0,"&Ifr;"],[0,"&lagran;"],[0,"&ell;"],[1,"&naturals;"],[0,"&numero;"],[0,"&copysr;"],[0,"&weierp;"],[0,"&Popf;"],[0,"&Qopf;"],[0,"&realine;"],[0,"&real;"],[0,"&reals;"],[0,"&rx;"],[3,"&trade;"],[1,"&integers;"],[2,"&mho;"],[0,"&zeetrf;"],[0,"&iiota;"],[2,"&bernou;"],[0,"&Cayleys;"],[1,"&escr;"],[0,"&Escr;"],[0,"&Fouriertrf;"],[1,"&Mellintrf;"],[0,"&order;"],[0,"&alefsym;"],[0,"&beth;"],[0,"&gimel;"],[0,"&daleth;"],[12,"&CapitalDifferentialD;"],[0,"&dd;"],[0,"&ee;"],[0,"&ii;"],[10,"&frac13;"],[0,"&frac23;"],[0,"&frac15;"],[0,"&frac25;"],[0,"&frac35;"],[0,"&frac45;"],[0,"&frac16;"],[0,"&frac56;"],[0,"&frac18;"],[0,"&frac38;"],[0,"&frac58;"],[0,"&frac78;"],[49,"&larr;"],[0,"&ShortUpArrow;"],[0,"&rarr;"],[0,"&darr;"],[0,"&harr;"],[0,"&updownarrow;"],[0,"&nwarr;"],[0,"&nearr;"],[0,"&LowerRightArrow;"],[0,"&LowerLeftArrow;"],[0,"&nlarr;"],[0,"&nrarr;"],[1,{v:"&rarrw;",n:824,o:"&nrarrw;"}],[0,"&Larr;"],[0,"&Uarr;"],[0,"&Rarr;"],[0,"&Darr;"],[0,"&larrtl;"],[0,"&rarrtl;"],[0,"&LeftTeeArrow;"],[0,"&mapstoup;"],[0,"&map;"],[0,"&DownTeeArrow;"],[1,"&hookleftarrow;"],[0,"&hookrightarrow;"],[0,"&larrlp;"],[0,"&looparrowright;"],[0,"&harrw;"],[0,"&nharr;"],[1,"&lsh;"],[0,"&rsh;"],[0,"&ldsh;"],[0,"&rdsh;"],[1,"&crarr;"],[0,"&cularr;"],[0,"&curarr;"],[2,"&circlearrowleft;"],[0,"&circlearrowright;"],[0,"&leftharpoonup;"],[0,"&DownLeftVector;"],[0,"&RightUpVector;"],[0,"&LeftUpVector;"],[0,"&rharu;"],[0,"&DownRightVector;"],[0,"&dharr;"],[0,"&dharl;"],[0,"&RightArrowLeftArrow;"],[0,"&udarr;"],[0,"&LeftArrowRightArrow;"],[0,"&leftleftarrows;"],[0,"&upuparrows;"],[0,"&rightrightarrows;"],[0,"&ddarr;"],[0,"&leftrightharpoons;"],[0,"&Equilibrium;"],[0,"&nlArr;"],[0,"&nhArr;"],[0,"&nrArr;"],[0,"&DoubleLeftArrow;"],[0,"&DoubleUpArrow;"],[0,"&DoubleRightArrow;"],[0,"&dArr;"],[0,"&DoubleLeftRightArrow;"],[0,"&DoubleUpDownArrow;"],[0,"&nwArr;"],[0,"&neArr;"],[0,"&seArr;"],[0,"&swArr;"],[0,"&lAarr;"],[0,"&rAarr;"],[1,"&zigrarr;"],[6,"&larrb;"],[0,"&rarrb;"],[15,"&DownArrowUpArrow;"],[7,"&loarr;"],[0,"&roarr;"],[0,"&hoarr;"],[0,"&forall;"],[0,"&comp;"],[0,{v:"&part;",n:824,o:"&npart;"}],[0,"&exist;"],[0,"&nexist;"],[0,"&empty;"],[1,"&Del;"],[0,"&Element;"],[0,"&NotElement;"],[1,"&ni;"],[0,"&notni;"],[2,"&prod;"],[0,"&coprod;"],[0,"&sum;"],[0,"&minus;"],[0,"&MinusPlus;"],[0,"&dotplus;"],[1,"&Backslash;"],[0,"&lowast;"],[0,"&compfn;"],[1,"&radic;"],[2,"&prop;"],[0,"&infin;"],[0,"&angrt;"],[0,{v:"&ang;",n:8402,o:"&nang;"}],[0,"&angmsd;"],[0,"&angsph;"],[0,"&mid;"],[0,"&nmid;"],[0,"&DoubleVerticalBar;"],[0,"&NotDoubleVerticalBar;"],[0,"&and;"],[0,"&or;"],[0,{v:"&cap;",n:65024,o:"&caps;"}],[0,{v:"&cup;",n:65024,o:"&cups;"}],[0,"&int;"],[0,"&Int;"],[0,"&iiint;"],[0,"&conint;"],[0,"&Conint;"],[0,"&Cconint;"],[0,"&cwint;"],[0,"&ClockwiseContourIntegral;"],[0,"&awconint;"],[0,"&there4;"],[0,"&becaus;"],[0,"&ratio;"],[0,"&Colon;"],[0,"&dotminus;"],[1,"&mDDot;"],[0,"&homtht;"],[0,{v:"&sim;",n:8402,o:"&nvsim;"}],[0,{v:"&backsim;",n:817,o:"&race;"}],[0,{v:"&ac;",n:819,o:"&acE;"}],[0,"&acd;"],[0,"&VerticalTilde;"],[0,"&NotTilde;"],[0,{v:"&eqsim;",n:824,o:"&nesim;"}],[0,"&sime;"],[0,"&NotTildeEqual;"],[0,"&cong;"],[0,"&simne;"],[0,"&ncong;"],[0,"&ap;"],[0,"&nap;"],[0,"&ape;"],[0,{v:"&apid;",n:824,o:"&napid;"}],[0,"&backcong;"],[0,{v:"&asympeq;",n:8402,o:"&nvap;"}],[0,{v:"&bump;",n:824,o:"&nbump;"}],[0,{v:"&bumpe;",n:824,o:"&nbumpe;"}],[0,{v:"&doteq;",n:824,o:"&nedot;"}],[0,"&doteqdot;"],[0,"&efDot;"],[0,"&erDot;"],[0,"&Assign;"],[0,"&ecolon;"],[0,"&ecir;"],[0,"&circeq;"],[1,"&wedgeq;"],[0,"&veeeq;"],[1,"&triangleq;"],[2,"&equest;"],[0,"&ne;"],[0,{v:"&Congruent;",n:8421,o:"&bnequiv;"}],[0,"&nequiv;"],[1,{v:"&le;",n:8402,o:"&nvle;"}],[0,{v:"&ge;",n:8402,o:"&nvge;"}],[0,{v:"&lE;",n:824,o:"&nlE;"}],[0,{v:"&gE;",n:824,o:"&ngE;"}],[0,{v:"&lnE;",n:65024,o:"&lvertneqq;"}],[0,{v:"&gnE;",n:65024,o:"&gvertneqq;"}],[0,{v:"&ll;",n:new Map(zee([[824,"&nLtv;"],[7577,"&nLt;"]]))}],[0,{v:"&gg;",n:new Map(zee([[824,"&nGtv;"],[7577,"&nGt;"]]))}],[0,"&between;"],[0,"&NotCupCap;"],[0,"&nless;"],[0,"&ngt;"],[0,"&nle;"],[0,"&nge;"],[0,"&lesssim;"],[0,"&GreaterTilde;"],[0,"&nlsim;"],[0,"&ngsim;"],[0,"&LessGreater;"],[0,"&gl;"],[0,"&NotLessGreater;"],[0,"&NotGreaterLess;"],[0,"&pr;"],[0,"&sc;"],[0,"&prcue;"],[0,"&sccue;"],[0,"&PrecedesTilde;"],[0,{v:"&scsim;",n:824,o:"&NotSucceedsTilde;"}],[0,"&NotPrecedes;"],[0,"&NotSucceeds;"],[0,{v:"&sub;",n:8402,o:"&NotSubset;"}],[0,{v:"&sup;",n:8402,o:"&NotSuperset;"}],[0,"&nsub;"],[0,"&nsup;"],[0,"&sube;"],[0,"&supe;"],[0,"&NotSubsetEqual;"],[0,"&NotSupersetEqual;"],[0,{v:"&subne;",n:65024,o:"&varsubsetneq;"}],[0,{v:"&supne;",n:65024,o:"&varsupsetneq;"}],[1,"&cupdot;"],[0,"&UnionPlus;"],[0,{v:"&sqsub;",n:824,o:"&NotSquareSubset;"}],[0,{v:"&sqsup;",n:824,o:"&NotSquareSuperset;"}],[0,"&sqsube;"],[0,"&sqsupe;"],[0,{v:"&sqcap;",n:65024,o:"&sqcaps;"}],[0,{v:"&sqcup;",n:65024,o:"&sqcups;"}],[0,"&CirclePlus;"],[0,"&CircleMinus;"],[0,"&CircleTimes;"],[0,"&osol;"],[0,"&CircleDot;"],[0,"&circledcirc;"],[0,"&circledast;"],[1,"&circleddash;"],[0,"&boxplus;"],[0,"&boxminus;"],[0,"&boxtimes;"],[0,"&dotsquare;"],[0,"&RightTee;"],[0,"&dashv;"],[0,"&DownTee;"],[0,"&bot;"],[1,"&models;"],[0,"&DoubleRightTee;"],[0,"&Vdash;"],[0,"&Vvdash;"],[0,"&VDash;"],[0,"&nvdash;"],[0,"&nvDash;"],[0,"&nVdash;"],[0,"&nVDash;"],[0,"&prurel;"],[1,"&LeftTriangle;"],[0,"&RightTriangle;"],[0,{v:"&LeftTriangleEqual;",n:8402,o:"&nvltrie;"}],[0,{v:"&RightTriangleEqual;",n:8402,o:"&nvrtrie;"}],[0,"&origof;"],[0,"&imof;"],[0,"&multimap;"],[0,"&hercon;"],[0,"&intcal;"],[0,"&veebar;"],[1,"&barvee;"],[0,"&angrtvb;"],[0,"&lrtri;"],[0,"&bigwedge;"],[0,"&bigvee;"],[0,"&bigcap;"],[0,"&bigcup;"],[0,"&diam;"],[0,"&sdot;"],[0,"&sstarf;"],[0,"&divideontimes;"],[0,"&bowtie;"],[0,"&ltimes;"],[0,"&rtimes;"],[0,"&leftthreetimes;"],[0,"&rightthreetimes;"],[0,"&backsimeq;"],[0,"&curlyvee;"],[0,"&curlywedge;"],[0,"&Sub;"],[0,"&Sup;"],[0,"&Cap;"],[0,"&Cup;"],[0,"&fork;"],[0,"&epar;"],[0,"&lessdot;"],[0,"&gtdot;"],[0,{v:"&Ll;",n:824,o:"&nLl;"}],[0,{v:"&Gg;",n:824,o:"&nGg;"}],[0,{v:"&leg;",n:65024,o:"&lesg;"}],[0,{v:"&gel;",n:65024,o:"&gesl;"}],[2,"&cuepr;"],[0,"&cuesc;"],[0,"&NotPrecedesSlantEqual;"],[0,"&NotSucceedsSlantEqual;"],[0,"&NotSquareSubsetEqual;"],[0,"&NotSquareSupersetEqual;"],[2,"&lnsim;"],[0,"&gnsim;"],[0,"&precnsim;"],[0,"&scnsim;"],[0,"&nltri;"],[0,"&NotRightTriangle;"],[0,"&nltrie;"],[0,"&NotRightTriangleEqual;"],[0,"&vellip;"],[0,"&ctdot;"],[0,"&utdot;"],[0,"&dtdot;"],[0,"&disin;"],[0,"&isinsv;"],[0,"&isins;"],[0,{v:"&isindot;",n:824,o:"&notindot;"}],[0,"&notinvc;"],[0,"&notinvb;"],[1,{v:"&isinE;",n:824,o:"&notinE;"}],[0,"&nisd;"],[0,"&xnis;"],[0,"&nis;"],[0,"&notnivc;"],[0,"&notnivb;"],[6,"&barwed;"],[0,"&Barwed;"],[1,"&lceil;"],[0,"&rceil;"],[0,"&LeftFloor;"],[0,"&rfloor;"],[0,"&drcrop;"],[0,"&dlcrop;"],[0,"&urcrop;"],[0,"&ulcrop;"],[0,"&bnot;"],[1,"&profline;"],[0,"&profsurf;"],[1,"&telrec;"],[0,"&target;"],[5,"&ulcorn;"],[0,"&urcorn;"],[0,"&dlcorn;"],[0,"&drcorn;"],[2,"&frown;"],[0,"&smile;"],[9,"&cylcty;"],[0,"&profalar;"],[7,"&topbot;"],[6,"&ovbar;"],[1,"&solbar;"],[60,"&angzarr;"],[51,"&lmoustache;"],[0,"&rmoustache;"],[2,"&OverBracket;"],[0,"&bbrk;"],[0,"&bbrktbrk;"],[37,"&OverParenthesis;"],[0,"&UnderParenthesis;"],[0,"&OverBrace;"],[0,"&UnderBrace;"],[2,"&trpezium;"],[4,"&elinters;"],[59,"&blank;"],[164,"&circledS;"],[55,"&boxh;"],[1,"&boxv;"],[9,"&boxdr;"],[3,"&boxdl;"],[3,"&boxur;"],[3,"&boxul;"],[3,"&boxvr;"],[7,"&boxvl;"],[7,"&boxhd;"],[7,"&boxhu;"],[7,"&boxvh;"],[19,"&boxH;"],[0,"&boxV;"],[0,"&boxdR;"],[0,"&boxDr;"],[0,"&boxDR;"],[0,"&boxdL;"],[0,"&boxDl;"],[0,"&boxDL;"],[0,"&boxuR;"],[0,"&boxUr;"],[0,"&boxUR;"],[0,"&boxuL;"],[0,"&boxUl;"],[0,"&boxUL;"],[0,"&boxvR;"],[0,"&boxVr;"],[0,"&boxVR;"],[0,"&boxvL;"],[0,"&boxVl;"],[0,"&boxVL;"],[0,"&boxHd;"],[0,"&boxhD;"],[0,"&boxHD;"],[0,"&boxHu;"],[0,"&boxhU;"],[0,"&boxHU;"],[0,"&boxvH;"],[0,"&boxVh;"],[0,"&boxVH;"],[19,"&uhblk;"],[3,"&lhblk;"],[3,"&block;"],[8,"&blk14;"],[0,"&blk12;"],[0,"&blk34;"],[13,"&square;"],[8,"&blacksquare;"],[0,"&EmptyVerySmallSquare;"],[1,"&rect;"],[0,"&marker;"],[2,"&fltns;"],[1,"&bigtriangleup;"],[0,"&blacktriangle;"],[0,"&triangle;"],[2,"&blacktriangleright;"],[0,"&rtri;"],[3,"&bigtriangledown;"],[0,"&blacktriangledown;"],[0,"&dtri;"],[2,"&blacktriangleleft;"],[0,"&ltri;"],[6,"&loz;"],[0,"&cir;"],[32,"&tridot;"],[2,"&bigcirc;"],[8,"&ultri;"],[0,"&urtri;"],[0,"&lltri;"],[0,"&EmptySmallSquare;"],[0,"&FilledSmallSquare;"],[8,"&bigstar;"],[0,"&star;"],[7,"&phone;"],[49,"&female;"],[1,"&male;"],[29,"&spades;"],[2,"&clubs;"],[1,"&hearts;"],[0,"&diamondsuit;"],[3,"&sung;"],[2,"&flat;"],[0,"&natural;"],[0,"&sharp;"],[163,"&check;"],[3,"&cross;"],[8,"&malt;"],[21,"&sext;"],[33,"&VerticalSeparator;"],[25,"&lbbrk;"],[0,"&rbbrk;"],[84,"&bsolhsub;"],[0,"&suphsol;"],[28,"&LeftDoubleBracket;"],[0,"&RightDoubleBracket;"],[0,"&lang;"],[0,"&rang;"],[0,"&Lang;"],[0,"&Rang;"],[0,"&loang;"],[0,"&roang;"],[7,"&longleftarrow;"],[0,"&longrightarrow;"],[0,"&longleftrightarrow;"],[0,"&DoubleLongLeftArrow;"],[0,"&DoubleLongRightArrow;"],[0,"&DoubleLongLeftRightArrow;"],[1,"&longmapsto;"],[2,"&dzigrarr;"],[258,"&nvlArr;"],[0,"&nvrArr;"],[0,"&nvHarr;"],[0,"&Map;"],[6,"&lbarr;"],[0,"&bkarow;"],[0,"&lBarr;"],[0,"&dbkarow;"],[0,"&drbkarow;"],[0,"&DDotrahd;"],[0,"&UpArrowBar;"],[0,"&DownArrowBar;"],[2,"&Rarrtl;"],[2,"&latail;"],[0,"&ratail;"],[0,"&lAtail;"],[0,"&rAtail;"],[0,"&larrfs;"],[0,"&rarrfs;"],[0,"&larrbfs;"],[0,"&rarrbfs;"],[2,"&nwarhk;"],[0,"&nearhk;"],[0,"&hksearow;"],[0,"&hkswarow;"],[0,"&nwnear;"],[0,"&nesear;"],[0,"&seswar;"],[0,"&swnwar;"],[8,{v:"&rarrc;",n:824,o:"&nrarrc;"}],[1,"&cudarrr;"],[0,"&ldca;"],[0,"&rdca;"],[0,"&cudarrl;"],[0,"&larrpl;"],[2,"&curarrm;"],[0,"&cularrp;"],[7,"&rarrpl;"],[2,"&harrcir;"],[0,"&Uarrocir;"],[0,"&lurdshar;"],[0,"&ldrushar;"],[2,"&LeftRightVector;"],[0,"&RightUpDownVector;"],[0,"&DownLeftRightVector;"],[0,"&LeftUpDownVector;"],[0,"&LeftVectorBar;"],[0,"&RightVectorBar;"],[0,"&RightUpVectorBar;"],[0,"&RightDownVectorBar;"],[0,"&DownLeftVectorBar;"],[0,"&DownRightVectorBar;"],[0,"&LeftUpVectorBar;"],[0,"&LeftDownVectorBar;"],[0,"&LeftTeeVector;"],[0,"&RightTeeVector;"],[0,"&RightUpTeeVector;"],[0,"&RightDownTeeVector;"],[0,"&DownLeftTeeVector;"],[0,"&DownRightTeeVector;"],[0,"&LeftUpTeeVector;"],[0,"&LeftDownTeeVector;"],[0,"&lHar;"],[0,"&uHar;"],[0,"&rHar;"],[0,"&dHar;"],[0,"&luruhar;"],[0,"&ldrdhar;"],[0,"&ruluhar;"],[0,"&rdldhar;"],[0,"&lharul;"],[0,"&llhard;"],[0,"&rharul;"],[0,"&lrhard;"],[0,"&udhar;"],[0,"&duhar;"],[0,"&RoundImplies;"],[0,"&erarr;"],[0,"&simrarr;"],[0,"&larrsim;"],[0,"&rarrsim;"],[0,"&rarrap;"],[0,"&ltlarr;"],[1,"&gtrarr;"],[0,"&subrarr;"],[1,"&suplarr;"],[0,"&lfisht;"],[0,"&rfisht;"],[0,"&ufisht;"],[0,"&dfisht;"],[5,"&lopar;"],[0,"&ropar;"],[4,"&lbrke;"],[0,"&rbrke;"],[0,"&lbrkslu;"],[0,"&rbrksld;"],[0,"&lbrksld;"],[0,"&rbrkslu;"],[0,"&langd;"],[0,"&rangd;"],[0,"&lparlt;"],[0,"&rpargt;"],[0,"&gtlPar;"],[0,"&ltrPar;"],[3,"&vzigzag;"],[1,"&vangrt;"],[0,"&angrtvbd;"],[6,"&ange;"],[0,"&range;"],[0,"&dwangle;"],[0,"&uwangle;"],[0,"&angmsdaa;"],[0,"&angmsdab;"],[0,"&angmsdac;"],[0,"&angmsdad;"],[0,"&angmsdae;"],[0,"&angmsdaf;"],[0,"&angmsdag;"],[0,"&angmsdah;"],[0,"&bemptyv;"],[0,"&demptyv;"],[0,"&cemptyv;"],[0,"&raemptyv;"],[0,"&laemptyv;"],[0,"&ohbar;"],[0,"&omid;"],[0,"&opar;"],[1,"&operp;"],[1,"&olcross;"],[0,"&odsold;"],[1,"&olcir;"],[0,"&ofcir;"],[0,"&olt;"],[0,"&ogt;"],[0,"&cirscir;"],[0,"&cirE;"],[0,"&solb;"],[0,"&bsolb;"],[3,"&boxbox;"],[3,"&trisb;"],[0,"&rtriltri;"],[0,{v:"&LeftTriangleBar;",n:824,o:"&NotLeftTriangleBar;"}],[0,{v:"&RightTriangleBar;",n:824,o:"&NotRightTriangleBar;"}],[11,"&iinfin;"],[0,"&infintie;"],[0,"&nvinfin;"],[4,"&eparsl;"],[0,"&smeparsl;"],[0,"&eqvparsl;"],[5,"&blacklozenge;"],[8,"&RuleDelayed;"],[1,"&dsol;"],[9,"&bigodot;"],[0,"&bigoplus;"],[0,"&bigotimes;"],[1,"&biguplus;"],[1,"&bigsqcup;"],[5,"&iiiint;"],[0,"&fpartint;"],[2,"&cirfnint;"],[0,"&awint;"],[0,"&rppolint;"],[0,"&scpolint;"],[0,"&npolint;"],[0,"&pointint;"],[0,"&quatint;"],[0,"&intlarhk;"],[10,"&pluscir;"],[0,"&plusacir;"],[0,"&simplus;"],[0,"&plusdu;"],[0,"&plussim;"],[0,"&plustwo;"],[1,"&mcomma;"],[0,"&minusdu;"],[2,"&loplus;"],[0,"&roplus;"],[0,"&Cross;"],[0,"&timesd;"],[0,"&timesbar;"],[1,"&smashp;"],[0,"&lotimes;"],[0,"&rotimes;"],[0,"&otimesas;"],[0,"&Otimes;"],[0,"&odiv;"],[0,"&triplus;"],[0,"&triminus;"],[0,"&tritime;"],[0,"&intprod;"],[2,"&amalg;"],[0,"&capdot;"],[1,"&ncup;"],[0,"&ncap;"],[0,"&capand;"],[0,"&cupor;"],[0,"&cupcap;"],[0,"&capcup;"],[0,"&cupbrcap;"],[0,"&capbrcup;"],[0,"&cupcup;"],[0,"&capcap;"],[0,"&ccups;"],[0,"&ccaps;"],[2,"&ccupssm;"],[2,"&And;"],[0,"&Or;"],[0,"&andand;"],[0,"&oror;"],[0,"&orslope;"],[0,"&andslope;"],[1,"&andv;"],[0,"&orv;"],[0,"&andd;"],[0,"&ord;"],[1,"&wedbar;"],[6,"&sdote;"],[3,"&simdot;"],[2,{v:"&congdot;",n:824,o:"&ncongdot;"}],[0,"&easter;"],[0,"&apacir;"],[0,{v:"&apE;",n:824,o:"&napE;"}],[0,"&eplus;"],[0,"&pluse;"],[0,"&Esim;"],[0,"&Colone;"],[0,"&Equal;"],[1,"&ddotseq;"],[0,"&equivDD;"],[0,"&ltcir;"],[0,"&gtcir;"],[0,"&ltquest;"],[0,"&gtquest;"],[0,{v:"&leqslant;",n:824,o:"&nleqslant;"}],[0,{v:"&geqslant;",n:824,o:"&ngeqslant;"}],[0,"&lesdot;"],[0,"&gesdot;"],[0,"&lesdoto;"],[0,"&gesdoto;"],[0,"&lesdotor;"],[0,"&gesdotol;"],[0,"&lap;"],[0,"&gap;"],[0,"&lne;"],[0,"&gne;"],[0,"&lnap;"],[0,"&gnap;"],[0,"&lEg;"],[0,"&gEl;"],[0,"&lsime;"],[0,"&gsime;"],[0,"&lsimg;"],[0,"&gsiml;"],[0,"&lgE;"],[0,"&glE;"],[0,"&lesges;"],[0,"&gesles;"],[0,"&els;"],[0,"&egs;"],[0,"&elsdot;"],[0,"&egsdot;"],[0,"&el;"],[0,"&eg;"],[2,"&siml;"],[0,"&simg;"],[0,"&simlE;"],[0,"&simgE;"],[0,{v:"&LessLess;",n:824,o:"&NotNestedLessLess;"}],[0,{v:"&GreaterGreater;",n:824,o:"&NotNestedGreaterGreater;"}],[1,"&glj;"],[0,"&gla;"],[0,"&ltcc;"],[0,"&gtcc;"],[0,"&lescc;"],[0,"&gescc;"],[0,"&smt;"],[0,"&lat;"],[0,{v:"&smte;",n:65024,o:"&smtes;"}],[0,{v:"&late;",n:65024,o:"&lates;"}],[0,"&bumpE;"],[0,{v:"&PrecedesEqual;",n:824,o:"&NotPrecedesEqual;"}],[0,{v:"&sce;",n:824,o:"&NotSucceedsEqual;"}],[2,"&prE;"],[0,"&scE;"],[0,"&precneqq;"],[0,"&scnE;"],[0,"&prap;"],[0,"&scap;"],[0,"&precnapprox;"],[0,"&scnap;"],[0,"&Pr;"],[0,"&Sc;"],[0,"&subdot;"],[0,"&supdot;"],[0,"&subplus;"],[0,"&supplus;"],[0,"&submult;"],[0,"&supmult;"],[0,"&subedot;"],[0,"&supedot;"],[0,{v:"&subE;",n:824,o:"&nsubE;"}],[0,{v:"&supE;",n:824,o:"&nsupE;"}],[0,"&subsim;"],[0,"&supsim;"],[2,{v:"&subnE;",n:65024,o:"&varsubsetneqq;"}],[0,{v:"&supnE;",n:65024,o:"&varsupsetneqq;"}],[2,"&csub;"],[0,"&csup;"],[0,"&csube;"],[0,"&csupe;"],[0,"&subsup;"],[0,"&supsub;"],[0,"&subsub;"],[0,"&supsup;"],[0,"&suphsub;"],[0,"&supdsub;"],[0,"&forkv;"],[0,"&topfork;"],[0,"&mlcp;"],[8,"&Dashv;"],[1,"&Vdashl;"],[0,"&Barv;"],[0,"&vBar;"],[0,"&vBarv;"],[1,"&Vbar;"],[0,"&Not;"],[0,"&bNot;"],[0,"&rnmid;"],[0,"&cirmid;"],[0,"&midcir;"],[0,"&topcir;"],[0,"&nhpar;"],[0,"&parsim;"],[9,{v:"&parsl;",n:8421,o:"&nparsl;"}],[44343,{n:new Map(zee([[56476,"&Ascr;"],[1,"&Cscr;"],[0,"&Dscr;"],[2,"&Gscr;"],[2,"&Jscr;"],[0,"&Kscr;"],[2,"&Nscr;"],[0,"&Oscr;"],[0,"&Pscr;"],[0,"&Qscr;"],[1,"&Sscr;"],[0,"&Tscr;"],[0,"&Uscr;"],[0,"&Vscr;"],[0,"&Wscr;"],[0,"&Xscr;"],[0,"&Yscr;"],[0,"&Zscr;"],[0,"&ascr;"],[0,"&bscr;"],[0,"&cscr;"],[0,"&dscr;"],[1,"&fscr;"],[1,"&hscr;"],[0,"&iscr;"],[0,"&jscr;"],[0,"&kscr;"],[0,"&lscr;"],[0,"&mscr;"],[0,"&nscr;"],[1,"&pscr;"],[0,"&qscr;"],[0,"&rscr;"],[0,"&sscr;"],[0,"&tscr;"],[0,"&uscr;"],[0,"&vscr;"],[0,"&wscr;"],[0,"&xscr;"],[0,"&yscr;"],[0,"&zscr;"],[52,"&Afr;"],[0,"&Bfr;"],[1,"&Dfr;"],[0,"&Efr;"],[0,"&Ffr;"],[0,"&Gfr;"],[2,"&Jfr;"],[0,"&Kfr;"],[0,"&Lfr;"],[0,"&Mfr;"],[0,"&Nfr;"],[0,"&Ofr;"],[0,"&Pfr;"],[0,"&Qfr;"],[1,"&Sfr;"],[0,"&Tfr;"],[0,"&Ufr;"],[0,"&Vfr;"],[0,"&Wfr;"],[0,"&Xfr;"],[0,"&Yfr;"],[1,"&afr;"],[0,"&bfr;"],[0,"&cfr;"],[0,"&dfr;"],[0,"&efr;"],[0,"&ffr;"],[0,"&gfr;"],[0,"&hfr;"],[0,"&ifr;"],[0,"&jfr;"],[0,"&kfr;"],[0,"&lfr;"],[0,"&mfr;"],[0,"&nfr;"],[0,"&ofr;"],[0,"&pfr;"],[0,"&qfr;"],[0,"&rfr;"],[0,"&sfr;"],[0,"&tfr;"],[0,"&ufr;"],[0,"&vfr;"],[0,"&wfr;"],[0,"&xfr;"],[0,"&yfr;"],[0,"&zfr;"],[0,"&Aopf;"],[0,"&Bopf;"],[1,"&Dopf;"],[0,"&Eopf;"],[0,"&Fopf;"],[0,"&Gopf;"],[1,"&Iopf;"],[0,"&Jopf;"],[0,"&Kopf;"],[0,"&Lopf;"],[0,"&Mopf;"],[1,"&Oopf;"],[3,"&Sopf;"],[0,"&Topf;"],[0,"&Uopf;"],[0,"&Vopf;"],[0,"&Wopf;"],[0,"&Xopf;"],[0,"&Yopf;"],[1,"&aopf;"],[0,"&bopf;"],[0,"&copf;"],[0,"&dopf;"],[0,"&eopf;"],[0,"&fopf;"],[0,"&gopf;"],[0,"&hopf;"],[0,"&iopf;"],[0,"&jopf;"],[0,"&kopf;"],[0,"&lopf;"],[0,"&mopf;"],[0,"&nopf;"],[0,"&oopf;"],[0,"&popf;"],[0,"&qopf;"],[0,"&ropf;"],[0,"&sopf;"],[0,"&topf;"],[0,"&uopf;"],[0,"&vopf;"],[0,"&wopf;"],[0,"&xopf;"],[0,"&yopf;"],[0,"&zopf;"]]))}],[8906,"&fflig;"],[0,"&filig;"],[0,"&fllig;"],[0,"&ffilig;"],[0,"&ffllig;"]]));var qun=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]),Jun=String.prototype.codePointAt!=null?(s,o)=>s.codePointAt(o):(s,o)=>(s.charCodeAt(o)&64512)===55296?(s.charCodeAt(o)-55296)*1024+s.charCodeAt(o+1)-56320+65536:s.charCodeAt(o);function kye(s,o){return function(d){let g,m=0,v="";for(;g=s.exec(d);)m!==g.index&&(v+=d.substring(m,g.index)),v+=o.get(g[0].charCodeAt(0)),m=g.index+1;return v+d.substring(m)}}var V5t=kye(/[&<>'"]/g,qun),Z5t=kye(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),e6t=kye(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));var t6t;(function(s){s[s.XML=0]="XML",s[s.HTML=1]="HTML"})(t6t||(t6t={}));var n6t;(function(s){s[s.UTF8=0]="UTF8",s[s.ASCII=1]="ASCII",s[s.Extensive=2]="Extensive",s[s.Attribute=3]="Attribute",s[s.Text=4]="Text"})(n6t||(n6t={}));function Kun(s){return Object.prototype.toString.call(s)}function Kee(s){return Kun(s)==="[object String]"}var Wun=Object.prototype.hasOwnProperty;function Yun(s,o){return Wun.call(s,o)}function oM(s){return Array.prototype.slice.call(arguments,1).forEach(function(a){if(a){if(typeof a!="object")throw new TypeError(a+"must be object");Object.keys(a).forEach(function(d){s[d]=a[d]})}}),s}function Eye(s,o,a){return[].concat(s.slice(0,o),a,s.slice(o+1))}function Wee(s){return!(s>=55296&&s<=57343||s>=64976&&s<=65007||(s&65535)===65535||(s&65535)===65534||s>=0&&s<=8||s===11||s>=14&&s<=31||s>=127&&s<=159||s>1114111)}function cM(s){if(s>65535){s-=65536;let o=55296+(s>>10),a=56320+(s&1023);return String.fromCharCode(o,a)}return String.fromCharCode(s)}var s6t=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Xun=/&([a-z#][a-z0-9]{1,31});/gi,Vun=new RegExp(s6t.source+"|"+Xun.source,"gi"),Zun=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function ean(s,o){if(o.charCodeAt(0)===35&&Zun.test(o)){let d=o[1].toLowerCase()==="x"?parseInt(o.slice(2),16):parseInt(o.slice(1),10);return Wee(d)?cM(d):s}let a=sM(s);return a!==s?a:s}function tan(s){return s.indexOf("\\")<0?s:s.replace(s6t,"$1")}function t6(s){return s.indexOf("\\")<0&&s.indexOf("&")<0?s:s.replace(Vun,function(o,a,d){return a||ean(o,d)})}var nan=/[&<>"]/,ran=/[&<>"]/g,ian={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;"};function san(s){return ian[s]}function n6(s){return nan.test(s)?s.replace(ran,san):s}var oan=/[.?*+^$[\]\\(){}|-]/g;function can(s){return s.replace(oan,"\\$&")}function jo(s){switch(s){case 9:case 32:return!0}return!1}function fC(s){if(s>=8192&&s<=8202)return!0;switch(s){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function o6t(s){return iM.test(s)||qee.test(s)}function hC(s){return o6t(cM(s))}function dC(s){switch(s){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function pC(s){return s=s.trim().replace(/\s+/g," "),"\u1E9E".toLowerCase()==="\u1E7E"&&(s=s.replace(/ẞ/g,"\xDF")),s.toLowerCase().toUpperCase()}function i6t(s){return s===32||s===9||s===10||s===13}function gC(s){let o=0;for(;o<s.length&&i6t(s.charCodeAt(o));o++);let a=s.length-1;for(;a>=o&&i6t(s.charCodeAt(a));a--);return s.slice(o,a+1)}var uan={mdurl:Hee,ucmicro:mye};var _ye={};V_(_ye,{parseLinkDestination:()=>Sye,parseLinkLabel:()=>Iye,parseLinkTitle:()=>Tye});function Iye(s,o,a){let d,g,m,v,A=s.posMax,I=s.pos;for(s.pos=o+1,d=1;s.pos<A;){if(m=s.src.charCodeAt(s.pos),m===93&&(d--,d===0)){g=!0;break}if(v=s.pos,s.md.inline.skipToken(s),m===91){if(v===s.pos-1)d++;else if(a)return s.pos=I,-1}}let T=-1;return g&&(T=s.pos),s.pos=I,T}function Sye(s,o,a){let d,g=o,m={ok:!1,pos:0,str:""};if(s.charCodeAt(g)===60){for(g++;g<a;){if(d=s.charCodeAt(g),d===10||d===60)return m;if(d===62)return m.pos=g+1,m.str=t6(s.slice(o+1,g)),m.ok=!0,m;if(d===92&&g+1<a){g+=2;continue}g++}return m}let v=0;for(;g<a&&(d=s.charCodeAt(g),!(d===32||d<32||d===127));){if(d===92&&g+1<a){if(s.charCodeAt(g+1)===32)break;g+=2;continue}if(d===40&&(v++,v>32))return m;if(d===41){if(v===0)break;v--}g++}return o===g||v!==0||(m.str=t6(s.slice(o,g)),m.pos=g,m.ok=!0),m}function Tye(s,o,a,d){let g,m=o,v={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(d)v.str=d.str,v.marker=d.marker;else{if(m>=a)return v;let A=s.charCodeAt(m);if(A!==34&&A!==39&&A!==40)return v;o++,m++,A===40&&(A=41),v.marker=A}for(;m<a;){if(g=s.charCodeAt(m),g===v.marker)return v.pos=m+1,v.str+=t6(s.slice(o,m)),v.ok=!0,v;if(g===40&&v.marker===41)return v;g===92&&m+1<a&&m++,m++}return v.can_continue=!0,v.str+=t6(s.slice(o,m)),v}var A4={};A4.code_inline=function(s,o,a,d,g){let m=s[o];return"<code"+g.renderAttrs(m)+">"+n6(m.content)+"</code>"};A4.code_block=function(s,o,a,d,g){let m=s[o];return"<pre"+g.renderAttrs(m)+"><code>"+n6(s[o].content)+`</code></pre>
31
31
  `};A4.fence=function(s,o,a,d,g){let m=s[o],v=m.info?t6(m.info).trim():"",A="",I="";if(v){let B=v.split(/(\s+)/g);A=B[0],I=B.slice(2).join("")}let T;if(a.highlight?T=a.highlight(m.content,A,I)||n6(m.content):T=n6(m.content),T.indexOf("<pre")===0)return T+`
32
32
  `;if(v){let B=m.attrIndex("class"),L=m.attrs?m.attrs.slice():[];B<0?L.push(["class",a.langPrefix+A]):(L[B]=L[B].slice(),L[B][1]+=" "+a.langPrefix+A);let R={attrs:L};return`<pre><code${g.renderAttrs(R)}>${T}</code></pre>
@@ -1058,9 +1058,9 @@ ${B?"globalThis.__tbEntryRan = true; /* load-failure backstop \u2014 see embedPr
1058
1058
  })();
1059
1059
  <\/script>`;function swn(s){let o={};for(let[a,d]of Object.entries(s))o[a]=d.startsWith("https://")?"/proxy/"+d:d;return o}var Y$="https://esm.sh",X$="https://cdn.jsdelivr.net/npm/",zke="https://data.jsdelivr.com/v1/package/npm/";function HEt(s){let o=(s||"").replace(/^\/+/,"").replace(/\/+$/,"");return o?o.split("/"):[]}var Pf=class s{constructor(o,a,d){let g=typeof o=="string"?s.parse(o):o;this.name=g.name,this.version=qM(a??g.version),this.subpath=qM(d??g.subpath)}static parse(o){let a=HEt(o||"");if(!a.length)return new s({name:""});if(a[0].startsWith("@")){let g=a[0],[m,v]=QEt(a[1]??""),A=qM(a.slice(2).join("/"));return new s({name:`${g}/${m}`,version:v,subpath:A})}else{let[g,m]=QEt(a[0]),v=qM(a.slice(1).join("/"));return new s({name:g,version:m,subpath:v})}}static fromUrl(o){try{let a=new URL(o),d=new URL(Y$).host,g=new URL(X$).host;if(a.host===d){let m=HEt(a.pathname.replace(/^\/v\d+\//,"/"));if(!m.length)return;let v=m[0].startsWith("@")?`${m[0]}/${m[1]??""}`:m[0];return s.parse(v)}if(a.host===g){let m=a.pathname.split("/npm/")[1];if(!m)return;let v=m.split("/")[0]||"";return s.parse(v)}return}catch{return}}static versionFromUrl(o){return s.fromUrl(o)?.version}format(){let o=this.version?`${this.name}@${this.version}`:this.name;return this.subpath?`${o}/${this.subpath}`:o}root(){return this.name}static rootOf(o){return s.parse(o).name}withVersion(o){return new s({name:this.name,version:qM(o),subpath:this.subpath})}withPreferredVersion(o,a){let d=o||a;return d?this.withVersion(d):this}static isBare(o){if(!o||o.startsWith(".")||o.startsWith("/"))return!1;let a=o.toLowerCase();return!a.startsWith("http://")&&!a.startsWith("https://")}},qM=s=>s&&s.length?s:void 0,QEt=s=>{let o=s.indexOf("@");return o<0?[s,void 0]:[s.slice(0,o),qM(s.slice(o+1))]};async function gg(s){try{return await s()}catch{return}}var V$=class{constructor(o,a){this.cache=o,this.http=a,this.esmHost=Y$,this.jsDelivrBase=X$,this.jsDelivrMeta=zke,this.pinMs=1e4,this.versionsIndexMs=1440*60*1e3,this.metaTtlMs=10080*60*1e3,this.pinCache=new Map}normalizeRelative(o){let a=o||"";return a.startsWith("./")?a.slice(2):a.replace(/^\/+/,"")}ensureLeadingDotSlash(o){return o.startsWith("./")?o:`./${o}`}baseDir(o){let a=typeof o=="string"?new Pf(o):o;return`${this.jsDelivrBase}${a.name}${a.version?`@${a.version}`:""}/`}file(o,a){return new URL(this.normalizeRelative(a),this.baseDir(o)).toString()}packageJson(o){return this.file(o,"package.json")}buildEsmUrl(o,a={}){let{target:d="es2022",bundle:g=!1,external:m}=a,v=new URLSearchParams({target:d});return g&&v.append("bundle",""),m?.length&&v.append("external",m.join(",")),`${this.esmHost}/${o}?${v.toString()}`}async pinEsmUrl(o,a="es2022"){let d=this.buildEsmUrl(o,{target:a}),g=await gg(()=>this.http.head(d));return g?.ok?g.url||d:void 0}async resolveExactVersion(o){let a=Date.now(),d=this.pinCache.get(o);if(d&&a-d.ts<this.pinMs)return d.value;let g=await this.tryResolveFromUrls([this.buildEsmUrl(o),`${this.esmHost}/${o}`]);return this.pinCache.set(o,{value:g,ts:a}),g}async tryResolveFromUrls(o){for(let a of o){let d=await gg(()=>this.http.head(a)),g=this.parseVersionFromUrl(d?.url||a);if(g)return g}}async fetchVersionsIndex(o){if(await this.cache.isNegative(o))return;let a=await this.cache.getIndex(o);if(a&&Date.now()-a.updatedAt<this.versionsIndexMs)return{versions:a.versions,distTags:a.distTags};let d=await gg(()=>this.http.getJson(`${this.jsDelivrMeta}${encodeURIComponent(o)}`));if(!d?.versions?.length){await this.cache.recordNegative(o);return}await this.cache.clearNegative(o);let g=d.distTags&&Object.keys(d.distTags).length?d.distTags:void 0;return await this.cache.setIndex(o,d.versions,g),d}parseVersionFromUrl(o){let a=Pf.fromUrl(o)?.version;return a&&/\d+\.\d+\.\d+/.test(a)?a:void 0}async fetchPackageMeta(o,a){let d=await this.cache.getMeta(o,a);if(d&&Date.now()-d.updatedAt<this.metaTtlMs){let{dependencies:B,peerDependencies:L,peerDependenciesMeta:R}=d;return{name:o,version:a,dependencies:B,peerDependencies:L,peerDependenciesMeta:R}}let g=this.packageJson(new Pf(`${o}@${a}`)),m=await gg(()=>this.http.getJson(g));if(!m)return;let v=B=>B&&Object.keys(B).length?B:void 0,A=v(m.dependencies),I=v(m.peerDependencies),T=v(m.peerDependenciesMeta);return await this.cache.setMeta(o,a,A,I,T),{name:o,version:a,dependencies:A,peerDependencies:I,peerDependenciesMeta:T}}};var GEt=s=>s.startsWith("@types/"),Z$=s=>Object.keys(s?.peerDependencies||{}).filter(o=>!GEt(o)),Kke=s=>Object.keys(s?.dependencies||{}).filter(o=>!GEt(o)),own=s=>Z$(s).filter(o=>!s?.peerDependenciesMeta?.[o]?.optional),eH=class{constructor(o){this.cdn=o}async resolve(o,a){let d=await this.fetchMeta(o),{allRoots:g,autoAddedPeers:m}=await this.expandWithPeers(d,a),v=this.computeFlags(g);return{allRoots:g,flags:v,autoAddedPeers:m}}async fetchMeta(o){return Promise.all(o.map(async({name:a,version:d})=>({name:a,version:d,meta:await this.cdn.fetchPackageMeta(a,d)})))}async expandWithPeers(o,a){let d=new Map(o.map(m=>[m.name,m])),g=[];for(let m of o)for(let v of own(m.meta))!d.has(v)&&!g.some(A=>A.name===v)&&g.push({name:v,requiredBy:m.name});for(let{name:m,requiredBy:v}of g)try{let A=await a(m),I=await this.cdn.fetchPackageMeta(m,A);d.set(m,{name:m,version:A,meta:I})}catch(A){console.warn(`[typebulb] Failed to resolve peer "${m}" for "${v}":`,A)}return{allRoots:[...d.values()],autoAddedPeers:g.filter(m=>d.has(m.name))}}computeFlags(o){let a=new Set(o.flatMap(m=>Z$(m.meta))),d=new Map;for(let m of o)for(let v of Kke(m.meta))d.set(v,(d.get(v)||0)+1);let g=new Set([...d.entries()].filter(([,m])=>m>=2).map(([m])=>m));return new Map(o.map(m=>[m.name,{isPeerRoot:a.has(m.name),hasPeers:Z$(m.meta).length>0,isSharedDep:g.has(m.name)}]))}};var tH=class{constructor(o,a,d){this.cache=o,this.cdn=a,this.semver=d}selectVersionFromIndex(o,a,d){return this.semver.selectBestVersion(o,{range:a,distTags:d})}async learnExactVersion(o){let a=await gg(()=>this.cdn.fetchVersionsIndex(o));if(a?.versions?.length){let d=this.semver.selectBestVersion(a.versions,{distTags:a.distTags});if(d)return d}return this.cdn.resolveExactVersion(o)}async resolveExactForRoot(o,a){if(!a)return this.learnExactVersion(o);let d=await this.cache.getPinnedExact(o,a);if(d){if(this.semver.isExactVersion(d))return d;console.debug("[typebulb] cached version for",o,"is not exact (",d,"); re-resolving from registry")}let g=await gg(()=>this.cdn.fetchVersionsIndex(o));if(g?.versions?.length){let v=this.selectVersionFromIndex(g.versions,a,g.distTags);if(v){if(this.semver.isExactVersion(v))return await this.cache.setPinnedExact(o,a,v),v}else{console.debug("[typebulb] refreshing version cache for",o,"(",a,"not in cached set \u2014 likely a new release)"),await this.cache.invalidateVersionsCache(o);let A=await gg(()=>this.cdn.fetchVersionsIndex(o));if(A?.versions?.length){let I=this.selectVersionFromIndex(A.versions,a,A.distTags);if(I&&this.semver.isExactVersion(I))return await this.cache.setPinnedExact(o,a,I),I}}}let m=await this.cdn.resolveExactVersion(`${o}@${a}`);if(m&&this.semver.isExactVersion(m))return await this.cache.setPinnedExact(o,a,m),m}async effectivePackage(o,a){let d=new Pf(o),g=d.root(),m=a[g],v=m?await gg(()=>this.cache.getPinnedExact(g,m))??await gg(()=>this.resolveExactForRoot(g,m)):void 0;return{effectivePackage:v?d.withVersion(v).format():o,root:g,range:m,pinned:v}}};var qEt;(function(s){s[s.Static=1]="Static",s[s.Dynamic=2]="Dynamic",s[s.ImportMeta=3]="ImportMeta",s[s.StaticSourcePhase=4]="StaticSourcePhase",s[s.DynamicSourcePhase=5]="DynamicSourcePhase",s[s.StaticDeferPhase=6]="StaticDeferPhase",s[s.DynamicDeferPhase=7]="DynamicDeferPhase"})(qEt||(qEt={}));var cwn=new Uint8Array(new Uint16Array([1]).buffer)[0]===1;function Wke(s,o="@"){if(!Au)return Yke.then((()=>Wke(s)));let a=s.length+1,d=(Au.__heap_base.value||Au.__heap_base)+4*a-Au.memory.buffer.byteLength;d>0&&Au.memory.grow(Math.ceil(d/65536));let g=Au.sa(a-1);if((cwn?awn:uwn)(s,new Uint16Array(Au.memory.buffer,g,a)),!Au.parse())throw Object.assign(new Error(`Parse error ${o}:${s.slice(0,Au.e()).split(`
1060
1060
  `).length}:${Au.e()-s.lastIndexOf(`
1061
- `,Au.e()-1)}`),{idx:Au.e()});let m=[],v=[];for(;Au.ri();){let I=Au.is(),T=Au.ie(),B=Au.it(),L=Au.ai(),R=Au.id(),Q=Au.ss(),U=Au.se(),W;Au.ip()&&(W=A(s.slice(R===-1?I-1:I,R===-1?T+1:T))),m.push({n:W,t:B,s:I,e:T,ss:Q,se:U,d:R,a:L})}for(;Au.re();){let I=Au.es(),T=Au.ee(),B=Au.els(),L=Au.ele(),R=s.slice(I,T),Q=R[0],U=B<0?void 0:s.slice(B,L),W=U?U[0]:"";v.push({s:I,e:T,ls:B,le:L,n:Q==='"'||Q==="'"?A(R):R,ln:W==='"'||W==="'"?A(U):U})}function A(I){try{return(0,eval)(I)}catch{}}return[m,v,!!Au.f(),!!Au.ms()]}function uwn(s,o){let a=s.length,d=0;for(;d<a;){let g=s.charCodeAt(d);o[d++]=(255&g)<<8|g>>>8}}function awn(s,o){let a=s.length,d=0;for(;d<a;)o[d]=s.charCodeAt(d++)}var Au,lwn=()=>{return s="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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=",typeof Buffer<"u"?Buffer.from(s,"base64"):Uint8Array.from(atob(s),(o=>o.charCodeAt(0)));var s},Yke=WebAssembly.compile(lwn()).then(WebAssembly.instantiate).then((({exports:s})=>{Au=s}));var JM=class s{constructor(o,a,d,g){this.version=o,this.cdn=a,this.peer=d,this.cache=g}extractImportsSync(o){let a=new Set;for(let d of s.importPatterns){d.lastIndex=0;for(let g of o.matchAll(d))Pf.isBare(g[1])&&a.add(g[1])}return Array.from(a)}async extractImports(o){let a=new Set,d=g=>{Pf.isBare(g)&&a.add(g)};try{await Yke;let[g]=Wke(o);g.forEach(m=>d(o.slice(m.s,m.e).trim()))}catch{return this.extractImportsSync(o)}return Array.from(a)}async buildImportMap(o,a,d){let g=(await this.extractImports(o)).filter(L=>!d?.has(Pf.rootOf(L))),m=[...new Set(g.map(Pf.rootOf))],v=await Promise.all(m.map(async L=>({name:L,version:await this.resolveVersion(L,a)}))),{allRoots:A,flags:I,autoAddedPeers:T}=await this.peer.resolve(v,L=>this.resolveVersion(L,a)),B=this.buildEntries([...g,...T.map(L=>L.name)],A,I,a);return{importMap:{imports:Object.fromEntries(B)},prefetchUrls:B.map(([,L])=>L)}}async resolveVersion(o,a){let d=a[o],g=d?`${o}@${d}`:o,m=await this.version.resolveExactForRoot(o,d);if(!m){let v=await gg(()=>this.cdn.pinEsmUrl(g));if(!v)throw new Error(`Cannot resolve ${g}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);m=Pf.versionFromUrl(v),m&&d&&await gg(()=>this.cache.setPinnedExact(o,d,m))}if(!m)throw new Error(`Cannot resolve ${g}: no concrete version found.`);return m}buildEntries(o,a,d,g){let m=new Map(a.map(U=>[U.name,U])),v=U=>{let W=m.get(Pf.rootOf(U));return new Pf(U).withPreferredVersion(W.version,g[W.name]).format()},A=new Set([...d.entries()].filter(([,U])=>U.isPeerRoot||U.isSharedDep).map(([U])=>U)),I=new Set(o.filter(U=>U!==Pf.rootOf(U)).map(Pf.rootOf)),T=[],B=new Set,L=new Set(o.filter(U=>U===Pf.rootOf(U))),R=new Set;for(let U of o){let W=Pf.rootOf(U),ne=m.get(W),{isPeerRoot:he,hasPeers:Ee,isSharedDep:Oe}=d.get(W),ie=I.has(W),Ie=U!==W,kt=!(he||Oe)&&(ie||!Ee),nt=this.singletonDepsOf(ne,A),Ce=Ie&&L.has(W);Ce&&R.add(W);let Xt=Ce?[...nt,W]:nt.length?nt:void 0;T.push([U,this.cdn.buildEsmUrl(v(U),{bundle:kt,external:Xt})]),B.add(U)}let Q=new Set([...A,...R]);for(let U of Q)m.has(U)&&(B.has(U)||T.push([U,this.cdn.buildEsmUrl(v(U),{})]),T.push([`${U}/`,`${this.cdn.esmHost}/${v(U)}/`]));return T}singletonDepsOf(o,a){return[...new Set([...Z$(o.meta),...Kke(o.meta)])].filter(d=>a.has(d))}};JM.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];var eh=uC(LIt(),1),_re=class{cmp(o,a){return o===a?0:(0,eh.gt)(o,a)?1:(0,eh.gt)(a,o)?-1:0}satisfies(o,a){return!o||!o.trim()?!0:!!(0,eh.satisfies)(a,o,{includePrerelease:!0})}pickMaxSatisfying(o,a){if(!o?.length)return;let d=(0,eh.maxSatisfying)(o,a,{includePrerelease:!0});return d===null?void 0:d}pickLatest(o){return o?.length?(0,eh.rsort)(o)[0]:void 0}selectBestVersion(o,a){if(!o?.length)return;let d=a?.range?.trim()||"*",g=a?.preferStable??!0,m=a?.distTags?.latest;if(m&&o.includes(m)&&this.satisfies(d,m))return m;if(g){let A=(0,eh.maxSatisfying)(o,d,{includePrerelease:!1});if(A)return A}return(0,eh.maxSatisfying)(o,d,{includePrerelease:!0})??void 0}majorOf(o){return(0,eh.major)(o)}isPrerelease(o){return(0,eh.prerelease)(o)!==null}isExactVersion(o){return(0,eh.valid)(o)!==null}},bxe=new _re;function NIt(s,o){let a=new V$(s,o),d=new eH(a),g=new tH(s,a,bxe);return{packageService:new JM(g,a,d,s),versionResolver:g,cdnClient:a,peerResolver:d}}var OIt={async getJson(s){try{let o=await fetch(s,{redirect:"follow"});return o.ok?await o.json():void 0}catch{return}},async head(s){try{let o=await fetch(s,{method:"HEAD",redirect:"follow"});return{ok:o.ok,url:o.url}}catch{return}}};function mxe(s){let o=/^---[^\n]*\n([\s\S]*?)\n---/.exec(s),a=o?/^\s*name:\s*(.+?)\s*$/m.exec(o[1]):null;return a?a[1].replace(/^["']|["']$/g,""):void 0}function wxe(s){return s.replace(/^---[^\n]*\r?\n[\s\S]*?\r?\n---[^\n]*\r?\n?/,"").replace(/^\r?\n+/,"")}function o4n(){let s=new Map,o=new Map,a=new Set,d=new Map;return{async getPinnedExact(g,m){return s.get(`${g}@${m}`)},async setPinnedExact(g,m,v){s.set(`${g}@${m}`,v)},async getIndex(g){return o.get(g)},async setIndex(g,m,v){o.set(g,{versions:m,distTags:v,updatedAt:Date.now()})},async invalidateVersionsCache(g){o.delete(g)},async isNegative(g){return a.has(g)},async recordNegative(g){a.add(g)},async clearNegative(g){a.delete(g)},async getMeta(g,m){return d.get(`${g}@${m}`)},async setMeta(g,m,v,A,I){d.set(`${g}@${m}`,{dependencies:v,peerDependencies:A,peerDependenciesMeta:I,updatedAt:Date.now()})}}}var{packageService:c4n}=NIt(o4n(),OIt);async function u4n(s,o={}){let a=g9t(s);if(!a)return{error:"Not a valid bulb (missing `---` frontmatter or a **code.tsx** block)."};let d=ukt(a);if(d.server.trim())return{error:"Nested bulbs are client-only; a **server.ts** block is not supported."};if(!d.code.trim())return{error:"Bulb has no **code.tsx** to run."};let g=m9t(d.config),m=OEt(d.code,{jsxImportSource:g.ts?.jsxImportSource});if(m.error)return{error:`Compile error: ${m.error}`};let v;try{({importMap:v}=await c4n.buildImportMap(m.code,g.dependencies??{}))}catch(I){return{error:`Dependency resolution failed: ${I instanceof Error?I.message:String(I)}`}}return{html:$Et({name:d.name||"bulb",code:m.code,css:d.css,html:d.html,data:_9e(d.data),insight:d.insight,importMap:v,watch:!1,theme:o.theme,embedded:!0})}}function a4n(){let s=document.documentElement.getAttribute("data-theme");return s==="dark"||s==="light"?s:void 0}async function jIt(s,o={}){let{html:a,error:d}=await u4n(s,{theme:o.theme??a4n()});if(d||!a)throw new Error(d??"Bulb produced no output.");let g=o.initialHeight??320,m=o.maxHeight??1e5,v=document.createElement("iframe");v.setAttribute("sandbox","allow-scripts"),v.style.cssText=`display:block;width:100%;height:${g}px;border:0`,v.srcdoc=a;let A=I=>{if(I.source!==v.contentWindow)return;let T=I.data;!T||T.__typebulbEmbed!==!0||(T.kind==="height"&&typeof T.height=="number"&&Number.isFinite(T.height)?v.style.height=`${Math.min(m,Math.max(0,Math.ceil(T.height)))}px`:T.kind==="error"&&o.onError?.(String(T.message??"error")))};return window.addEventListener("message",A,o.signal?{signal:o.signal}:void 0),v}var Mre=class extends El{spread=!1;showingCode=!1;copied=!1;#e="";#t;#n;#i;#r;#s;#u;#l=!1;#c=!1;#a;#o="idle";constructor(o,a){super(),this.#t=o,this.#n=a,this.#i=mxe(o)}get name(){return this.#i}get key(){return this.#n}setMounted(o){o!==this.#l&&(this.#l=o,this.#f())}onAttached(){this.#f()}#f(){if(this.#l){if(this.#r||this.#c||this.#s)return;this.#c=!0,this.#a=new AbortController,jIt(this.#t,{signal:this.#a.signal,onError:o=>{this.#u=o,this.#h("runtime",o),this.update()}}).then(o=>{this.#c=!1,this.#l&&(this.#r=o,this.update())}).catch(o=>{this.#c=!1,this.#s=o instanceof Error?o.message:String(o),this.#h("compile",this.#s),this.update()})}else{if(!this.#r&&!this.#c)return;this.#a?.abort(),this.#a=void 0,this.#r=void 0,this.#u=void 0,this.update()}}#h(o,a){let d=this.#i??this.#n;tb.server.logEmbedError(d,`[embed ${d}] ${o} error: ${a}`).catch(()=>{})}dispose(){this.#a?.abort()}view(){let o=["embed","bulb-embed",this.spread?"spread":"fit",this.showingCode?"code-open":"",this.#s?"err":""],a=this.#i?`${this.#i} \u2014 `:"",d=this.#s?[`${a}could not render: ${this.#s}`]:this.#r?[this.#d(),Vi({class:"bulb-frame",key:"frame",onMounted:g=>{this.#r&&g.replaceChildren(this.#r)}}),this.showingCode?this.#m():null,this.#u?Vi({class:"bulb-err-strip",key:"err"},`\u26A0 ${a}${this.#u}`):null]:["compiling bulb\u2026"];return Vi({class:"md",key:this.#n},Vi({class:o},...d))}#d(){let o=this.#o==="done"?this.#e:"breakout \u2197";return Vi({class:"bulb-controls",key:"controls"},this.#p("bulb-view",this.spread?"fit":"spread",this.spread?"Fit into the conversation column":"Spread to the full transcript width and height",()=>{this.spread=!this.spread,this.update()}),this.#p("bulb-toggle",this.showingCode?"run":"code",this.showingCode?"Back to the running bulb":"View this bulb's source",()=>{this.showingCode=!this.showingCode,this.update()}),this.#p(["bulb-copy",this.copied?"done":""],this.copied?"copied":"copy","Copy this bulb's full source",()=>this.#g()),Y0({class:["overlay-pill","bulb-breakout",this.#o==="busy"?"launching":""],type:"button",disabled:this.#o!=="idle",title:"Save as a standalone .bulb.md and open it with typebulb",onClick:a=>{a.stopPropagation(),this.#b()}},o))}#p(o,a,d,g){let m=Array.isArray(o)?o:[o];return Y0({class:["overlay-pill",...m],type:"button",title:d,onClick:v=>{v.stopPropagation(),g()}},a)}#g(){navigator.clipboard?.writeText(this.#t),this.copied=!0,this.update(),setTimeout(()=>{this.copied=!1,this.update()},1200)}async#b(){if(this.#o==="idle"){this.#o="busy",this.update();try{let{file:o}=await tb.server.breakout(this.#t);this.#e=`launched ${o}`,window.dispatchEvent(new CustomEvent("tb-breakout"))}catch(o){this.#e="breakout failed",console.error("[claude-bulb] breakout failed",o)}this.#o="done",this.update(),setTimeout(()=>{this.#o="idle",this.update()},2500)}}#m(){return Vi({class:["bulb-code","md"],key:"code",tabIndex:0,onKeyDown:o=>{if(!((o.ctrlKey||o.metaKey)&&(o.key==="a"||o.key==="A")))return;o.preventDefault();let a=getSelection();if(!a)return;let d=document.createRange();d.selectNodeContents(o.currentTarget),a.removeAllRanges(),a.addRange(d)},onMounted:o=>{o.innerHTML=a9t.render(wxe(this.#t))}})}};function RIt(s){return s.map((o,a)=>!!o&&s[a+1]===o)}function PIt(s){let o=[];for(let a=0;a<s.length;a++)o[a]=a>0&&s[a]&&s[a]===s[a-1]?o[a-1]+1:1;return o}function l4n(s){return!s||typeof s!="object"?"":Gd(s.command)??Gd(s.file_path)??Gd(s.path)??Gd(s.pattern)??Gd(s.query)??Gd(s.url)??Gd(s.skill)??Gd(s.description)??""}var f4n=new Set(["Read","Edit","Write","MultiEdit","NotebookEdit","Glob","Grep"]),h4n=new Set(["Edit","Write","MultiEdit","NotebookEdit"]);function d4n(s,o){if(!(!f4n.has(s)||!o||typeof o!="object"))return(Gd(o.file_path)??Gd(o.path))||void 0}function p4n(s){let o=s.input??{};switch(s.name){case"Edit":return[{old:Gd(o.old_string),new:Gd(o.new_string)}];case"Write":return[{new:Gd(o.content)}];case"NotebookEdit":return[{new:Gd(o.new_source)}];case"MultiEdit":return Array.isArray(o.edits)?o.edits.map(a=>({old:a?.old_string,new:a?.new_string})):void 0;default:return}}function g4n(s){let o=new Map;for(let g of s)for(let m of g.tools)o.set(m.name,(o.get(m.name)??0)+1);let a=[...o].map(([g,m])=>m>1?`${g} \xD7${m}`:g).join(", "),d=s.length;return`${d} step${d===1?"":"s"}${a?` \xB7 ${a}`:""}`}var Dre=class extends El{messages=[];openTools=new Set;expandedTurns=new Set;expandedEmbeds=new Set;copyButtons=[];bulbEmbeds=[];scrollEl;#e=0;#t=0;#n=new Set;#i=new Map;#r=!0;get parent(){return this.ctx.parent}clear(){for(let o of this.bulbEmbeds)o.dispose();this.messages=[],this.expandedTurns.clear(),this.expandedEmbeds.clear(),this.#n=new Set,this.#i=new Map,this.copyButtons=[],this.bulbEmbeds=[]}#s(o){let a=new Xte(o);return this.copyButtons.push(a),a}#u(o){let a={...o,copy:o.text?this.#s(o.text):void 0};return this.messages.push(a),a}stickToBottomNextRender(){this.#r=!0}applyUser(o){let a=this.messages[this.messages.length-1];if(a&&a.role==="user"){a.segments=[...a.segments??[a.text],o.text],a.text=a.segments.join(`
1061
+ `,Au.e()-1)}`),{idx:Au.e()});let m=[],v=[];for(;Au.ri();){let I=Au.is(),T=Au.ie(),B=Au.it(),L=Au.ai(),R=Au.id(),Q=Au.ss(),U=Au.se(),W;Au.ip()&&(W=A(s.slice(R===-1?I-1:I,R===-1?T+1:T))),m.push({n:W,t:B,s:I,e:T,ss:Q,se:U,d:R,a:L})}for(;Au.re();){let I=Au.es(),T=Au.ee(),B=Au.els(),L=Au.ele(),R=s.slice(I,T),Q=R[0],U=B<0?void 0:s.slice(B,L),W=U?U[0]:"";v.push({s:I,e:T,ls:B,le:L,n:Q==='"'||Q==="'"?A(R):R,ln:W==='"'||W==="'"?A(U):U})}function A(I){try{return(0,eval)(I)}catch{}}return[m,v,!!Au.f(),!!Au.ms()]}function uwn(s,o){let a=s.length,d=0;for(;d<a;){let g=s.charCodeAt(d);o[d++]=(255&g)<<8|g>>>8}}function awn(s,o){let a=s.length,d=0;for(;d<a;)o[d]=s.charCodeAt(d++)}var Au,lwn=()=>{return s="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GzYCHAtBAEEAKAKwCkECajYCsAoCQAJAAkACQEEAECkiAUHhAEYNACABQfcARg0BQQAoArAKIQEMAgtBACgCsAoiAUECakHACEEKEC8NAUEGIQIMAgtBACgCsAoiAS8BAkHpAEcNACABLwEEQfQARw0AQQQhAiABLwEGQegARg0BC0EAIAFBfmo2ArAKDwtBACABIAJBAXRqNgKwCgJAQQEQKUH7AEYNAEEAIAE2ArAKDwtBACgCsAoiACECA0BBACACQQJqNgKwCgJAAkACQEEBECkiAkEiRg0AIAJBJ0cNAUEnEBpBAEEAKAKwCkECajYCsApBARApIQIMAgtBIhAaQQBBACgCsApBAmo2ArAKQQEQKSECDAELIAIQLCECCwJAIAJBOkYNAEEAIAE2ArAKDwtBAEEAKAKwCkECajYCsAoCQEEBECkiAkEiRg0AIAJBJ0YNAEEAIAE2ArAKDwsgAhAaQQBBACgCsApBAmo2ArAKAkACQEEBECkiAkEsRg0AIAJB/QBGDQFBACABNgKwCg8LQQBBACgCsApBAmo2ArAKQQEQKUH9AEYNAEEAKAKwCiECDAELC0EAKALwCSIBIAA2AhAgAUEAKAKwCkECajYCDAttAQJ/AkACQANAAkAgAEH//wNxIgFBd2oiAkEXSw0AQQEgAnRBn4CABHENAgsgAUGgAUYNASAAIQIgARAoDQJBACECQQBBACgCsAoiAEECajYCsAogAC8BAiIADQAMAgsLIAAhAgsgAkH//wNxC6sBAQR/AkACQEEAKAKwCiICLwEAIgNB4QBGDQAgASEEIAAhBQwBC0EAIAJBBGo2ArAKQQEQKSECQQAoArAKIQUCQAJAIAJBIkYNACACQSdGDQAgAhAsGkEAKAKwCiEEDAELIAIQGkEAQQAoArAKQQJqIgQ2ArAKC0EBECkhA0EAKAKwCiECCwJAIAIgBUYNACAFIARBACAAIAAgAUYiAhtBACABIAIbEAILIAMLcgEEf0EAKAKwCiEAQQAoArQKIQECQAJAA0AgAEECaiECIAAgAU8NAQJAAkAgAi8BACIDQaR/ag4CAQQACyACIQAgA0F2ag4EAgEBAgELIABBBGohAAwACwtBACACNgKwChAlQQAPC0EAIAI2ArAKQd0AC0kBA39BACEDAkAgAkUNAAJAA0AgAC0AACIEIAEtAAAiBUcNASABQQFqIQEgAEEBaiEAIAJBf2oiAg0ADAILCyAEIAVrIQMLIAMLC+wBAgBBgAgLzgEAAHgAcABvAHIAdABtAHAAbwByAHQAZgBvAHIAZQB0AGEAbwB1AHIAYwBlAHIAbwBtAHUAbgBjAHQAaQBvAG4AcwBzAGUAcgB0AHYAbwB5AGkAZQBkAGUAbABlAGMAbwBuAHQAaQBuAGkAbgBzAHQAYQBuAHQAeQBiAHIAZQBhAHIAZQB0AHUAcgBkAGUAYgB1AGcAZwBlAGEAdwBhAGkAdABoAHIAdwBoAGkAbABlAGkAZgBjAGEAdABjAGYAaQBuAGEAbABsAGUAbABzAABB0AkLEAEAAAACAAAAAAQAAEA5AAA=",typeof Buffer<"u"?Buffer.from(s,"base64"):Uint8Array.from(atob(s),(o=>o.charCodeAt(0)));var s},Yke=WebAssembly.compile(lwn()).then(WebAssembly.instantiate).then((({exports:s})=>{Au=s}));var JM=class s{constructor(o,a,d,g){this.version=o,this.cdn=a,this.peer=d,this.cache=g}extractImportsSync(o){let a=new Set;for(let d of s.importPatterns){d.lastIndex=0;for(let g of o.matchAll(d))Pf.isBare(g[1])&&a.add(g[1])}return Array.from(a)}async extractImports(o){let a=new Set,d=g=>{Pf.isBare(g)&&a.add(g)};try{await Yke;let[g]=Wke(o);g.forEach(m=>d(o.slice(m.s,m.e).trim()))}catch{return this.extractImportsSync(o)}return Array.from(a)}async buildImportMap(o,a,d){let g=(await this.extractImports(o)).filter(L=>!d?.has(Pf.rootOf(L))),m=[...new Set(g.map(Pf.rootOf))],v=await Promise.all(m.map(async L=>({name:L,version:await this.resolveVersion(L,a)}))),{allRoots:A,flags:I,autoAddedPeers:T}=await this.peer.resolve(v,L=>this.resolveVersion(L,a)),B=this.buildEntries([...g,...T.map(L=>L.name)],A,I,a);return{importMap:{imports:Object.fromEntries(B)},prefetchUrls:B.map(([,L])=>L)}}async resolveVersion(o,a){let d=a[o],g=d?`${o}@${d}`:o,m=await this.version.resolveExactForRoot(o,d);if(!m){let v=await gg(()=>this.cdn.pinEsmUrl(g));if(!v)throw new Error(`Cannot resolve ${g}: no matching version is published (the package or version may not exist, or the registry was unreachable).`);m=Pf.versionFromUrl(v),m&&d&&await gg(()=>this.cache.setPinnedExact(o,d,m))}if(!m)throw new Error(`Cannot resolve ${g}: no concrete version found.`);return m}buildEntries(o,a,d,g){let m=new Map(a.map(U=>[U.name,U])),v=U=>{let W=m.get(Pf.rootOf(U));return new Pf(U).withPreferredVersion(W.version,g[W.name]).format()},A=new Set([...d.entries()].filter(([,U])=>U.isPeerRoot||U.isSharedDep).map(([U])=>U)),I=new Set(o.filter(U=>U!==Pf.rootOf(U)).map(Pf.rootOf)),T=[],B=new Set,L=new Set(o.filter(U=>U===Pf.rootOf(U))),R=new Set;for(let U of o){let W=Pf.rootOf(U),ne=m.get(W),{isPeerRoot:he,hasPeers:Ee,isSharedDep:Oe}=d.get(W),ie=I.has(W),Ie=U!==W,kt=!(he||Oe)&&(ie||!Ee),nt=this.singletonDepsOf(ne,A),Ce=Ie&&L.has(W);Ce&&R.add(W);let Xt=Ce?[...nt,W]:nt.length?nt:void 0;T.push([U,this.cdn.buildEsmUrl(v(U),{bundle:kt,external:Xt})]),B.add(U)}let Q=new Set([...A,...R]);for(let U of Q)m.has(U)&&(B.has(U)||T.push([U,this.cdn.buildEsmUrl(v(U),{})]),T.push([`${U}/`,`${this.cdn.esmHost}/${v(U)}/`]));return T}singletonDepsOf(o,a){return[...new Set([...Z$(o.meta),...Kke(o.meta)])].filter(d=>a.has(d))}};JM.importPatterns=[/\bimport\s+(?:[^'";]*?from\s*)?['"]([^'"]+)['"]/g,/\bexport\s+[^'";]*?from\s*['"]([^'"]+)['"]/g];var eh=uC(LIt(),1),_re=class{cmp(o,a){return o===a?0:(0,eh.gt)(o,a)?1:(0,eh.gt)(a,o)?-1:0}satisfies(o,a){return!o||!o.trim()?!0:!!(0,eh.satisfies)(a,o,{includePrerelease:!0})}pickMaxSatisfying(o,a){if(!o?.length)return;let d=(0,eh.maxSatisfying)(o,a,{includePrerelease:!0});return d===null?void 0:d}pickLatest(o){return o?.length?(0,eh.rsort)(o)[0]:void 0}selectBestVersion(o,a){if(!o?.length)return;let d=a?.range?.trim()||"*",g=a?.preferStable??!0,m=a?.distTags?.latest;if(m&&o.includes(m)&&this.satisfies(d,m))return m;if(g){let A=(0,eh.maxSatisfying)(o,d,{includePrerelease:!1});if(A)return A}return(0,eh.maxSatisfying)(o,d,{includePrerelease:!0})??void 0}majorOf(o){return(0,eh.major)(o)}isPrerelease(o){return(0,eh.prerelease)(o)!==null}isExactVersion(o){return(0,eh.valid)(o)!==null}},bxe=new _re;function NIt(s,o){let a=new V$(s,o),d=new eH(a),g=new tH(s,a,bxe);return{packageService:new JM(g,a,d,s),versionResolver:g,cdnClient:a,peerResolver:d}}var OIt={async getJson(s){try{let o=await fetch(s,{redirect:"follow"});return o.ok?await o.json():void 0}catch{return}},async head(s){try{let o=await fetch(s,{method:"HEAD",redirect:"follow"});return{ok:o.ok,url:o.url}}catch{return}}};function mxe(s){let o=/^---[^\n]*\n([\s\S]*?)\n---/.exec(s),a=o?/^\s*name:\s*(.+?)\s*$/m.exec(o[1]):null;return a?a[1].replace(/^["']|["']$/g,""):void 0}function wxe(s){return s.replace(/^---[^\n]*\r?\n[\s\S]*?\r?\n---[^\n]*\r?\n?/,"").replace(/^\r?\n+/,"")}function o4n(){let s=new Map,o=new Map,a=new Set,d=new Map;return{async getPinnedExact(g,m){return s.get(`${g}@${m}`)},async setPinnedExact(g,m,v){s.set(`${g}@${m}`,v)},async getIndex(g){return o.get(g)},async setIndex(g,m,v){o.set(g,{versions:m,distTags:v,updatedAt:Date.now()})},async invalidateVersionsCache(g){o.delete(g)},async isNegative(g){return a.has(g)},async recordNegative(g){a.add(g)},async clearNegative(g){a.delete(g)},async getMeta(g,m){return d.get(`${g}@${m}`)},async setMeta(g,m,v,A,I){d.set(`${g}@${m}`,{dependencies:v,peerDependencies:A,peerDependenciesMeta:I,updatedAt:Date.now()})}}}var{packageService:c4n}=NIt(o4n(),OIt);async function u4n(s,o={}){let a=g9t(s);if(!a)return{error:"Not a valid bulb (missing `---` frontmatter or a **code.tsx** block)."};let d=ukt(a);if(d.server.trim())return{error:"Nested bulbs are client-only; a **server.ts** block is not supported."};if(!d.code.trim())return{error:"Bulb has no **code.tsx** to run."};let g=m9t(d.config),m=OEt(d.code,{jsxImportSource:g.ts?.jsxImportSource});if(m.error)return{error:`Compile error: ${m.error}`};let v;try{({importMap:v}=await c4n.buildImportMap(m.code,g.dependencies??{}))}catch(I){return{error:`Dependency resolution failed: ${I instanceof Error?I.message:String(I)}`}}return{html:$Et({name:d.name||"bulb",code:m.code,css:d.css,html:d.html,data:_9e(d.data),insight:d.insight,importMap:v,watch:!1,theme:o.theme,embedded:!0})}}function a4n(){let s=document.documentElement.getAttribute("data-theme");return s==="dark"||s==="light"?s:void 0}async function jIt(s,o={}){let{html:a,error:d}=await u4n(s,{theme:o.theme??a4n()});if(d||!a)throw new Error(d??"Bulb produced no output.");let g=o.initialHeight??320,m=o.maxHeight??1e5,v=document.createElement("iframe");v.setAttribute("sandbox","allow-scripts"),v.style.cssText=`display:block;width:100%;height:${g}px;border:0`,v.srcdoc=a;let A=I=>{if(I.source!==v.contentWindow)return;let T=I.data;!T||T.__typebulbEmbed!==!0||(T.kind==="height"&&typeof T.height=="number"&&Number.isFinite(T.height)?v.style.height=`${Math.min(m,Math.max(0,Math.ceil(T.height)))}px`:T.kind==="error"&&o.onError?.(String(T.message??"error")))};return window.addEventListener("message",A,o.signal?{signal:o.signal}:void 0),v}var Mre=class extends El{spread=!1;showingCode=!1;copied=!1;#e="";#t;#n;#i;#r;#s;#u;#l=!1;#c=!1;#a;#o="idle";constructor(o,a){super(),this.#t=o,this.#n=a,this.#i=mxe(o)}get name(){return this.#i}get key(){return this.#n}setMounted(o){o!==this.#l&&(this.#l=o,this.#f())}onAttached(){this.#f()}#f(){if(this.#l){if(this.#r||this.#c||this.#s)return;this.#c=!0,this.#a=new AbortController,jIt(this.#t,{signal:this.#a.signal,onError:o=>{this.#u=o,this.#h("runtime",o),this.update()}}).then(o=>{this.#c=!1,this.#l&&(this.#r=o,this.update())}).catch(o=>{this.#c=!1,this.#s=o instanceof Error?o.message:String(o),this.#h("compile",this.#s),this.update()})}else{if(!this.#r&&!this.#c)return;this.#a?.abort(),this.#a=void 0,this.#r=void 0,this.#u=void 0,this.update()}}#h(o,a){let d=this.#i??this.#n;tb.server.logEmbedError(d,`[embed ${d}] ${o} error: ${a}`).catch(()=>{})}dispose(){this.#a?.abort()}view(){let o=["embed","bulb-embed",this.spread?"spread":"fit",this.showingCode?"code-open":"",this.#s?"err":""],a=this.#i?`${this.#i} \u2014 `:"",d=this.#s?[`${a}could not render: ${this.#s}`]:this.#r?[this.#d(),Vi({class:"bulb-frame",key:"frame",onMounted:g=>{this.#r&&g.replaceChildren(this.#r)}}),this.showingCode?this.#m():null,this.#u?Vi({class:"bulb-err-strip",key:"err"},`\u26A0 ${a}${this.#u}`):null]:["compiling bulb\u2026"];return Vi({class:"md",key:this.#n},Vi({class:o},...d))}#d(){let o=this.#o==="done"?this.#e:"breakout \u2197";return Vi({class:"bulb-controls",key:"controls"},this.#p("bulb-view",this.spread?"fit":"spread",this.spread?"Fit into the conversation column":"Spread to the full transcript width and height",()=>{this.spread=!this.spread,this.update()}),this.#p("bulb-toggle",this.showingCode?"run":"code",this.showingCode?"Back to the running bulb":"View this bulb's source",()=>{this.showingCode=!this.showingCode,this.update()}),this.#p(["bulb-copy",this.copied?"done":""],this.copied?"copied":"copy","Copy this bulb's full source",()=>this.#g()),Y0({class:["overlay-pill","bulb-breakout",this.#o==="busy"?"launching":""],type:"button",disabled:this.#o!=="idle",title:"Save as a standalone .bulb.md and open it with typebulb",onClick:a=>{a.stopPropagation(),this.#b()}},o))}#p(o,a,d,g){let m=Array.isArray(o)?o:[o];return Y0({class:["overlay-pill",...m],type:"button",title:d,onClick:v=>{v.stopPropagation(),g()}},a)}#g(){navigator.clipboard?.writeText(this.#t),this.copied=!0,this.update(),setTimeout(()=>{this.copied=!1,this.update()},1200)}async#b(){if(this.#o==="idle"){this.#o="busy",this.update();try{let{file:o}=await tb.server.breakout(this.#t);this.#e=`launched ${o}`,window.dispatchEvent(new CustomEvent("tb-breakout"))}catch(o){this.#e="breakout failed",console.error("[mirror] breakout failed",o)}this.#o="done",this.update(),setTimeout(()=>{this.#o="idle",this.update()},2500)}}#m(){return Vi({class:["bulb-code","md"],key:"code",tabIndex:0,onKeyDown:o=>{if(!((o.ctrlKey||o.metaKey)&&(o.key==="a"||o.key==="A")))return;o.preventDefault();let a=getSelection();if(!a)return;let d=document.createRange();d.selectNodeContents(o.currentTarget),a.removeAllRanges(),a.addRange(d)},onMounted:o=>{o.innerHTML=a9t.render(wxe(this.#t))}})}};function RIt(s){return s.map((o,a)=>!!o&&s[a+1]===o)}function PIt(s){let o=[];for(let a=0;a<s.length;a++)o[a]=a>0&&s[a]&&s[a]===s[a-1]?o[a-1]+1:1;return o}function l4n(s){return!s||typeof s!="object"?"":Gd(s.command)??Gd(s.file_path)??Gd(s.path)??Gd(s.pattern)??Gd(s.query)??Gd(s.url)??Gd(s.skill)??Gd(s.description)??""}var f4n=new Set(["Read","Edit","Write","MultiEdit","NotebookEdit","Glob","Grep"]),h4n=new Set(["Edit","Write","MultiEdit","NotebookEdit"]);function d4n(s,o){if(!(!f4n.has(s)||!o||typeof o!="object"))return(Gd(o.file_path)??Gd(o.path))||void 0}function p4n(s){let o=s.input??{};switch(s.name){case"Edit":return[{old:Gd(o.old_string),new:Gd(o.new_string)}];case"Write":return[{new:Gd(o.content)}];case"NotebookEdit":return[{new:Gd(o.new_source)}];case"MultiEdit":return Array.isArray(o.edits)?o.edits.map(a=>({old:a?.old_string,new:a?.new_string})):void 0;default:return}}function g4n(s){let o=new Map;for(let g of s)for(let m of g.tools)o.set(m.name,(o.get(m.name)??0)+1);let a=[...o].map(([g,m])=>m>1?`${g} \xD7${m}`:g).join(", "),d=s.length;return`${d} step${d===1?"":"s"}${a?` \xB7 ${a}`:""}`}var Dre=class extends El{messages=[];openTools=new Set;expandedTurns=new Set;expandedEmbeds=new Set;copyButtons=[];bulbEmbeds=[];scrollEl;#e=0;#t=0;#n=new Set;#i=new Map;#r=!0;get parent(){return this.ctx.parent}clear(){for(let o of this.bulbEmbeds)o.dispose();this.messages=[],this.expandedTurns.clear(),this.expandedEmbeds.clear(),this.#n=new Set,this.#i=new Map,this.copyButtons=[],this.bulbEmbeds=[]}#s(o){let a=new Xte(o);return this.copyButtons.push(a),a}#u(o){let a={...o,copy:o.text?this.#s(o.text):void 0};return this.messages.push(a),a}stickToBottomNextRender(){this.#r=!0}applyUser(o){let a=this.messages[this.messages.length-1];if(a&&a.role==="user"){a.segments=[...a.segments??[a.text],o.text],a.text=a.segments.join(`
1062
1062
 
1063
- `),a.copy?a.copy.setText(a.text):a.text&&(a.copy=this.#s(a.text));return}this.#u({id:++this.#e,role:"user",text:o.text,thinking:"",tools:[]})}applyAssistant(o){let a=this.#u({id:++this.#e,role:"assistant",text:o.text,thinking:o.thinking,tools:o.tools.map(d=>({...d,isError:!1}))});if(this.#l(a,o.text),this.#c(),o.live)for(let d of o.tools)h4n.has(d.name)&&this.openTools.add(d.id)}#l(o,a){let d=d9t(a);d.some(g=>g.kind==="bulb")&&(o.body=d.map(g=>{if(g.kind==="md")return g.text;let m=new Mre(g.source,`embed-${this.#t++}`);return this.bulbEmbeds.push(m),m}))}#c(){let o=this.bulbEmbeds.map(g=>g.name),a=RIt(o),d=PIt(o);this.#n=new Set(this.bulbEmbeds.filter((g,m)=>a[m])),this.#i=new Map(this.bulbEmbeds.map((g,m)=>[g,d[m]])),this.bulbEmbeds.forEach((g,m)=>g.setMounted(!a[m]||this.expandedEmbeds.has(g.key)))}#a(o){this.expandedEmbeds.has(o)?this.expandedEmbeds.delete(o):this.expandedEmbeds.add(o),this.#c(),this.update()}applyToolResult(o){let a=this.#o(o.id);a&&(a.result=o.content,a.isError=o.isError)}#o(o){return this.messages.flatMap(a=>a.tools).find(a=>a.id===o)}scrollSoon(){requestAnimationFrame(()=>{this.scrollEl&&this.#r&&(this.scrollEl.scrollTop=this.scrollEl.scrollHeight)})}onScroll(){let o=this.scrollEl;o&&(this.#r=o.scrollHeight-(o.scrollTop+o.clientHeight)<50)}view(){return Vi({class:"messages",onScroll:()=>this.onScroll(),onMounted:o=>{this.scrollEl=o}},this.parent.ready?this.renderMessages():Vi({class:"note"},"Connecting\u2026"))}renderMessages(){let o=[],a=-1;for(let d of this.messages)d.role==="user"||o.length===0?(d.role==="user"&&a++,o.push({idx:Math.max(0,a),msgs:[d]})):o[o.length-1].msgs.push(d);return o.flatMap((d,g)=>this.renderTurn(d.msgs,d.idx,g===o.length-1))}renderTurn(o,a,d){let g=o.filter(T=>T.role==="assistant");if(d||g.length<2)return o.map(T=>this.bubble(T,a));let m=this.expandedTurns.has(a),v=g.slice(0,-1),A=g[g.length-1],I=o.filter(T=>T.role==="user").map(T=>this.bubble(T,a));if(I.push(this.turnSummary(v,a,m)),m)for(let T of v)I.push(this.bubble(T,a));return I.push(this.bubble(A,a)),I}turnSummary(o,a,d){return Vi({class:["bubble","assistant",gye(a)],key:`summary-${a}`},Vi({class:"turn-summary",onClick:()=>{d?this.expandedTurns.delete(a):this.expandedTurns.add(a),this.update()}},zu({class:"tool-caret"},d?"\u25BE":"\u25B8"),zu({class:"turn-summary-text"},g4n(o))))}bubble(o,a){let d=o.role==="assistant"&&!o.text&&!o.thinking&&o.tools.length>0;return Vi({class:["bubble",o.role,d?"tools-only":"",gye(a)],key:o.id},o.thinking?I5t({class:"thinking"},S5t("thinking"),I7(o.thinking)):null,this.#f(o),o.tools.map(g=>this.tool(g)),o.copy?o.copy.view():null)}#f(o){return o.body?o.body.flatMap((a,d)=>typeof a=="string"?a.trim()?[this.#d(`md-${o.id}-${d}`,Yte(a))]:[]:this.#h(a)):o.text?this.#d(`md-${o.id}`,o.role==="user"?h9t(o):Yte(o.text)):null}#h(o){if(!this.#n.has(o))return[o.view()];let a=this.#i.get(o)??1,d=this.expandedEmbeds.has(o.key),g=Vi({class:"md",key:`fold-${o.key}`},Vi({class:"bulb-fold",onClick:()=>this.#a(o.key)},zu({class:"tool-caret"},d?"\u25BE":"\u25B8"),zu({class:"bulb-fold-text"},`${o.name??"bulb"} \u2014 Version ${a}`),zu({class:"bulb-fold-app"},"\u{1F4A1}")));return d?[g,o.view()]:[g]}#d(o,a){return Vi({class:"md",key:o,onMounted:a})}tool(o){let a=this.openTools.has(o.id),d=d4n(o.name,o.input),g=d??l4n(o.input);return Vi({class:["tool",o.isError?"err":"",a?"open":""]},Vi({class:"tool-head",onClick:()=>{a?this.openTools.delete(o.id):this.openTools.add(o.id),this.update()}},zu({class:"tool-caret"},a?"\u25BE":"\u25B8"),Vi({class:"tool-label"},zu({class:"tool-name"},o.name),g?d?tM({class:"tool-sum link",title:d,onClick:m=>{m.preventDefault(),m.stopPropagation(),tb.server.openFile(d)}},d):zu({class:"tool-sum"},g):null),o.result===void 0?zu({class:"tool-run"},"\u2026"):null),a?this.toolBody(o):null,a&&o.result!==void 0?I7({class:"tool-out"},o.result.slice(0,4e3)):null)}toolBody(o){let a=p4n(o);return a?Vi({class:"diff"},...a.flatMap((d,g)=>[a.length>1?Vi({class:"diff-step"},`edit ${g+1}/${a.length}`):null,d.old?I7({class:"diff-old"},String(d.old)):null,d.new?I7({class:"diff-new"},String(d.new)):null])):I7({class:"tool-in"},JSON.stringify(o.input,null,2))}};var Bre=class extends El{ready=!1;cwd="";sessionId="";sessionPicker=new Nee;tokenPill=new Oee;bulbsPill=new jee;messageList=new Dre;tokens={in:0,out:0,cached:0,cacheCreate:0};working=!1;ownPid=0;#e=0;#t=!1;#n=!1;onAttached(){this.#n||(this.#n=!0,this.init())}closePopups(o){this.sessionPicker!==o&&this.sessionPicker.close(),this.bulbsPill!==o&&this.bulbsPill.close()}async init(){let o=await tb.server.info();this.cwd=o.cwd,this.ownPid=o.pid??0,this.ready=!0,this.updateTitle(),this.update(),this.pump()}updateTitle(){let o=bye(this.cwd),a=this.sessionPicker.currentPreview(),d=Bee(a,40);document.title=d&&o?`${d} \u2014 ${o}`:d||(o?`Claude Bulb \u2014 ${o}`:"Claude Bulb")}pump(){if(this.#t)return;this.#t=!0;let o=async()=>{try{let{events:a,cursor:d,working:g}=await tb.server.poll(this.#e);this.#e=d;for(let v of a)this.apply(v);let m=g!==this.working;this.working=g,(a.length||m)&&this.update(),a.length&&this.messageList.scrollSoon()}catch(a){console.error("[claude-bulb] poll failed",a)}setTimeout(o,600)};o()}apply(o){switch(o.type){case"cleared":this.messageList.clear(),this.tokens={in:0,out:0,cached:0,cacheCreate:0};break;case"session":this.sessionId=o.sessionId,this.updateTitle();break;case"user":this.messageList.applyUser(o);break;case"assistant":this.messageList.applyAssistant(o);break;case"tool_result":this.messageList.applyToolResult(o);break;case"usage":this.tokens={in:o.in,out:o.out,cached:o.cached,cacheCreate:o.cacheCreate};break}}view(){return Vi({class:"app"},this.messageList.view(),this.statusbar())}statusbar(){return Vi({class:"statusbar"},Vi({class:"statusbar-actions"},this.working?Vi({class:"working"},zu({class:"working-dot"}),"working\u2026"):null,this.tokenPill.view(),this.sessionPicker.view(),this.bulbsPill.view()))}};document.title="Claude Bulb";new _5t({root:new Bre,id:"app"});
1063
+ `),a.copy?a.copy.setText(a.text):a.text&&(a.copy=this.#s(a.text));return}this.#u({id:++this.#e,role:"user",text:o.text,thinking:"",tools:[]})}applyAssistant(o){let a=this.#u({id:++this.#e,role:"assistant",text:o.text,thinking:o.thinking,tools:o.tools.map(d=>({...d,isError:!1}))});if(this.#l(a,o.text),this.#c(),o.live)for(let d of o.tools)h4n.has(d.name)&&this.openTools.add(d.id)}#l(o,a){let d=d9t(a);d.some(g=>g.kind==="bulb")&&(o.body=d.map(g=>{if(g.kind==="md")return g.text;let m=new Mre(g.source,`embed-${this.#t++}`);return this.bulbEmbeds.push(m),m}))}#c(){let o=this.bulbEmbeds.map(g=>g.name),a=RIt(o),d=PIt(o);this.#n=new Set(this.bulbEmbeds.filter((g,m)=>a[m])),this.#i=new Map(this.bulbEmbeds.map((g,m)=>[g,d[m]])),this.bulbEmbeds.forEach((g,m)=>g.setMounted(!a[m]||this.expandedEmbeds.has(g.key)))}#a(o){this.expandedEmbeds.has(o)?this.expandedEmbeds.delete(o):this.expandedEmbeds.add(o),this.#c(),this.update()}applyToolResult(o){let a=this.#o(o.id);a&&(a.result=o.content,a.isError=o.isError)}#o(o){return this.messages.flatMap(a=>a.tools).find(a=>a.id===o)}scrollSoon(){requestAnimationFrame(()=>{this.scrollEl&&this.#r&&(this.scrollEl.scrollTop=this.scrollEl.scrollHeight)})}onScroll(){let o=this.scrollEl;o&&(this.#r=o.scrollHeight-(o.scrollTop+o.clientHeight)<50)}view(){return Vi({class:"messages",onScroll:()=>this.onScroll(),onMounted:o=>{this.scrollEl=o}},this.parent.ready?this.renderMessages():Vi({class:"note"},"Connecting\u2026"))}renderMessages(){let o=[],a=-1;for(let d of this.messages)d.role==="user"||o.length===0?(d.role==="user"&&a++,o.push({idx:Math.max(0,a),msgs:[d]})):o[o.length-1].msgs.push(d);return o.flatMap((d,g)=>this.renderTurn(d.msgs,d.idx,g===o.length-1))}renderTurn(o,a,d){let g=o.filter(T=>T.role==="assistant");if(d||g.length<2)return o.map(T=>this.bubble(T,a));let m=this.expandedTurns.has(a),v=g.slice(0,-1),A=g[g.length-1],I=o.filter(T=>T.role==="user").map(T=>this.bubble(T,a));if(I.push(this.turnSummary(v,a,m)),m)for(let T of v)I.push(this.bubble(T,a));return I.push(this.bubble(A,a)),I}turnSummary(o,a,d){return Vi({class:["bubble","assistant",gye(a)],key:`summary-${a}`},Vi({class:"turn-summary",onClick:()=>{d?this.expandedTurns.delete(a):this.expandedTurns.add(a),this.update()}},zu({class:"tool-caret"},d?"\u25BE":"\u25B8"),zu({class:"turn-summary-text"},g4n(o))))}bubble(o,a){let d=o.role==="assistant"&&!o.text&&!o.thinking&&o.tools.length>0;return Vi({class:["bubble",o.role,d?"tools-only":"",gye(a)],key:o.id},o.thinking?I5t({class:"thinking"},S5t("thinking"),I7(o.thinking)):null,this.#f(o),o.tools.map(g=>this.tool(g)),o.copy?o.copy.view():null)}#f(o){return o.body?o.body.flatMap((a,d)=>typeof a=="string"?a.trim()?[this.#d(`md-${o.id}-${d}`,Yte(a))]:[]:this.#h(a)):o.text?this.#d(`md-${o.id}`,o.role==="user"?h9t(o):Yte(o.text)):null}#h(o){if(!this.#n.has(o))return[o.view()];let a=this.#i.get(o)??1,d=this.expandedEmbeds.has(o.key),g=Vi({class:"md",key:`fold-${o.key}`},Vi({class:"bulb-fold",onClick:()=>this.#a(o.key)},zu({class:"tool-caret"},d?"\u25BE":"\u25B8"),zu({class:"bulb-fold-text"},`${o.name??"bulb"} \u2014 Version ${a}`),zu({class:"bulb-fold-app"},"\u{1F4A1}")));return d?[g,o.view()]:[g]}#d(o,a){return Vi({class:"md",key:o,onMounted:a})}tool(o){let a=this.openTools.has(o.id),d=d4n(o.name,o.input),g=d??l4n(o.input);return Vi({class:["tool",o.isError?"err":"",a?"open":""]},Vi({class:"tool-head",onClick:()=>{a?this.openTools.delete(o.id):this.openTools.add(o.id),this.update()}},zu({class:"tool-caret"},a?"\u25BE":"\u25B8"),Vi({class:"tool-label"},zu({class:"tool-name"},o.name),g?d?tM({class:"tool-sum link",title:d,onClick:m=>{m.preventDefault(),m.stopPropagation(),tb.server.openFile(d)}},d):zu({class:"tool-sum"},g):null),o.result===void 0?zu({class:"tool-run"},"\u2026"):null),a?this.toolBody(o):null,a&&o.result!==void 0?I7({class:"tool-out"},o.result.slice(0,4e3)):null)}toolBody(o){let a=p4n(o);return a?Vi({class:"diff"},...a.flatMap((d,g)=>[a.length>1?Vi({class:"diff-step"},`edit ${g+1}/${a.length}`):null,d.old?I7({class:"diff-old"},String(d.old)):null,d.new?I7({class:"diff-new"},String(d.new)):null])):I7({class:"tool-in"},JSON.stringify(o.input,null,2))}};var Bre=class extends El{ready=!1;cwd="";sessionId="";sessionPicker=new Nee;tokenPill=new Oee;bulbsPill=new jee;messageList=new Dre;tokens={in:0,out:0,cached:0,cacheCreate:0};working=!1;ownPid=0;#e=0;#t=!1;#n=!1;onAttached(){this.#n||(this.#n=!0,this.init())}closePopups(o){this.sessionPicker!==o&&this.sessionPicker.close(),this.bulbsPill!==o&&this.bulbsPill.close()}async init(){let o=await tb.server.info();this.cwd=o.cwd,this.ownPid=o.pid??0,this.ready=!0,this.updateTitle(),this.update(),this.pump()}updateTitle(){let o=bye(this.cwd),a=this.sessionPicker.currentPreview(),d=Bee(a,40);document.title=d&&o?`${d} \u2014 ${o}`:d||(o?`Claude Mirror \u2014 ${o}`:"Claude Mirror")}pump(){if(this.#t)return;this.#t=!0;let o=async()=>{try{let{events:a,cursor:d,working:g}=await tb.server.poll(this.#e);this.#e=d;for(let v of a)this.apply(v);let m=g!==this.working;this.working=g,(a.length||m)&&this.update(),a.length&&this.messageList.scrollSoon()}catch(a){console.error("[mirror] poll failed",a)}setTimeout(o,600)};o()}apply(o){switch(o.type){case"cleared":this.messageList.clear(),this.tokens={in:0,out:0,cached:0,cacheCreate:0};break;case"session":this.sessionId=o.sessionId,this.updateTitle();break;case"user":this.messageList.applyUser(o);break;case"assistant":this.messageList.applyAssistant(o);break;case"tool_result":this.messageList.applyToolResult(o);break;case"usage":this.tokens={in:o.in,out:o.out,cached:o.cached,cacheCreate:o.cacheCreate};break}}view(){return Vi({class:"app"},this.messageList.view(),this.statusbar())}statusbar(){return Vi({class:"statusbar"},Vi({class:"statusbar-actions"},this.working?Vi({class:"working"},zu({class:"working-dot"}),"working\u2026"):null,this.tokenPill.view(),this.sessionPicker.view(),this.bulbsPill.view()))}};document.title="Claude Mirror";new _5t({root:new Bre,id:"app"});
1064
1064
  /*! Bundled license information:
1065
1065
 
1066
1066
  dompurify/dist/purify.es.mjs:
package/dist/index.js CHANGED
@@ -149,7 +149,7 @@ ${t.comment}`:t.comment}this.doc.range[2]=t.offset;break}default:this.errors.pus
149
149
  `).trim();l&&n.push({text:l,startLine:i+1,endLine:o+1})}};for(let l=0;l<s.length;l++)s[l].trim()?(a>=2&&o>=i&&(c(),i=l),a=0,o=l):a++;return c(),n}function mo(r){return Ey(r).map(e=>e.text)}var ku=N(()=>{ho()});var Cs=N(()=>{Cr();Sa();ka();Ea();ho();ku();Rr()});function Rs(r){return{...va(r),server:r.files.get("server.ts")??""}}var go=N(()=>{Cs();Cs();Cs()});import{join as Io,resolve as ab}from"path";import{homedir as cb}from"os";function zs(){let r=process.env.TYPEBULB_SERVERS_DIR;return r?Io(r,".."):Io(cb(),".typebulb")}function Ue(){return process.env.TYPEBULB_SERVERS_DIR||Io(zs(),"servers")}function q(r){let e=ab(r);return(process.platform==="win32"?e.toLowerCase():e).replace(/\\/g,"/")}function Xu(r,e){let t=q(r),s=q(e);return t.startsWith(s.endsWith("/")?s:s+"/")?!t.includes("/node_modules/"):!1}var vr=N(()=>{});import{readFileSync as lb,writeFileSync as ub,mkdirSync as fb}from"fs";import{join as db}from"path";function Zu(){return db(zs(),"trust.json")}function _o(){try{let r=JSON.parse(lb(Zu(),"utf8"));return new Set(Array.isArray(r)?r:[])}catch{return new Set}}function pb(r){fb(zs(),{recursive:!0}),ub(Zu(),JSON.stringify([...r]))}function Je(r){return _o().has(q(r))}function mt(r,e){let t=_o(),s=q(r);(e?t.has(s):!t.has(s))||(e?t.add(s):t.delete(s),pb(t))}function Lo(){return[..._o()]}var Sr=N(()=>{vr()});function bt(r){if(r.server.trim())return"server-side code (server.ts)";let e=r.code;if(/\btb\s*\.\s*fs\b/.test(e)||e.includes("/__fs"))return"the filesystem";if(/\btb\s*\.\s*ai\b/.test(e)||e.includes("/__ai"))return"AI (your API keys)";if(/\btb\s*\.\s*server\s*\.\s*(?!log\b)\w/.test(e)||e.includes("/__api"))return"server-side code (server.ts)"}var en=N(()=>{});import{spawn as pf}from"child_process";import{readdir as _b,readFile as gf,writeFile as yf,unlink as xr,mkdir as Lb}from"fs/promises";import{mkdirSync as $b,writeFileSync as hf,appendFileSync as Mb,readFileSync as bf}from"fs";import*as ne from"path";import{fileURLToPath as Db}from"url";function Bo(r){return ne.join(Ue(),`${r}.json`)}function Er(r){return ne.join(Ue(),`${r}.log`)}function tn(r){let e=Er(r);try{$b(Ue(),{recursive:!0}),hf(e,"")}catch{return()=>{}}let t=process.stdout.write.bind(process.stdout),s=process.stderr.write.bind(process.stderr),n=0,i=!1,o=a=>{if(!i)try{let c=typeof a=="string"?Buffer.from(a,"utf8"):Buffer.from(a);if(Mb(e,c),n+=c.length,n>2*mf){let l=bf(e),f=l.subarray(Math.max(0,l.length-mf));hf(e,f),n=f.length}}catch{i=!0}};return process.stdout.write=((a,...c)=>(o(a),t(a,...c))),process.stderr.write=((a,...c)=>(o(a),s(a,...c))),()=>{process.stdout.write=t,process.stderr.write=s}}function wt(r,e=0){try{let t=bf(Er(r)),s=e>=0&&e<=t.length?e:0;return{text:t.subarray(s).toString("utf8"),offset:t.length}}catch{return{text:"",offset:0}}}function Bb(r){try{return process.kill(r,0),!0}catch(e){return e.code==="EPERM"}}async function rn(r){await Lb(Ue(),{recursive:!0}),await yf(Bo(r.pid),JSON.stringify(r))}async function wf(r,e){let t=Bo(r);try{let s=JSON.parse(await gf(t,"utf8"));if(s.denied===e)return;s.denied=e,await yf(t,JSON.stringify(s))}catch{}}async function Ar(r){await xr(Bo(r)).catch(()=>{}),await xr(Er(r)).catch(()=>{})}async function j(r){let e;try{e=await _b(Ue())}catch{return[]}let t=[];return await Promise.all(e.map(async n=>{if(!n.endsWith(".json"))return;let i=ne.join(Ue(),n),o;try{o=JSON.parse(await gf(i,"utf8"))}catch{await xr(i).catch(()=>{});return}o&&typeof o.pid=="number"&&Bb(o.pid)?t.push(o):(await xr(i).catch(()=>{}),o?.pid&&await xr(Er(o.pid)).catch(()=>{}))})),(r?t.filter(n=>n.agent==null&&Xu(n.file,r)):t).sort((n,i)=>n.startedAt-i.startedAt)}async function vt(r){try{process.kill(r,"SIGTERM")}catch{}await Ar(r)}function Fb(){return ne.join(ne.dirname(Db(import.meta.url)),"index.js")}function jb(r,e={}){return{command:process.execPath,args:[Fb(),...e.trust?["--trust"]:[],r,...e.open===!1?["--no-open"]:[]]}}async function sn(r,e={}){let t=e.cwd??process.cwd(),s=ne.resolve(t,r),n=(await j()).find(l=>l.file===s);if(n)return n;let{command:i,args:o}=jb(r,e);(process.platform==="win32"?pf("cmd",["/c","start","","/b",i,...o],{cwd:t,stdio:"ignore",windowsHide:!0}):pf(i,o,{cwd:t,detached:!0,stdio:"ignore"})).unref();let c=Date.now()+2e4;for(;Date.now()<c;){await qb(150);let l=(await j()).find(f=>f.file===s);if(l)return l}throw new Error(`Launched ${ne.basename(r)} but it did not register within 20s.`)}var mf,qb,We=N(()=>{vr();mf=1e6;qb=r=>new Promise(e=>setTimeout(e,r))});function yn(r){let e=/^---[^\n]*\n([\s\S]*?)\n---/.exec(r),t=e?/^\s*name:\s*(.+?)\s*$/m.exec(e[1]):null;return t?t[1].replace(/^["']|["']$/g,""):void 0}function Qo(r){return(yn(r)??"bulb").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"")||"bulb"}var Xo=N(()=>{});import{readdirSync as pw,readFileSync as hw,statSync as mw}from"fs";import{join as Yf,basename as gw}from"path";function Hf(r,e,t){if(e>8)return t;let s;try{s=pw(r,{withFileTypes:!0})}catch{return t}for(let n of s)if(n.isDirectory()){if(n.name.startsWith(".")||n.name==="node_modules")continue;Hf(Yf(r,n.name),e+1,t)}else n.isFile()&&n.name.endsWith(".bulb.md")&&t.push(Yf(r,n.name));return t}function Zo(r){return Hf(r,0,[]).map(e=>{let t=0;try{t=mw(e).mtimeMs}catch{}let s;try{s=yn(hw(e,"utf8").slice(0,1024))}catch{}return{path:e,name:s??gw(e).replace(/\.bulb\.md$/,""),mtime:t}})}var Gf=N(()=>{Xo()});import{readFile as yw}from"fs/promises";async function ea(r){try{let e=Ir(await yw(r,"utf-8"));return e?bt(Rs(e)):void 0}catch{return}}var zf=N(()=>{go();en()});import{spawn as bw}from"child_process";import{basename as ww}from"path";function vw(){return process.env.TYPEBULB_EDITOR||"code"}function kw(r,e,t){return t==null?[e]:Sw.test(ww(r))?["-g",`${e}:${t}`]:[`+${t}`,e]}function xw(r,e){let t=vw();return{command:t,args:kw(t,r,e)}}function ta(r,e){let{command:t,args:s}=xw(r,e),n=bw(t,s,{shell:!0,detached:!0,stdio:"ignore"});n.on("error",i=>console.error("[typebulb] editor launch failed:",i?.message??i)),n.unref()}var Sw,Qf=N(()=>{Sw=/^(code|code-insiders|codium|vscodium|cursor|windsurf)(\.cmd|\.exe)?$/i});var Xf=N(()=>{We();Gf();zf();Xo();Qf();Sr()});var bn,Zf=N(()=>{bn=class{#e=new Map;accept(e,t){return this.#e.get(e)===t?!1:(this.#e.set(e,t),!0)}}});var bd={};_d(bd,{attach:()=>zw,blockToMarkdown:()=>aa,breakout:()=>Xw,capText:()=>Or,info:()=>Jw,isHiddenTurn:()=>ca,launchBulb:()=>rv,listBreakouts:()=>Zw,listBulbFiles:()=>tv,listSessions:()=>Gw,logEmbedError:()=>Ww,openFile:()=>Qw,poll:()=>Kw,predictTrustOf:()=>sv,readBulbLog:()=>iv,setBulbTrust:()=>nv,stopBreakout:()=>ev});import{existsSync as Et,openSync as sd,readSync as nd,closeSync as id,statSync as ze,readdirSync as na,watchFile as Ew,unwatchFile as ed,mkdirSync as od,writeFileSync as ad,readFileSync as ia,unlinkSync as Aw,rmSync as Tw}from"fs";import{join as B}from"path";import{homedir as Pw}from"os";function cd(r){return r?.message??String(r)}function Ow(r){return r.replace(/[^a-zA-Z0-9]/g,"-")}function ld(r){let e=oa(r);if(!Et(e))return[];let t;try{t=na(e)}catch{return[]}let s=[];for(let n of t){if(!n.endsWith(".jsonl"))continue;let i=B(e,n);try{let o=ze(i);o.isFile()&&s.push({sessionId:n.slice(0,-6),file:i,mtime:o.mtimeMs})}catch{}}return s}function vn(r){return B(r,Rw)}function fd(r,e){return B(vn(r),`${e}.lock`)}function _w(r,e){try{let t=fd(r,e);if(Date.now()-ze(t).mtimeMs>=ud)return!1;try{if(parseInt(ia(t,"utf8").trim(),10)===process.pid)return!1}catch{}return!0}catch{return!1}}function dd(r,e){if(e)try{od(vn(r),{recursive:!0}),ad(fd(r,e),String(process.pid))}catch(t){console.error("[lock] claim failed:",cd(t))}}function Lw(r){try{Tw(B(r,".claude-bulb"),{recursive:!0,force:!0})}catch{}}function $w(r){let e=vn(r);if(!Et(e))return;let t;try{t=na(e)}catch{return}let s=Date.now();for(let n of t){if(!n.endsWith(".lock"))continue;let i=B(e,n);try{let o=ze(i);s-o.mtimeMs>Iw&&Aw(i)}catch{}}}function aa(r){let e=r?.type==="image"?r.source:void 0;return e?.type==="base64"&&e.data?`![pasted image](data:${e.media_type||"image/png"};base64,${e.data})`:""}function Or(r){return r.length>ra?r.slice(0,ra)+`
150
150
  \u2026[${r.length-ra} more characters truncated]`:r}function sa(r){return typeof r=="string"?Or(r):Array.isArray(r)?r.map(e=>{if(typeof e=="string")return Or(e);let t=e;return typeof t?.text=="string"?Or(t.text):t?.content!=null?sa(t.content):aa(t)}).join(`
151
151
  `):r==null?"":Or(JSON.stringify(r))}function pd(r){try{return ze(r),!1}catch(e){return e.code==="ENOENT"}}function hd(){let r=W;if(r.file&&!pd(r.file)){dd(r.cwd,r.sessionId);return}let e=Mw(r);e&&md(e)}function Mw(r){if(!r.everAttached)return Dw(r.cwd)??Bw(r.cwd,()=>!0)}function Dw(r){let e=vn(r);if(!Et(e))return;let t;try{t=na(e)}catch{return}let s;for(let i of t)if(i.endsWith(".lock"))try{let o=ze(B(e,i));if(Date.now()-o.mtimeMs>=ud||parseInt(ia(B(e,i),"utf8").trim(),10)!==process.pid)continue;(!s||o.mtimeMs>s.mtime)&&(s={sessionId:i.slice(0,-5),mtime:o.mtimeMs})}catch{}if(!s)return;let n=B(oa(r),`${s.sessionId}.jsonl`);if(!pd(n))return{sessionId:s.sessionId,file:n,mtime:s.mtime}}function Bw(r,e){return ld(r).sort((t,s)=>s.mtime-t.mtime).find(t=>!_w(r,t.sessionId)&&e(t))}function md(r){let e=W;if(e.file)try{ed(e.file)}catch{}e.file=r.file,e.sessionId=r.sessionId,e.everAttached=!0,e.partial="",e.offset=0,e.latest={in:0,out:0,cached:0,cacheCreate:0},e.entries=new Map,e.chainLastUuid=void 0,e.buffer.push({type:"cleared"}),e.buffer.push({type:"session",sessionId:r.sessionId}),dd(e.cwd,r.sessionId),td();try{ed(r.file)}catch{}Ew(r.file,{interval:200},()=>td())}function td(){let r=W;if(!r.file)return;let e;try{e=ze(r.file).size}catch{return}if(e<=r.offset)return;let t;try{t=sd(r.file,"r")}catch{return}try{let c=e-r.offset,l=Buffer.alloc(c),f=0;for(;f<c;){let u=nd(t,l,f,c-f,r.offset+f);if(!u)break;f+=u}r.offset+=f,r.partial+=l.subarray(0,f).toString("utf8")}finally{id(t)}let s,n;for(;(n=r.partial.indexOf(`
152
- `))>=0;){let c=r.partial.slice(0,n);if(r.partial=r.partial.slice(n+1),!c.trim())continue;let l;try{l=JSON.parse(c)}catch{continue}l&&l.uuid&&(r.entries.set(l.uuid,l),l.isSidechain||(s=l.uuid))}if(!s)return;let i=[],o=r.entries.get(s),a=!1;for(;o;){if(i.push(o),o.uuid===r.chainLastUuid){a=!0;break}o=o.parentUuid?r.entries.get(o.parentUuid):void 0}if(a)for(let c=i.length-2;c>=0;c--)rd(i[c]);else{r.chainLastUuid!==void 0&&(r.buffer.push({type:"cleared"}),r.buffer.push({type:"session",sessionId:r.sessionId}),r.latest={in:0,out:0,cached:0,cacheCreate:0});for(let c=i.length-1;c>=0;c--)rd(i[c])}r.chainLastUuid=s}function gd(r){let e=r.trim();return!!e&&qw.some(t=>t.test(e))}function jw(r){return r.replace(Fw,"")}function wn(r){let e=jw(r).trim();return e&&!gd(e)?e:""}function yd(r){return r?.type==="text"&&typeof r.text=="string"?wn(r.text):""}function ca(r){return!!r.isSidechain||!!r.isMeta}function rd(r){try{Uw(r)}catch(e){console.error("[claude-bulb] skipped malformed entry:",cd(e))}}function Uw(r){if(ca(r))return;let e=W;if(r.type==="user"){let t=r.message?.content;if(typeof t=="string"){let s=wn(t);s&&e.buffer.push({type:"user",text:s})}else if(Array.isArray(t))for(let s of t)if(s?.type==="tool_result")e.buffer.push({type:"tool_result",id:s.tool_use_id??"",content:sa(s.content),isError:!!s.is_error});else{let n=yd(s)||aa(s);n&&e.buffer.push({type:"user",text:n})}}else if(r.type==="attachment"&&r.attachment?.type==="queued_command"){let t=wn(sa(r.attachment.prompt));t&&e.buffer.push({type:"user",text:t})}else if(r.type==="assistant"){let t=r.message?.content,s=Array.isArray(t)?t:[],n=s.filter(c=>c.type==="text").map(c=>c.text??"").filter(c=>!gd(c)).join(""),i=s.filter(c=>c.type==="thinking").map(c=>c.thinking??"").join(`
152
+ `))>=0;){let c=r.partial.slice(0,n);if(r.partial=r.partial.slice(n+1),!c.trim())continue;let l;try{l=JSON.parse(c)}catch{continue}l&&l.uuid&&(r.entries.set(l.uuid,l),l.isSidechain||(s=l.uuid))}if(!s)return;let i=[],o=r.entries.get(s),a=!1;for(;o;){if(i.push(o),o.uuid===r.chainLastUuid){a=!0;break}o=o.parentUuid?r.entries.get(o.parentUuid):void 0}if(a)for(let c=i.length-2;c>=0;c--)rd(i[c]);else{r.chainLastUuid!==void 0&&(r.buffer.push({type:"cleared"}),r.buffer.push({type:"session",sessionId:r.sessionId}),r.latest={in:0,out:0,cached:0,cacheCreate:0});for(let c=i.length-1;c>=0;c--)rd(i[c])}r.chainLastUuid=s}function gd(r){let e=r.trim();return!!e&&qw.some(t=>t.test(e))}function jw(r){return r.replace(Fw,"")}function wn(r){let e=jw(r).trim();return e&&!gd(e)?e:""}function yd(r){return r?.type==="text"&&typeof r.text=="string"?wn(r.text):""}function ca(r){return!!r.isSidechain||!!r.isMeta}function rd(r){try{Uw(r)}catch(e){console.error("[mirror] skipped malformed entry:",cd(e))}}function Uw(r){if(ca(r))return;let e=W;if(r.type==="user"){let t=r.message?.content;if(typeof t=="string"){let s=wn(t);s&&e.buffer.push({type:"user",text:s})}else if(Array.isArray(t))for(let s of t)if(s?.type==="tool_result")e.buffer.push({type:"tool_result",id:s.tool_use_id??"",content:sa(s.content),isError:!!s.is_error});else{let n=yd(s)||aa(s);n&&e.buffer.push({type:"user",text:n})}}else if(r.type==="attachment"&&r.attachment?.type==="queued_command"){let t=wn(sa(r.attachment.prompt));t&&e.buffer.push({type:"user",text:t})}else if(r.type==="assistant"){let t=r.message?.content,s=Array.isArray(t)?t:[],n=s.filter(c=>c.type==="text").map(c=>c.text??"").filter(c=>!gd(c)).join(""),i=s.filter(c=>c.type==="thinking").map(c=>c.thinking??"").join(`
153
153
  `),o=s.filter(c=>c.type==="tool_use").map(c=>({id:c.id??"",name:c.name??"",input:c.input??{}}));if(n||i||o.length){let c=Date.parse(r.timestamp??""),l=!isNaN(c)&&c>=e.sessionStartMs;e.buffer.push({type:"assistant",text:n,thinking:i,tools:o,live:l})}let a=r.message?.usage??r.usage;a&&(e.latest={in:a.input_tokens??0,out:a.output_tokens??0,cached:a.cache_read_input_tokens??0,cacheCreate:a.cache_creation_input_tokens??0},e.buffer.push({type:"usage",...e.latest}))}}async function Jw(){return{cwd:W.cwd,pid:process.pid}}async function Kw(r){let e=W;return hd(),{events:e.buffer.slice(r),cursor:e.buffer.length,working:Yw(e)}}async function Ww(r,e){Vw.accept(r,e)&&console.log(e)}function Yw(r){let e;for(let i of r.entries.values())(i.type==="user"||i.type==="assistant")&&(e=i);if(!e)return!1;if(e.type==="user")return!0;let s=(Array.isArray(e.message?.content)?e.message.content:[]).filter(i=>i.type==="tool_use").map(i=>i.id);if(s.length===0)return!1;let n=new Set;for(let i of r.entries.values()){let o=i.message?.content;if(Array.isArray(o))for(let a of o)a.type==="tool_result"&&a.tool_use_id&&n.add(a.tool_use_id)}return s.some(i=>i&&!n.has(i))}function Hw(r){let e;try{e=sd(r,"r")}catch{return""}try{let s=65536;try{s=ze(r).size}catch{}let n=(l,f)=>{if(f<=0)return"";let u=Buffer.alloc(f),d=nd(e,u,0,f,l);return u.subarray(0,d).toString("utf8")},i=(l,f,u)=>{let d="";for(let p of l.split(`
154
154
  `)){if(!p.includes(`"${f}"`))continue;let g;try{g=JSON.parse(p)}catch{continue}let h=g?.[u];g?.type===f&&typeof h=="string"&&h&&(d=h)}return d},o=n(0,Math.min(65536,s)),a=s>65536?n(s-65536,65536):"",c=i(a,"custom-title","customTitle")||i(o,"custom-title","customTitle")||i(a,"ai-title","aiTitle")||i(o,"ai-title","aiTitle");if(c)return c.replace(/\s+/g," ").trim().slice(0,200);for(let l of o.split(`
155
155
  `)){if(!l.trim())continue;let f;try{f=JSON.parse(l)}catch{continue}if(!f||ca(f)||f.type!=="user")continue;let u=f.message?.content,d="";typeof u=="string"?d=wn(u):Array.isArray(u)&&(d=u.map(yd).filter(Boolean).join(" "));let p=d.replace(/\s+/g," ").trim();if(p)return(p.replace(/^Continuing from a prior session\. Here is the summary of our work so far:\s*/i,"").trim()||p).slice(0,200)}return""}finally{id(e)}}async function Gw(){return ld(W.cwd).sort((r,e)=>e.mtime-r.mtime).map(({sessionId:r,file:e,mtime:t})=>({sessionId:r,mtime:t,preview:Hw(e)}))}async function zw(r){let e=W,t=B(oa(e.cwd),`${r}.jsonl`);return Et(t)?t===e.file?{ok:!0}:(md({sessionId:r,file:t}),{ok:!0}):{ok:!1,error:"session not found"}}async function Qw(r,e){return ta(r,e),{ok:!0}}async function Xw(r){let e=W.cwd,t=B(e,"typebulbs");od(t,{recursive:!0});let s=Qo(r),n=`${s}.bulb.md`;for(let c=2;Et(B(t,n))&&ia(B(t,n),"utf8")!==r;c++)n=`${s}-${c}.bulb.md`;let i=B(t,n);Et(i)||ad(i,r);let o=B("typebulbs",n),a=await sn(o,{cwd:e,open:!0});return{ok:!0,file:o,pid:a.pid,url:a.url}}async function Zw(){return j(W.cwd)}async function ev(r){return await vt(r),{ok:!0}}async function tv(){return Zo(W.cwd).map(r=>({...r,trusted:Je(r.path)}))}async function rv(r,e){let t=W.cwd;e!=null&&mt(r,e);let s=await sn(r,{cwd:t,open:!0,trust:e});return{ok:!0,file:s.file,pid:s.pid,url:s.url,trust:!!s.trust}}async function sv(r){return{cap:await ea(r)}}async function nv(r,e){return mt(r,e),{ok:!0}}async function iv(r,e){return wt(r,e)}var Nw,Cw,oa,Rw,ud,Iw,ra,W,qw,Fw,Vw,wd=N(()=>{Xf();Zf();Nw=".typebulb",Cw=B(Pw(),".claude","projects"),oa=r=>B(Cw,Ow(r));Rw=`${Nw}/locks`,ud=5e3,Iw=6e4;ra=5e4;W={cwd:process.cwd(),sessionId:"",sessionStartMs:Date.now(),buffer:[],partial:"",offset:0,latest:{in:0,out:0,cached:0,cacheCreate:0},everAttached:!1,entries:new Map};qw=[/\[Request interrupted by user\b/i,/\[Tool use was interrupted\]/i,/Claude Code returned an error/i,/\[ede_diagnostic\]/i,/^No response requested\.?$/i,/^<task-notification\b/i,/^<system-reminder\b/i];Fw=/<ide_[a-z_]+>[\s\S]*?<\/ide_[a-z_]+>/gi;Vw=new bn;Lw(W.cwd);$w(W.cwd);hd()});import*as Pd from"fs/promises";import*as ge from"path";import*as ua from"fs/promises";import{existsSync as Qe,readFileSync as Md}from"fs";import*as L from"path";import{pathToFileURL as Dd}from"url";import{resolve as En}from"resolve.exports";import{init as fa,parse as da}from"es-module-lexer";function pa(r,e){let t=L.join(r,"package.json");try{return JSON.parse(Md(t,"utf8"))}catch{throw new Error(`--replace package '${e}' has no readable package.json at ${t}`)}}var xn=["browser","import","default"],la=["node","import","default"];function ha(r){let e=r.indexOf("=");if(e===-1)throw new Error(`--replace must be <name>=<path> (got '${r}')`);let t=r.slice(0,e).trim(),s=r.slice(e+1).trim();if(!t)throw new Error(`--replace missing package name (got '${r}')`);if(!s)throw new Error(`--replace missing path for '${t}'`);if(t.startsWith("@"))throw new Error(`--replace does not support scoped names yet; '${t}' is scoped`);return{name:t,dir:L.resolve(s)}}async function ma(r){let{name:e,dir:t}=r;if(!Qe(t))throw new Error(`--replace path for '${e}' does not exist: ${t}`);let s=pa(t,e),n=Bd(s,e),i=L.resolve(t,n);if(!Qe(i))throw new Error(`--replace package '${e}' entry not found on disk: ${i} \u2014 did you build it (e.g. \`pnpm run build\`)?`);let o=L.dirname(i),a=`/local/${e}/${L.basename(i)}`,c=qd(s,t);return await Fd(e,i,o),{name:e,dir:t,entryAbs:i,serveDir:o,entryUrl:a,typesAbs:c}}function Bd(r,e){if(r.exports!==void 0){let s;try{s=En(r,".",{browser:!0,conditions:xn})}catch(i){throw new Error(`--replace package '${e}' "exports" does not resolve a browser entry (conditions: ${xn.join(", ")}): ${i instanceof Error?i.message:i}`)}let n=An(s);if(!n)throw new Error(`--replace package '${e}' "exports" did not resolve "." to a single file (conditions: ${xn.join(", ")}); too complex to override.`);return n}let t=r.module??r.main;if(!t)throw new Error(`--replace package '${e}' has no "exports", "module", or "main" entry to resolve.`);return t}function qd(r,e){if(r.exports!==void 0)try{let s=En(r,".",{conditions:["types"]}),n=An(s);if(n){let i=L.resolve(e,n);if(Qe(i))return i}}catch{}let t=r.types??r.typings;if(t){let s=L.resolve(e,t);if(Qe(s))return s}}function An(r){if(typeof r=="string")return r;if(Array.isArray(r))return r.find(e=>typeof e=="string")}async function Fd(r,e,t){await fa;let s=L.normalize(t),n=new Set,i=[e];for(;i.length;){let o=i.shift();if(n.has(o))continue;n.add(o);let a;try{a=await ua.readFile(o,"utf8")}catch{continue}let c,l;try{[c,,,l]=da(a,o)}catch{continue}if(o===e&&!l)throw new Error(`override package '${r}' entry is not an ES module (no import/export syntax); CommonJS or non-module entries aren't supported (esm.sh would have to transform it).`);for(let f of c){if(f.d===-2)continue;let u=f.n;if(u&&!u.startsWith("node:")){if(u.startsWith("./")||u.startsWith("../")||u.startsWith("/")){let d=jd(o,u,s);d&&!n.has(d)&&i.push(d);continue}throw new Error(`override package must ship self-contained (bundle its dependencies); ${r} externalizes '${u}'`)}}}}function jd(r,e,t){let s=e.replace(/[?#].*$/,""),n=L.resolve(L.dirname(r),s),i=[n,n+".js",n+".mjs",L.join(n,"index.js"),L.join(n,"index.mjs")];for(let o of i)if(L.normalize(o).startsWith(t)&&Qe(o))return o}function Ud(r,e,t){let s=pa(r,e),n;if(s.exports!==void 0)try{n=An(En(s,t,{conditions:la}))}catch(o){throw new Error(`--replace package '${e}' "exports" does not resolve a node entry for '${t}' (conditions: ${la.join(", ")}): ${o instanceof Error?o.message:o}`)}else t==="."&&(n=s.main??s.module);if(!n)throw new Error(`--replace package '${e}' has no node export for '${t}'.`);let i=L.resolve(r,n);if(!Qe(i))throw new Error(`--replace package '${e}' built file not found: ${i} \u2014 did you build it (e.g. \`pnpm run build\`)?`);return Dd(i).href}async function ga(r,e){await fa;let t;try{[t]=da(r)}catch{return r}let s="",n=0;for(let i of t){if(i.d!==-1)continue;let o=i.n;if(!o||o!==e.name&&!o.startsWith(e.name+"/"))continue;let a=o===e.name?".":"."+o.slice(e.name.length),c=Ud(e.dir,e.name,a);s+=r.slice(n,i.s)+c,n=i.e}return s+r.slice(n)}function ya(r){let e={subcommand:"run",file:"",port:3e3,watch:!0,open:!0,server:!1,trust:!1,noTrust:!1,follow:!1,help:!1,version:!1,callArgs:[],hasArgsFlag:!1},t=["call","check","predict","logs","stop","trust","untrust","skill","models"],s=r[0];if(s==="agent"||s?.startsWith("agent:")){e.subcommand="agent";let i=s.indexOf(":");if(i!==-1){let o=s.slice(i+1);o&&(e.agentTarget=o)}r=r.slice(1)}else s&&t.includes(s)&&(e.subcommand=s,r=r.slice(1));let n=[];for(let i=0;i<r.length;i++){let o=r[i];if(o==="--help"||o==="-h")e.help=!0;else if(o==="--version"||o==="-V")e.version=!0;else if(o==="--no-watch")e.watch=!1;else if(o==="--no-open")e.open=!1;else if(o==="--server")e.server=!0;else if(o==="--trust")e.trust=!0;else if(o==="--no-trust")e.noTrust=!0;else if(o==="--mode"){let a=r[++i];(!a||a.startsWith("-"))&&(console.error("Missing value for --mode (e.g. --mode staging)"),process.exit(1)),e.mode=a}else if(o==="--follow"||o==="-f")e.follow=!0;else if(o==="--bulbs")e.stopScope="bulbs";else if(o==="--agent")e.stopScope="agent";else if(o==="--global")e.stopScope="global";else if(o==="--lines"||o==="-n"){let a=parseInt(r[++i],10);(isNaN(a)||a<0)&&(console.error(`Invalid --lines value: ${r[i]}`),process.exit(1)),e.lines=a}else if(o==="--port"||o==="-p"){let a=r[++i],c=parseInt(a,10);isNaN(c)&&(console.error(`Invalid port: ${a}`),process.exit(1)),e.port=c}else if(o==="--replace"||o.startsWith("--replace=")){let a=o.startsWith("--replace=")?o.slice(10):r[++i]??"";try{let c=ha(a);if(e.local)throw new Error(`--replace can only be used once (got '${e.local.name}' and '${c.name}')`);e.local=c}catch(c){console.error(c instanceof Error?c.message:String(c)),process.exit(1)}}else if(o==="--args"||o.startsWith("--args=")){e.hasArgsFlag=!0;let a=o.startsWith("--args=")?o.slice(7):r[++i];a===void 0&&(console.error("Missing value for --args (a JSON array, or - to read it from stdin)"),process.exit(1)),e.argsJson=a}else o.startsWith("-")||(e.subcommand==="call"?n.push(o):e.file=o)}return e.subcommand==="call"&&(n.length<2&&(console.error("Usage: typebulb call <file> <fn> [arg\u2026]"),process.exit(1)),e.file=n[0],e.fn=n[1],e.callArgs=n.slice(2)),e}function ba(){console.log(`
@@ -1055,13 +1055,13 @@ ${dw}
1055
1055
 
1056
1056
  <script type="module" src="${zo}"></script>
1057
1057
  </body>
1058
- </html>`}async function Sd(r){let e=process.cwd(),t=tn(process.pid),s=r.watch?new lv:void 0,n=ue(r.mode),i=await Promise.resolve().then(()=>(wd(),bd));Re(n,Y.join(e,"mirror"));let o=Y.dirname(cv(import.meta.url)),a=Y.join(o,"agents","claude"),c=Y.join(o,"..","agents","claude"),l=Y.join(a,"styles.css"),f=Y.join(a,"index.html"),u=()=>Wf({name:"Claude Bulb",styles:vd(l,"utf8"),mountHtml:vd(f,"utf8"),watch:r.watch}),d=await Pr(r.port),p=await hn({getHtml:u,basePath:e,port:d,reloadEmitter:s,getServerExports:()=>i,trusted:!0,staticAssets:{mount:`${Y.posix.dirname(zo)}/`,dir:a}}),g=`http://localhost:${d}`;await rn({pid:process.pid,port:d,url:g,file:"agent:claude",cwd:e,startedAt:Date.now(),trust:!0,agent:"claude"}),console.log(`
1059
- Claude Bulb`),console.log(` ${g}`),d!==r.port&&console.log(` (port ${r.port} was busy)`),r.watch&&console.log(` Watching for changes...
1058
+ </html>`}async function Sd(r){let e=process.cwd(),t=tn(process.pid),s=r.watch?new lv:void 0,n=ue(r.mode),i=await Promise.resolve().then(()=>(wd(),bd));Re(n,Y.join(e,"mirror"));let o=Y.dirname(cv(import.meta.url)),a=Y.join(o,"agents","claude"),c=Y.join(o,"..","agents","claude"),l=Y.join(a,"styles.css"),f=Y.join(a,"index.html"),u=()=>Wf({name:"Claude Mirror",styles:vd(l,"utf8"),mountHtml:vd(f,"utf8"),watch:r.watch}),d=await Pr(r.port),p=await hn({getHtml:u,basePath:e,port:d,reloadEmitter:s,getServerExports:()=>i,trusted:!0,staticAssets:{mount:`${Y.posix.dirname(zo)}/`,dir:a}}),g=`http://localhost:${d}`;await rn({pid:process.pid,port:d,url:g,file:"agent:claude",cwd:e,startedAt:Date.now(),trust:!0,agent:"claude"}),console.log(`
1059
+ Claude Mirror`),console.log(` ${g}`),d!==r.port&&console.log(` (port ${r.port} was busy)`),r.watch&&console.log(` Watching for changes...
1060
1060
  `);async function h(){await(await import("esbuild")).build({entryPoints:[Y.join(c,"client","index.ts")],bundle:!0,platform:"browser",format:"esm",outfile:Y.join(a,"client.js")});for(let b of["styles.css","index.html"])ov(Y.join(c,b),Y.join(a,b))}let y;if(r.watch&&s){let m=av(c),b=!1;y=gn({dir:m?c:a,onChange:async()=>{if(!b){b=!0;try{m&&await h(),console.log(`Mirror rebuilt. Browser reloading...
1061
1061
  `),s.emit("reload")}catch(w){console.error("Mirror rebuild failed:",w instanceof Error?w.message:w)}finally{b=!1}}}})}r.open&&await gt(g);let k=async()=>{console.log(`
1062
1062
  Shutting down...`),p.close(),y?.(),t(),await Ar(process.pid),process.exit(0)};process.on("SIGINT",k),process.on("SIGTERM",k)}import*as kd from"path";import{EventEmitter as uv}from"events";async function xd(r,e,t,s,n){let i=ue(t),o=!1,a=async()=>{let{bulb:c,config:l}=await se(r);o||(Re(i,r,c.server),o=!0),await wr(c.server,n,s,l.dependencies)};if(console.log(`Running ${kd.basename(r)}...`),await a(),e){console.log(`Watching for changes...
1063
1063
  `);let c=new uv;c.on("reload",async()=>{try{console.log("Re-running..."),await a()}catch(l){console.error("Error:",l)}}),mn({bulbPath:r,emitter:c})}}import{Console as fv}from"node:console";async function Ed(r,e,t,s,n){yv();let i=ue(t),{bulb:o,config:a}=await se(r);o.server||Sn("This bulb has no **server.ts** block; nothing to call."),Re(i,r,o.server);let c;try{c=await wr(o.server,n,s,a.dependencies)}catch(p){Sn(p instanceof Error?p.message:String(p))}let l=dn(c,e.fn);if(!l){let p=[...Object.keys(c).filter(g=>typeof c[g]=="function"),...Object.keys(Yo)];Sn(`Function '${e.fn}' not found. Available: ${p.length?p.join(", "):"(none)"}.`)}let f=await dv(e),u;try{u=await l(...f)}catch(p){Sn(p instanceof Error?p.stack??p.message:String(p))}let d=mv(u);d!==void 0&&await bv(d+`
1064
1064
  `),process.exit(0)}async function dv(r){if(r.hasArgsFlag){let e=r.argsJson??"";return e==="-"&&(e=await wv()),hv(e)}return pv(r.positional)}function pv(r){return r.map(e=>{try{return JSON.parse(e)}catch{return e}})}function hv(r){let e;try{e=JSON.parse(r)}catch(t){throw new Error(`--args must be a JSON array: ${t instanceof Error?t.message:String(t)}`)}if(!Array.isArray(e))throw new Error(`--args must be a JSON array, got ${e===null?"null":typeof e}`);return e}function mv(r){if(r!==void 0)return JSON.stringify(r,gv,2)}function gv(r,e){return typeof e=="bigint"?e.toString():e}function Sn(r){process.stderr.write(r+`
1065
- `),process.exit(1)}function yv(){let r=new fv(process.stderr,process.stderr);console.log=r.log.bind(r),console.info=r.info.bind(r),console.debug=r.debug.bind(r),console.dir=r.dir.bind(r)}function bv(r){return new Promise((e,t)=>{process.stdout.write(r,s=>s?t(s):e())})}async function wv(){let r=[];for await(let e of process.stdin)r.push(e);return Buffer.concat(r).toString("utf-8")}var Ad="0.13.2";function Td(r,e){r||(console.error(`This bulb runs server-side Node code (server.ts), which --trust must authorize:
1065
+ `),process.exit(1)}function yv(){let r=new fv(process.stderr,process.stderr);console.log=r.log.bind(r),console.info=r.info.bind(r),console.debug=r.debug.bind(r),console.dir=r.dir.bind(r)}function bv(r){return new Promise((e,t)=>{process.stdout.write(r,s=>s?t(s):e())})}async function wv(){let r=[];for await(let e of process.stdin)r.push(e);return Buffer.concat(r).toString("utf-8")}var Ad="0.13.3";function Td(r,e){r||(console.error(`This bulb runs server-side Node code (server.ts), which --trust must authorize:
1066
1066
  ${e}`),process.exit(1))}async function vv(){let r=ya(process.argv.slice(2));if(r.version&&(console.log(`typebulb ${Ad}`),process.exit(0)),r.help&&(ba(),process.exit(0)),r.subcommand==="logs"){await If(r.file||void 0,{follow:r.follow,lines:r.lines});return}if(r.subcommand==="stop"){r.stopScope?await Lf(r.stopScope):await _f(r.file||void 0);return}if(r.subcommand==="skill"){await Of(Ad);return}if(r.subcommand==="models"){await Tf(r.mode);return}if(r.subcommand==="agent"){if(!r.agentTarget){await kf();return}tf(r.agentTarget)||(console.error(`Unknown agent '${r.agentTarget}'. Known: ${$o().join(", ")}.`),process.exit(1));let l=await Fo(process.cwd(),r.agentTarget);if(l){console.log(`Mirror '${r.agentTarget}' is already running for this project:
1067
1067
  ${l.url}`),r.open&&await gt(l.url);return}await Sd(r);return}if(r.subcommand==="trust"||r.subcommand==="untrust"){await df(r.file||void 0,r.subcommand==="trust");return}let e;if(!r.file||r.file==="."){let l=await Qu(process.cwd());l||(console.error("No .bulb.md file found in current directory"),process.exit(1)),e=l}else e=ge.resolve(r.file);await Pd.access(e).then(()=>!0,()=>!1)||($o().includes(r.file)&&(console.error(`To open the ${r.file} agent mirror, run: npx typebulb agent:${r.file}`),process.exit(1)),console.error(`File not found: ${e}`),process.exit(1)),e.endsWith(".bulb.md")||(console.error("File must have .bulb.md extension"),process.exit(1));let s=r.file&&r.file!=="."?r.file:ge.relative(process.cwd(),e)||ge.basename(e),n=`npx typebulb --trust ${s.includes(" ")?`"${s}"`:s}`;if(r.subcommand==="predict"){await ff(e,n);return}let i=!r.noTrust&&Je(e);i&&!r.trust&&console.log("trust: granted from memory (run `typebulb untrust` to revoke)"),r.trust=r.noTrust?!1:r.trust||i;let o;try{o=await se(e)}catch{}let a;if(r.local){o&&!(r.local.name in(o.config.dependencies??{}))&&(console.error(`--replace: '${r.local.name}' is not a dependency in this bulb's config.json; nothing to replace.`),process.exit(1)),o&&r.subcommand!=="call"&&(!o.bulb.code||r.server)&&console.warn("warning: --replace has no effect in server mode (the override is client-only).");try{a=await ma(r.local)}catch(l){console.error(l instanceof Error?l.message:String(l)),process.exit(1)}console.log(`replace: ${a.name} \u2192 ${ge.relative(process.cwd(),a.dir)||"."}`)}if(r.subcommand==="check"){await uf(e,a);return}let c=ge.dirname(e);if(r.subcommand==="call"){Td(r.trust,n),await Ed(e,{fn:r.fn,positional:r.callArgs,argsJson:r.argsJson,hasArgsFlag:r.hasArgsFlag},r.mode,a,c);return}if(o&&o.bulb.server&&(!o.bulb.code||r.server)){Td(r.trust,n),await xd(e,r.watch,r.mode,a,c);return}await Vf(e,r,n,a,c)}vv().catch(r=>{console.error("Error:",r.message),process.exit(1)});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typebulb",
3
- "version": "0.13.2",
3
+ "version": "0.13.3",
4
4
  "description": "Typebulb CLI to run single-file markdown apps called bulbs, either as standalone web apps or embedded in agent responses.",
5
5
  "license": "MIT",
6
6
  "repository": {