libre-webui 0.8.3 → 0.8.4

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.
@@ -0,0 +1,281 @@
1
+ import{o as L0,f as tt,m as k0,s as Mn,a as Nn,c as Tn,v as An,S as zn,j as u,M as jn}from"./markdown-vendor-B0lXrrRZ.js";import{R as ur,r as A,e as Tr,c as rs,d as Cn,u as Dn}from"./router-vendor-DdQhGl5t.js";import{u as C0,O as Bn,c as Y,a as Ze,t as gt,b as Ar,d as je,p as ra,f as In,e as cr,S as En,T as Fn,B as a0,o as $0,h as aa,i as as,g as sa,j as vt,w as ye,k as na}from"../assets/index-DW8C1vVk.js";import{C as Nt,O as ss,d as Rn,j as D0,s as qn,L as ns,l as is,a2 as Pn,V as On,q as dr,a3 as hr,w as ls,S as Hn,X as p0,v as Ln,i as ia,a4 as xt,a5 as $n,a6 as Lt,D as la,I as zr,Q as W0,G as oa,a7 as Gn,a8 as os,a9 as Un,N as Vn,U as us,aa as Wn,z as ue,h as Xn,W as Yn,B as $t,$ as z0,ab as Kn,ac as Gt,u as cs,ad as Zn,t as jr,ae as Ut,k as rt,f as Vt,af as Jn,ag as ds,ah as hs,ai as ms,F as at,aj as Qn,M as _n,ak as ua}from"./ui-vendor-C4ZcWovR.js";import{A as ei}from"./ArtifactContainer-Bm-Y-U-r.js";import"./utils-vendor-BFlGJDIj.js";function ti(r,e){const t=String(r);let a=t.indexOf(e),s=a,n=0,l=0;for(;a!==-1;)a===s?++n>l&&(l=n):n=1,s=a+e.length,a=t.indexOf(e,s);return l}function ri(){return{enter:{mathFlow:r,mathFlowFenceMeta:e,mathText:n},exit:{mathFlow:s,mathFlowFence:a,mathFlowFenceMeta:t,mathFlowValue:c,mathText:l,mathTextData:c}};function r(d){const m={type:"element",tagName:"code",properties:{className:["language-math","math-display"]},children:[]};this.enter({type:"math",meta:null,value:"",data:{hName:"pre",hChildren:[m]}},d)}function e(){this.buffer()}function t(){const d=this.resume(),m=this.stack[this.stack.length-1];L0(m.type==="math"),m.meta=d}function a(){this.data.mathFlowInside||(this.buffer(),this.data.mathFlowInside=!0)}function s(d){const m=this.resume().replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),f=this.stack[this.stack.length-1];L0(f.type==="math"),this.exit(d),f.value=m;const x=f.data.hChildren[0];L0(x.type==="element"),L0(x.tagName==="code"),x.children.push({type:"text",value:m}),this.data.mathFlowInside=void 0}function n(d){this.enter({type:"inlineMath",value:"",data:{hName:"code",hProperties:{className:["language-math","math-inline"]},hChildren:[]}},d),this.buffer()}function l(d){const m=this.resume(),f=this.stack[this.stack.length-1];L0(f.type==="inlineMath"),this.exit(d),f.value=m,f.data.hChildren.push({type:"text",value:m})}function c(d){this.config.enter.data.call(this,d),this.config.exit.data.call(this,d)}}function ai(r){let e=(r||{}).singleDollarTextMath;return e==null&&(e=!0),a.peek=s,{unsafe:[{character:"\r",inConstruct:"mathFlowMeta"},{character:`
2
+ `,inConstruct:"mathFlowMeta"},{character:"$",after:e?void 0:"\\$",inConstruct:"phrasing"},{character:"$",inConstruct:"mathFlowMeta"},{atBreak:!0,character:"$",after:"\\$"}],handlers:{math:t,inlineMath:a}};function t(n,l,c,d){const m=n.value||"",f=c.createTracker(d),x="$".repeat(Math.max(ti(m,"$")+1,2)),y=c.enter("mathFlow");let b=f.move(x);if(n.meta){const k=c.enter("mathFlowMeta");b+=f.move(c.safe(n.meta,{after:`
3
+ `,before:b,encode:["$"],...f.current()})),k()}return b+=f.move(`
4
+ `),m&&(b+=f.move(m+`
5
+ `)),b+=f.move(x),y(),b}function a(n,l,c){let d=n.value||"",m=1;for(e||m++;new RegExp("(^|[^$])"+"\\$".repeat(m)+"([^$]|$)").test(d);)m++;const f="$".repeat(m);/[^ \r\n]/.test(d)&&(/^[ \r\n]/.test(d)&&/[ \r\n]$/.test(d)||/^\$|\$$/.test(d))&&(d=" "+d+" ");let x=-1;for(;++x<c.unsafe.length;){const y=c.unsafe[x];if(!y.atBreak)continue;const b=c.compilePattern(y);let k;for(;k=b.exec(d);){let S=k.index;d.codePointAt(S)===10&&d.codePointAt(S-1)===13&&S--,d=d.slice(0,S)+" "+d.slice(k.index+1)}}return f+d+f}function s(){return"$"}}const si={tokenize:ni,concrete:!0,name:"mathFlow"},ca={tokenize:ii,partial:!0};function ni(r,e,t){const a=this,s=a.events[a.events.length-1],n=s&&s[1].type==="linePrefix"?s[2].sliceSerialize(s[1],!0).length:0;let l=0;return c;function c(T){return r.enter("mathFlow"),r.enter("mathFlowFence"),r.enter("mathFlowFenceSequence"),d(T)}function d(T){return T===36?(r.consume(T),l++,d):l<2?t(T):(r.exit("mathFlowFenceSequence"),tt(r,m,"whitespace")(T))}function m(T){return T===null||k0(T)?x(T):(r.enter("mathFlowFenceMeta"),r.enter("chunkString",{contentType:"string"}),f(T))}function f(T){return T===null||k0(T)?(r.exit("chunkString"),r.exit("mathFlowFenceMeta"),x(T)):T===36?t(T):(r.consume(T),f)}function x(T){return r.exit("mathFlowFence"),a.interrupt?e(T):r.attempt(ca,y,z)(T)}function y(T){return r.attempt({tokenize:E,partial:!0},z,b)(T)}function b(T){return(n?tt(r,k,"linePrefix",n+1):k)(T)}function k(T){return T===null?z(T):k0(T)?r.attempt(ca,y,z)(T):(r.enter("mathFlowValue"),S(T))}function S(T){return T===null||k0(T)?(r.exit("mathFlowValue"),k(T)):(r.consume(T),S)}function z(T){return r.exit("mathFlow"),e(T)}function E(T,H,V){let B=0;return tt(T,G,"linePrefix",a.parser.constructs.disable.null.includes("codeIndented")?void 0:4);function G(N){return T.enter("mathFlowFence"),T.enter("mathFlowFenceSequence"),W(N)}function W(N){return N===36?(B++,T.consume(N),W):B<l?V(N):(T.exit("mathFlowFenceSequence"),tt(T,$,"whitespace")(N))}function $(N){return N===null||k0(N)?(T.exit("mathFlowFence"),H(N)):V(N)}}}function ii(r,e,t){const a=this;return s;function s(l){return l===null?e(l):(r.enter("lineEnding"),r.consume(l),r.exit("lineEnding"),n)}function n(l){return a.parser.lazy[a.now().line]?t(l):e(l)}}function li(r){let t=(r||{}).singleDollarTextMath;return t==null&&(t=!0),{tokenize:a,resolve:oi,previous:ui,name:"mathText"};function a(s,n,l){let c=0,d,m;return f;function f(S){return s.enter("mathText"),s.enter("mathTextSequence"),x(S)}function x(S){return S===36?(s.consume(S),c++,x):c<2&&!t?l(S):(s.exit("mathTextSequence"),y(S))}function y(S){return S===null?l(S):S===36?(m=s.enter("mathTextSequence"),d=0,k(S)):S===32?(s.enter("space"),s.consume(S),s.exit("space"),y):k0(S)?(s.enter("lineEnding"),s.consume(S),s.exit("lineEnding"),y):(s.enter("mathTextData"),b(S))}function b(S){return S===null||S===32||S===36||k0(S)?(s.exit("mathTextData"),y(S)):(s.consume(S),b)}function k(S){return S===36?(s.consume(S),d++,k):d===c?(s.exit("mathTextSequence"),s.exit("mathText"),n(S)):(m.type="mathTextData",b(S))}}}function oi(r){let e=r.length-4,t=3,a,s;if((r[t][1].type==="lineEnding"||r[t][1].type==="space")&&(r[e][1].type==="lineEnding"||r[e][1].type==="space")){for(a=t;++a<e;)if(r[a][1].type==="mathTextData"){r[e][1].type="mathTextPadding",r[t][1].type="mathTextPadding",t+=2,e-=2;break}}for(a=t-1,e++;++a<=e;)s===void 0?a!==e&&r[a][1].type!=="lineEnding"&&(s=a):(a===e||r[a][1].type==="lineEnding")&&(r[s][1].type="mathTextData",a!==s+2&&(r[s][1].end=r[a-1][1].end,r.splice(s+2,a-s-2),e-=a-s-2,a=s+2),s=void 0);return r}function ui(r){return r!==36||this.events[this.events.length-1][1].type==="characterEscape"}function ci(r){return{flow:{36:si},text:{36:li(r)}}}class Oe{constructor(e,t,a){this.lexer=void 0,this.start=void 0,this.end=void 0,this.lexer=e,this.start=t,this.end=a}static range(e,t){return t?!e||!e.loc||!t.loc||e.loc.lexer!==t.loc.lexer?null:new Oe(e.loc.lexer,e.loc.start,t.loc.end):e&&e.loc}}class Le{constructor(e,t){this.text=void 0,this.loc=void 0,this.noexpand=void 0,this.treatAsRelax=void 0,this.text=e,this.loc=t}range(e,t){return new Le(t,Oe.range(this,e))}}class R{constructor(e,t){this.name=void 0,this.position=void 0,this.length=void 0,this.rawMessage=void 0;var a="KaTeX parse error: "+e,s,n,l=t&&t.loc;if(l&&l.start<=l.end){var c=l.lexer.input;s=l.start,n=l.end,s===c.length?a+=" at end of input: ":a+=" at position "+(s+1)+": ";var d=c.slice(s,n).replace(/[^]/g,"$&̲"),m;s>15?m="…"+c.slice(s-15,s):m=c.slice(0,s);var f;n+15<c.length?f=c.slice(n,n+15)+"…":f=c.slice(n),a+=m+d+f}var x=new Error(a);return x.name="ParseError",x.__proto__=R.prototype,x.position=s,s!=null&&n!=null&&(x.length=n-s),x.rawMessage=e,x}}R.prototype.__proto__=Error.prototype;var di=/([A-Z])/g,Cr=r=>r.replace(di,"-$1").toLowerCase(),hi={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},mi=/[&><"']/g,Be=r=>String(r).replace(mi,e=>hi[e]),X0=r=>r.type==="ordgroup"||r.type==="color"?r.body.length===1?X0(r.body[0]):r:r.type==="font"?X0(r.body):r,pi=new Set(["mathord","textord","atom"]),i0=r=>pi.has(X0(r).type),fi=r=>{var e=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(r);return e?e[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(e[1])?null:e[1].toLowerCase():"_relative"},pt={displayMode:{type:"boolean",description:"Render math in display mode, which puts the math in display style (so \\int and \\sum are large, for example), and centers the math on the page on its own line.",cli:"-d, --display-mode"},output:{type:{enum:["htmlAndMathml","html","mathml"]},description:"Determines the markup language of the output.",cli:"-F, --format <type>"},leqno:{type:"boolean",description:"Render display math in leqno style (left-justified tags)."},fleqn:{type:"boolean",description:"Render display math flush left."},throwOnError:{type:"boolean",default:!0,cli:"-t, --no-throw-on-error",cliDescription:"Render errors (in the color given by --error-color) instead of throwing a ParseError exception when encountering an error."},errorColor:{type:"string",default:"#cc0000",cli:"-c, --error-color <color>",cliDescription:"A color string given in the format 'rgb' or 'rrggbb' (no #). This option determines the color of errors rendered by the -t option.",cliProcessor:r=>"#"+r},macros:{type:"object",cli:"-m, --macro <def>",cliDescription:"Define custom macro of the form '\\foo:expansion' (use multiple -m arguments for multiple macros).",cliDefault:[],cliProcessor:(r,e)=>(e.push(r),e)},minRuleThickness:{type:"number",description:"Specifies a minimum thickness, in ems, for fraction lines, `\\sqrt` top lines, `{array}` vertical lines, `\\hline`, `\\hdashline`, `\\underline`, `\\overline`, and the borders of `\\fbox`, `\\boxed`, and `\\fcolorbox`.",processor:r=>Math.max(0,r),cli:"--min-rule-thickness <size>",cliProcessor:parseFloat},colorIsTextColor:{type:"boolean",description:"Makes \\color behave like LaTeX's 2-argument \\textcolor, instead of LaTeX's one-argument \\color mode change.",cli:"-b, --color-is-text-color"},strict:{type:[{enum:["warn","ignore","error"]},"boolean","function"],description:"Turn on strict / LaTeX faithfulness mode, which throws an error if the input uses features that are not supported by LaTeX.",cli:"-S, --strict",cliDefault:!1},trust:{type:["boolean","function"],description:"Trust the input, enabling all HTML features such as \\url.",cli:"-T, --trust"},maxSize:{type:"number",default:1/0,description:"If non-zero, all user-specified sizes, e.g. in \\rule{500em}{500em}, will be capped to maxSize ems. Otherwise, elements and spaces can be arbitrarily large",processor:r=>Math.max(0,r),cli:"-s, --max-size <n>",cliProcessor:parseInt},maxExpand:{type:"number",default:1e3,description:"Limit the number of macro expansions to the specified number, to prevent e.g. infinite macro loops. If set to Infinity, the macro expander will try to fully expand as in LaTeX.",processor:r=>Math.max(0,r),cli:"-e, --max-expand <n>",cliProcessor:r=>r==="Infinity"?1/0:parseInt(r)},globalGroup:{type:"boolean",cli:!1}};function gi(r){if(r.default)return r.default;var e=r.type,t=Array.isArray(e)?e[0]:e;if(typeof t!="string")return t.enum[0];switch(t){case"boolean":return!1;case"string":return"";case"number":return 0;case"object":return{}}}class Dr{constructor(e){this.displayMode=void 0,this.output=void 0,this.leqno=void 0,this.fleqn=void 0,this.throwOnError=void 0,this.errorColor=void 0,this.macros=void 0,this.minRuleThickness=void 0,this.colorIsTextColor=void 0,this.strict=void 0,this.trust=void 0,this.maxSize=void 0,this.maxExpand=void 0,this.globalGroup=void 0,e=e||{};for(var t in pt)if(pt.hasOwnProperty(t)){var a=pt[t];this[t]=e[t]!==void 0?a.processor?a.processor(e[t]):e[t]:gi(a)}}reportNonstrict(e,t,a){var s=this.strict;if(typeof s=="function"&&(s=s(e,t,a)),!(!s||s==="ignore")){if(s===!0||s==="error")throw new R("LaTeX-incompatible input and strict mode is set to 'error': "+(t+" ["+e+"]"),a);s==="warn"?typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")):typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]"))}}useStrictBehavior(e,t,a){var s=this.strict;if(typeof s=="function")try{s=s(e,t,a)}catch{s="error"}return!s||s==="ignore"?!1:s===!0||s==="error"?!0:s==="warn"?(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to 'warn': "+(t+" ["+e+"]")),!1):(typeof console<"u"&&console.warn("LaTeX-incompatible input and strict mode is set to "+("unrecognized '"+s+"': "+t+" ["+e+"]")),!1)}isTrusted(e){if(e.url&&!e.protocol){var t=fi(e.url);if(t==null)return!1;e.protocol=t}var a=typeof this.trust=="function"?this.trust(e):this.trust;return!!a}}class d0{constructor(e,t,a){this.id=void 0,this.size=void 0,this.cramped=void 0,this.id=e,this.size=t,this.cramped=a}sup(){return Ye[vi[this.id]]}sub(){return Ye[xi[this.id]]}fracNum(){return Ye[bi[this.id]]}fracDen(){return Ye[yi[this.id]]}cramp(){return Ye[wi[this.id]]}text(){return Ye[ki[this.id]]}isTight(){return this.size>=2}}var Br=0,bt=1,j0=2,s0=3,K0=4,Ue=5,B0=6,Re=7,Ye=[new d0(Br,0,!1),new d0(bt,0,!0),new d0(j0,1,!1),new d0(s0,1,!0),new d0(K0,2,!1),new d0(Ue,2,!0),new d0(B0,3,!1),new d0(Re,3,!0)],vi=[K0,Ue,K0,Ue,B0,Re,B0,Re],xi=[Ue,Ue,Ue,Ue,Re,Re,Re,Re],bi=[j0,s0,K0,Ue,B0,Re,B0,Re],yi=[s0,s0,Ue,Ue,Re,Re,Re,Re],wi=[bt,bt,s0,s0,Ue,Ue,Re,Re],ki=[Br,bt,j0,s0,j0,s0,j0,s0],_={DISPLAY:Ye[Br],TEXT:Ye[j0],SCRIPT:Ye[K0],SCRIPTSCRIPT:Ye[B0]},mr=[{name:"latin",blocks:[[256,591],[768,879]]},{name:"cyrillic",blocks:[[1024,1279]]},{name:"armenian",blocks:[[1328,1423]]},{name:"brahmic",blocks:[[2304,4255]]},{name:"georgian",blocks:[[4256,4351]]},{name:"cjk",blocks:[[12288,12543],[19968,40879],[65280,65376]]},{name:"hangul",blocks:[[44032,55215]]}];function Si(r){for(var e=0;e<mr.length;e++)for(var t=mr[e],a=0;a<t.blocks.length;a++){var s=t.blocks[a];if(r>=s[0]&&r<=s[1])return t.name}return null}var ft=[];mr.forEach(r=>r.blocks.forEach(e=>ft.push(...e)));function ps(r){for(var e=0;e<ft.length;e+=2)if(r>=ft[e]&&r<=ft[e+1])return!0;return!1}var A0=80,Mi=function(e,t){return"M95,"+(622+e+t)+`
6
+ c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
7
+ c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
8
+ c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10
9
+ s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
10
+ c69,-144,104.5,-217.7,106.5,-221
11
+ l`+e/2.075+" -"+e+`
12
+ c5.3,-9.3,12,-14,20,-14
13
+ H400000v`+(40+e)+`H845.2724
14
+ s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
15
+ c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
16
+ M`+(834+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ni=function(e,t){return"M263,"+(601+e+t)+`c0.7,0,18,39.7,52,119
17
+ c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
18
+ c340,-704.7,510.7,-1060.3,512,-1067
19
+ l`+e/2.084+" -"+e+`
20
+ c4.7,-7.3,11,-11,19,-11
21
+ H40000v`+(40+e)+`H1012.3
22
+ s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
23
+ c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1
24
+ s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
25
+ c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
26
+ M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ti=function(e,t){return"M983 "+(10+e+t)+`
27
+ l`+e/3.13+" -"+e+`
28
+ c4,-6.7,10,-10,18,-10 H400000v`+(40+e)+`
29
+ H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7
30
+ s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744
31
+ c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
32
+ c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
33
+ c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
34
+ c53.7,-170.3,84.5,-266.8,92.5,-289.5z
35
+ M`+(1001+e)+" "+t+"h400000v"+(40+e)+"h-400000z"},Ai=function(e,t){return"M424,"+(2398+e+t)+`
36
+ c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
37
+ c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20
38
+ s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
39
+ s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
40
+ l`+e/4.223+" -"+e+`c4,-6.7,10,-10,18,-10 H400000
41
+ v`+(40+e)+`H1014.6
42
+ s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
43
+ c-2,6,-10,9,-24,9
44
+ c-8,0,-12,-0.7,-12,-2z M`+(1001+e)+" "+t+`
45
+ h400000v`+(40+e)+"h-400000z"},zi=function(e,t){return"M473,"+(2713+e+t)+`
46
+ c339.3,-1799.3,509.3,-2700,510,-2702 l`+e/5.298+" -"+e+`
47
+ c3.3,-7.3,9.3,-11,18,-11 H400000v`+(40+e)+`H1017.7
48
+ s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
49
+ c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200
50
+ c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26
51
+ s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
52
+ 606zM`+(1001+e)+" "+t+"h400000v"+(40+e)+"H1017.7z"},ji=function(e){var t=e/2;return"M400000 "+e+" H0 L"+t+" 0 l65 45 L145 "+(e-80)+" H400000z"},Ci=function(e,t,a){var s=a-54-t-e;return"M702 "+(e+t)+"H400000"+(40+e)+`
53
+ H742v`+s+`l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1
54
+ h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
55
+ c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
56
+ 219 661 l218 661zM702 `+t+"H400000v"+(40+e)+"H742z"},Di=function(e,t,a){t=1e3*t;var s="";switch(e){case"sqrtMain":s=Mi(t,A0);break;case"sqrtSize1":s=Ni(t,A0);break;case"sqrtSize2":s=Ti(t,A0);break;case"sqrtSize3":s=Ai(t,A0);break;case"sqrtSize4":s=zi(t,A0);break;case"sqrtTall":s=Ci(t,A0,a)}return s},Bi=function(e,t){switch(e){case"⎜":return"M291 0 H417 V"+t+" H291z M291 0 H417 V"+t+" H291z";case"∣":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z";case"∥":return"M145 0 H188 V"+t+" H145z M145 0 H188 V"+t+" H145z"+("M367 0 H410 V"+t+" H367z M367 0 H410 V"+t+" H367z");case"⎟":return"M457 0 H583 V"+t+" H457z M457 0 H583 V"+t+" H457z";case"⎢":return"M319 0 H403 V"+t+" H319z M319 0 H403 V"+t+" H319z";case"⎥":return"M263 0 H347 V"+t+" H263z M263 0 H347 V"+t+" H263z";case"⎪":return"M384 0 H504 V"+t+" H384z M384 0 H504 V"+t+" H384z";case"⏐":return"M312 0 H355 V"+t+" H312z M312 0 H355 V"+t+" H312z";case"‖":return"M257 0 H300 V"+t+" H257z M257 0 H300 V"+t+" H257z"+("M478 0 H521 V"+t+" H478z M478 0 H521 V"+t+" H478z");default:return""}},da={doubleleftarrow:`M262 157
57
+ l10-10c34-36 62.7-77 86-123 3.3-8 5-13.3 5-16 0-5.3-6.7-8-20-8-7.3
58
+ 0-12.2.5-14.5 1.5-2.3 1-4.8 4.5-7.5 10.5-49.3 97.3-121.7 169.3-217 216-28
59
+ 14-57.3 25-88 33-6.7 2-11 3.8-13 5.5-2 1.7-3 4.2-3 7.5s1 5.8 3 7.5
60
+ c2 1.7 6.3 3.5 13 5.5 68 17.3 128.2 47.8 180.5 91.5 52.3 43.7 93.8 96.2 124.5
61
+ 157.5 9.3 8 15.3 12.3 18 13h6c12-.7 18-4 18-10 0-2-1.7-7-5-15-23.3-46-52-87
62
+ -86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
63
+ -2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
64
+ m8 0v40h399730v-40zm0 194v40h399730v-40z`,doublerightarrow:`M399738 392l
65
+ -10 10c-34 36-62.7 77-86 123-3.3 8-5 13.3-5 16 0 5.3 6.7 8 20 8 7.3 0 12.2-.5
66
+ 14.5-1.5 2.3-1 4.8-4.5 7.5-10.5 49.3-97.3 121.7-169.3 217-216 28-14 57.3-25 88
67
+ -33 6.7-2 11-3.8 13-5.5 2-1.7 3-4.2 3-7.5s-1-5.8-3-7.5c-2-1.7-6.3-3.5-13-5.5-68
68
+ -17.3-128.2-47.8-180.5-91.5-52.3-43.7-93.8-96.2-124.5-157.5-9.3-8-15.3-12.3-18
69
+ -13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
70
+ c-328 0 0 0 0 0l10 8c26.7 20 65.7 43 117 69-2.7 2-6 3.7-10 5-36.7 16-72.3 37.3
71
+ -107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,leftarrow:`M400000 241H110l3-3c68.7-52.7 113.7-120
72
+ 135-202 4-14.7 6-23 6-25 0-7.3-7-11-21-11-8 0-13.2.8-15.5 2.5-2.3 1.7-4.2 5.8
73
+ -5.5 12.5-1.3 4.7-2.7 10.3-4 17-12 48.7-34.8 92-68.5 130S65.3 228.3 18 247
74
+ c-10 4-16 7.7-18 11 0 8.7 6 14.3 18 17 47.3 18.7 87.8 47 121.5 85S196 441.3 208
75
+ 490c.7 2 1.3 5 2 9s1.2 6.7 1.5 8c.3 1.3 1 3.3 2 6s2.2 4.5 3.5 5.5c1.3 1 3.3
76
+ 1.8 6 2.5s6 1 10 1c14 0 21-3.7 21-11 0-2-2-10.3-6-25-20-79.3-65-146.7-135-202
77
+ l-3-3h399890zM100 241v40h399900v-40z`,leftbrace:`M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
78
+ -45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
79
+ 5-6 9-10 13-.7 1-7.3 1-20 1H6z`,leftbraceunder:`M0 6l6-6h17c12.688 0 19.313.3 20 1 4 4 7.313 8.3 10 13
80
+ 35.313 51.3 80.813 93.8 136.5 127.5 55.688 33.7 117.188 55.8 184.5 66.5.688
81
+ 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
82
+ -331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,leftgroup:`M400000 80
83
+ H435C64 80 168.3 229.4 21 260c-5.9 1.2-18 0-18 0-2 0-3-1-3-3v-38C76 61 257 0
84
+ 435 0h399565z`,leftgroupunder:`M400000 262
85
+ H435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219
86
+ 435 219h399565z`,leftharpoon:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
87
+ -3.3 10.2-9.5 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5
88
+ -18.3 3-21-1.3-4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7
89
+ -196 228-6.7 4.7-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40z`,leftharpoonplus:`M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3-3.3 10.2-9.5
90
+ 20.5-18.5s17.8-15.8 22.5-20.5c50.7-52 88-110.3 112-175 4-11.3 5-18.3 3-21-1.3
91
+ -4-7.3-6-18-6-8 0-13 .7-15 2s-4.7 6.7-8 16c-42 98.7-107.3 174.7-196 228-6.7 4.7
92
+ -10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
93
+ m0 0v40h400000v-40z`,leftharpoondown:`M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
94
+ 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
95
+ 1 9 1h5c10.667 0 16.667-2 18-6 2-2.667 1-9.667-3-21-32-87.333-82.667-157.667
96
+ -152-211l-3-3h399907v-40zM93 281 H400000 v-40L7 241z`,leftharpoondownplus:`M7 435c-4 4-6.3 8.7-7 14 0 5.3.7 9 2 11s5.3 5.3 12
97
+ 10c90.7 54 156 130 196 228 3.3 10.7 6.3 16.3 9 17 2 .7 5 1 9 1h5c10.7 0 16.7
98
+ -2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
99
+ v40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z`,lefthook:`M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5
100
+ -83.5C70.8 58.2 104 47 142 47 c16.7 0 25 6.7 25 20 0 12-8.7 18.7-26 20-40 3.3
101
+ -68.7 15.7-86 37-10 12-15 25.3-15 40 0 22.7 9.8 40.7 29.5 54 19.7 13.3 43.5 21
102
+ 71.5 23h399859zM103 281v-40h399897v40z`,leftlinesegment:`M40 281 V428 H0 V94 H40 V241 H400000 v40z
103
+ M40 281 V428 H0 V94 H40 V241 H400000 v40z`,leftmapsto:`M40 281 V448H0V74H40V241H400000v40z
104
+ M40 281 V448H0V74H40V241H400000v40z`,leftToFrom:`M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23
105
+ -.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8
106
+ c28.7-32 52-65.7 70-101 10.7-23.3 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 265.3
107
+ 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,longequal:`M0 50 h400000 v40H0z m0 194h40000v40H0z
108
+ M0 50 h400000 v40H0z m0 194h40000v40H0z`,midbrace:`M200428 334
109
+ c-100.7-8.3-195.3-44-280-108-55.3-42-101.7-93-139-153l-9-14c-2.7 4-5.7 8.7-9 14
110
+ -53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
111
+ 311.7-78.3 403-201 6-8 9.7-12 11-12 .7-.7 6.7-1 18-1s17.3.3 18 1c1.3 0 5 4 11
112
+ 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,midbraceunder:`M199572 214
113
+ c100.7 8.3 195.3 44 280 108 55.3 42 101.7 93 139 153l9 14c2.7-4 5.7-8.7 9-14
114
+ 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
115
+ 11.7-311.7 78.3-403 201-6 8-9.7 12-11 12-.7.7-6.7 1-18 1s-17.3-.3-18-1c-1.3 0
116
+ -5-4-11-12-44.7-59.3-101.3-106.3-170-141s-145.3-54.3-229-60H0V214z`,oiintSize1:`M512.6 71.6c272.6 0 320.3 106.8 320.3 178.2 0 70.8-47.7 177.6
117
+ -320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
118
+ m368.1 178.2c0-86.4-60.9-215.4-368.1-215.4-306.4 0-367.3 129-367.3 215.4 0 85.8
119
+ 60.9 214.8 367.3 214.8 307.2 0 368.1-129 368.1-214.8z`,oiintSize2:`M757.8 100.1c384.7 0 451.1 137.6 451.1 230 0 91.3-66.4 228.8
120
+ -451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
121
+ m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
122
+ c0 110 84 276 504 276s502.4-166 502.4-276z`,oiiintSize1:`M681.4 71.6c408.9 0 480.5 106.8 480.5 178.2 0 70.8-71.6 177.6
123
+ -480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
124
+ m525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0
125
+ 85.8 86.8 214.8 524.7 214.8 438.9 0 525.7-129 525.7-214.8z`,oiiintSize2:`M1021.2 53c603.6 0 707.8 165.8 707.8 277.2 0 110-104.2 275.8
126
+ -707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
127
+ m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
128
+ c0 130 128.8 326.4 772.7 326.4s770.5-196.4 770.5-326.4z`,rightarrow:`M0 241v40h399891c-47.3 35.3-84 78-110 128
129
+ -16.7 32-27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20
130
+ 11 8 0 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7
131
+ 39-84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85
132
+ -40.5-119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
133
+ -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
134
+ 151.7 139 205zm0 0v40h399900v-40z`,rightbrace:`M400000 542l
135
+ -6 6h-17c-12.7 0-19.3-.3-20-1-4-4-7.3-8.3-10-13-35.3-51.3-80.8-93.8-136.5-127.5
136
+ s-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1
137
+ c124.7 8 235 61.7 331 161 31.3 33.3 59.7 72.7 85 118l7 13v35z`,rightbraceunder:`M399994 0l6 6v35l-6 11c-56 104-135.3 181.3-238 232-57.3
138
+ 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
139
+ -174 2.7-5 6-9 10-13 .7-1 7.3-1 20-1h17z`,rightgroup:`M0 80h399565c371 0 266.7 149.4 414 180 5.9 1.2 18 0 18 0 2 0
140
+ 3-1 3-3v-38c-76-158-257-219-435-219H0z`,rightgroupunder:`M0 262h399565c371 0 266.7-149.4 414-180 5.9-1.2 18 0 18
141
+ 0 2 0 3 1 3 3v38c-76 158-257 219-435 219H0z`,rightharpoon:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3
142
+ -3.7-15.3-11-18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2
143
+ -10.7 0-16.7 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58
144
+ 69.2 92 94.5zm0 0v40h399900v-40z`,rightharpoonplus:`M0 241v40h399993c4.7-4.7 7-9.3 7-14 0-9.3-3.7-15.3-11
145
+ -18-92.7-56.7-159-133.7-199-231-3.3-9.3-6-14.7-8-16-2-1.3-7-2-15-2-10.7 0-16.7
146
+ 2-18 6-2 2.7-1 9.7 3 21 15.3 42 36.7 81.8 64 119.5 27.3 37.7 58 69.2 92 94.5z
147
+ m0 0v40h399900v-40z m100 194v40h399900v-40zm0 0v40h399900v-40z`,rightharpoondown:`M399747 511c0 7.3 6.7 11 20 11 8 0 13-.8 15-2.5s4.7-6.8
148
+ 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3 8.5-5.8 9.5
149
+ -7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3-64.7 57-92 95
150
+ -27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 241v40h399900v-40z`,rightharpoondownplus:`M399747 705c0 7.3 6.7 11 20 11 8 0 13-.8
151
+ 15-2.5s4.7-6.8 8-15.5c40-94 99.3-166.3 178-217 13.3-8 20.3-12.3 21-13 5.3-3.3
152
+ 8.5-5.8 9.5-7.5 1-1.7 1.5-5.2 1.5-10.5s-2.3-10.3-7-15H0v40h399908c-34 25.3
153
+ -64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
154
+ m0-194v40h400000v-40zm0 0v40h400000v-40z`,righthook:`M399859 241c-764 0 0 0 0 0 40-3.3 68.7-15.7 86-37 10-12 15-25.3
155
+ 15-40 0-22.7-9.8-40.7-29.5-54-19.7-13.3-43.5-21-71.5-23-17.3-1.3-26-8-26-20 0
156
+ -13.3 8.7-20 26-20 38 0 71 11.2 99 33.5 0 0 7 5.6 21 16.7 14 11.2 21 33.5 21
157
+ 66.8s-14 61.2-42 83.5c-28 22.3-61 33.5-99 33.5L0 241z M0 281v-40h399859v40z`,rightlinesegment:`M399960 241 V94 h40 V428 h-40 V281 H0 v-40z
158
+ M399960 241 V94 h40 V428 h-40 V281 H0 v-40z`,rightToFrom:`M400000 167c-70.7-42-118-97.7-142-167h-23c-15.3 0-23 .3-23
159
+ 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
160
+ -52 65.7-70 101-10.7 23.3-16 35.7-16 37 0 .7 7.7 1 23 1h23c24-69.3 71.3-125 142
161
+ -167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,twoheadleftarrow:`M0 167c68 40
162
+ 115.7 95.7 143 167h22c15.3 0 23-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69
163
+ -70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
164
+ -40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
165
+ -37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
166
+ 10.7-23.333 16-35.7 16-37 0-.7-7.7-1-23-1h-22C115.7 71.3 68 127 0 167z`,twoheadrightarrow:`M400000 167
167
+ c-68-40-115.7-95.7-143-167h-22c-15.3 0-23 .3-23 1 0 1.3 5.3 13.7 16 37 18 35.3
168
+ 41.3 69 70 101l7 8h-125l-9-7c-50.7-39.3-85-86-103-140h-46c0 4.7 6.3 18.7 19 42
169
+ 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
170
+ -19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
171
+ 101-10.7 23.333-16 35.7-16 37 0 .7 7.7 1 23 1h22c27.3-71.3 75-127 143-167z`,tilde1:`M200 55.538c-77 0-168 73.953-177 73.953-3 0-7
172
+ -2.175-9-5.437L2 97c-1-2-2-4-2-6 0-4 2-7 5-9l20-12C116 12 171 0 207 0c86 0
173
+ 114 68 191 68 78 0 168-68 177-68 4 0 7 2 9 5l12 19c1 2.175 2 4.35 2 6.525 0
174
+ 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
175
+ -68.267.847-113-73.952-191-73.952z`,tilde2:`M344 55.266c-142 0-300.638 81.316-311.5 86.418
176
+ -8.01 3.762-22.5 10.91-23.5 5.562L1 120c-1-2-1-3-1-4 0-5 3-9 8-10l18.4-9C160.9
177
+ 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
178
+ c1 2.14 1 3.21 1 4.28 0 5.347-3 9.626-7 10.696l-22.3 12.622C852.6 158.372 751
179
+ 181.476 676 181.476c-149 0-189-126.21-332-126.21z`,tilde3:`M786 59C457 59 32 175.242 13 175.242c-6 0-10-3.457
180
+ -11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
181
+ 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
182
+ 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
183
+ -338 0-409-156.573-744-156.573z`,tilde4:`M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
184
+ -11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
185
+ 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
186
+ 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
187
+ -175.236-744-175.236z`,vec:`M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5
188
+ 3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
189
+ 10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63
190
+ -1.333 1.333-3.167 3.5-5.5 6.5s-4 4.833-5 5.5c-1 .667-2.5 1.333-4.5 2s-4.333 1
191
+ -7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
192
+ H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
193
+ c-16-25.333-24-45-24-59z`,widehat1:`M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22
194
+ c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`,widehat2:`M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10
195
+ -11 10h-1L1182 67 15 220h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat3:`M1181 0h2l1171 236c6 0 10 5 10 11l-2 23c-1 6-5 10
196
+ -11 10h-1L1182 67 15 280h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widehat4:`M1181 0h2l1171 296c6 0 10 5 10 11l-2 23c-1 6-5 10
197
+ -11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z`,widecheck1:`M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,
198
+ -5,-5,-9,-11,-9h-2l-512,92l-513,-92h-2c-5,0,-9,4,-11,9l-5,22c-1,6,2,12,8,13z`,widecheck2:`M1181,220h2l1171,-176c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
199
+ -11,-10h-1l-1168,153l-1167,-153h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck3:`M1181,280h2l1171,-236c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
200
+ -11,-10h-1l-1168,213l-1167,-213h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,widecheck4:`M1181,340h2l1171,-296c6,0,10,-5,10,-11l-2,-23c-1,-6,-5,-10,
201
+ -11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z`,baraboveleftarrow:`M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202
202
+ c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
203
+ c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130
204
+ s-74.2 66.3 -121.5 85c-10 4 -16 7.7 -18 11c0 8.7 6 14.3 18 17c47.3 18.7 87.8 47
205
+ 121.5 85s56.5 81.3 68.5 130c0.7 2 1.3 5 2 9s1.2 6.7 1.5 8c0.3 1.3 1 3.3 2 6
206
+ s2.2 4.5 3.5 5.5c1.3 1 3.3 1.8 6 2.5s6 1 10 1c14 0 21 -3.7 21 -11
207
+ c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
208
+ M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,rightarrowabovebar:`M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32
209
+ -27.7 63.7-33 95 0 1.3-.2 2.7-.5 4-.3 1.3-.5 2.3-.5 3 0 7.3 6.7 11 20 11 8 0
210
+ 13.2-.8 15.5-2.5 2.3-1.7 4.2-5.5 5.5-11.5 2-13.3 5.7-27 11-41 14.7-44.7 39
211
+ -84.5 73-119.5s73.7-60.2 119-75.5c6-2 9-5.7 9-11s-3-9-9-11c-45.3-15.3-85-40.5
212
+ -119-75.5s-58.3-74.8-73-119.5c-4.7-14-8.3-27.3-11-40-1.3-6.7-3.2-10.8-5.5
213
+ -12.5-2.3-1.7-7.5-2.5-15.5-2.5-14 0-21 3.7-21 11 0 2 2 10.3 6 25 20.7 83.3 67
214
+ 151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,baraboveshortleftharpoon:`M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
215
+ c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
216
+ c2,0.7,5,1,9,1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21
217
+ c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
218
+ c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
219
+ M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,rightharpoonaboveshortbar:`M0,241 l0,40c399126,0,399993,0,399993,0
220
+ c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
221
+ -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
222
+ c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
223
+ M0 241 v40 H399908 v-40z M0 475 v-40 H399500 v40z M0 475 v-40 H399500 v40z`,shortbaraboveleftharpoon:`M7,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
224
+ c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17c2,0.7,5,1,9,
225
+ 1c0,0,5,0,5,0c10.7,0,16.7,-2,18,-6c2,-2.7,1,-9.7,-3,-21c-32,-87.3,-82.7,-157.7,
226
+ -152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
227
+ M93 435 v40 H400000 v-40z M500 241 v40 H400000 v-40z M500 241 v40 H400000 v-40z`,shortrightharpoonabovebar:`M53,241l0,40c398570,0,399437,0,399437,0
228
+ c4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,
229
+ -231c-3.3,-9.3,-6,-14.7,-8,-16c-2,-1.3,-7,-2,-15,-2c-10.7,0,-16.7,2,-18,6
230
+ c-2,2.7,-1,9.7,3,21c15.3,42,36.7,81.8,64,119.5c27.3,37.7,58,69.2,92,94.5z
231
+ M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`},Ii=function(e,t){switch(e){case"lbrack":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v1759 h347 v-84
232
+ H403z M403 1759 V0 H319 V1759 v`+t+" v1759 h84z";case"rbrack":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v1759 H0 v84 H347z
233
+ M347 1759 V0 H263 V1759 v`+t+" v1759 h84z";case"vert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15
234
+ c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
235
+ c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+" v585 h43z";case"doublevert":return"M145 15 v585 v"+t+` v585 c2.667,10,9.667,15,21,15
236
+ c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
237
+ c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v`+t+` v585 h43z
238
+ M367 15 v585 v`+t+` v585 c2.667,10,9.667,15,21,15
239
+ c10,0,16.667,-5,20,-15 v-585 v`+-t+` v-585 c-2.667,-10,-9.667,-15,-21,-15
240
+ c-10,0,-16.667,5,-20,15z M410 15 H367 v585 v`+t+" v585 h43z";case"lfloor":return"M319 602 V0 H403 V602 v"+t+` v1715 h263 v84 H319z
241
+ MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"rfloor":return"M319 602 V0 H403 V602 v"+t+` v1799 H0 v-84 H319z
242
+ MM319 602 V0 H403 V602 v`+t+" v1715 H319z";case"lceil":return"M403 1759 V84 H666 V0 H319 V1759 v"+t+` v602 h84z
243
+ M403 1759 V0 H319 V1759 v`+t+" v602 h84z";case"rceil":return"M347 1759 V0 H0 V84 H263 V1759 v"+t+` v602 h84z
244
+ M347 1759 V0 h-84 V1759 v`+t+" v602 h84z";case"lparen":return`M863,9c0,-2,-2,-5,-6,-9c0,0,-17,0,-17,0c-12.7,0,-19.3,0.3,-20,1
245
+ c-5.3,5.3,-10.3,11,-15,17c-242.7,294.7,-395.3,682,-458,1162c-21.3,163.3,-33.3,349,
246
+ -36,557 l0,`+(t+84)+`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
247
+ 949.7,470,1265c4.7,6,9.7,11.7,15,17c0.7,0.7,7,1,19,1c0,0,18,0,18,0c4,-4,6,-7,6,-9
248
+ c0,-2.7,-3.3,-8.7,-10,-18c-135.3,-192.7,-235.5,-414.3,-300.5,-665c-65,-250.7,-102.5,
249
+ -544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
250
+ l0,-`+(t+92)+`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
251
+ -210,155.3,-396.3,270,-559c6.7,-9.3,10,-15.3,10,-18z`;case"rparen":return`M76,0c-16.7,0,-25,3,-25,9c0,2,2,6.3,6,13c21.3,28.7,42.3,60.3,
252
+ 63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
253
+ c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,`+(t+9)+`
254
+ c-3,4,-3.3,16.7,-3.3,38c0,162,-5.7,313.7,-17,455c-18.7,248,-55.8,469.3,-111.5,664
255
+ c-55.7,194.7,-131.8,370.3,-228.5,527c-20.7,34.7,-41.7,66.3,-63,95c-2,3.3,-4,7,-6,11
256
+ c0,7.3,5.7,11,17,11c0,0,11,0,11,0c9.3,0,14.3,-0.3,15,-1c5.3,-5.3,10.3,-11,15,-17
257
+ c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
258
+ l0,-`+(t+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
259
+ -470,-1265c-4.7,-6,-9.7,-11.7,-15,-17c-0.7,-0.7,-6.7,-1,-18,-1z`;default:throw new Error("Unknown stretchy delimiter.")}};class J0{constructor(e){this.children=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.children=e,this.classes=[],this.height=0,this.depth=0,this.maxFontSize=0,this.style={}}hasClass(e){return this.classes.includes(e)}toNode(){for(var e=document.createDocumentFragment(),t=0;t<this.children.length;t++)e.appendChild(this.children[t].toNode());return e}toMarkup(){for(var e="",t=0;t<this.children.length;t++)e+=this.children[t].toMarkup();return e}toText(){var e=t=>t.toText();return this.children.map(e).join("")}}var Ke={"AMS-Regular":{32:[0,0,0,0,.25],65:[0,.68889,0,0,.72222],66:[0,.68889,0,0,.66667],67:[0,.68889,0,0,.72222],68:[0,.68889,0,0,.72222],69:[0,.68889,0,0,.66667],70:[0,.68889,0,0,.61111],71:[0,.68889,0,0,.77778],72:[0,.68889,0,0,.77778],73:[0,.68889,0,0,.38889],74:[.16667,.68889,0,0,.5],75:[0,.68889,0,0,.77778],76:[0,.68889,0,0,.66667],77:[0,.68889,0,0,.94445],78:[0,.68889,0,0,.72222],79:[.16667,.68889,0,0,.77778],80:[0,.68889,0,0,.61111],81:[.16667,.68889,0,0,.77778],82:[0,.68889,0,0,.72222],83:[0,.68889,0,0,.55556],84:[0,.68889,0,0,.66667],85:[0,.68889,0,0,.72222],86:[0,.68889,0,0,.72222],87:[0,.68889,0,0,1],88:[0,.68889,0,0,.72222],89:[0,.68889,0,0,.72222],90:[0,.68889,0,0,.66667],107:[0,.68889,0,0,.55556],160:[0,0,0,0,.25],165:[0,.675,.025,0,.75],174:[.15559,.69224,0,0,.94666],240:[0,.68889,0,0,.55556],295:[0,.68889,0,0,.54028],710:[0,.825,0,0,2.33334],732:[0,.9,0,0,2.33334],770:[0,.825,0,0,2.33334],771:[0,.9,0,0,2.33334],989:[.08167,.58167,0,0,.77778],1008:[0,.43056,.04028,0,.66667],8245:[0,.54986,0,0,.275],8463:[0,.68889,0,0,.54028],8487:[0,.68889,0,0,.72222],8498:[0,.68889,0,0,.55556],8502:[0,.68889,0,0,.66667],8503:[0,.68889,0,0,.44445],8504:[0,.68889,0,0,.66667],8513:[0,.68889,0,0,.63889],8592:[-.03598,.46402,0,0,.5],8594:[-.03598,.46402,0,0,.5],8602:[-.13313,.36687,0,0,1],8603:[-.13313,.36687,0,0,1],8606:[.01354,.52239,0,0,1],8608:[.01354,.52239,0,0,1],8610:[.01354,.52239,0,0,1.11111],8611:[.01354,.52239,0,0,1.11111],8619:[0,.54986,0,0,1],8620:[0,.54986,0,0,1],8621:[-.13313,.37788,0,0,1.38889],8622:[-.13313,.36687,0,0,1],8624:[0,.69224,0,0,.5],8625:[0,.69224,0,0,.5],8630:[0,.43056,0,0,1],8631:[0,.43056,0,0,1],8634:[.08198,.58198,0,0,.77778],8635:[.08198,.58198,0,0,.77778],8638:[.19444,.69224,0,0,.41667],8639:[.19444,.69224,0,0,.41667],8642:[.19444,.69224,0,0,.41667],8643:[.19444,.69224,0,0,.41667],8644:[.1808,.675,0,0,1],8646:[.1808,.675,0,0,1],8647:[.1808,.675,0,0,1],8648:[.19444,.69224,0,0,.83334],8649:[.1808,.675,0,0,1],8650:[.19444,.69224,0,0,.83334],8651:[.01354,.52239,0,0,1],8652:[.01354,.52239,0,0,1],8653:[-.13313,.36687,0,0,1],8654:[-.13313,.36687,0,0,1],8655:[-.13313,.36687,0,0,1],8666:[.13667,.63667,0,0,1],8667:[.13667,.63667,0,0,1],8669:[-.13313,.37788,0,0,1],8672:[-.064,.437,0,0,1.334],8674:[-.064,.437,0,0,1.334],8705:[0,.825,0,0,.5],8708:[0,.68889,0,0,.55556],8709:[.08167,.58167,0,0,.77778],8717:[0,.43056,0,0,.42917],8722:[-.03598,.46402,0,0,.5],8724:[.08198,.69224,0,0,.77778],8726:[.08167,.58167,0,0,.77778],8733:[0,.69224,0,0,.77778],8736:[0,.69224,0,0,.72222],8737:[0,.69224,0,0,.72222],8738:[.03517,.52239,0,0,.72222],8739:[.08167,.58167,0,0,.22222],8740:[.25142,.74111,0,0,.27778],8741:[.08167,.58167,0,0,.38889],8742:[.25142,.74111,0,0,.5],8756:[0,.69224,0,0,.66667],8757:[0,.69224,0,0,.66667],8764:[-.13313,.36687,0,0,.77778],8765:[-.13313,.37788,0,0,.77778],8769:[-.13313,.36687,0,0,.77778],8770:[-.03625,.46375,0,0,.77778],8774:[.30274,.79383,0,0,.77778],8776:[-.01688,.48312,0,0,.77778],8778:[.08167,.58167,0,0,.77778],8782:[.06062,.54986,0,0,.77778],8783:[.06062,.54986,0,0,.77778],8785:[.08198,.58198,0,0,.77778],8786:[.08198,.58198,0,0,.77778],8787:[.08198,.58198,0,0,.77778],8790:[0,.69224,0,0,.77778],8791:[.22958,.72958,0,0,.77778],8796:[.08198,.91667,0,0,.77778],8806:[.25583,.75583,0,0,.77778],8807:[.25583,.75583,0,0,.77778],8808:[.25142,.75726,0,0,.77778],8809:[.25142,.75726,0,0,.77778],8812:[.25583,.75583,0,0,.5],8814:[.20576,.70576,0,0,.77778],8815:[.20576,.70576,0,0,.77778],8816:[.30274,.79383,0,0,.77778],8817:[.30274,.79383,0,0,.77778],8818:[.22958,.72958,0,0,.77778],8819:[.22958,.72958,0,0,.77778],8822:[.1808,.675,0,0,.77778],8823:[.1808,.675,0,0,.77778],8828:[.13667,.63667,0,0,.77778],8829:[.13667,.63667,0,0,.77778],8830:[.22958,.72958,0,0,.77778],8831:[.22958,.72958,0,0,.77778],8832:[.20576,.70576,0,0,.77778],8833:[.20576,.70576,0,0,.77778],8840:[.30274,.79383,0,0,.77778],8841:[.30274,.79383,0,0,.77778],8842:[.13597,.63597,0,0,.77778],8843:[.13597,.63597,0,0,.77778],8847:[.03517,.54986,0,0,.77778],8848:[.03517,.54986,0,0,.77778],8858:[.08198,.58198,0,0,.77778],8859:[.08198,.58198,0,0,.77778],8861:[.08198,.58198,0,0,.77778],8862:[0,.675,0,0,.77778],8863:[0,.675,0,0,.77778],8864:[0,.675,0,0,.77778],8865:[0,.675,0,0,.77778],8872:[0,.69224,0,0,.61111],8873:[0,.69224,0,0,.72222],8874:[0,.69224,0,0,.88889],8876:[0,.68889,0,0,.61111],8877:[0,.68889,0,0,.61111],8878:[0,.68889,0,0,.72222],8879:[0,.68889,0,0,.72222],8882:[.03517,.54986,0,0,.77778],8883:[.03517,.54986,0,0,.77778],8884:[.13667,.63667,0,0,.77778],8885:[.13667,.63667,0,0,.77778],8888:[0,.54986,0,0,1.11111],8890:[.19444,.43056,0,0,.55556],8891:[.19444,.69224,0,0,.61111],8892:[.19444,.69224,0,0,.61111],8901:[0,.54986,0,0,.27778],8903:[.08167,.58167,0,0,.77778],8905:[.08167,.58167,0,0,.77778],8906:[.08167,.58167,0,0,.77778],8907:[0,.69224,0,0,.77778],8908:[0,.69224,0,0,.77778],8909:[-.03598,.46402,0,0,.77778],8910:[0,.54986,0,0,.76042],8911:[0,.54986,0,0,.76042],8912:[.03517,.54986,0,0,.77778],8913:[.03517,.54986,0,0,.77778],8914:[0,.54986,0,0,.66667],8915:[0,.54986,0,0,.66667],8916:[0,.69224,0,0,.66667],8918:[.0391,.5391,0,0,.77778],8919:[.0391,.5391,0,0,.77778],8920:[.03517,.54986,0,0,1.33334],8921:[.03517,.54986,0,0,1.33334],8922:[.38569,.88569,0,0,.77778],8923:[.38569,.88569,0,0,.77778],8926:[.13667,.63667,0,0,.77778],8927:[.13667,.63667,0,0,.77778],8928:[.30274,.79383,0,0,.77778],8929:[.30274,.79383,0,0,.77778],8934:[.23222,.74111,0,0,.77778],8935:[.23222,.74111,0,0,.77778],8936:[.23222,.74111,0,0,.77778],8937:[.23222,.74111,0,0,.77778],8938:[.20576,.70576,0,0,.77778],8939:[.20576,.70576,0,0,.77778],8940:[.30274,.79383,0,0,.77778],8941:[.30274,.79383,0,0,.77778],8994:[.19444,.69224,0,0,.77778],8995:[.19444,.69224,0,0,.77778],9416:[.15559,.69224,0,0,.90222],9484:[0,.69224,0,0,.5],9488:[0,.69224,0,0,.5],9492:[0,.37788,0,0,.5],9496:[0,.37788,0,0,.5],9585:[.19444,.68889,0,0,.88889],9586:[.19444,.74111,0,0,.88889],9632:[0,.675,0,0,.77778],9633:[0,.675,0,0,.77778],9650:[0,.54986,0,0,.72222],9651:[0,.54986,0,0,.72222],9654:[.03517,.54986,0,0,.77778],9660:[0,.54986,0,0,.72222],9661:[0,.54986,0,0,.72222],9664:[.03517,.54986,0,0,.77778],9674:[.11111,.69224,0,0,.66667],9733:[.19444,.69224,0,0,.94445],10003:[0,.69224,0,0,.83334],10016:[0,.69224,0,0,.83334],10731:[.11111,.69224,0,0,.66667],10846:[.19444,.75583,0,0,.61111],10877:[.13667,.63667,0,0,.77778],10878:[.13667,.63667,0,0,.77778],10885:[.25583,.75583,0,0,.77778],10886:[.25583,.75583,0,0,.77778],10887:[.13597,.63597,0,0,.77778],10888:[.13597,.63597,0,0,.77778],10889:[.26167,.75726,0,0,.77778],10890:[.26167,.75726,0,0,.77778],10891:[.48256,.98256,0,0,.77778],10892:[.48256,.98256,0,0,.77778],10901:[.13667,.63667,0,0,.77778],10902:[.13667,.63667,0,0,.77778],10933:[.25142,.75726,0,0,.77778],10934:[.25142,.75726,0,0,.77778],10935:[.26167,.75726,0,0,.77778],10936:[.26167,.75726,0,0,.77778],10937:[.26167,.75726,0,0,.77778],10938:[.26167,.75726,0,0,.77778],10949:[.25583,.75583,0,0,.77778],10950:[.25583,.75583,0,0,.77778],10955:[.28481,.79383,0,0,.77778],10956:[.28481,.79383,0,0,.77778],57350:[.08167,.58167,0,0,.22222],57351:[.08167,.58167,0,0,.38889],57352:[.08167,.58167,0,0,.77778],57353:[0,.43056,.04028,0,.66667],57356:[.25142,.75726,0,0,.77778],57357:[.25142,.75726,0,0,.77778],57358:[.41951,.91951,0,0,.77778],57359:[.30274,.79383,0,0,.77778],57360:[.30274,.79383,0,0,.77778],57361:[.41951,.91951,0,0,.77778],57366:[.25142,.75726,0,0,.77778],57367:[.25142,.75726,0,0,.77778],57368:[.25142,.75726,0,0,.77778],57369:[.25142,.75726,0,0,.77778],57370:[.13597,.63597,0,0,.77778],57371:[.13597,.63597,0,0,.77778]},"Caligraphic-Regular":{32:[0,0,0,0,.25],65:[0,.68333,0,.19445,.79847],66:[0,.68333,.03041,.13889,.65681],67:[0,.68333,.05834,.13889,.52653],68:[0,.68333,.02778,.08334,.77139],69:[0,.68333,.08944,.11111,.52778],70:[0,.68333,.09931,.11111,.71875],71:[.09722,.68333,.0593,.11111,.59487],72:[0,.68333,.00965,.11111,.84452],73:[0,.68333,.07382,0,.54452],74:[.09722,.68333,.18472,.16667,.67778],75:[0,.68333,.01445,.05556,.76195],76:[0,.68333,0,.13889,.68972],77:[0,.68333,0,.13889,1.2009],78:[0,.68333,.14736,.08334,.82049],79:[0,.68333,.02778,.11111,.79611],80:[0,.68333,.08222,.08334,.69556],81:[.09722,.68333,0,.11111,.81667],82:[0,.68333,0,.08334,.8475],83:[0,.68333,.075,.13889,.60556],84:[0,.68333,.25417,0,.54464],85:[0,.68333,.09931,.08334,.62583],86:[0,.68333,.08222,0,.61278],87:[0,.68333,.08222,.08334,.98778],88:[0,.68333,.14643,.13889,.7133],89:[.09722,.68333,.08222,.08334,.66834],90:[0,.68333,.07944,.13889,.72473],160:[0,0,0,0,.25]},"Fraktur-Regular":{32:[0,0,0,0,.25],33:[0,.69141,0,0,.29574],34:[0,.69141,0,0,.21471],38:[0,.69141,0,0,.73786],39:[0,.69141,0,0,.21201],40:[.24982,.74947,0,0,.38865],41:[.24982,.74947,0,0,.38865],42:[0,.62119,0,0,.27764],43:[.08319,.58283,0,0,.75623],44:[0,.10803,0,0,.27764],45:[.08319,.58283,0,0,.75623],46:[0,.10803,0,0,.27764],47:[.24982,.74947,0,0,.50181],48:[0,.47534,0,0,.50181],49:[0,.47534,0,0,.50181],50:[0,.47534,0,0,.50181],51:[.18906,.47534,0,0,.50181],52:[.18906,.47534,0,0,.50181],53:[.18906,.47534,0,0,.50181],54:[0,.69141,0,0,.50181],55:[.18906,.47534,0,0,.50181],56:[0,.69141,0,0,.50181],57:[.18906,.47534,0,0,.50181],58:[0,.47534,0,0,.21606],59:[.12604,.47534,0,0,.21606],61:[-.13099,.36866,0,0,.75623],63:[0,.69141,0,0,.36245],65:[0,.69141,0,0,.7176],66:[0,.69141,0,0,.88397],67:[0,.69141,0,0,.61254],68:[0,.69141,0,0,.83158],69:[0,.69141,0,0,.66278],70:[.12604,.69141,0,0,.61119],71:[0,.69141,0,0,.78539],72:[.06302,.69141,0,0,.7203],73:[0,.69141,0,0,.55448],74:[.12604,.69141,0,0,.55231],75:[0,.69141,0,0,.66845],76:[0,.69141,0,0,.66602],77:[0,.69141,0,0,1.04953],78:[0,.69141,0,0,.83212],79:[0,.69141,0,0,.82699],80:[.18906,.69141,0,0,.82753],81:[.03781,.69141,0,0,.82699],82:[0,.69141,0,0,.82807],83:[0,.69141,0,0,.82861],84:[0,.69141,0,0,.66899],85:[0,.69141,0,0,.64576],86:[0,.69141,0,0,.83131],87:[0,.69141,0,0,1.04602],88:[0,.69141,0,0,.71922],89:[.18906,.69141,0,0,.83293],90:[.12604,.69141,0,0,.60201],91:[.24982,.74947,0,0,.27764],93:[.24982,.74947,0,0,.27764],94:[0,.69141,0,0,.49965],97:[0,.47534,0,0,.50046],98:[0,.69141,0,0,.51315],99:[0,.47534,0,0,.38946],100:[0,.62119,0,0,.49857],101:[0,.47534,0,0,.40053],102:[.18906,.69141,0,0,.32626],103:[.18906,.47534,0,0,.5037],104:[.18906,.69141,0,0,.52126],105:[0,.69141,0,0,.27899],106:[0,.69141,0,0,.28088],107:[0,.69141,0,0,.38946],108:[0,.69141,0,0,.27953],109:[0,.47534,0,0,.76676],110:[0,.47534,0,0,.52666],111:[0,.47534,0,0,.48885],112:[.18906,.52396,0,0,.50046],113:[.18906,.47534,0,0,.48912],114:[0,.47534,0,0,.38919],115:[0,.47534,0,0,.44266],116:[0,.62119,0,0,.33301],117:[0,.47534,0,0,.5172],118:[0,.52396,0,0,.5118],119:[0,.52396,0,0,.77351],120:[.18906,.47534,0,0,.38865],121:[.18906,.47534,0,0,.49884],122:[.18906,.47534,0,0,.39054],160:[0,0,0,0,.25],8216:[0,.69141,0,0,.21471],8217:[0,.69141,0,0,.21471],58112:[0,.62119,0,0,.49749],58113:[0,.62119,0,0,.4983],58114:[.18906,.69141,0,0,.33328],58115:[.18906,.69141,0,0,.32923],58116:[.18906,.47534,0,0,.50343],58117:[0,.69141,0,0,.33301],58118:[0,.62119,0,0,.33409],58119:[0,.47534,0,0,.50073]},"Main-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.35],34:[0,.69444,0,0,.60278],35:[.19444,.69444,0,0,.95833],36:[.05556,.75,0,0,.575],37:[.05556,.75,0,0,.95833],38:[0,.69444,0,0,.89444],39:[0,.69444,0,0,.31944],40:[.25,.75,0,0,.44722],41:[.25,.75,0,0,.44722],42:[0,.75,0,0,.575],43:[.13333,.63333,0,0,.89444],44:[.19444,.15556,0,0,.31944],45:[0,.44444,0,0,.38333],46:[0,.15556,0,0,.31944],47:[.25,.75,0,0,.575],48:[0,.64444,0,0,.575],49:[0,.64444,0,0,.575],50:[0,.64444,0,0,.575],51:[0,.64444,0,0,.575],52:[0,.64444,0,0,.575],53:[0,.64444,0,0,.575],54:[0,.64444,0,0,.575],55:[0,.64444,0,0,.575],56:[0,.64444,0,0,.575],57:[0,.64444,0,0,.575],58:[0,.44444,0,0,.31944],59:[.19444,.44444,0,0,.31944],60:[.08556,.58556,0,0,.89444],61:[-.10889,.39111,0,0,.89444],62:[.08556,.58556,0,0,.89444],63:[0,.69444,0,0,.54305],64:[0,.69444,0,0,.89444],65:[0,.68611,0,0,.86944],66:[0,.68611,0,0,.81805],67:[0,.68611,0,0,.83055],68:[0,.68611,0,0,.88194],69:[0,.68611,0,0,.75555],70:[0,.68611,0,0,.72361],71:[0,.68611,0,0,.90416],72:[0,.68611,0,0,.9],73:[0,.68611,0,0,.43611],74:[0,.68611,0,0,.59444],75:[0,.68611,0,0,.90138],76:[0,.68611,0,0,.69166],77:[0,.68611,0,0,1.09166],78:[0,.68611,0,0,.9],79:[0,.68611,0,0,.86388],80:[0,.68611,0,0,.78611],81:[.19444,.68611,0,0,.86388],82:[0,.68611,0,0,.8625],83:[0,.68611,0,0,.63889],84:[0,.68611,0,0,.8],85:[0,.68611,0,0,.88472],86:[0,.68611,.01597,0,.86944],87:[0,.68611,.01597,0,1.18888],88:[0,.68611,0,0,.86944],89:[0,.68611,.02875,0,.86944],90:[0,.68611,0,0,.70277],91:[.25,.75,0,0,.31944],92:[.25,.75,0,0,.575],93:[.25,.75,0,0,.31944],94:[0,.69444,0,0,.575],95:[.31,.13444,.03194,0,.575],97:[0,.44444,0,0,.55902],98:[0,.69444,0,0,.63889],99:[0,.44444,0,0,.51111],100:[0,.69444,0,0,.63889],101:[0,.44444,0,0,.52708],102:[0,.69444,.10903,0,.35139],103:[.19444,.44444,.01597,0,.575],104:[0,.69444,0,0,.63889],105:[0,.69444,0,0,.31944],106:[.19444,.69444,0,0,.35139],107:[0,.69444,0,0,.60694],108:[0,.69444,0,0,.31944],109:[0,.44444,0,0,.95833],110:[0,.44444,0,0,.63889],111:[0,.44444,0,0,.575],112:[.19444,.44444,0,0,.63889],113:[.19444,.44444,0,0,.60694],114:[0,.44444,0,0,.47361],115:[0,.44444,0,0,.45361],116:[0,.63492,0,0,.44722],117:[0,.44444,0,0,.63889],118:[0,.44444,.01597,0,.60694],119:[0,.44444,.01597,0,.83055],120:[0,.44444,0,0,.60694],121:[.19444,.44444,.01597,0,.60694],122:[0,.44444,0,0,.51111],123:[.25,.75,0,0,.575],124:[.25,.75,0,0,.31944],125:[.25,.75,0,0,.575],126:[.35,.34444,0,0,.575],160:[0,0,0,0,.25],163:[0,.69444,0,0,.86853],168:[0,.69444,0,0,.575],172:[0,.44444,0,0,.76666],176:[0,.69444,0,0,.86944],177:[.13333,.63333,0,0,.89444],184:[.17014,0,0,0,.51111],198:[0,.68611,0,0,1.04166],215:[.13333,.63333,0,0,.89444],216:[.04861,.73472,0,0,.89444],223:[0,.69444,0,0,.59722],230:[0,.44444,0,0,.83055],247:[.13333,.63333,0,0,.89444],248:[.09722,.54167,0,0,.575],305:[0,.44444,0,0,.31944],338:[0,.68611,0,0,1.16944],339:[0,.44444,0,0,.89444],567:[.19444,.44444,0,0,.35139],710:[0,.69444,0,0,.575],711:[0,.63194,0,0,.575],713:[0,.59611,0,0,.575],714:[0,.69444,0,0,.575],715:[0,.69444,0,0,.575],728:[0,.69444,0,0,.575],729:[0,.69444,0,0,.31944],730:[0,.69444,0,0,.86944],732:[0,.69444,0,0,.575],733:[0,.69444,0,0,.575],915:[0,.68611,0,0,.69166],916:[0,.68611,0,0,.95833],920:[0,.68611,0,0,.89444],923:[0,.68611,0,0,.80555],926:[0,.68611,0,0,.76666],928:[0,.68611,0,0,.9],931:[0,.68611,0,0,.83055],933:[0,.68611,0,0,.89444],934:[0,.68611,0,0,.83055],936:[0,.68611,0,0,.89444],937:[0,.68611,0,0,.83055],8211:[0,.44444,.03194,0,.575],8212:[0,.44444,.03194,0,1.14999],8216:[0,.69444,0,0,.31944],8217:[0,.69444,0,0,.31944],8220:[0,.69444,0,0,.60278],8221:[0,.69444,0,0,.60278],8224:[.19444,.69444,0,0,.51111],8225:[.19444,.69444,0,0,.51111],8242:[0,.55556,0,0,.34444],8407:[0,.72444,.15486,0,.575],8463:[0,.69444,0,0,.66759],8465:[0,.69444,0,0,.83055],8467:[0,.69444,0,0,.47361],8472:[.19444,.44444,0,0,.74027],8476:[0,.69444,0,0,.83055],8501:[0,.69444,0,0,.70277],8592:[-.10889,.39111,0,0,1.14999],8593:[.19444,.69444,0,0,.575],8594:[-.10889,.39111,0,0,1.14999],8595:[.19444,.69444,0,0,.575],8596:[-.10889,.39111,0,0,1.14999],8597:[.25,.75,0,0,.575],8598:[.19444,.69444,0,0,1.14999],8599:[.19444,.69444,0,0,1.14999],8600:[.19444,.69444,0,0,1.14999],8601:[.19444,.69444,0,0,1.14999],8636:[-.10889,.39111,0,0,1.14999],8637:[-.10889,.39111,0,0,1.14999],8640:[-.10889,.39111,0,0,1.14999],8641:[-.10889,.39111,0,0,1.14999],8656:[-.10889,.39111,0,0,1.14999],8657:[.19444,.69444,0,0,.70277],8658:[-.10889,.39111,0,0,1.14999],8659:[.19444,.69444,0,0,.70277],8660:[-.10889,.39111,0,0,1.14999],8661:[.25,.75,0,0,.70277],8704:[0,.69444,0,0,.63889],8706:[0,.69444,.06389,0,.62847],8707:[0,.69444,0,0,.63889],8709:[.05556,.75,0,0,.575],8711:[0,.68611,0,0,.95833],8712:[.08556,.58556,0,0,.76666],8715:[.08556,.58556,0,0,.76666],8722:[.13333,.63333,0,0,.89444],8723:[.13333,.63333,0,0,.89444],8725:[.25,.75,0,0,.575],8726:[.25,.75,0,0,.575],8727:[-.02778,.47222,0,0,.575],8728:[-.02639,.47361,0,0,.575],8729:[-.02639,.47361,0,0,.575],8730:[.18,.82,0,0,.95833],8733:[0,.44444,0,0,.89444],8734:[0,.44444,0,0,1.14999],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.31944],8741:[.25,.75,0,0,.575],8743:[0,.55556,0,0,.76666],8744:[0,.55556,0,0,.76666],8745:[0,.55556,0,0,.76666],8746:[0,.55556,0,0,.76666],8747:[.19444,.69444,.12778,0,.56875],8764:[-.10889,.39111,0,0,.89444],8768:[.19444,.69444,0,0,.31944],8771:[.00222,.50222,0,0,.89444],8773:[.027,.638,0,0,.894],8776:[.02444,.52444,0,0,.89444],8781:[.00222,.50222,0,0,.89444],8801:[.00222,.50222,0,0,.89444],8804:[.19667,.69667,0,0,.89444],8805:[.19667,.69667,0,0,.89444],8810:[.08556,.58556,0,0,1.14999],8811:[.08556,.58556,0,0,1.14999],8826:[.08556,.58556,0,0,.89444],8827:[.08556,.58556,0,0,.89444],8834:[.08556,.58556,0,0,.89444],8835:[.08556,.58556,0,0,.89444],8838:[.19667,.69667,0,0,.89444],8839:[.19667,.69667,0,0,.89444],8846:[0,.55556,0,0,.76666],8849:[.19667,.69667,0,0,.89444],8850:[.19667,.69667,0,0,.89444],8851:[0,.55556,0,0,.76666],8852:[0,.55556,0,0,.76666],8853:[.13333,.63333,0,0,.89444],8854:[.13333,.63333,0,0,.89444],8855:[.13333,.63333,0,0,.89444],8856:[.13333,.63333,0,0,.89444],8857:[.13333,.63333,0,0,.89444],8866:[0,.69444,0,0,.70277],8867:[0,.69444,0,0,.70277],8868:[0,.69444,0,0,.89444],8869:[0,.69444,0,0,.89444],8900:[-.02639,.47361,0,0,.575],8901:[-.02639,.47361,0,0,.31944],8902:[-.02778,.47222,0,0,.575],8968:[.25,.75,0,0,.51111],8969:[.25,.75,0,0,.51111],8970:[.25,.75,0,0,.51111],8971:[.25,.75,0,0,.51111],8994:[-.13889,.36111,0,0,1.14999],8995:[-.13889,.36111,0,0,1.14999],9651:[.19444,.69444,0,0,1.02222],9657:[-.02778,.47222,0,0,.575],9661:[.19444,.69444,0,0,1.02222],9667:[-.02778,.47222,0,0,.575],9711:[.19444,.69444,0,0,1.14999],9824:[.12963,.69444,0,0,.89444],9825:[.12963,.69444,0,0,.89444],9826:[.12963,.69444,0,0,.89444],9827:[.12963,.69444,0,0,.89444],9837:[0,.75,0,0,.44722],9838:[.19444,.69444,0,0,.44722],9839:[.19444,.69444,0,0,.44722],10216:[.25,.75,0,0,.44722],10217:[.25,.75,0,0,.44722],10815:[0,.68611,0,0,.9],10927:[.19667,.69667,0,0,.89444],10928:[.19667,.69667,0,0,.89444],57376:[.19444,.69444,0,0,0]},"Main-BoldItalic":{32:[0,0,0,0,.25],33:[0,.69444,.11417,0,.38611],34:[0,.69444,.07939,0,.62055],35:[.19444,.69444,.06833,0,.94444],37:[.05556,.75,.12861,0,.94444],38:[0,.69444,.08528,0,.88555],39:[0,.69444,.12945,0,.35555],40:[.25,.75,.15806,0,.47333],41:[.25,.75,.03306,0,.47333],42:[0,.75,.14333,0,.59111],43:[.10333,.60333,.03306,0,.88555],44:[.19444,.14722,0,0,.35555],45:[0,.44444,.02611,0,.41444],46:[0,.14722,0,0,.35555],47:[.25,.75,.15806,0,.59111],48:[0,.64444,.13167,0,.59111],49:[0,.64444,.13167,0,.59111],50:[0,.64444,.13167,0,.59111],51:[0,.64444,.13167,0,.59111],52:[.19444,.64444,.13167,0,.59111],53:[0,.64444,.13167,0,.59111],54:[0,.64444,.13167,0,.59111],55:[.19444,.64444,.13167,0,.59111],56:[0,.64444,.13167,0,.59111],57:[0,.64444,.13167,0,.59111],58:[0,.44444,.06695,0,.35555],59:[.19444,.44444,.06695,0,.35555],61:[-.10889,.39111,.06833,0,.88555],63:[0,.69444,.11472,0,.59111],64:[0,.69444,.09208,0,.88555],65:[0,.68611,0,0,.86555],66:[0,.68611,.0992,0,.81666],67:[0,.68611,.14208,0,.82666],68:[0,.68611,.09062,0,.87555],69:[0,.68611,.11431,0,.75666],70:[0,.68611,.12903,0,.72722],71:[0,.68611,.07347,0,.89527],72:[0,.68611,.17208,0,.8961],73:[0,.68611,.15681,0,.47166],74:[0,.68611,.145,0,.61055],75:[0,.68611,.14208,0,.89499],76:[0,.68611,0,0,.69777],77:[0,.68611,.17208,0,1.07277],78:[0,.68611,.17208,0,.8961],79:[0,.68611,.09062,0,.85499],80:[0,.68611,.0992,0,.78721],81:[.19444,.68611,.09062,0,.85499],82:[0,.68611,.02559,0,.85944],83:[0,.68611,.11264,0,.64999],84:[0,.68611,.12903,0,.7961],85:[0,.68611,.17208,0,.88083],86:[0,.68611,.18625,0,.86555],87:[0,.68611,.18625,0,1.15999],88:[0,.68611,.15681,0,.86555],89:[0,.68611,.19803,0,.86555],90:[0,.68611,.14208,0,.70888],91:[.25,.75,.1875,0,.35611],93:[.25,.75,.09972,0,.35611],94:[0,.69444,.06709,0,.59111],95:[.31,.13444,.09811,0,.59111],97:[0,.44444,.09426,0,.59111],98:[0,.69444,.07861,0,.53222],99:[0,.44444,.05222,0,.53222],100:[0,.69444,.10861,0,.59111],101:[0,.44444,.085,0,.53222],102:[.19444,.69444,.21778,0,.4],103:[.19444,.44444,.105,0,.53222],104:[0,.69444,.09426,0,.59111],105:[0,.69326,.11387,0,.35555],106:[.19444,.69326,.1672,0,.35555],107:[0,.69444,.11111,0,.53222],108:[0,.69444,.10861,0,.29666],109:[0,.44444,.09426,0,.94444],110:[0,.44444,.09426,0,.64999],111:[0,.44444,.07861,0,.59111],112:[.19444,.44444,.07861,0,.59111],113:[.19444,.44444,.105,0,.53222],114:[0,.44444,.11111,0,.50167],115:[0,.44444,.08167,0,.48694],116:[0,.63492,.09639,0,.385],117:[0,.44444,.09426,0,.62055],118:[0,.44444,.11111,0,.53222],119:[0,.44444,.11111,0,.76777],120:[0,.44444,.12583,0,.56055],121:[.19444,.44444,.105,0,.56166],122:[0,.44444,.13889,0,.49055],126:[.35,.34444,.11472,0,.59111],160:[0,0,0,0,.25],168:[0,.69444,.11473,0,.59111],176:[0,.69444,0,0,.94888],184:[.17014,0,0,0,.53222],198:[0,.68611,.11431,0,1.02277],216:[.04861,.73472,.09062,0,.88555],223:[.19444,.69444,.09736,0,.665],230:[0,.44444,.085,0,.82666],248:[.09722,.54167,.09458,0,.59111],305:[0,.44444,.09426,0,.35555],338:[0,.68611,.11431,0,1.14054],339:[0,.44444,.085,0,.82666],567:[.19444,.44444,.04611,0,.385],710:[0,.69444,.06709,0,.59111],711:[0,.63194,.08271,0,.59111],713:[0,.59444,.10444,0,.59111],714:[0,.69444,.08528,0,.59111],715:[0,.69444,0,0,.59111],728:[0,.69444,.10333,0,.59111],729:[0,.69444,.12945,0,.35555],730:[0,.69444,0,0,.94888],732:[0,.69444,.11472,0,.59111],733:[0,.69444,.11472,0,.59111],915:[0,.68611,.12903,0,.69777],916:[0,.68611,0,0,.94444],920:[0,.68611,.09062,0,.88555],923:[0,.68611,0,0,.80666],926:[0,.68611,.15092,0,.76777],928:[0,.68611,.17208,0,.8961],931:[0,.68611,.11431,0,.82666],933:[0,.68611,.10778,0,.88555],934:[0,.68611,.05632,0,.82666],936:[0,.68611,.10778,0,.88555],937:[0,.68611,.0992,0,.82666],8211:[0,.44444,.09811,0,.59111],8212:[0,.44444,.09811,0,1.18221],8216:[0,.69444,.12945,0,.35555],8217:[0,.69444,.12945,0,.35555],8220:[0,.69444,.16772,0,.62055],8221:[0,.69444,.07939,0,.62055]},"Main-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.12417,0,.30667],34:[0,.69444,.06961,0,.51444],35:[.19444,.69444,.06616,0,.81777],37:[.05556,.75,.13639,0,.81777],38:[0,.69444,.09694,0,.76666],39:[0,.69444,.12417,0,.30667],40:[.25,.75,.16194,0,.40889],41:[.25,.75,.03694,0,.40889],42:[0,.75,.14917,0,.51111],43:[.05667,.56167,.03694,0,.76666],44:[.19444,.10556,0,0,.30667],45:[0,.43056,.02826,0,.35778],46:[0,.10556,0,0,.30667],47:[.25,.75,.16194,0,.51111],48:[0,.64444,.13556,0,.51111],49:[0,.64444,.13556,0,.51111],50:[0,.64444,.13556,0,.51111],51:[0,.64444,.13556,0,.51111],52:[.19444,.64444,.13556,0,.51111],53:[0,.64444,.13556,0,.51111],54:[0,.64444,.13556,0,.51111],55:[.19444,.64444,.13556,0,.51111],56:[0,.64444,.13556,0,.51111],57:[0,.64444,.13556,0,.51111],58:[0,.43056,.0582,0,.30667],59:[.19444,.43056,.0582,0,.30667],61:[-.13313,.36687,.06616,0,.76666],63:[0,.69444,.1225,0,.51111],64:[0,.69444,.09597,0,.76666],65:[0,.68333,0,0,.74333],66:[0,.68333,.10257,0,.70389],67:[0,.68333,.14528,0,.71555],68:[0,.68333,.09403,0,.755],69:[0,.68333,.12028,0,.67833],70:[0,.68333,.13305,0,.65277],71:[0,.68333,.08722,0,.77361],72:[0,.68333,.16389,0,.74333],73:[0,.68333,.15806,0,.38555],74:[0,.68333,.14028,0,.525],75:[0,.68333,.14528,0,.76888],76:[0,.68333,0,0,.62722],77:[0,.68333,.16389,0,.89666],78:[0,.68333,.16389,0,.74333],79:[0,.68333,.09403,0,.76666],80:[0,.68333,.10257,0,.67833],81:[.19444,.68333,.09403,0,.76666],82:[0,.68333,.03868,0,.72944],83:[0,.68333,.11972,0,.56222],84:[0,.68333,.13305,0,.71555],85:[0,.68333,.16389,0,.74333],86:[0,.68333,.18361,0,.74333],87:[0,.68333,.18361,0,.99888],88:[0,.68333,.15806,0,.74333],89:[0,.68333,.19383,0,.74333],90:[0,.68333,.14528,0,.61333],91:[.25,.75,.1875,0,.30667],93:[.25,.75,.10528,0,.30667],94:[0,.69444,.06646,0,.51111],95:[.31,.12056,.09208,0,.51111],97:[0,.43056,.07671,0,.51111],98:[0,.69444,.06312,0,.46],99:[0,.43056,.05653,0,.46],100:[0,.69444,.10333,0,.51111],101:[0,.43056,.07514,0,.46],102:[.19444,.69444,.21194,0,.30667],103:[.19444,.43056,.08847,0,.46],104:[0,.69444,.07671,0,.51111],105:[0,.65536,.1019,0,.30667],106:[.19444,.65536,.14467,0,.30667],107:[0,.69444,.10764,0,.46],108:[0,.69444,.10333,0,.25555],109:[0,.43056,.07671,0,.81777],110:[0,.43056,.07671,0,.56222],111:[0,.43056,.06312,0,.51111],112:[.19444,.43056,.06312,0,.51111],113:[.19444,.43056,.08847,0,.46],114:[0,.43056,.10764,0,.42166],115:[0,.43056,.08208,0,.40889],116:[0,.61508,.09486,0,.33222],117:[0,.43056,.07671,0,.53666],118:[0,.43056,.10764,0,.46],119:[0,.43056,.10764,0,.66444],120:[0,.43056,.12042,0,.46389],121:[.19444,.43056,.08847,0,.48555],122:[0,.43056,.12292,0,.40889],126:[.35,.31786,.11585,0,.51111],160:[0,0,0,0,.25],168:[0,.66786,.10474,0,.51111],176:[0,.69444,0,0,.83129],184:[.17014,0,0,0,.46],198:[0,.68333,.12028,0,.88277],216:[.04861,.73194,.09403,0,.76666],223:[.19444,.69444,.10514,0,.53666],230:[0,.43056,.07514,0,.71555],248:[.09722,.52778,.09194,0,.51111],338:[0,.68333,.12028,0,.98499],339:[0,.43056,.07514,0,.71555],710:[0,.69444,.06646,0,.51111],711:[0,.62847,.08295,0,.51111],713:[0,.56167,.10333,0,.51111],714:[0,.69444,.09694,0,.51111],715:[0,.69444,0,0,.51111],728:[0,.69444,.10806,0,.51111],729:[0,.66786,.11752,0,.30667],730:[0,.69444,0,0,.83129],732:[0,.66786,.11585,0,.51111],733:[0,.69444,.1225,0,.51111],915:[0,.68333,.13305,0,.62722],916:[0,.68333,0,0,.81777],920:[0,.68333,.09403,0,.76666],923:[0,.68333,0,0,.69222],926:[0,.68333,.15294,0,.66444],928:[0,.68333,.16389,0,.74333],931:[0,.68333,.12028,0,.71555],933:[0,.68333,.11111,0,.76666],934:[0,.68333,.05986,0,.71555],936:[0,.68333,.11111,0,.76666],937:[0,.68333,.10257,0,.71555],8211:[0,.43056,.09208,0,.51111],8212:[0,.43056,.09208,0,1.02222],8216:[0,.69444,.12417,0,.30667],8217:[0,.69444,.12417,0,.30667],8220:[0,.69444,.1685,0,.51444],8221:[0,.69444,.06961,0,.51444],8463:[0,.68889,0,0,.54028]},"Main-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.27778],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.77778],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.19444,.10556,0,0,.27778],45:[0,.43056,0,0,.33333],46:[0,.10556,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.64444,0,0,.5],49:[0,.64444,0,0,.5],50:[0,.64444,0,0,.5],51:[0,.64444,0,0,.5],52:[0,.64444,0,0,.5],53:[0,.64444,0,0,.5],54:[0,.64444,0,0,.5],55:[0,.64444,0,0,.5],56:[0,.64444,0,0,.5],57:[0,.64444,0,0,.5],58:[0,.43056,0,0,.27778],59:[.19444,.43056,0,0,.27778],60:[.0391,.5391,0,0,.77778],61:[-.13313,.36687,0,0,.77778],62:[.0391,.5391,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.77778],65:[0,.68333,0,0,.75],66:[0,.68333,0,0,.70834],67:[0,.68333,0,0,.72222],68:[0,.68333,0,0,.76389],69:[0,.68333,0,0,.68056],70:[0,.68333,0,0,.65278],71:[0,.68333,0,0,.78472],72:[0,.68333,0,0,.75],73:[0,.68333,0,0,.36111],74:[0,.68333,0,0,.51389],75:[0,.68333,0,0,.77778],76:[0,.68333,0,0,.625],77:[0,.68333,0,0,.91667],78:[0,.68333,0,0,.75],79:[0,.68333,0,0,.77778],80:[0,.68333,0,0,.68056],81:[.19444,.68333,0,0,.77778],82:[0,.68333,0,0,.73611],83:[0,.68333,0,0,.55556],84:[0,.68333,0,0,.72222],85:[0,.68333,0,0,.75],86:[0,.68333,.01389,0,.75],87:[0,.68333,.01389,0,1.02778],88:[0,.68333,0,0,.75],89:[0,.68333,.025,0,.75],90:[0,.68333,0,0,.61111],91:[.25,.75,0,0,.27778],92:[.25,.75,0,0,.5],93:[.25,.75,0,0,.27778],94:[0,.69444,0,0,.5],95:[.31,.12056,.02778,0,.5],97:[0,.43056,0,0,.5],98:[0,.69444,0,0,.55556],99:[0,.43056,0,0,.44445],100:[0,.69444,0,0,.55556],101:[0,.43056,0,0,.44445],102:[0,.69444,.07778,0,.30556],103:[.19444,.43056,.01389,0,.5],104:[0,.69444,0,0,.55556],105:[0,.66786,0,0,.27778],106:[.19444,.66786,0,0,.30556],107:[0,.69444,0,0,.52778],108:[0,.69444,0,0,.27778],109:[0,.43056,0,0,.83334],110:[0,.43056,0,0,.55556],111:[0,.43056,0,0,.5],112:[.19444,.43056,0,0,.55556],113:[.19444,.43056,0,0,.52778],114:[0,.43056,0,0,.39167],115:[0,.43056,0,0,.39445],116:[0,.61508,0,0,.38889],117:[0,.43056,0,0,.55556],118:[0,.43056,.01389,0,.52778],119:[0,.43056,.01389,0,.72222],120:[0,.43056,0,0,.52778],121:[.19444,.43056,.01389,0,.52778],122:[0,.43056,0,0,.44445],123:[.25,.75,0,0,.5],124:[.25,.75,0,0,.27778],125:[.25,.75,0,0,.5],126:[.35,.31786,0,0,.5],160:[0,0,0,0,.25],163:[0,.69444,0,0,.76909],167:[.19444,.69444,0,0,.44445],168:[0,.66786,0,0,.5],172:[0,.43056,0,0,.66667],176:[0,.69444,0,0,.75],177:[.08333,.58333,0,0,.77778],182:[.19444,.69444,0,0,.61111],184:[.17014,0,0,0,.44445],198:[0,.68333,0,0,.90278],215:[.08333,.58333,0,0,.77778],216:[.04861,.73194,0,0,.77778],223:[0,.69444,0,0,.5],230:[0,.43056,0,0,.72222],247:[.08333,.58333,0,0,.77778],248:[.09722,.52778,0,0,.5],305:[0,.43056,0,0,.27778],338:[0,.68333,0,0,1.01389],339:[0,.43056,0,0,.77778],567:[.19444,.43056,0,0,.30556],710:[0,.69444,0,0,.5],711:[0,.62847,0,0,.5],713:[0,.56778,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.66786,0,0,.27778],730:[0,.69444,0,0,.75],732:[0,.66786,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.68333,0,0,.625],916:[0,.68333,0,0,.83334],920:[0,.68333,0,0,.77778],923:[0,.68333,0,0,.69445],926:[0,.68333,0,0,.66667],928:[0,.68333,0,0,.75],931:[0,.68333,0,0,.72222],933:[0,.68333,0,0,.77778],934:[0,.68333,0,0,.72222],936:[0,.68333,0,0,.77778],937:[0,.68333,0,0,.72222],8211:[0,.43056,.02778,0,.5],8212:[0,.43056,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5],8224:[.19444,.69444,0,0,.44445],8225:[.19444,.69444,0,0,.44445],8230:[0,.123,0,0,1.172],8242:[0,.55556,0,0,.275],8407:[0,.71444,.15382,0,.5],8463:[0,.68889,0,0,.54028],8465:[0,.69444,0,0,.72222],8467:[0,.69444,0,.11111,.41667],8472:[.19444,.43056,0,.11111,.63646],8476:[0,.69444,0,0,.72222],8501:[0,.69444,0,0,.61111],8592:[-.13313,.36687,0,0,1],8593:[.19444,.69444,0,0,.5],8594:[-.13313,.36687,0,0,1],8595:[.19444,.69444,0,0,.5],8596:[-.13313,.36687,0,0,1],8597:[.25,.75,0,0,.5],8598:[.19444,.69444,0,0,1],8599:[.19444,.69444,0,0,1],8600:[.19444,.69444,0,0,1],8601:[.19444,.69444,0,0,1],8614:[.011,.511,0,0,1],8617:[.011,.511,0,0,1.126],8618:[.011,.511,0,0,1.126],8636:[-.13313,.36687,0,0,1],8637:[-.13313,.36687,0,0,1],8640:[-.13313,.36687,0,0,1],8641:[-.13313,.36687,0,0,1],8652:[.011,.671,0,0,1],8656:[-.13313,.36687,0,0,1],8657:[.19444,.69444,0,0,.61111],8658:[-.13313,.36687,0,0,1],8659:[.19444,.69444,0,0,.61111],8660:[-.13313,.36687,0,0,1],8661:[.25,.75,0,0,.61111],8704:[0,.69444,0,0,.55556],8706:[0,.69444,.05556,.08334,.5309],8707:[0,.69444,0,0,.55556],8709:[.05556,.75,0,0,.5],8711:[0,.68333,0,0,.83334],8712:[.0391,.5391,0,0,.66667],8715:[.0391,.5391,0,0,.66667],8722:[.08333,.58333,0,0,.77778],8723:[.08333,.58333,0,0,.77778],8725:[.25,.75,0,0,.5],8726:[.25,.75,0,0,.5],8727:[-.03472,.46528,0,0,.5],8728:[-.05555,.44445,0,0,.5],8729:[-.05555,.44445,0,0,.5],8730:[.2,.8,0,0,.83334],8733:[0,.43056,0,0,.77778],8734:[0,.43056,0,0,1],8736:[0,.69224,0,0,.72222],8739:[.25,.75,0,0,.27778],8741:[.25,.75,0,0,.5],8743:[0,.55556,0,0,.66667],8744:[0,.55556,0,0,.66667],8745:[0,.55556,0,0,.66667],8746:[0,.55556,0,0,.66667],8747:[.19444,.69444,.11111,0,.41667],8764:[-.13313,.36687,0,0,.77778],8768:[.19444,.69444,0,0,.27778],8771:[-.03625,.46375,0,0,.77778],8773:[-.022,.589,0,0,.778],8776:[-.01688,.48312,0,0,.77778],8781:[-.03625,.46375,0,0,.77778],8784:[-.133,.673,0,0,.778],8801:[-.03625,.46375,0,0,.77778],8804:[.13597,.63597,0,0,.77778],8805:[.13597,.63597,0,0,.77778],8810:[.0391,.5391,0,0,1],8811:[.0391,.5391,0,0,1],8826:[.0391,.5391,0,0,.77778],8827:[.0391,.5391,0,0,.77778],8834:[.0391,.5391,0,0,.77778],8835:[.0391,.5391,0,0,.77778],8838:[.13597,.63597,0,0,.77778],8839:[.13597,.63597,0,0,.77778],8846:[0,.55556,0,0,.66667],8849:[.13597,.63597,0,0,.77778],8850:[.13597,.63597,0,0,.77778],8851:[0,.55556,0,0,.66667],8852:[0,.55556,0,0,.66667],8853:[.08333,.58333,0,0,.77778],8854:[.08333,.58333,0,0,.77778],8855:[.08333,.58333,0,0,.77778],8856:[.08333,.58333,0,0,.77778],8857:[.08333,.58333,0,0,.77778],8866:[0,.69444,0,0,.61111],8867:[0,.69444,0,0,.61111],8868:[0,.69444,0,0,.77778],8869:[0,.69444,0,0,.77778],8872:[.249,.75,0,0,.867],8900:[-.05555,.44445,0,0,.5],8901:[-.05555,.44445,0,0,.27778],8902:[-.03472,.46528,0,0,.5],8904:[.005,.505,0,0,.9],8942:[.03,.903,0,0,.278],8943:[-.19,.313,0,0,1.172],8945:[-.1,.823,0,0,1.282],8968:[.25,.75,0,0,.44445],8969:[.25,.75,0,0,.44445],8970:[.25,.75,0,0,.44445],8971:[.25,.75,0,0,.44445],8994:[-.14236,.35764,0,0,1],8995:[-.14236,.35764,0,0,1],9136:[.244,.744,0,0,.412],9137:[.244,.745,0,0,.412],9651:[.19444,.69444,0,0,.88889],9657:[-.03472,.46528,0,0,.5],9661:[.19444,.69444,0,0,.88889],9667:[-.03472,.46528,0,0,.5],9711:[.19444,.69444,0,0,1],9824:[.12963,.69444,0,0,.77778],9825:[.12963,.69444,0,0,.77778],9826:[.12963,.69444,0,0,.77778],9827:[.12963,.69444,0,0,.77778],9837:[0,.75,0,0,.38889],9838:[.19444,.69444,0,0,.38889],9839:[.19444,.69444,0,0,.38889],10216:[.25,.75,0,0,.38889],10217:[.25,.75,0,0,.38889],10222:[.244,.744,0,0,.412],10223:[.244,.745,0,0,.412],10229:[.011,.511,0,0,1.609],10230:[.011,.511,0,0,1.638],10231:[.011,.511,0,0,1.859],10232:[.024,.525,0,0,1.609],10233:[.024,.525,0,0,1.638],10234:[.024,.525,0,0,1.858],10236:[.011,.511,0,0,1.638],10815:[0,.68333,0,0,.75],10927:[.13597,.63597,0,0,.77778],10928:[.13597,.63597,0,0,.77778],57376:[.19444,.69444,0,0,0]},"Math-BoldItalic":{32:[0,0,0,0,.25],48:[0,.44444,0,0,.575],49:[0,.44444,0,0,.575],50:[0,.44444,0,0,.575],51:[.19444,.44444,0,0,.575],52:[.19444,.44444,0,0,.575],53:[.19444,.44444,0,0,.575],54:[0,.64444,0,0,.575],55:[.19444,.44444,0,0,.575],56:[0,.64444,0,0,.575],57:[.19444,.44444,0,0,.575],65:[0,.68611,0,0,.86944],66:[0,.68611,.04835,0,.8664],67:[0,.68611,.06979,0,.81694],68:[0,.68611,.03194,0,.93812],69:[0,.68611,.05451,0,.81007],70:[0,.68611,.15972,0,.68889],71:[0,.68611,0,0,.88673],72:[0,.68611,.08229,0,.98229],73:[0,.68611,.07778,0,.51111],74:[0,.68611,.10069,0,.63125],75:[0,.68611,.06979,0,.97118],76:[0,.68611,0,0,.75555],77:[0,.68611,.11424,0,1.14201],78:[0,.68611,.11424,0,.95034],79:[0,.68611,.03194,0,.83666],80:[0,.68611,.15972,0,.72309],81:[.19444,.68611,0,0,.86861],82:[0,.68611,.00421,0,.87235],83:[0,.68611,.05382,0,.69271],84:[0,.68611,.15972,0,.63663],85:[0,.68611,.11424,0,.80027],86:[0,.68611,.25555,0,.67778],87:[0,.68611,.15972,0,1.09305],88:[0,.68611,.07778,0,.94722],89:[0,.68611,.25555,0,.67458],90:[0,.68611,.06979,0,.77257],97:[0,.44444,0,0,.63287],98:[0,.69444,0,0,.52083],99:[0,.44444,0,0,.51342],100:[0,.69444,0,0,.60972],101:[0,.44444,0,0,.55361],102:[.19444,.69444,.11042,0,.56806],103:[.19444,.44444,.03704,0,.5449],104:[0,.69444,0,0,.66759],105:[0,.69326,0,0,.4048],106:[.19444,.69326,.0622,0,.47083],107:[0,.69444,.01852,0,.6037],108:[0,.69444,.0088,0,.34815],109:[0,.44444,0,0,1.0324],110:[0,.44444,0,0,.71296],111:[0,.44444,0,0,.58472],112:[.19444,.44444,0,0,.60092],113:[.19444,.44444,.03704,0,.54213],114:[0,.44444,.03194,0,.5287],115:[0,.44444,0,0,.53125],116:[0,.63492,0,0,.41528],117:[0,.44444,0,0,.68102],118:[0,.44444,.03704,0,.56666],119:[0,.44444,.02778,0,.83148],120:[0,.44444,0,0,.65903],121:[.19444,.44444,.03704,0,.59028],122:[0,.44444,.04213,0,.55509],160:[0,0,0,0,.25],915:[0,.68611,.15972,0,.65694],916:[0,.68611,0,0,.95833],920:[0,.68611,.03194,0,.86722],923:[0,.68611,0,0,.80555],926:[0,.68611,.07458,0,.84125],928:[0,.68611,.08229,0,.98229],931:[0,.68611,.05451,0,.88507],933:[0,.68611,.15972,0,.67083],934:[0,.68611,0,0,.76666],936:[0,.68611,.11653,0,.71402],937:[0,.68611,.04835,0,.8789],945:[0,.44444,0,0,.76064],946:[.19444,.69444,.03403,0,.65972],947:[.19444,.44444,.06389,0,.59003],948:[0,.69444,.03819,0,.52222],949:[0,.44444,0,0,.52882],950:[.19444,.69444,.06215,0,.50833],951:[.19444,.44444,.03704,0,.6],952:[0,.69444,.03194,0,.5618],953:[0,.44444,0,0,.41204],954:[0,.44444,0,0,.66759],955:[0,.69444,0,0,.67083],956:[.19444,.44444,0,0,.70787],957:[0,.44444,.06898,0,.57685],958:[.19444,.69444,.03021,0,.50833],959:[0,.44444,0,0,.58472],960:[0,.44444,.03704,0,.68241],961:[.19444,.44444,0,0,.6118],962:[.09722,.44444,.07917,0,.42361],963:[0,.44444,.03704,0,.68588],964:[0,.44444,.13472,0,.52083],965:[0,.44444,.03704,0,.63055],966:[.19444,.44444,0,0,.74722],967:[.19444,.44444,0,0,.71805],968:[.19444,.69444,.03704,0,.75833],969:[0,.44444,.03704,0,.71782],977:[0,.69444,0,0,.69155],981:[.19444,.69444,0,0,.7125],982:[0,.44444,.03194,0,.975],1009:[.19444,.44444,0,0,.6118],1013:[0,.44444,0,0,.48333],57649:[0,.44444,0,0,.39352],57911:[.19444,.44444,0,0,.43889]},"Math-Italic":{32:[0,0,0,0,.25],48:[0,.43056,0,0,.5],49:[0,.43056,0,0,.5],50:[0,.43056,0,0,.5],51:[.19444,.43056,0,0,.5],52:[.19444,.43056,0,0,.5],53:[.19444,.43056,0,0,.5],54:[0,.64444,0,0,.5],55:[.19444,.43056,0,0,.5],56:[0,.64444,0,0,.5],57:[.19444,.43056,0,0,.5],65:[0,.68333,0,.13889,.75],66:[0,.68333,.05017,.08334,.75851],67:[0,.68333,.07153,.08334,.71472],68:[0,.68333,.02778,.05556,.82792],69:[0,.68333,.05764,.08334,.7382],70:[0,.68333,.13889,.08334,.64306],71:[0,.68333,0,.08334,.78625],72:[0,.68333,.08125,.05556,.83125],73:[0,.68333,.07847,.11111,.43958],74:[0,.68333,.09618,.16667,.55451],75:[0,.68333,.07153,.05556,.84931],76:[0,.68333,0,.02778,.68056],77:[0,.68333,.10903,.08334,.97014],78:[0,.68333,.10903,.08334,.80347],79:[0,.68333,.02778,.08334,.76278],80:[0,.68333,.13889,.08334,.64201],81:[.19444,.68333,0,.08334,.79056],82:[0,.68333,.00773,.08334,.75929],83:[0,.68333,.05764,.08334,.6132],84:[0,.68333,.13889,.08334,.58438],85:[0,.68333,.10903,.02778,.68278],86:[0,.68333,.22222,0,.58333],87:[0,.68333,.13889,0,.94445],88:[0,.68333,.07847,.08334,.82847],89:[0,.68333,.22222,0,.58056],90:[0,.68333,.07153,.08334,.68264],97:[0,.43056,0,0,.52859],98:[0,.69444,0,0,.42917],99:[0,.43056,0,.05556,.43276],100:[0,.69444,0,.16667,.52049],101:[0,.43056,0,.05556,.46563],102:[.19444,.69444,.10764,.16667,.48959],103:[.19444,.43056,.03588,.02778,.47697],104:[0,.69444,0,0,.57616],105:[0,.65952,0,0,.34451],106:[.19444,.65952,.05724,0,.41181],107:[0,.69444,.03148,0,.5206],108:[0,.69444,.01968,.08334,.29838],109:[0,.43056,0,0,.87801],110:[0,.43056,0,0,.60023],111:[0,.43056,0,.05556,.48472],112:[.19444,.43056,0,.08334,.50313],113:[.19444,.43056,.03588,.08334,.44641],114:[0,.43056,.02778,.05556,.45116],115:[0,.43056,0,.05556,.46875],116:[0,.61508,0,.08334,.36111],117:[0,.43056,0,.02778,.57246],118:[0,.43056,.03588,.02778,.48472],119:[0,.43056,.02691,.08334,.71592],120:[0,.43056,0,.02778,.57153],121:[.19444,.43056,.03588,.05556,.49028],122:[0,.43056,.04398,.05556,.46505],160:[0,0,0,0,.25],915:[0,.68333,.13889,.08334,.61528],916:[0,.68333,0,.16667,.83334],920:[0,.68333,.02778,.08334,.76278],923:[0,.68333,0,.16667,.69445],926:[0,.68333,.07569,.08334,.74236],928:[0,.68333,.08125,.05556,.83125],931:[0,.68333,.05764,.08334,.77986],933:[0,.68333,.13889,.05556,.58333],934:[0,.68333,0,.08334,.66667],936:[0,.68333,.11,.05556,.61222],937:[0,.68333,.05017,.08334,.7724],945:[0,.43056,.0037,.02778,.6397],946:[.19444,.69444,.05278,.08334,.56563],947:[.19444,.43056,.05556,0,.51773],948:[0,.69444,.03785,.05556,.44444],949:[0,.43056,0,.08334,.46632],950:[.19444,.69444,.07378,.08334,.4375],951:[.19444,.43056,.03588,.05556,.49653],952:[0,.69444,.02778,.08334,.46944],953:[0,.43056,0,.05556,.35394],954:[0,.43056,0,0,.57616],955:[0,.69444,0,0,.58334],956:[.19444,.43056,0,.02778,.60255],957:[0,.43056,.06366,.02778,.49398],958:[.19444,.69444,.04601,.11111,.4375],959:[0,.43056,0,.05556,.48472],960:[0,.43056,.03588,0,.57003],961:[.19444,.43056,0,.08334,.51702],962:[.09722,.43056,.07986,.08334,.36285],963:[0,.43056,.03588,0,.57141],964:[0,.43056,.1132,.02778,.43715],965:[0,.43056,.03588,.02778,.54028],966:[.19444,.43056,0,.08334,.65417],967:[.19444,.43056,0,.05556,.62569],968:[.19444,.69444,.03588,.11111,.65139],969:[0,.43056,.03588,0,.62245],977:[0,.69444,0,.08334,.59144],981:[.19444,.69444,0,.08334,.59583],982:[0,.43056,.02778,0,.82813],1009:[.19444,.43056,0,.08334,.51702],1013:[0,.43056,0,.05556,.4059],57649:[0,.43056,0,.02778,.32246],57911:[.19444,.43056,0,.08334,.38403]},"SansSerif-Bold":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.36667],34:[0,.69444,0,0,.55834],35:[.19444,.69444,0,0,.91667],36:[.05556,.75,0,0,.55],37:[.05556,.75,0,0,1.02912],38:[0,.69444,0,0,.83056],39:[0,.69444,0,0,.30556],40:[.25,.75,0,0,.42778],41:[.25,.75,0,0,.42778],42:[0,.75,0,0,.55],43:[.11667,.61667,0,0,.85556],44:[.10556,.13056,0,0,.30556],45:[0,.45833,0,0,.36667],46:[0,.13056,0,0,.30556],47:[.25,.75,0,0,.55],48:[0,.69444,0,0,.55],49:[0,.69444,0,0,.55],50:[0,.69444,0,0,.55],51:[0,.69444,0,0,.55],52:[0,.69444,0,0,.55],53:[0,.69444,0,0,.55],54:[0,.69444,0,0,.55],55:[0,.69444,0,0,.55],56:[0,.69444,0,0,.55],57:[0,.69444,0,0,.55],58:[0,.45833,0,0,.30556],59:[.10556,.45833,0,0,.30556],61:[-.09375,.40625,0,0,.85556],63:[0,.69444,0,0,.51945],64:[0,.69444,0,0,.73334],65:[0,.69444,0,0,.73334],66:[0,.69444,0,0,.73334],67:[0,.69444,0,0,.70278],68:[0,.69444,0,0,.79445],69:[0,.69444,0,0,.64167],70:[0,.69444,0,0,.61111],71:[0,.69444,0,0,.73334],72:[0,.69444,0,0,.79445],73:[0,.69444,0,0,.33056],74:[0,.69444,0,0,.51945],75:[0,.69444,0,0,.76389],76:[0,.69444,0,0,.58056],77:[0,.69444,0,0,.97778],78:[0,.69444,0,0,.79445],79:[0,.69444,0,0,.79445],80:[0,.69444,0,0,.70278],81:[.10556,.69444,0,0,.79445],82:[0,.69444,0,0,.70278],83:[0,.69444,0,0,.61111],84:[0,.69444,0,0,.73334],85:[0,.69444,0,0,.76389],86:[0,.69444,.01528,0,.73334],87:[0,.69444,.01528,0,1.03889],88:[0,.69444,0,0,.73334],89:[0,.69444,.0275,0,.73334],90:[0,.69444,0,0,.67223],91:[.25,.75,0,0,.34306],93:[.25,.75,0,0,.34306],94:[0,.69444,0,0,.55],95:[.35,.10833,.03056,0,.55],97:[0,.45833,0,0,.525],98:[0,.69444,0,0,.56111],99:[0,.45833,0,0,.48889],100:[0,.69444,0,0,.56111],101:[0,.45833,0,0,.51111],102:[0,.69444,.07639,0,.33611],103:[.19444,.45833,.01528,0,.55],104:[0,.69444,0,0,.56111],105:[0,.69444,0,0,.25556],106:[.19444,.69444,0,0,.28611],107:[0,.69444,0,0,.53056],108:[0,.69444,0,0,.25556],109:[0,.45833,0,0,.86667],110:[0,.45833,0,0,.56111],111:[0,.45833,0,0,.55],112:[.19444,.45833,0,0,.56111],113:[.19444,.45833,0,0,.56111],114:[0,.45833,.01528,0,.37222],115:[0,.45833,0,0,.42167],116:[0,.58929,0,0,.40417],117:[0,.45833,0,0,.56111],118:[0,.45833,.01528,0,.5],119:[0,.45833,.01528,0,.74445],120:[0,.45833,0,0,.5],121:[.19444,.45833,.01528,0,.5],122:[0,.45833,0,0,.47639],126:[.35,.34444,0,0,.55],160:[0,0,0,0,.25],168:[0,.69444,0,0,.55],176:[0,.69444,0,0,.73334],180:[0,.69444,0,0,.55],184:[.17014,0,0,0,.48889],305:[0,.45833,0,0,.25556],567:[.19444,.45833,0,0,.28611],710:[0,.69444,0,0,.55],711:[0,.63542,0,0,.55],713:[0,.63778,0,0,.55],728:[0,.69444,0,0,.55],729:[0,.69444,0,0,.30556],730:[0,.69444,0,0,.73334],732:[0,.69444,0,0,.55],733:[0,.69444,0,0,.55],915:[0,.69444,0,0,.58056],916:[0,.69444,0,0,.91667],920:[0,.69444,0,0,.85556],923:[0,.69444,0,0,.67223],926:[0,.69444,0,0,.73334],928:[0,.69444,0,0,.79445],931:[0,.69444,0,0,.79445],933:[0,.69444,0,0,.85556],934:[0,.69444,0,0,.79445],936:[0,.69444,0,0,.85556],937:[0,.69444,0,0,.79445],8211:[0,.45833,.03056,0,.55],8212:[0,.45833,.03056,0,1.10001],8216:[0,.69444,0,0,.30556],8217:[0,.69444,0,0,.30556],8220:[0,.69444,0,0,.55834],8221:[0,.69444,0,0,.55834]},"SansSerif-Italic":{32:[0,0,0,0,.25],33:[0,.69444,.05733,0,.31945],34:[0,.69444,.00316,0,.5],35:[.19444,.69444,.05087,0,.83334],36:[.05556,.75,.11156,0,.5],37:[.05556,.75,.03126,0,.83334],38:[0,.69444,.03058,0,.75834],39:[0,.69444,.07816,0,.27778],40:[.25,.75,.13164,0,.38889],41:[.25,.75,.02536,0,.38889],42:[0,.75,.11775,0,.5],43:[.08333,.58333,.02536,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,.01946,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,.13164,0,.5],48:[0,.65556,.11156,0,.5],49:[0,.65556,.11156,0,.5],50:[0,.65556,.11156,0,.5],51:[0,.65556,.11156,0,.5],52:[0,.65556,.11156,0,.5],53:[0,.65556,.11156,0,.5],54:[0,.65556,.11156,0,.5],55:[0,.65556,.11156,0,.5],56:[0,.65556,.11156,0,.5],57:[0,.65556,.11156,0,.5],58:[0,.44444,.02502,0,.27778],59:[.125,.44444,.02502,0,.27778],61:[-.13,.37,.05087,0,.77778],63:[0,.69444,.11809,0,.47222],64:[0,.69444,.07555,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,.08293,0,.66667],67:[0,.69444,.11983,0,.63889],68:[0,.69444,.07555,0,.72223],69:[0,.69444,.11983,0,.59722],70:[0,.69444,.13372,0,.56945],71:[0,.69444,.11983,0,.66667],72:[0,.69444,.08094,0,.70834],73:[0,.69444,.13372,0,.27778],74:[0,.69444,.08094,0,.47222],75:[0,.69444,.11983,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,.08094,0,.875],78:[0,.69444,.08094,0,.70834],79:[0,.69444,.07555,0,.73611],80:[0,.69444,.08293,0,.63889],81:[.125,.69444,.07555,0,.73611],82:[0,.69444,.08293,0,.64584],83:[0,.69444,.09205,0,.55556],84:[0,.69444,.13372,0,.68056],85:[0,.69444,.08094,0,.6875],86:[0,.69444,.1615,0,.66667],87:[0,.69444,.1615,0,.94445],88:[0,.69444,.13372,0,.66667],89:[0,.69444,.17261,0,.66667],90:[0,.69444,.11983,0,.61111],91:[.25,.75,.15942,0,.28889],93:[.25,.75,.08719,0,.28889],94:[0,.69444,.0799,0,.5],95:[.35,.09444,.08616,0,.5],97:[0,.44444,.00981,0,.48056],98:[0,.69444,.03057,0,.51667],99:[0,.44444,.08336,0,.44445],100:[0,.69444,.09483,0,.51667],101:[0,.44444,.06778,0,.44445],102:[0,.69444,.21705,0,.30556],103:[.19444,.44444,.10836,0,.5],104:[0,.69444,.01778,0,.51667],105:[0,.67937,.09718,0,.23889],106:[.19444,.67937,.09162,0,.26667],107:[0,.69444,.08336,0,.48889],108:[0,.69444,.09483,0,.23889],109:[0,.44444,.01778,0,.79445],110:[0,.44444,.01778,0,.51667],111:[0,.44444,.06613,0,.5],112:[.19444,.44444,.0389,0,.51667],113:[.19444,.44444,.04169,0,.51667],114:[0,.44444,.10836,0,.34167],115:[0,.44444,.0778,0,.38333],116:[0,.57143,.07225,0,.36111],117:[0,.44444,.04169,0,.51667],118:[0,.44444,.10836,0,.46111],119:[0,.44444,.10836,0,.68334],120:[0,.44444,.09169,0,.46111],121:[.19444,.44444,.10836,0,.46111],122:[0,.44444,.08752,0,.43472],126:[.35,.32659,.08826,0,.5],160:[0,0,0,0,.25],168:[0,.67937,.06385,0,.5],176:[0,.69444,0,0,.73752],184:[.17014,0,0,0,.44445],305:[0,.44444,.04169,0,.23889],567:[.19444,.44444,.04169,0,.26667],710:[0,.69444,.0799,0,.5],711:[0,.63194,.08432,0,.5],713:[0,.60889,.08776,0,.5],714:[0,.69444,.09205,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,.09483,0,.5],729:[0,.67937,.07774,0,.27778],730:[0,.69444,0,0,.73752],732:[0,.67659,.08826,0,.5],733:[0,.69444,.09205,0,.5],915:[0,.69444,.13372,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,.07555,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,.12816,0,.66667],928:[0,.69444,.08094,0,.70834],931:[0,.69444,.11983,0,.72222],933:[0,.69444,.09031,0,.77778],934:[0,.69444,.04603,0,.72222],936:[0,.69444,.09031,0,.77778],937:[0,.69444,.08293,0,.72222],8211:[0,.44444,.08616,0,.5],8212:[0,.44444,.08616,0,1],8216:[0,.69444,.07816,0,.27778],8217:[0,.69444,.07816,0,.27778],8220:[0,.69444,.14205,0,.5],8221:[0,.69444,.00316,0,.5]},"SansSerif-Regular":{32:[0,0,0,0,.25],33:[0,.69444,0,0,.31945],34:[0,.69444,0,0,.5],35:[.19444,.69444,0,0,.83334],36:[.05556,.75,0,0,.5],37:[.05556,.75,0,0,.83334],38:[0,.69444,0,0,.75834],39:[0,.69444,0,0,.27778],40:[.25,.75,0,0,.38889],41:[.25,.75,0,0,.38889],42:[0,.75,0,0,.5],43:[.08333,.58333,0,0,.77778],44:[.125,.08333,0,0,.27778],45:[0,.44444,0,0,.33333],46:[0,.08333,0,0,.27778],47:[.25,.75,0,0,.5],48:[0,.65556,0,0,.5],49:[0,.65556,0,0,.5],50:[0,.65556,0,0,.5],51:[0,.65556,0,0,.5],52:[0,.65556,0,0,.5],53:[0,.65556,0,0,.5],54:[0,.65556,0,0,.5],55:[0,.65556,0,0,.5],56:[0,.65556,0,0,.5],57:[0,.65556,0,0,.5],58:[0,.44444,0,0,.27778],59:[.125,.44444,0,0,.27778],61:[-.13,.37,0,0,.77778],63:[0,.69444,0,0,.47222],64:[0,.69444,0,0,.66667],65:[0,.69444,0,0,.66667],66:[0,.69444,0,0,.66667],67:[0,.69444,0,0,.63889],68:[0,.69444,0,0,.72223],69:[0,.69444,0,0,.59722],70:[0,.69444,0,0,.56945],71:[0,.69444,0,0,.66667],72:[0,.69444,0,0,.70834],73:[0,.69444,0,0,.27778],74:[0,.69444,0,0,.47222],75:[0,.69444,0,0,.69445],76:[0,.69444,0,0,.54167],77:[0,.69444,0,0,.875],78:[0,.69444,0,0,.70834],79:[0,.69444,0,0,.73611],80:[0,.69444,0,0,.63889],81:[.125,.69444,0,0,.73611],82:[0,.69444,0,0,.64584],83:[0,.69444,0,0,.55556],84:[0,.69444,0,0,.68056],85:[0,.69444,0,0,.6875],86:[0,.69444,.01389,0,.66667],87:[0,.69444,.01389,0,.94445],88:[0,.69444,0,0,.66667],89:[0,.69444,.025,0,.66667],90:[0,.69444,0,0,.61111],91:[.25,.75,0,0,.28889],93:[.25,.75,0,0,.28889],94:[0,.69444,0,0,.5],95:[.35,.09444,.02778,0,.5],97:[0,.44444,0,0,.48056],98:[0,.69444,0,0,.51667],99:[0,.44444,0,0,.44445],100:[0,.69444,0,0,.51667],101:[0,.44444,0,0,.44445],102:[0,.69444,.06944,0,.30556],103:[.19444,.44444,.01389,0,.5],104:[0,.69444,0,0,.51667],105:[0,.67937,0,0,.23889],106:[.19444,.67937,0,0,.26667],107:[0,.69444,0,0,.48889],108:[0,.69444,0,0,.23889],109:[0,.44444,0,0,.79445],110:[0,.44444,0,0,.51667],111:[0,.44444,0,0,.5],112:[.19444,.44444,0,0,.51667],113:[.19444,.44444,0,0,.51667],114:[0,.44444,.01389,0,.34167],115:[0,.44444,0,0,.38333],116:[0,.57143,0,0,.36111],117:[0,.44444,0,0,.51667],118:[0,.44444,.01389,0,.46111],119:[0,.44444,.01389,0,.68334],120:[0,.44444,0,0,.46111],121:[.19444,.44444,.01389,0,.46111],122:[0,.44444,0,0,.43472],126:[.35,.32659,0,0,.5],160:[0,0,0,0,.25],168:[0,.67937,0,0,.5],176:[0,.69444,0,0,.66667],184:[.17014,0,0,0,.44445],305:[0,.44444,0,0,.23889],567:[.19444,.44444,0,0,.26667],710:[0,.69444,0,0,.5],711:[0,.63194,0,0,.5],713:[0,.60889,0,0,.5],714:[0,.69444,0,0,.5],715:[0,.69444,0,0,.5],728:[0,.69444,0,0,.5],729:[0,.67937,0,0,.27778],730:[0,.69444,0,0,.66667],732:[0,.67659,0,0,.5],733:[0,.69444,0,0,.5],915:[0,.69444,0,0,.54167],916:[0,.69444,0,0,.83334],920:[0,.69444,0,0,.77778],923:[0,.69444,0,0,.61111],926:[0,.69444,0,0,.66667],928:[0,.69444,0,0,.70834],931:[0,.69444,0,0,.72222],933:[0,.69444,0,0,.77778],934:[0,.69444,0,0,.72222],936:[0,.69444,0,0,.77778],937:[0,.69444,0,0,.72222],8211:[0,.44444,.02778,0,.5],8212:[0,.44444,.02778,0,1],8216:[0,.69444,0,0,.27778],8217:[0,.69444,0,0,.27778],8220:[0,.69444,0,0,.5],8221:[0,.69444,0,0,.5]},"Script-Regular":{32:[0,0,0,0,.25],65:[0,.7,.22925,0,.80253],66:[0,.7,.04087,0,.90757],67:[0,.7,.1689,0,.66619],68:[0,.7,.09371,0,.77443],69:[0,.7,.18583,0,.56162],70:[0,.7,.13634,0,.89544],71:[0,.7,.17322,0,.60961],72:[0,.7,.29694,0,.96919],73:[0,.7,.19189,0,.80907],74:[.27778,.7,.19189,0,1.05159],75:[0,.7,.31259,0,.91364],76:[0,.7,.19189,0,.87373],77:[0,.7,.15981,0,1.08031],78:[0,.7,.3525,0,.9015],79:[0,.7,.08078,0,.73787],80:[0,.7,.08078,0,1.01262],81:[0,.7,.03305,0,.88282],82:[0,.7,.06259,0,.85],83:[0,.7,.19189,0,.86767],84:[0,.7,.29087,0,.74697],85:[0,.7,.25815,0,.79996],86:[0,.7,.27523,0,.62204],87:[0,.7,.27523,0,.80532],88:[0,.7,.26006,0,.94445],89:[0,.7,.2939,0,.70961],90:[0,.7,.24037,0,.8212],160:[0,0,0,0,.25]},"Size1-Regular":{32:[0,0,0,0,.25],40:[.35001,.85,0,0,.45834],41:[.35001,.85,0,0,.45834],47:[.35001,.85,0,0,.57778],91:[.35001,.85,0,0,.41667],92:[.35001,.85,0,0,.57778],93:[.35001,.85,0,0,.41667],123:[.35001,.85,0,0,.58334],125:[.35001,.85,0,0,.58334],160:[0,0,0,0,.25],710:[0,.72222,0,0,.55556],732:[0,.72222,0,0,.55556],770:[0,.72222,0,0,.55556],771:[0,.72222,0,0,.55556],8214:[-99e-5,.601,0,0,.77778],8593:[1e-5,.6,0,0,.66667],8595:[1e-5,.6,0,0,.66667],8657:[1e-5,.6,0,0,.77778],8659:[1e-5,.6,0,0,.77778],8719:[.25001,.75,0,0,.94445],8720:[.25001,.75,0,0,.94445],8721:[.25001,.75,0,0,1.05556],8730:[.35001,.85,0,0,1],8739:[-.00599,.606,0,0,.33333],8741:[-.00599,.606,0,0,.55556],8747:[.30612,.805,.19445,0,.47222],8748:[.306,.805,.19445,0,.47222],8749:[.306,.805,.19445,0,.47222],8750:[.30612,.805,.19445,0,.47222],8896:[.25001,.75,0,0,.83334],8897:[.25001,.75,0,0,.83334],8898:[.25001,.75,0,0,.83334],8899:[.25001,.75,0,0,.83334],8968:[.35001,.85,0,0,.47222],8969:[.35001,.85,0,0,.47222],8970:[.35001,.85,0,0,.47222],8971:[.35001,.85,0,0,.47222],9168:[-99e-5,.601,0,0,.66667],10216:[.35001,.85,0,0,.47222],10217:[.35001,.85,0,0,.47222],10752:[.25001,.75,0,0,1.11111],10753:[.25001,.75,0,0,1.11111],10754:[.25001,.75,0,0,1.11111],10756:[.25001,.75,0,0,.83334],10758:[.25001,.75,0,0,.83334]},"Size2-Regular":{32:[0,0,0,0,.25],40:[.65002,1.15,0,0,.59722],41:[.65002,1.15,0,0,.59722],47:[.65002,1.15,0,0,.81111],91:[.65002,1.15,0,0,.47222],92:[.65002,1.15,0,0,.81111],93:[.65002,1.15,0,0,.47222],123:[.65002,1.15,0,0,.66667],125:[.65002,1.15,0,0,.66667],160:[0,0,0,0,.25],710:[0,.75,0,0,1],732:[0,.75,0,0,1],770:[0,.75,0,0,1],771:[0,.75,0,0,1],8719:[.55001,1.05,0,0,1.27778],8720:[.55001,1.05,0,0,1.27778],8721:[.55001,1.05,0,0,1.44445],8730:[.65002,1.15,0,0,1],8747:[.86225,1.36,.44445,0,.55556],8748:[.862,1.36,.44445,0,.55556],8749:[.862,1.36,.44445,0,.55556],8750:[.86225,1.36,.44445,0,.55556],8896:[.55001,1.05,0,0,1.11111],8897:[.55001,1.05,0,0,1.11111],8898:[.55001,1.05,0,0,1.11111],8899:[.55001,1.05,0,0,1.11111],8968:[.65002,1.15,0,0,.52778],8969:[.65002,1.15,0,0,.52778],8970:[.65002,1.15,0,0,.52778],8971:[.65002,1.15,0,0,.52778],10216:[.65002,1.15,0,0,.61111],10217:[.65002,1.15,0,0,.61111],10752:[.55001,1.05,0,0,1.51112],10753:[.55001,1.05,0,0,1.51112],10754:[.55001,1.05,0,0,1.51112],10756:[.55001,1.05,0,0,1.11111],10758:[.55001,1.05,0,0,1.11111]},"Size3-Regular":{32:[0,0,0,0,.25],40:[.95003,1.45,0,0,.73611],41:[.95003,1.45,0,0,.73611],47:[.95003,1.45,0,0,1.04445],91:[.95003,1.45,0,0,.52778],92:[.95003,1.45,0,0,1.04445],93:[.95003,1.45,0,0,.52778],123:[.95003,1.45,0,0,.75],125:[.95003,1.45,0,0,.75],160:[0,0,0,0,.25],710:[0,.75,0,0,1.44445],732:[0,.75,0,0,1.44445],770:[0,.75,0,0,1.44445],771:[0,.75,0,0,1.44445],8730:[.95003,1.45,0,0,1],8968:[.95003,1.45,0,0,.58334],8969:[.95003,1.45,0,0,.58334],8970:[.95003,1.45,0,0,.58334],8971:[.95003,1.45,0,0,.58334],10216:[.95003,1.45,0,0,.75],10217:[.95003,1.45,0,0,.75]},"Size4-Regular":{32:[0,0,0,0,.25],40:[1.25003,1.75,0,0,.79167],41:[1.25003,1.75,0,0,.79167],47:[1.25003,1.75,0,0,1.27778],91:[1.25003,1.75,0,0,.58334],92:[1.25003,1.75,0,0,1.27778],93:[1.25003,1.75,0,0,.58334],123:[1.25003,1.75,0,0,.80556],125:[1.25003,1.75,0,0,.80556],160:[0,0,0,0,.25],710:[0,.825,0,0,1.8889],732:[0,.825,0,0,1.8889],770:[0,.825,0,0,1.8889],771:[0,.825,0,0,1.8889],8730:[1.25003,1.75,0,0,1],8968:[1.25003,1.75,0,0,.63889],8969:[1.25003,1.75,0,0,.63889],8970:[1.25003,1.75,0,0,.63889],8971:[1.25003,1.75,0,0,.63889],9115:[.64502,1.155,0,0,.875],9116:[1e-5,.6,0,0,.875],9117:[.64502,1.155,0,0,.875],9118:[.64502,1.155,0,0,.875],9119:[1e-5,.6,0,0,.875],9120:[.64502,1.155,0,0,.875],9121:[.64502,1.155,0,0,.66667],9122:[-99e-5,.601,0,0,.66667],9123:[.64502,1.155,0,0,.66667],9124:[.64502,1.155,0,0,.66667],9125:[-99e-5,.601,0,0,.66667],9126:[.64502,1.155,0,0,.66667],9127:[1e-5,.9,0,0,.88889],9128:[.65002,1.15,0,0,.88889],9129:[.90001,0,0,0,.88889],9130:[0,.3,0,0,.88889],9131:[1e-5,.9,0,0,.88889],9132:[.65002,1.15,0,0,.88889],9133:[.90001,0,0,0,.88889],9143:[.88502,.915,0,0,1.05556],10216:[1.25003,1.75,0,0,.80556],10217:[1.25003,1.75,0,0,.80556],57344:[-.00499,.605,0,0,1.05556],57345:[-.00499,.605,0,0,1.05556],57680:[0,.12,0,0,.45],57681:[0,.12,0,0,.45],57682:[0,.12,0,0,.45],57683:[0,.12,0,0,.45]},"Typewriter-Regular":{32:[0,0,0,0,.525],33:[0,.61111,0,0,.525],34:[0,.61111,0,0,.525],35:[0,.61111,0,0,.525],36:[.08333,.69444,0,0,.525],37:[.08333,.69444,0,0,.525],38:[0,.61111,0,0,.525],39:[0,.61111,0,0,.525],40:[.08333,.69444,0,0,.525],41:[.08333,.69444,0,0,.525],42:[0,.52083,0,0,.525],43:[-.08056,.53055,0,0,.525],44:[.13889,.125,0,0,.525],45:[-.08056,.53055,0,0,.525],46:[0,.125,0,0,.525],47:[.08333,.69444,0,0,.525],48:[0,.61111,0,0,.525],49:[0,.61111,0,0,.525],50:[0,.61111,0,0,.525],51:[0,.61111,0,0,.525],52:[0,.61111,0,0,.525],53:[0,.61111,0,0,.525],54:[0,.61111,0,0,.525],55:[0,.61111,0,0,.525],56:[0,.61111,0,0,.525],57:[0,.61111,0,0,.525],58:[0,.43056,0,0,.525],59:[.13889,.43056,0,0,.525],60:[-.05556,.55556,0,0,.525],61:[-.19549,.41562,0,0,.525],62:[-.05556,.55556,0,0,.525],63:[0,.61111,0,0,.525],64:[0,.61111,0,0,.525],65:[0,.61111,0,0,.525],66:[0,.61111,0,0,.525],67:[0,.61111,0,0,.525],68:[0,.61111,0,0,.525],69:[0,.61111,0,0,.525],70:[0,.61111,0,0,.525],71:[0,.61111,0,0,.525],72:[0,.61111,0,0,.525],73:[0,.61111,0,0,.525],74:[0,.61111,0,0,.525],75:[0,.61111,0,0,.525],76:[0,.61111,0,0,.525],77:[0,.61111,0,0,.525],78:[0,.61111,0,0,.525],79:[0,.61111,0,0,.525],80:[0,.61111,0,0,.525],81:[.13889,.61111,0,0,.525],82:[0,.61111,0,0,.525],83:[0,.61111,0,0,.525],84:[0,.61111,0,0,.525],85:[0,.61111,0,0,.525],86:[0,.61111,0,0,.525],87:[0,.61111,0,0,.525],88:[0,.61111,0,0,.525],89:[0,.61111,0,0,.525],90:[0,.61111,0,0,.525],91:[.08333,.69444,0,0,.525],92:[.08333,.69444,0,0,.525],93:[.08333,.69444,0,0,.525],94:[0,.61111,0,0,.525],95:[.09514,0,0,0,.525],96:[0,.61111,0,0,.525],97:[0,.43056,0,0,.525],98:[0,.61111,0,0,.525],99:[0,.43056,0,0,.525],100:[0,.61111,0,0,.525],101:[0,.43056,0,0,.525],102:[0,.61111,0,0,.525],103:[.22222,.43056,0,0,.525],104:[0,.61111,0,0,.525],105:[0,.61111,0,0,.525],106:[.22222,.61111,0,0,.525],107:[0,.61111,0,0,.525],108:[0,.61111,0,0,.525],109:[0,.43056,0,0,.525],110:[0,.43056,0,0,.525],111:[0,.43056,0,0,.525],112:[.22222,.43056,0,0,.525],113:[.22222,.43056,0,0,.525],114:[0,.43056,0,0,.525],115:[0,.43056,0,0,.525],116:[0,.55358,0,0,.525],117:[0,.43056,0,0,.525],118:[0,.43056,0,0,.525],119:[0,.43056,0,0,.525],120:[0,.43056,0,0,.525],121:[.22222,.43056,0,0,.525],122:[0,.43056,0,0,.525],123:[.08333,.69444,0,0,.525],124:[.08333,.69444,0,0,.525],125:[.08333,.69444,0,0,.525],126:[0,.61111,0,0,.525],127:[0,.61111,0,0,.525],160:[0,0,0,0,.525],176:[0,.61111,0,0,.525],184:[.19445,0,0,0,.525],305:[0,.43056,0,0,.525],567:[.22222,.43056,0,0,.525],711:[0,.56597,0,0,.525],713:[0,.56555,0,0,.525],714:[0,.61111,0,0,.525],715:[0,.61111,0,0,.525],728:[0,.61111,0,0,.525],730:[0,.61111,0,0,.525],770:[0,.61111,0,0,.525],771:[0,.61111,0,0,.525],776:[0,.61111,0,0,.525],915:[0,.61111,0,0,.525],916:[0,.61111,0,0,.525],920:[0,.61111,0,0,.525],923:[0,.61111,0,0,.525],926:[0,.61111,0,0,.525],928:[0,.61111,0,0,.525],931:[0,.61111,0,0,.525],933:[0,.61111,0,0,.525],934:[0,.61111,0,0,.525],936:[0,.61111,0,0,.525],937:[0,.61111,0,0,.525],8216:[0,.61111,0,0,.525],8217:[0,.61111,0,0,.525],8242:[0,.61111,0,0,.525],9251:[.11111,.21944,0,0,.525]}},st={slant:[.25,.25,.25],space:[0,0,0],stretch:[0,0,0],shrink:[0,0,0],xHeight:[.431,.431,.431],quad:[1,1.171,1.472],extraSpace:[0,0,0],num1:[.677,.732,.925],num2:[.394,.384,.387],num3:[.444,.471,.504],denom1:[.686,.752,1.025],denom2:[.345,.344,.532],sup1:[.413,.503,.504],sup2:[.363,.431,.404],sup3:[.289,.286,.294],sub1:[.15,.143,.2],sub2:[.247,.286,.4],supDrop:[.386,.353,.494],subDrop:[.05,.071,.1],delim1:[2.39,1.7,1.98],delim2:[1.01,1.157,1.42],axisHeight:[.25,.25,.25],defaultRuleThickness:[.04,.049,.049],bigOpSpacing1:[.111,.111,.111],bigOpSpacing2:[.166,.166,.166],bigOpSpacing3:[.2,.2,.2],bigOpSpacing4:[.6,.611,.611],bigOpSpacing5:[.1,.143,.143],sqrtRuleThickness:[.04,.04,.04],ptPerEm:[10,10,10],doubleRuleSep:[.2,.2,.2],arrayRuleWidth:[.04,.04,.04],fboxsep:[.3,.3,.3],fboxrule:[.04,.04,.04]},ha={Å:"A",Ð:"D",Þ:"o",å:"a",ð:"d",þ:"o",А:"A",Б:"B",В:"B",Г:"F",Д:"A",Е:"E",Ж:"K",З:"3",И:"N",Й:"N",К:"K",Л:"N",М:"M",Н:"H",О:"O",П:"N",Р:"P",С:"C",Т:"T",У:"y",Ф:"O",Х:"X",Ц:"U",Ч:"h",Ш:"W",Щ:"W",Ъ:"B",Ы:"X",Ь:"B",Э:"3",Ю:"X",Я:"R",а:"a",б:"b",в:"a",г:"r",д:"y",е:"e",ж:"m",з:"e",и:"n",й:"n",к:"n",л:"n",м:"m",н:"n",о:"o",п:"n",р:"p",с:"c",т:"o",у:"y",ф:"b",х:"x",ц:"n",ч:"n",ш:"w",щ:"w",ъ:"a",ы:"m",ь:"a",э:"e",ю:"m",я:"r"};function Ei(r,e){Ke[r]=e}function Ir(r,e,t){if(!Ke[e])throw new Error("Font metrics not found for font: "+e+".");var a=r.charCodeAt(0),s=Ke[e][a];if(!s&&r[0]in ha&&(a=ha[r[0]].charCodeAt(0),s=Ke[e][a]),!s&&t==="text"&&ps(a)&&(s=Ke[e][77]),s)return{depth:s[0],height:s[1],italic:s[2],skew:s[3],width:s[4]}}var Wt={};function Fi(r){var e;if(r>=5?e=0:r>=3?e=1:e=2,!Wt[e]){var t=Wt[e]={cssEmPerMu:st.quad[e]/18};for(var a in st)st.hasOwnProperty(a)&&(t[a]=st[a][e])}return Wt[e]}var Ri=[[1,1,1],[2,1,1],[3,1,1],[4,2,1],[5,2,1],[6,3,1],[7,4,2],[8,6,3],[9,7,6],[10,8,7],[11,10,9]],ma=[.5,.6,.7,.8,.9,1,1.2,1.44,1.728,2.074,2.488],pa=function(e,t){return t.size<2?e:Ri[e-1][t.size-1]};class r0{constructor(e){this.style=void 0,this.color=void 0,this.size=void 0,this.textSize=void 0,this.phantom=void 0,this.font=void 0,this.fontFamily=void 0,this.fontWeight=void 0,this.fontShape=void 0,this.sizeMultiplier=void 0,this.maxSize=void 0,this.minRuleThickness=void 0,this._fontMetrics=void 0,this.style=e.style,this.color=e.color,this.size=e.size||r0.BASESIZE,this.textSize=e.textSize||this.size,this.phantom=!!e.phantom,this.font=e.font||"",this.fontFamily=e.fontFamily||"",this.fontWeight=e.fontWeight||"",this.fontShape=e.fontShape||"",this.sizeMultiplier=ma[this.size-1],this.maxSize=e.maxSize,this.minRuleThickness=e.minRuleThickness,this._fontMetrics=void 0}extend(e){var t={style:this.style,size:this.size,textSize:this.textSize,color:this.color,phantom:this.phantom,font:this.font,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize,minRuleThickness:this.minRuleThickness};for(var a in e)e.hasOwnProperty(a)&&(t[a]=e[a]);return new r0(t)}havingStyle(e){return this.style===e?this:this.extend({style:e,size:pa(this.textSize,e)})}havingCrampedStyle(){return this.havingStyle(this.style.cramp())}havingSize(e){return this.size===e&&this.textSize===e?this:this.extend({style:this.style.text(),size:e,textSize:e,sizeMultiplier:ma[e-1]})}havingBaseStyle(e){e=e||this.style.text();var t=pa(r0.BASESIZE,e);return this.size===t&&this.textSize===r0.BASESIZE&&this.style===e?this:this.extend({style:e,size:t})}havingBaseSizing(){var e;switch(this.style.id){case 4:case 5:e=3;break;case 6:case 7:e=1;break;default:e=6}return this.extend({style:this.style.text(),size:e})}withColor(e){return this.extend({color:e})}withPhantom(){return this.extend({phantom:!0})}withFont(e){return this.extend({font:e})}withTextFontFamily(e){return this.extend({fontFamily:e,font:""})}withTextFontWeight(e){return this.extend({fontWeight:e,font:""})}withTextFontShape(e){return this.extend({fontShape:e,font:""})}sizingClasses(e){return e.size!==this.size?["sizing","reset-size"+e.size,"size"+this.size]:[]}baseSizingClasses(){return this.size!==r0.BASESIZE?["sizing","reset-size"+this.size,"size"+r0.BASESIZE]:[]}fontMetrics(){return this._fontMetrics||(this._fontMetrics=Fi(this.size)),this._fontMetrics}getColor(){return this.phantom?"transparent":this.color}}r0.BASESIZE=6;var pr={pt:1,mm:7227/2540,cm:7227/254,in:72.27,bp:803/800,pc:12,dd:1238/1157,cc:14856/1157,nd:685/642,nc:1370/107,sp:1/65536,px:803/800},qi={ex:!0,em:!0,mu:!0},fs=function(e){return typeof e!="string"&&(e=e.unit),e in pr||e in qi||e==="ex"},xe=function(e,t){var a;if(e.unit in pr)a=pr[e.unit]/t.fontMetrics().ptPerEm/t.sizeMultiplier;else if(e.unit==="mu")a=t.fontMetrics().cssEmPerMu;else{var s;if(t.style.isTight()?s=t.havingStyle(t.style.text()):s=t,e.unit==="ex")a=s.fontMetrics().xHeight;else if(e.unit==="em")a=s.fontMetrics().quad;else throw new R("Invalid unit: '"+e.unit+"'");s!==t&&(a*=s.sizeMultiplier/t.sizeMultiplier)}return Math.min(e.number*a,t.maxSize)},P=function(e){return+e.toFixed(4)+"em"},f0=function(e){return e.filter(t=>t).join(" ")},gs=function(e,t,a){if(this.classes=e||[],this.attributes={},this.height=0,this.depth=0,this.maxFontSize=0,this.style=a||{},t){t.style.isTight()&&this.classes.push("mtight");var s=t.getColor();s&&(this.style.color=s)}},vs=function(e){var t=document.createElement(e);t.className=f0(this.classes);for(var a in this.style)this.style.hasOwnProperty(a)&&(t.style[a]=this.style[a]);for(var s in this.attributes)this.attributes.hasOwnProperty(s)&&t.setAttribute(s,this.attributes[s]);for(var n=0;n<this.children.length;n++)t.appendChild(this.children[n].toNode());return t},Pi=/[\s"'>/=\x00-\x1f]/,xs=function(e){var t="<"+e;this.classes.length&&(t+=' class="'+Be(f0(this.classes))+'"');var a="";for(var s in this.style)this.style.hasOwnProperty(s)&&(a+=Cr(s)+":"+this.style[s]+";");a&&(t+=' style="'+Be(a)+'"');for(var n in this.attributes)if(this.attributes.hasOwnProperty(n)){if(Pi.test(n))throw new R("Invalid attribute name '"+n+"'");t+=" "+n+'="'+Be(this.attributes[n])+'"'}t+=">";for(var l=0;l<this.children.length;l++)t+=this.children[l].toMarkup();return t+="</"+e+">",t};class Q0{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.width=void 0,this.maxFontSize=void 0,this.style=void 0,gs.call(this,e,a,s),this.children=t||[]}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return vs.call(this,"span")}toMarkup(){return xs.call(this,"span")}}class Er{constructor(e,t,a,s){this.children=void 0,this.attributes=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,gs.call(this,t,s),this.children=a||[],this.setAttribute("href",e)}setAttribute(e,t){this.attributes[e]=t}hasClass(e){return this.classes.includes(e)}toNode(){return vs.call(this,"a")}toMarkup(){return xs.call(this,"a")}}class Oi{constructor(e,t,a){this.src=void 0,this.alt=void 0,this.classes=void 0,this.height=void 0,this.depth=void 0,this.maxFontSize=void 0,this.style=void 0,this.alt=t,this.src=e,this.classes=["mord"],this.style=a}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createElement("img");e.src=this.src,e.alt=this.alt,e.className="mord";for(var t in this.style)this.style.hasOwnProperty(t)&&(e.style[t]=this.style[t]);return e}toMarkup(){var e='<img src="'+Be(this.src)+'"'+(' alt="'+Be(this.alt)+'"'),t="";for(var a in this.style)this.style.hasOwnProperty(a)&&(t+=Cr(a)+":"+this.style[a]+";");return t&&(e+=' style="'+Be(t)+'"'),e+="'/>",e}}var Hi={î:"ı̂",ï:"ı̈",í:"ı́",ì:"ı̀"};class Ve{constructor(e,t,a,s,n,l,c,d){this.text=void 0,this.height=void 0,this.depth=void 0,this.italic=void 0,this.skew=void 0,this.width=void 0,this.maxFontSize=void 0,this.classes=void 0,this.style=void 0,this.text=e,this.height=t||0,this.depth=a||0,this.italic=s||0,this.skew=n||0,this.width=l||0,this.classes=c||[],this.style=d||{},this.maxFontSize=0;var m=Si(this.text.charCodeAt(0));m&&this.classes.push(m+"_fallback"),/[îïíì]/.test(this.text)&&(this.text=Hi[this.text])}hasClass(e){return this.classes.includes(e)}toNode(){var e=document.createTextNode(this.text),t=null;this.italic>0&&(t=document.createElement("span"),t.style.marginRight=P(this.italic)),this.classes.length>0&&(t=t||document.createElement("span"),t.className=f0(this.classes));for(var a in this.style)this.style.hasOwnProperty(a)&&(t=t||document.createElement("span"),t.style[a]=this.style[a]);return t?(t.appendChild(e),t):e}toMarkup(){var e=!1,t="<span";this.classes.length&&(e=!0,t+=' class="',t+=Be(f0(this.classes)),t+='"');var a="";this.italic>0&&(a+="margin-right:"+this.italic+"em;");for(var s in this.style)this.style.hasOwnProperty(s)&&(a+=Cr(s)+":"+this.style[s]+";");a&&(e=!0,t+=' style="'+Be(a)+'"');var n=Be(this.text);return e?(t+=">",t+=n,t+="</span>",t):n}}class n0{constructor(e,t){this.children=void 0,this.attributes=void 0,this.children=e||[],this.attributes=t||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"svg");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);for(var s=0;s<this.children.length;s++)t.appendChild(this.children[s].toNode());return t}toMarkup(){var e='<svg xmlns="http://www.w3.org/2000/svg"';for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="'+Be(this.attributes[t])+'"');e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</svg>",e}}class g0{constructor(e,t){this.pathName=void 0,this.alternate=void 0,this.pathName=e,this.alternate=t}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"path");return this.alternate?t.setAttribute("d",this.alternate):t.setAttribute("d",da[this.pathName]),t}toMarkup(){return this.alternate?'<path d="'+Be(this.alternate)+'"/>':'<path d="'+Be(da[this.pathName])+'"/>'}}class fr{constructor(e){this.attributes=void 0,this.attributes=e||{}}toNode(){var e="http://www.w3.org/2000/svg",t=document.createElementNS(e,"line");for(var a in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,a)&&t.setAttribute(a,this.attributes[a]);return t}toMarkup(){var e="<line";for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="'+Be(this.attributes[t])+'"');return e+="/>",e}}function fa(r){if(r instanceof Ve)return r;throw new Error("Expected symbolNode but got "+String(r)+".")}function Li(r){if(r instanceof Q0)return r;throw new Error("Expected span<HtmlDomNode> but got "+String(r)+".")}var $i={bin:1,close:1,inner:1,open:1,punct:1,rel:1},Gi={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},pe={math:{},text:{}};function i(r,e,t,a,s,n){pe[r][s]={font:e,group:t,replace:a},n&&a&&(pe[r][a]=pe[r][s])}var o="math",D="text",h="main",g="ams",fe="accent-token",U="bin",qe="close",F0="inner",K="mathord",Se="op-token",$e="open",Tt="punct",v="rel",l0="spacing",w="textord";i(o,h,v,"≡","\\equiv",!0);i(o,h,v,"≺","\\prec",!0);i(o,h,v,"≻","\\succ",!0);i(o,h,v,"∼","\\sim",!0);i(o,h,v,"⊥","\\perp");i(o,h,v,"⪯","\\preceq",!0);i(o,h,v,"⪰","\\succeq",!0);i(o,h,v,"≃","\\simeq",!0);i(o,h,v,"∣","\\mid",!0);i(o,h,v,"≪","\\ll",!0);i(o,h,v,"≫","\\gg",!0);i(o,h,v,"≍","\\asymp",!0);i(o,h,v,"∥","\\parallel");i(o,h,v,"⋈","\\bowtie",!0);i(o,h,v,"⌣","\\smile",!0);i(o,h,v,"⊑","\\sqsubseteq",!0);i(o,h,v,"⊒","\\sqsupseteq",!0);i(o,h,v,"≐","\\doteq",!0);i(o,h,v,"⌢","\\frown",!0);i(o,h,v,"∋","\\ni",!0);i(o,h,v,"∝","\\propto",!0);i(o,h,v,"⊢","\\vdash",!0);i(o,h,v,"⊣","\\dashv",!0);i(o,h,v,"∋","\\owns");i(o,h,Tt,".","\\ldotp");i(o,h,Tt,"⋅","\\cdotp");i(o,h,w,"#","\\#");i(D,h,w,"#","\\#");i(o,h,w,"&","\\&");i(D,h,w,"&","\\&");i(o,h,w,"ℵ","\\aleph",!0);i(o,h,w,"∀","\\forall",!0);i(o,h,w,"ℏ","\\hbar",!0);i(o,h,w,"∃","\\exists",!0);i(o,h,w,"∇","\\nabla",!0);i(o,h,w,"♭","\\flat",!0);i(o,h,w,"ℓ","\\ell",!0);i(o,h,w,"♮","\\natural",!0);i(o,h,w,"♣","\\clubsuit",!0);i(o,h,w,"℘","\\wp",!0);i(o,h,w,"♯","\\sharp",!0);i(o,h,w,"♢","\\diamondsuit",!0);i(o,h,w,"ℜ","\\Re",!0);i(o,h,w,"♡","\\heartsuit",!0);i(o,h,w,"ℑ","\\Im",!0);i(o,h,w,"♠","\\spadesuit",!0);i(o,h,w,"§","\\S",!0);i(D,h,w,"§","\\S");i(o,h,w,"¶","\\P",!0);i(D,h,w,"¶","\\P");i(o,h,w,"†","\\dag");i(D,h,w,"†","\\dag");i(D,h,w,"†","\\textdagger");i(o,h,w,"‡","\\ddag");i(D,h,w,"‡","\\ddag");i(D,h,w,"‡","\\textdaggerdbl");i(o,h,qe,"⎱","\\rmoustache",!0);i(o,h,$e,"⎰","\\lmoustache",!0);i(o,h,qe,"⟯","\\rgroup",!0);i(o,h,$e,"⟮","\\lgroup",!0);i(o,h,U,"∓","\\mp",!0);i(o,h,U,"⊖","\\ominus",!0);i(o,h,U,"⊎","\\uplus",!0);i(o,h,U,"⊓","\\sqcap",!0);i(o,h,U,"∗","\\ast");i(o,h,U,"⊔","\\sqcup",!0);i(o,h,U,"◯","\\bigcirc",!0);i(o,h,U,"∙","\\bullet",!0);i(o,h,U,"‡","\\ddagger");i(o,h,U,"≀","\\wr",!0);i(o,h,U,"⨿","\\amalg");i(o,h,U,"&","\\And");i(o,h,v,"⟵","\\longleftarrow",!0);i(o,h,v,"⇐","\\Leftarrow",!0);i(o,h,v,"⟸","\\Longleftarrow",!0);i(o,h,v,"⟶","\\longrightarrow",!0);i(o,h,v,"⇒","\\Rightarrow",!0);i(o,h,v,"⟹","\\Longrightarrow",!0);i(o,h,v,"↔","\\leftrightarrow",!0);i(o,h,v,"⟷","\\longleftrightarrow",!0);i(o,h,v,"⇔","\\Leftrightarrow",!0);i(o,h,v,"⟺","\\Longleftrightarrow",!0);i(o,h,v,"↦","\\mapsto",!0);i(o,h,v,"⟼","\\longmapsto",!0);i(o,h,v,"↗","\\nearrow",!0);i(o,h,v,"↩","\\hookleftarrow",!0);i(o,h,v,"↪","\\hookrightarrow",!0);i(o,h,v,"↘","\\searrow",!0);i(o,h,v,"↼","\\leftharpoonup",!0);i(o,h,v,"⇀","\\rightharpoonup",!0);i(o,h,v,"↙","\\swarrow",!0);i(o,h,v,"↽","\\leftharpoondown",!0);i(o,h,v,"⇁","\\rightharpoondown",!0);i(o,h,v,"↖","\\nwarrow",!0);i(o,h,v,"⇌","\\rightleftharpoons",!0);i(o,g,v,"≮","\\nless",!0);i(o,g,v,"","\\@nleqslant");i(o,g,v,"","\\@nleqq");i(o,g,v,"⪇","\\lneq",!0);i(o,g,v,"≨","\\lneqq",!0);i(o,g,v,"","\\@lvertneqq");i(o,g,v,"⋦","\\lnsim",!0);i(o,g,v,"⪉","\\lnapprox",!0);i(o,g,v,"⊀","\\nprec",!0);i(o,g,v,"⋠","\\npreceq",!0);i(o,g,v,"⋨","\\precnsim",!0);i(o,g,v,"⪹","\\precnapprox",!0);i(o,g,v,"≁","\\nsim",!0);i(o,g,v,"","\\@nshortmid");i(o,g,v,"∤","\\nmid",!0);i(o,g,v,"⊬","\\nvdash",!0);i(o,g,v,"⊭","\\nvDash",!0);i(o,g,v,"⋪","\\ntriangleleft");i(o,g,v,"⋬","\\ntrianglelefteq",!0);i(o,g,v,"⊊","\\subsetneq",!0);i(o,g,v,"","\\@varsubsetneq");i(o,g,v,"⫋","\\subsetneqq",!0);i(o,g,v,"","\\@varsubsetneqq");i(o,g,v,"≯","\\ngtr",!0);i(o,g,v,"","\\@ngeqslant");i(o,g,v,"","\\@ngeqq");i(o,g,v,"⪈","\\gneq",!0);i(o,g,v,"≩","\\gneqq",!0);i(o,g,v,"","\\@gvertneqq");i(o,g,v,"⋧","\\gnsim",!0);i(o,g,v,"⪊","\\gnapprox",!0);i(o,g,v,"⊁","\\nsucc",!0);i(o,g,v,"⋡","\\nsucceq",!0);i(o,g,v,"⋩","\\succnsim",!0);i(o,g,v,"⪺","\\succnapprox",!0);i(o,g,v,"≆","\\ncong",!0);i(o,g,v,"","\\@nshortparallel");i(o,g,v,"∦","\\nparallel",!0);i(o,g,v,"⊯","\\nVDash",!0);i(o,g,v,"⋫","\\ntriangleright");i(o,g,v,"⋭","\\ntrianglerighteq",!0);i(o,g,v,"","\\@nsupseteqq");i(o,g,v,"⊋","\\supsetneq",!0);i(o,g,v,"","\\@varsupsetneq");i(o,g,v,"⫌","\\supsetneqq",!0);i(o,g,v,"","\\@varsupsetneqq");i(o,g,v,"⊮","\\nVdash",!0);i(o,g,v,"⪵","\\precneqq",!0);i(o,g,v,"⪶","\\succneqq",!0);i(o,g,v,"","\\@nsubseteqq");i(o,g,U,"⊴","\\unlhd");i(o,g,U,"⊵","\\unrhd");i(o,g,v,"↚","\\nleftarrow",!0);i(o,g,v,"↛","\\nrightarrow",!0);i(o,g,v,"⇍","\\nLeftarrow",!0);i(o,g,v,"⇏","\\nRightarrow",!0);i(o,g,v,"↮","\\nleftrightarrow",!0);i(o,g,v,"⇎","\\nLeftrightarrow",!0);i(o,g,v,"△","\\vartriangle");i(o,g,w,"ℏ","\\hslash");i(o,g,w,"▽","\\triangledown");i(o,g,w,"◊","\\lozenge");i(o,g,w,"Ⓢ","\\circledS");i(o,g,w,"®","\\circledR");i(D,g,w,"®","\\circledR");i(o,g,w,"∡","\\measuredangle",!0);i(o,g,w,"∄","\\nexists");i(o,g,w,"℧","\\mho");i(o,g,w,"Ⅎ","\\Finv",!0);i(o,g,w,"⅁","\\Game",!0);i(o,g,w,"‵","\\backprime");i(o,g,w,"▲","\\blacktriangle");i(o,g,w,"▼","\\blacktriangledown");i(o,g,w,"■","\\blacksquare");i(o,g,w,"⧫","\\blacklozenge");i(o,g,w,"★","\\bigstar");i(o,g,w,"∢","\\sphericalangle",!0);i(o,g,w,"∁","\\complement",!0);i(o,g,w,"ð","\\eth",!0);i(D,h,w,"ð","ð");i(o,g,w,"╱","\\diagup");i(o,g,w,"╲","\\diagdown");i(o,g,w,"□","\\square");i(o,g,w,"□","\\Box");i(o,g,w,"◊","\\Diamond");i(o,g,w,"¥","\\yen",!0);i(D,g,w,"¥","\\yen",!0);i(o,g,w,"✓","\\checkmark",!0);i(D,g,w,"✓","\\checkmark");i(o,g,w,"ℶ","\\beth",!0);i(o,g,w,"ℸ","\\daleth",!0);i(o,g,w,"ℷ","\\gimel",!0);i(o,g,w,"ϝ","\\digamma",!0);i(o,g,w,"ϰ","\\varkappa");i(o,g,$e,"┌","\\@ulcorner",!0);i(o,g,qe,"┐","\\@urcorner",!0);i(o,g,$e,"└","\\@llcorner",!0);i(o,g,qe,"┘","\\@lrcorner",!0);i(o,g,v,"≦","\\leqq",!0);i(o,g,v,"⩽","\\leqslant",!0);i(o,g,v,"⪕","\\eqslantless",!0);i(o,g,v,"≲","\\lesssim",!0);i(o,g,v,"⪅","\\lessapprox",!0);i(o,g,v,"≊","\\approxeq",!0);i(o,g,U,"⋖","\\lessdot");i(o,g,v,"⋘","\\lll",!0);i(o,g,v,"≶","\\lessgtr",!0);i(o,g,v,"⋚","\\lesseqgtr",!0);i(o,g,v,"⪋","\\lesseqqgtr",!0);i(o,g,v,"≑","\\doteqdot");i(o,g,v,"≓","\\risingdotseq",!0);i(o,g,v,"≒","\\fallingdotseq",!0);i(o,g,v,"∽","\\backsim",!0);i(o,g,v,"⋍","\\backsimeq",!0);i(o,g,v,"⫅","\\subseteqq",!0);i(o,g,v,"⋐","\\Subset",!0);i(o,g,v,"⊏","\\sqsubset",!0);i(o,g,v,"≼","\\preccurlyeq",!0);i(o,g,v,"⋞","\\curlyeqprec",!0);i(o,g,v,"≾","\\precsim",!0);i(o,g,v,"⪷","\\precapprox",!0);i(o,g,v,"⊲","\\vartriangleleft");i(o,g,v,"⊴","\\trianglelefteq");i(o,g,v,"⊨","\\vDash",!0);i(o,g,v,"⊪","\\Vvdash",!0);i(o,g,v,"⌣","\\smallsmile");i(o,g,v,"⌢","\\smallfrown");i(o,g,v,"≏","\\bumpeq",!0);i(o,g,v,"≎","\\Bumpeq",!0);i(o,g,v,"≧","\\geqq",!0);i(o,g,v,"⩾","\\geqslant",!0);i(o,g,v,"⪖","\\eqslantgtr",!0);i(o,g,v,"≳","\\gtrsim",!0);i(o,g,v,"⪆","\\gtrapprox",!0);i(o,g,U,"⋗","\\gtrdot");i(o,g,v,"⋙","\\ggg",!0);i(o,g,v,"≷","\\gtrless",!0);i(o,g,v,"⋛","\\gtreqless",!0);i(o,g,v,"⪌","\\gtreqqless",!0);i(o,g,v,"≖","\\eqcirc",!0);i(o,g,v,"≗","\\circeq",!0);i(o,g,v,"≜","\\triangleq",!0);i(o,g,v,"∼","\\thicksim");i(o,g,v,"≈","\\thickapprox");i(o,g,v,"⫆","\\supseteqq",!0);i(o,g,v,"⋑","\\Supset",!0);i(o,g,v,"⊐","\\sqsupset",!0);i(o,g,v,"≽","\\succcurlyeq",!0);i(o,g,v,"⋟","\\curlyeqsucc",!0);i(o,g,v,"≿","\\succsim",!0);i(o,g,v,"⪸","\\succapprox",!0);i(o,g,v,"⊳","\\vartriangleright");i(o,g,v,"⊵","\\trianglerighteq");i(o,g,v,"⊩","\\Vdash",!0);i(o,g,v,"∣","\\shortmid");i(o,g,v,"∥","\\shortparallel");i(o,g,v,"≬","\\between",!0);i(o,g,v,"⋔","\\pitchfork",!0);i(o,g,v,"∝","\\varpropto");i(o,g,v,"◀","\\blacktriangleleft");i(o,g,v,"∴","\\therefore",!0);i(o,g,v,"∍","\\backepsilon");i(o,g,v,"▶","\\blacktriangleright");i(o,g,v,"∵","\\because",!0);i(o,g,v,"⋘","\\llless");i(o,g,v,"⋙","\\gggtr");i(o,g,U,"⊲","\\lhd");i(o,g,U,"⊳","\\rhd");i(o,g,v,"≂","\\eqsim",!0);i(o,h,v,"⋈","\\Join");i(o,g,v,"≑","\\Doteq",!0);i(o,g,U,"∔","\\dotplus",!0);i(o,g,U,"∖","\\smallsetminus");i(o,g,U,"⋒","\\Cap",!0);i(o,g,U,"⋓","\\Cup",!0);i(o,g,U,"⩞","\\doublebarwedge",!0);i(o,g,U,"⊟","\\boxminus",!0);i(o,g,U,"⊞","\\boxplus",!0);i(o,g,U,"⋇","\\divideontimes",!0);i(o,g,U,"⋉","\\ltimes",!0);i(o,g,U,"⋊","\\rtimes",!0);i(o,g,U,"⋋","\\leftthreetimes",!0);i(o,g,U,"⋌","\\rightthreetimes",!0);i(o,g,U,"⋏","\\curlywedge",!0);i(o,g,U,"⋎","\\curlyvee",!0);i(o,g,U,"⊝","\\circleddash",!0);i(o,g,U,"⊛","\\circledast",!0);i(o,g,U,"⋅","\\centerdot");i(o,g,U,"⊺","\\intercal",!0);i(o,g,U,"⋒","\\doublecap");i(o,g,U,"⋓","\\doublecup");i(o,g,U,"⊠","\\boxtimes",!0);i(o,g,v,"⇢","\\dashrightarrow",!0);i(o,g,v,"⇠","\\dashleftarrow",!0);i(o,g,v,"⇇","\\leftleftarrows",!0);i(o,g,v,"⇆","\\leftrightarrows",!0);i(o,g,v,"⇚","\\Lleftarrow",!0);i(o,g,v,"↞","\\twoheadleftarrow",!0);i(o,g,v,"↢","\\leftarrowtail",!0);i(o,g,v,"↫","\\looparrowleft",!0);i(o,g,v,"⇋","\\leftrightharpoons",!0);i(o,g,v,"↶","\\curvearrowleft",!0);i(o,g,v,"↺","\\circlearrowleft",!0);i(o,g,v,"↰","\\Lsh",!0);i(o,g,v,"⇈","\\upuparrows",!0);i(o,g,v,"↿","\\upharpoonleft",!0);i(o,g,v,"⇃","\\downharpoonleft",!0);i(o,h,v,"⊶","\\origof",!0);i(o,h,v,"⊷","\\imageof",!0);i(o,g,v,"⊸","\\multimap",!0);i(o,g,v,"↭","\\leftrightsquigarrow",!0);i(o,g,v,"⇉","\\rightrightarrows",!0);i(o,g,v,"⇄","\\rightleftarrows",!0);i(o,g,v,"↠","\\twoheadrightarrow",!0);i(o,g,v,"↣","\\rightarrowtail",!0);i(o,g,v,"↬","\\looparrowright",!0);i(o,g,v,"↷","\\curvearrowright",!0);i(o,g,v,"↻","\\circlearrowright",!0);i(o,g,v,"↱","\\Rsh",!0);i(o,g,v,"⇊","\\downdownarrows",!0);i(o,g,v,"↾","\\upharpoonright",!0);i(o,g,v,"⇂","\\downharpoonright",!0);i(o,g,v,"⇝","\\rightsquigarrow",!0);i(o,g,v,"⇝","\\leadsto");i(o,g,v,"⇛","\\Rrightarrow",!0);i(o,g,v,"↾","\\restriction");i(o,h,w,"‘","`");i(o,h,w,"$","\\$");i(D,h,w,"$","\\$");i(D,h,w,"$","\\textdollar");i(o,h,w,"%","\\%");i(D,h,w,"%","\\%");i(o,h,w,"_","\\_");i(D,h,w,"_","\\_");i(D,h,w,"_","\\textunderscore");i(o,h,w,"∠","\\angle",!0);i(o,h,w,"∞","\\infty",!0);i(o,h,w,"′","\\prime");i(o,h,w,"△","\\triangle");i(o,h,w,"Γ","\\Gamma",!0);i(o,h,w,"Δ","\\Delta",!0);i(o,h,w,"Θ","\\Theta",!0);i(o,h,w,"Λ","\\Lambda",!0);i(o,h,w,"Ξ","\\Xi",!0);i(o,h,w,"Π","\\Pi",!0);i(o,h,w,"Σ","\\Sigma",!0);i(o,h,w,"Υ","\\Upsilon",!0);i(o,h,w,"Φ","\\Phi",!0);i(o,h,w,"Ψ","\\Psi",!0);i(o,h,w,"Ω","\\Omega",!0);i(o,h,w,"A","Α");i(o,h,w,"B","Β");i(o,h,w,"E","Ε");i(o,h,w,"Z","Ζ");i(o,h,w,"H","Η");i(o,h,w,"I","Ι");i(o,h,w,"K","Κ");i(o,h,w,"M","Μ");i(o,h,w,"N","Ν");i(o,h,w,"O","Ο");i(o,h,w,"P","Ρ");i(o,h,w,"T","Τ");i(o,h,w,"X","Χ");i(o,h,w,"¬","\\neg",!0);i(o,h,w,"¬","\\lnot");i(o,h,w,"⊤","\\top");i(o,h,w,"⊥","\\bot");i(o,h,w,"∅","\\emptyset");i(o,g,w,"∅","\\varnothing");i(o,h,K,"α","\\alpha",!0);i(o,h,K,"β","\\beta",!0);i(o,h,K,"γ","\\gamma",!0);i(o,h,K,"δ","\\delta",!0);i(o,h,K,"ϵ","\\epsilon",!0);i(o,h,K,"ζ","\\zeta",!0);i(o,h,K,"η","\\eta",!0);i(o,h,K,"θ","\\theta",!0);i(o,h,K,"ι","\\iota",!0);i(o,h,K,"κ","\\kappa",!0);i(o,h,K,"λ","\\lambda",!0);i(o,h,K,"μ","\\mu",!0);i(o,h,K,"ν","\\nu",!0);i(o,h,K,"ξ","\\xi",!0);i(o,h,K,"ο","\\omicron",!0);i(o,h,K,"π","\\pi",!0);i(o,h,K,"ρ","\\rho",!0);i(o,h,K,"σ","\\sigma",!0);i(o,h,K,"τ","\\tau",!0);i(o,h,K,"υ","\\upsilon",!0);i(o,h,K,"ϕ","\\phi",!0);i(o,h,K,"χ","\\chi",!0);i(o,h,K,"ψ","\\psi",!0);i(o,h,K,"ω","\\omega",!0);i(o,h,K,"ε","\\varepsilon",!0);i(o,h,K,"ϑ","\\vartheta",!0);i(o,h,K,"ϖ","\\varpi",!0);i(o,h,K,"ϱ","\\varrho",!0);i(o,h,K,"ς","\\varsigma",!0);i(o,h,K,"φ","\\varphi",!0);i(o,h,U,"∗","*",!0);i(o,h,U,"+","+");i(o,h,U,"−","-",!0);i(o,h,U,"⋅","\\cdot",!0);i(o,h,U,"∘","\\circ",!0);i(o,h,U,"÷","\\div",!0);i(o,h,U,"±","\\pm",!0);i(o,h,U,"×","\\times",!0);i(o,h,U,"∩","\\cap",!0);i(o,h,U,"∪","\\cup",!0);i(o,h,U,"∖","\\setminus",!0);i(o,h,U,"∧","\\land");i(o,h,U,"∨","\\lor");i(o,h,U,"∧","\\wedge",!0);i(o,h,U,"∨","\\vee",!0);i(o,h,w,"√","\\surd");i(o,h,$e,"⟨","\\langle",!0);i(o,h,$e,"∣","\\lvert");i(o,h,$e,"∥","\\lVert");i(o,h,qe,"?","?");i(o,h,qe,"!","!");i(o,h,qe,"⟩","\\rangle",!0);i(o,h,qe,"∣","\\rvert");i(o,h,qe,"∥","\\rVert");i(o,h,v,"=","=");i(o,h,v,":",":");i(o,h,v,"≈","\\approx",!0);i(o,h,v,"≅","\\cong",!0);i(o,h,v,"≥","\\ge");i(o,h,v,"≥","\\geq",!0);i(o,h,v,"←","\\gets");i(o,h,v,">","\\gt",!0);i(o,h,v,"∈","\\in",!0);i(o,h,v,"","\\@not");i(o,h,v,"⊂","\\subset",!0);i(o,h,v,"⊃","\\supset",!0);i(o,h,v,"⊆","\\subseteq",!0);i(o,h,v,"⊇","\\supseteq",!0);i(o,g,v,"⊈","\\nsubseteq",!0);i(o,g,v,"⊉","\\nsupseteq",!0);i(o,h,v,"⊨","\\models");i(o,h,v,"←","\\leftarrow",!0);i(o,h,v,"≤","\\le");i(o,h,v,"≤","\\leq",!0);i(o,h,v,"<","\\lt",!0);i(o,h,v,"→","\\rightarrow",!0);i(o,h,v,"→","\\to");i(o,g,v,"≱","\\ngeq",!0);i(o,g,v,"≰","\\nleq",!0);i(o,h,l0," ","\\ ");i(o,h,l0," ","\\space");i(o,h,l0," ","\\nobreakspace");i(D,h,l0," ","\\ ");i(D,h,l0," "," ");i(D,h,l0," ","\\space");i(D,h,l0," ","\\nobreakspace");i(o,h,l0,null,"\\nobreak");i(o,h,l0,null,"\\allowbreak");i(o,h,Tt,",",",");i(o,h,Tt,";",";");i(o,g,U,"⊼","\\barwedge",!0);i(o,g,U,"⊻","\\veebar",!0);i(o,h,U,"⊙","\\odot",!0);i(o,h,U,"⊕","\\oplus",!0);i(o,h,U,"⊗","\\otimes",!0);i(o,h,w,"∂","\\partial",!0);i(o,h,U,"⊘","\\oslash",!0);i(o,g,U,"⊚","\\circledcirc",!0);i(o,g,U,"⊡","\\boxdot",!0);i(o,h,U,"△","\\bigtriangleup");i(o,h,U,"▽","\\bigtriangledown");i(o,h,U,"†","\\dagger");i(o,h,U,"⋄","\\diamond");i(o,h,U,"⋆","\\star");i(o,h,U,"◃","\\triangleleft");i(o,h,U,"▹","\\triangleright");i(o,h,$e,"{","\\{");i(D,h,w,"{","\\{");i(D,h,w,"{","\\textbraceleft");i(o,h,qe,"}","\\}");i(D,h,w,"}","\\}");i(D,h,w,"}","\\textbraceright");i(o,h,$e,"{","\\lbrace");i(o,h,qe,"}","\\rbrace");i(o,h,$e,"[","\\lbrack",!0);i(D,h,w,"[","\\lbrack",!0);i(o,h,qe,"]","\\rbrack",!0);i(D,h,w,"]","\\rbrack",!0);i(o,h,$e,"(","\\lparen",!0);i(o,h,qe,")","\\rparen",!0);i(D,h,w,"<","\\textless",!0);i(D,h,w,">","\\textgreater",!0);i(o,h,$e,"⌊","\\lfloor",!0);i(o,h,qe,"⌋","\\rfloor",!0);i(o,h,$e,"⌈","\\lceil",!0);i(o,h,qe,"⌉","\\rceil",!0);i(o,h,w,"\\","\\backslash");i(o,h,w,"∣","|");i(o,h,w,"∣","\\vert");i(D,h,w,"|","\\textbar",!0);i(o,h,w,"∥","\\|");i(o,h,w,"∥","\\Vert");i(D,h,w,"∥","\\textbardbl");i(D,h,w,"~","\\textasciitilde");i(D,h,w,"\\","\\textbackslash");i(D,h,w,"^","\\textasciicircum");i(o,h,v,"↑","\\uparrow",!0);i(o,h,v,"⇑","\\Uparrow",!0);i(o,h,v,"↓","\\downarrow",!0);i(o,h,v,"⇓","\\Downarrow",!0);i(o,h,v,"↕","\\updownarrow",!0);i(o,h,v,"⇕","\\Updownarrow",!0);i(o,h,Se,"∐","\\coprod");i(o,h,Se,"⋁","\\bigvee");i(o,h,Se,"⋀","\\bigwedge");i(o,h,Se,"⨄","\\biguplus");i(o,h,Se,"⋂","\\bigcap");i(o,h,Se,"⋃","\\bigcup");i(o,h,Se,"∫","\\int");i(o,h,Se,"∫","\\intop");i(o,h,Se,"∬","\\iint");i(o,h,Se,"∭","\\iiint");i(o,h,Se,"∏","\\prod");i(o,h,Se,"∑","\\sum");i(o,h,Se,"⨂","\\bigotimes");i(o,h,Se,"⨁","\\bigoplus");i(o,h,Se,"⨀","\\bigodot");i(o,h,Se,"∮","\\oint");i(o,h,Se,"∯","\\oiint");i(o,h,Se,"∰","\\oiiint");i(o,h,Se,"⨆","\\bigsqcup");i(o,h,Se,"∫","\\smallint");i(D,h,F0,"…","\\textellipsis");i(o,h,F0,"…","\\mathellipsis");i(D,h,F0,"…","\\ldots",!0);i(o,h,F0,"…","\\ldots",!0);i(o,h,F0,"⋯","\\@cdots",!0);i(o,h,F0,"⋱","\\ddots",!0);i(o,h,w,"⋮","\\varvdots");i(D,h,w,"⋮","\\varvdots");i(o,h,fe,"ˊ","\\acute");i(o,h,fe,"ˋ","\\grave");i(o,h,fe,"¨","\\ddot");i(o,h,fe,"~","\\tilde");i(o,h,fe,"ˉ","\\bar");i(o,h,fe,"˘","\\breve");i(o,h,fe,"ˇ","\\check");i(o,h,fe,"^","\\hat");i(o,h,fe,"⃗","\\vec");i(o,h,fe,"˙","\\dot");i(o,h,fe,"˚","\\mathring");i(o,h,K,"","\\@imath");i(o,h,K,"","\\@jmath");i(o,h,w,"ı","ı");i(o,h,w,"ȷ","ȷ");i(D,h,w,"ı","\\i",!0);i(D,h,w,"ȷ","\\j",!0);i(D,h,w,"ß","\\ss",!0);i(D,h,w,"æ","\\ae",!0);i(D,h,w,"œ","\\oe",!0);i(D,h,w,"ø","\\o",!0);i(D,h,w,"Æ","\\AE",!0);i(D,h,w,"Œ","\\OE",!0);i(D,h,w,"Ø","\\O",!0);i(D,h,fe,"ˊ","\\'");i(D,h,fe,"ˋ","\\`");i(D,h,fe,"ˆ","\\^");i(D,h,fe,"˜","\\~");i(D,h,fe,"ˉ","\\=");i(D,h,fe,"˘","\\u");i(D,h,fe,"˙","\\.");i(D,h,fe,"¸","\\c");i(D,h,fe,"˚","\\r");i(D,h,fe,"ˇ","\\v");i(D,h,fe,"¨",'\\"');i(D,h,fe,"˝","\\H");i(D,h,fe,"◯","\\textcircled");var bs={"--":!0,"---":!0,"``":!0,"''":!0};i(D,h,w,"–","--",!0);i(D,h,w,"–","\\textendash");i(D,h,w,"—","---",!0);i(D,h,w,"—","\\textemdash");i(D,h,w,"‘","`",!0);i(D,h,w,"‘","\\textquoteleft");i(D,h,w,"’","'",!0);i(D,h,w,"’","\\textquoteright");i(D,h,w,"“","``",!0);i(D,h,w,"“","\\textquotedblleft");i(D,h,w,"”","''",!0);i(D,h,w,"”","\\textquotedblright");i(o,h,w,"°","\\degree",!0);i(D,h,w,"°","\\degree");i(D,h,w,"°","\\textdegree",!0);i(o,h,w,"£","\\pounds");i(o,h,w,"£","\\mathsterling",!0);i(D,h,w,"£","\\pounds");i(D,h,w,"£","\\textsterling",!0);i(o,g,w,"✠","\\maltese");i(D,g,w,"✠","\\maltese");var ga='0123456789/@."';for(var Xt=0;Xt<ga.length;Xt++){var va=ga.charAt(Xt);i(o,h,w,va,va)}var xa='0123456789!@*()-=+";:?/.,';for(var Yt=0;Yt<xa.length;Yt++){var ba=xa.charAt(Yt);i(D,h,w,ba,ba)}var yt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(var Kt=0;Kt<yt.length;Kt++){var nt=yt.charAt(Kt);i(o,h,K,nt,nt),i(D,h,w,nt,nt)}i(o,g,w,"C","ℂ");i(D,g,w,"C","ℂ");i(o,g,w,"H","ℍ");i(D,g,w,"H","ℍ");i(o,g,w,"N","ℕ");i(D,g,w,"N","ℕ");i(o,g,w,"P","ℙ");i(D,g,w,"P","ℙ");i(o,g,w,"Q","ℚ");i(D,g,w,"Q","ℚ");i(o,g,w,"R","ℝ");i(D,g,w,"R","ℝ");i(o,g,w,"Z","ℤ");i(D,g,w,"Z","ℤ");i(o,h,K,"h","ℎ");i(D,h,K,"h","ℎ");var J="";for(var Ee=0;Ee<yt.length;Ee++){var be=yt.charAt(Ee);J=String.fromCharCode(55349,56320+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56372+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56424+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56580+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56684+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56736+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56788+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56840+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56944+Ee),i(o,h,K,be,J),i(D,h,w,be,J),Ee<26&&(J=String.fromCharCode(55349,56632+Ee),i(o,h,K,be,J),i(D,h,w,be,J),J=String.fromCharCode(55349,56476+Ee),i(o,h,K,be,J),i(D,h,w,be,J))}J="𝕜";i(o,h,K,"k",J);i(D,h,w,"k",J);for(var y0=0;y0<10;y0++){var h0=y0.toString();J=String.fromCharCode(55349,57294+y0),i(o,h,K,h0,J),i(D,h,w,h0,J),J=String.fromCharCode(55349,57314+y0),i(o,h,K,h0,J),i(D,h,w,h0,J),J=String.fromCharCode(55349,57324+y0),i(o,h,K,h0,J),i(D,h,w,h0,J),J=String.fromCharCode(55349,57334+y0),i(o,h,K,h0,J),i(D,h,w,h0,J)}var gr="ÐÞþ";for(var Zt=0;Zt<gr.length;Zt++){var it=gr.charAt(Zt);i(o,h,K,it,it),i(D,h,w,it,it)}var lt=[["mathbf","textbf","Main-Bold"],["mathbf","textbf","Main-Bold"],["mathnormal","textit","Math-Italic"],["mathnormal","textit","Math-Italic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["boldsymbol","boldsymbol","Main-BoldItalic"],["mathscr","textscr","Script-Regular"],["","",""],["","",""],["","",""],["mathfrak","textfrak","Fraktur-Regular"],["mathfrak","textfrak","Fraktur-Regular"],["mathbb","textbb","AMS-Regular"],["mathbb","textbb","AMS-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathboldfrak","textboldfrak","Fraktur-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathitsf","textitsf","SansSerif-Italic"],["mathitsf","textitsf","SansSerif-Italic"],["","",""],["","",""],["mathtt","texttt","Typewriter-Regular"],["mathtt","texttt","Typewriter-Regular"]],ya=[["mathbf","textbf","Main-Bold"],["","",""],["mathsf","textsf","SansSerif-Regular"],["mathboldsf","textboldsf","SansSerif-Bold"],["mathtt","texttt","Typewriter-Regular"]],Ui=function(e,t){var a=e.charCodeAt(0),s=e.charCodeAt(1),n=(a-55296)*1024+(s-56320)+65536,l=t==="math"?0:1;if(119808<=n&&n<120484){var c=Math.floor((n-119808)/26);return[lt[c][2],lt[c][l]]}else if(120782<=n&&n<=120831){var d=Math.floor((n-120782)/10);return[ya[d][2],ya[d][l]]}else{if(n===120485||n===120486)return[lt[0][2],lt[0][l]];if(120486<n&&n<120782)return["",""];throw new R("Unsupported character: "+e)}},At=function(e,t,a){return pe[a][e]&&pe[a][e].replace&&(e=pe[a][e].replace),{value:e,metrics:Ir(e,t,a)}},Fe=function(e,t,a,s,n){var l=At(e,t,a),c=l.metrics;e=l.value;var d;if(c){var m=c.italic;(a==="text"||s&&s.font==="mathit")&&(m=0),d=new Ve(e,c.height,c.depth,m,c.skew,c.width,n)}else typeof console<"u"&&console.warn("No character metrics "+("for '"+e+"' in style '"+t+"' and mode '"+a+"'")),d=new Ve(e,0,0,0,0,0,n);if(s){d.maxFontSize=s.sizeMultiplier,s.style.isTight()&&d.classes.push("mtight");var f=s.getColor();f&&(d.style.color=f)}return d},Fr=function(e,t,a,s){return s===void 0&&(s=[]),a.font==="boldsymbol"&&At(e,"Main-Bold",t).metrics?Fe(e,"Main-Bold",t,a,s.concat(["mathbf"])):e==="\\"||pe[t][e].font==="main"?Fe(e,"Main-Regular",t,a,s):Fe(e,"AMS-Regular",t,a,s.concat(["amsrm"]))},Vi=function(e,t,a,s,n){return n!=="textord"&&At(e,"Math-BoldItalic",t).metrics?{fontName:"Math-BoldItalic",fontClass:"boldsymbol"}:{fontName:"Main-Bold",fontClass:"mathbf"}},zt=function(e,t,a){var s=e.mode,n=e.text,l=["mord"],c=s==="math"||s==="text"&&t.font,d=c?t.font:t.fontFamily,m="",f="";if(n.charCodeAt(0)===55349&&([m,f]=Ui(n,s)),m.length>0)return Fe(n,m,s,t,l.concat(f));if(d){var x,y;if(d==="boldsymbol"){var b=Vi(n,s,t,l,a);x=b.fontName,y=[b.fontClass]}else c?(x=vr[d].fontName,y=[d]):(x=ot(d,t.fontWeight,t.fontShape),y=[d,t.fontWeight,t.fontShape]);if(At(n,x,s).metrics)return Fe(n,x,s,t,l.concat(y));if(bs.hasOwnProperty(n)&&x.slice(0,10)==="Typewriter"){for(var k=[],S=0;S<n.length;S++)k.push(Fe(n[S],x,s,t,l.concat(y)));return o0(k)}}if(a==="mathord")return Fe(n,"Math-Italic",s,t,l.concat(["mathnormal"]));if(a==="textord"){var z=pe[s][n]&&pe[s][n].font;if(z==="ams"){var E=ot("amsrm",t.fontWeight,t.fontShape);return Fe(n,E,s,t,l.concat("amsrm",t.fontWeight,t.fontShape))}else if(z==="main"||!z){var T=ot("textrm",t.fontWeight,t.fontShape);return Fe(n,T,s,t,l.concat(t.fontWeight,t.fontShape))}else{var H=ot(z,t.fontWeight,t.fontShape);return Fe(n,H,s,t,l.concat(H,t.fontWeight,t.fontShape))}}else throw new Error("unexpected type: "+a+" in makeOrd")},Wi=(r,e)=>{if(f0(r.classes)!==f0(e.classes)||r.skew!==e.skew||r.maxFontSize!==e.maxFontSize||r.italic!==0&&r.hasClass("mathnormal"))return!1;if(r.classes.length===1){var t=r.classes[0];if(t==="mbin"||t==="mord")return!1}for(var a in r.style)if(r.style.hasOwnProperty(a)&&r.style[a]!==e.style[a])return!1;for(var s in e.style)if(e.style.hasOwnProperty(s)&&r.style[s]!==e.style[s])return!1;return!0},ys=r=>{for(var e=0;e<r.length-1;e++){var t=r[e],a=r[e+1];t instanceof Ve&&a instanceof Ve&&Wi(t,a)&&(t.text+=a.text,t.height=Math.max(t.height,a.height),t.depth=Math.max(t.depth,a.depth),t.italic=a.italic,r.splice(e+1,1),e--)}return r},Rr=function(e){for(var t=0,a=0,s=0,n=0;n<e.children.length;n++){var l=e.children[n];l.height>t&&(t=l.height),l.depth>a&&(a=l.depth),l.maxFontSize>s&&(s=l.maxFontSize)}e.height=t,e.depth=a,e.maxFontSize=s},I=function(e,t,a,s){var n=new Q0(e,t,a,s);return Rr(n),n},v0=(r,e,t,a)=>new Q0(r,e,t,a),I0=function(e,t,a){var s=I([e],[],t);return s.height=Math.max(a||t.fontMetrics().defaultRuleThickness,t.minRuleThickness),s.style.borderBottomWidth=P(s.height),s.maxFontSize=1,s},Xi=function(e,t,a,s){var n=new Er(e,t,a,s);return Rr(n),n},o0=function(e){var t=new J0(e);return Rr(t),t},E0=function(e,t){return e instanceof J0?I([],[e],t):e},Yi=function(e){if(e.positionType==="individualShift"){for(var t=e.children,a=[t[0]],s=-t[0].shift-t[0].elem.depth,n=s,l=1;l<t.length;l++){var c=-t[l].shift-n-t[l].elem.depth,d=c-(t[l-1].elem.height+t[l-1].elem.depth);n=n+c,a.push({type:"kern",size:d}),a.push(t[l])}return{children:a,depth:s}}var m;if(e.positionType==="top"){for(var f=e.positionData,x=0;x<e.children.length;x++){var y=e.children[x];f-=y.type==="kern"?y.size:y.elem.height+y.elem.depth}m=f}else if(e.positionType==="bottom")m=-e.positionData;else{var b=e.children[0];if(b.type!=="elem")throw new Error('First child must have type "elem".');if(e.positionType==="shift")m=-b.elem.depth-e.positionData;else if(e.positionType==="firstBaseline")m=-b.elem.depth;else throw new Error("Invalid positionType "+e.positionType+".")}return{children:e.children,depth:m}},oe=function(e,t){for(var{children:a,depth:s}=Yi(e),n=0,l=0;l<a.length;l++){var c=a[l];if(c.type==="elem"){var d=c.elem;n=Math.max(n,d.maxFontSize,d.height)}}n+=2;var m=I(["pstrut"],[]);m.style.height=P(n);for(var f=[],x=s,y=s,b=s,k=0;k<a.length;k++){var S=a[k];if(S.type==="kern")b+=S.size;else{var z=S.elem,E=S.wrapperClasses||[],T=S.wrapperStyle||{},H=I(E,[m,z],void 0,T);H.style.top=P(-n-b-z.depth),S.marginLeft&&(H.style.marginLeft=S.marginLeft),S.marginRight&&(H.style.marginRight=S.marginRight),f.push(H),b+=z.height+z.depth}x=Math.min(x,b),y=Math.max(y,b)}var V=I(["vlist"],f);V.style.height=P(y);var B;if(x<0){var G=I([],[]),W=I(["vlist"],[G]);W.style.height=P(-x);var $=I(["vlist-s"],[new Ve("​")]);B=[I(["vlist-r"],[V,$]),I(["vlist-r"],[W])]}else B=[I(["vlist-r"],[V])];var N=I(["vlist-t"],B);return B.length===2&&N.classes.push("vlist-t2"),N.height=y,N.depth=-x,N},ws=(r,e)=>{var t=I(["mspace"],[],e),a=xe(r,e);return t.style.marginRight=P(a),t},ot=function(e,t,a){var s="";switch(e){case"amsrm":s="AMS";break;case"textrm":s="Main";break;case"textsf":s="SansSerif";break;case"texttt":s="Typewriter";break;default:s=e}var n;return t==="textbf"&&a==="textit"?n="BoldItalic":t==="textbf"?n="Bold":t==="textit"?n="Italic":n="Regular",s+"-"+n},vr={mathbf:{variant:"bold",fontName:"Main-Bold"},mathrm:{variant:"normal",fontName:"Main-Regular"},textit:{variant:"italic",fontName:"Main-Italic"},mathit:{variant:"italic",fontName:"Main-Italic"},mathnormal:{variant:"italic",fontName:"Math-Italic"},mathsfit:{variant:"sans-serif-italic",fontName:"SansSerif-Italic"},mathbb:{variant:"double-struck",fontName:"AMS-Regular"},mathcal:{variant:"script",fontName:"Caligraphic-Regular"},mathfrak:{variant:"fraktur",fontName:"Fraktur-Regular"},mathscr:{variant:"script",fontName:"Script-Regular"},mathsf:{variant:"sans-serif",fontName:"SansSerif-Regular"},mathtt:{variant:"monospace",fontName:"Typewriter-Regular"}},ks={vec:["vec",.471,.714],oiintSize1:["oiintSize1",.957,.499],oiintSize2:["oiintSize2",1.472,.659],oiiintSize1:["oiiintSize1",1.304,.499],oiiintSize2:["oiiintSize2",1.98,.659]},Ss=function(e,t){var[a,s,n]=ks[e],l=new g0(a),c=new n0([l],{width:P(s),height:P(n),style:"width:"+P(s),viewBox:"0 0 "+1e3*s+" "+1e3*n,preserveAspectRatio:"xMinYMin"}),d=v0(["overlay"],[c],t);return d.height=n,d.style.height=P(n),d.style.width=P(s),d},ve={number:3,unit:"mu"},w0={number:4,unit:"mu"},t0={number:5,unit:"mu"},Ki={mord:{mop:ve,mbin:w0,mrel:t0,minner:ve},mop:{mord:ve,mop:ve,mrel:t0,minner:ve},mbin:{mord:w0,mop:w0,mopen:w0,minner:w0},mrel:{mord:t0,mop:t0,mopen:t0,minner:t0},mopen:{},mclose:{mop:ve,mbin:w0,mrel:t0,minner:ve},mpunct:{mord:ve,mop:ve,mrel:t0,mopen:ve,mclose:ve,mpunct:ve,minner:ve},minner:{mord:ve,mop:ve,mbin:w0,mrel:t0,mopen:ve,mpunct:ve,minner:ve}},Zi={mord:{mop:ve},mop:{mord:ve,mop:ve},mbin:{},mrel:{},mopen:{},mclose:{mop:ve},mpunct:{},minner:{mop:ve}},Ms={},wt={},kt={};function L(r){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:n,mathmlBuilder:l}=r,c={type:e,numArgs:a.numArgs,argTypes:a.argTypes,allowedInArgument:!!a.allowedInArgument,allowedInText:!!a.allowedInText,allowedInMath:a.allowedInMath===void 0?!0:a.allowedInMath,numOptionalArgs:a.numOptionalArgs||0,infix:!!a.infix,primitive:!!a.primitive,handler:s},d=0;d<t.length;++d)Ms[t[d]]=c;e&&(n&&(wt[e]=n),l&&(kt[e]=l))}function S0(r){var{type:e,htmlBuilder:t,mathmlBuilder:a}=r;L({type:e,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},htmlBuilder:t,mathmlBuilder:a})}var St=function(e){return e.type==="ordgroup"&&e.body.length===1?e.body[0]:e},we=function(e){return e.type==="ordgroup"?e.body:[e]},Ji=new Set(["leftmost","mbin","mopen","mrel","mop","mpunct"]),Qi=new Set(["rightmost","mrel","mclose","mpunct"]),_i={display:_.DISPLAY,text:_.TEXT,script:_.SCRIPT,scriptscript:_.SCRIPTSCRIPT},el={mord:"mord",mop:"mop",mbin:"mbin",mrel:"mrel",mopen:"mopen",mclose:"mclose",mpunct:"mpunct",minner:"minner"},Ae=function(e,t,a,s){s===void 0&&(s=[null,null]);for(var n=[],l=0;l<e.length;l++){var c=ie(e[l],t);if(c instanceof J0){var d=c.children;n.push(...d)}else n.push(c)}if(ys(n),!a)return n;var m=t;if(e.length===1){var f=e[0];f.type==="sizing"?m=t.havingSize(f.size):f.type==="styling"&&(m=t.havingStyle(_i[f.style]))}var x=I([s[0]||"leftmost"],[],t),y=I([s[1]||"rightmost"],[],t),b=a==="root";return wa(n,(k,S)=>{var z=S.classes[0],E=k.classes[0];z==="mbin"&&Qi.has(E)?S.classes[0]="mord":E==="mbin"&&Ji.has(z)&&(k.classes[0]="mord")},{node:x},y,b),wa(n,(k,S)=>{var z=xr(S),E=xr(k),T=z&&E?k.hasClass("mtight")?Zi[z][E]:Ki[z][E]:null;if(T)return ws(T,m)},{node:x},y,b),n},wa=function r(e,t,a,s,n){s&&e.push(s);for(var l=0;l<e.length;l++){var c=e[l],d=Ns(c);if(d){r(d.children,t,a,null,n);continue}var m=!c.hasClass("mspace");if(m){var f=t(c,a.node);f&&(a.insertAfter?a.insertAfter(f):(e.unshift(f),l++))}m?a.node=c:n&&c.hasClass("newline")&&(a.node=I(["leftmost"])),a.insertAfter=(x=>y=>{e.splice(x+1,0,y),l++})(l)}s&&e.pop()},Ns=function(e){return e instanceof J0||e instanceof Er||e instanceof Q0&&e.hasClass("enclosing")?e:null},tl=function r(e,t){var a=Ns(e);if(a){var s=a.children;if(s.length){if(t==="right")return r(s[s.length-1],"right");if(t==="left")return r(s[0],"left")}}return e},xr=function(e,t){return e?(t&&(e=tl(e,t)),el[e.classes[0]]||null):null},Z0=function(e,t){var a=["nulldelimiter"].concat(e.baseSizingClasses());return I(t.concat(a))},ie=function(e,t,a){if(!e)return I();if(wt[e.type]){var s=wt[e.type](e,t);if(a&&t.size!==a.size){s=I(t.sizingClasses(a),[s],t);var n=t.sizeMultiplier/a.sizeMultiplier;s.height*=n,s.depth*=n}return s}else throw new R("Got group of unknown type: '"+e.type+"'")};function ut(r,e){var t=I(["base"],r,e),a=I(["strut"]);return a.style.height=P(t.height+t.depth),t.depth&&(a.style.verticalAlign=P(-t.depth)),t.children.unshift(a),t}function br(r,e){var t=null;r.length===1&&r[0].type==="tag"&&(t=r[0].tag,r=r[0].body);var a=Ae(r,e,"root"),s;a.length===2&&a[1].hasClass("tag")&&(s=a.pop());for(var n=[],l=[],c=0;c<a.length;c++)if(l.push(a[c]),a[c].hasClass("mbin")||a[c].hasClass("mrel")||a[c].hasClass("allowbreak")){for(var d=!1;c<a.length-1&&a[c+1].hasClass("mspace")&&!a[c+1].hasClass("newline");)c++,l.push(a[c]),a[c].hasClass("nobreak")&&(d=!0);d||(n.push(ut(l,e)),l=[])}else a[c].hasClass("newline")&&(l.pop(),l.length>0&&(n.push(ut(l,e)),l=[]),n.push(a[c]));l.length>0&&n.push(ut(l,e));var m;t?(m=ut(Ae(t,e,!0)),m.classes=["tag"],n.push(m)):s&&n.push(s);var f=I(["katex-html"],n);if(f.setAttribute("aria-hidden","true"),m){var x=m.children[0];x.style.height=P(f.height+f.depth),f.depth&&(x.style.verticalAlign=P(-f.depth))}return f}function Ts(r){return new J0(r)}class q{constructor(e,t,a){this.type=void 0,this.attributes=void 0,this.children=void 0,this.classes=void 0,this.type=e,this.attributes={},this.children=t||[],this.classes=a||[]}setAttribute(e,t){this.attributes[e]=t}getAttribute(e){return this.attributes[e]}toNode(){var e=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&e.setAttribute(t,this.attributes[t]);this.classes.length>0&&(e.className=f0(this.classes));for(var a=0;a<this.children.length;a++)if(this.children[a]instanceof ke&&this.children[a+1]instanceof ke){for(var s=this.children[a].toText()+this.children[++a].toText();this.children[a+1]instanceof ke;)s+=this.children[++a].toText();e.appendChild(new ke(s).toNode())}else e.appendChild(this.children[a].toNode());return e}toMarkup(){var e="<"+this.type;for(var t in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,t)&&(e+=" "+t+'="',e+=Be(this.attributes[t]),e+='"');this.classes.length>0&&(e+=' class ="'+Be(f0(this.classes))+'"'),e+=">";for(var a=0;a<this.children.length;a++)e+=this.children[a].toMarkup();return e+="</"+this.type+">",e}toText(){return this.children.map(e=>e.toText()).join("")}}class ke{constructor(e){this.text=void 0,this.text=e}toNode(){return document.createTextNode(this.text)}toMarkup(){return Be(this.toText())}toText(){return this.text}}class As{constructor(e){this.width=void 0,this.character=void 0,this.width=e,e>=.05555&&e<=.05556?this.character=" ":e>=.1666&&e<=.1667?this.character=" ":e>=.2222&&e<=.2223?this.character=" ":e>=.2777&&e<=.2778?this.character="  ":e>=-.05556&&e<=-.05555?this.character=" ⁣":e>=-.1667&&e<=-.1666?this.character=" ⁣":e>=-.2223&&e<=-.2222?this.character=" ⁣":e>=-.2778&&e<=-.2777?this.character=" ⁣":this.character=null}toNode(){if(this.character)return document.createTextNode(this.character);var e=document.createElementNS("http://www.w3.org/1998/Math/MathML","mspace");return e.setAttribute("width",P(this.width)),e}toMarkup(){return this.character?"<mtext>"+this.character+"</mtext>":'<mspace width="'+P(this.width)+'"/>'}toText(){return this.character?this.character:" "}}var rl=new Set(["\\imath","\\jmath"]),al=new Set(["mrow","mtable"]),We=function(e,t,a){return pe[t][e]&&pe[t][e].replace&&e.charCodeAt(0)!==55349&&!(bs.hasOwnProperty(e)&&a&&(a.fontFamily&&a.fontFamily.slice(4,6)==="tt"||a.font&&a.font.slice(4,6)==="tt"))&&(e=pe[t][e].replace),new ke(e)},qr=function(e){return e.length===1?e[0]:new q("mrow",e)},Pr=function(e,t){if(t.fontFamily==="texttt")return"monospace";if(t.fontFamily==="textsf")return t.fontShape==="textit"&&t.fontWeight==="textbf"?"sans-serif-bold-italic":t.fontShape==="textit"?"sans-serif-italic":t.fontWeight==="textbf"?"bold-sans-serif":"sans-serif";if(t.fontShape==="textit"&&t.fontWeight==="textbf")return"bold-italic";if(t.fontShape==="textit")return"italic";if(t.fontWeight==="textbf")return"bold";var a=t.font;if(!a||a==="mathnormal")return null;var s=e.mode;if(a==="mathit")return"italic";if(a==="boldsymbol")return e.type==="textord"?"bold":"bold-italic";if(a==="mathbf")return"bold";if(a==="mathbb")return"double-struck";if(a==="mathsfit")return"sans-serif-italic";if(a==="mathfrak")return"fraktur";if(a==="mathscr"||a==="mathcal")return"script";if(a==="mathsf")return"sans-serif";if(a==="mathtt")return"monospace";var n=e.text;if(rl.has(n))return null;pe[s][n]&&pe[s][n].replace&&(n=pe[s][n].replace);var l=vr[a].fontName;return Ir(n,l,s)?vr[a].variant:null};function Jt(r){if(!r)return!1;if(r.type==="mi"&&r.children.length===1){var e=r.children[0];return e instanceof ke&&e.text==="."}else if(r.type==="mo"&&r.children.length===1&&r.getAttribute("separator")==="true"&&r.getAttribute("lspace")==="0em"&&r.getAttribute("rspace")==="0em"){var t=r.children[0];return t instanceof ke&&t.text===","}else return!1}var He=function(e,t,a){if(e.length===1){var s=he(e[0],t);return a&&s instanceof q&&s.type==="mo"&&(s.setAttribute("lspace","0em"),s.setAttribute("rspace","0em")),[s]}for(var n=[],l,c=0;c<e.length;c++){var d=he(e[c],t);if(d instanceof q&&l instanceof q){if(d.type==="mtext"&&l.type==="mtext"&&d.getAttribute("mathvariant")===l.getAttribute("mathvariant")){l.children.push(...d.children);continue}else if(d.type==="mn"&&l.type==="mn"){l.children.push(...d.children);continue}else if(Jt(d)&&l.type==="mn"){l.children.push(...d.children);continue}else if(d.type==="mn"&&Jt(l))d.children=[...l.children,...d.children],n.pop();else if((d.type==="msup"||d.type==="msub")&&d.children.length>=1&&(l.type==="mn"||Jt(l))){var m=d.children[0];m instanceof q&&m.type==="mn"&&(m.children=[...l.children,...m.children],n.pop())}else if(l.type==="mi"&&l.children.length===1){var f=l.children[0];if(f instanceof ke&&f.text==="̸"&&(d.type==="mo"||d.type==="mi"||d.type==="mn")){var x=d.children[0];x instanceof ke&&x.text.length>0&&(x.text=x.text.slice(0,1)+"̸"+x.text.slice(1),n.pop())}}}n.push(d),l=d}return n},x0=function(e,t,a){return qr(He(e,t,a))},he=function(e,t){if(!e)return new q("mrow");if(kt[e.type]){var a=kt[e.type](e,t);return a}else throw new R("Got group of unknown type: '"+e.type+"'")};function ka(r,e,t,a,s){var n=He(r,t),l;n.length===1&&n[0]instanceof q&&al.has(n[0].type)?l=n[0]:l=new q("mrow",n);var c=new q("annotation",[new ke(e)]);c.setAttribute("encoding","application/x-tex");var d=new q("semantics",[l,c]),m=new q("math",[d]);m.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),a&&m.setAttribute("display","block");var f=s?"katex":"katex-mathml";return I([f],[m])}var zs=function(e){return new r0({style:e.displayMode?_.DISPLAY:_.TEXT,maxSize:e.maxSize,minRuleThickness:e.minRuleThickness})},js=function(e,t){if(t.displayMode){var a=["katex-display"];t.leqno&&a.push("leqno"),t.fleqn&&a.push("fleqn"),e=I(a,[e])}return e},sl=function(e,t,a){var s=zs(a),n;if(a.output==="mathml")return ka(e,t,s,a.displayMode,!0);if(a.output==="html"){var l=br(e,s);n=I(["katex"],[l])}else{var c=ka(e,t,s,a.displayMode,!1),d=br(e,s);n=I(["katex"],[c,d])}return js(n,a)},nl=function(e,t,a){var s=zs(a),n=br(e,s),l=I(["katex"],[n]);return js(l,a)},il={widehat:"^",widecheck:"ˇ",widetilde:"~",utilde:"~",overleftarrow:"←",underleftarrow:"←",xleftarrow:"←",overrightarrow:"→",underrightarrow:"→",xrightarrow:"→",underbrace:"⏟",overbrace:"⏞",overgroup:"⏠",undergroup:"⏡",overleftrightarrow:"↔",underleftrightarrow:"↔",xleftrightarrow:"↔",Overrightarrow:"⇒",xRightarrow:"⇒",overleftharpoon:"↼",xleftharpoonup:"↼",overrightharpoon:"⇀",xrightharpoonup:"⇀",xLeftarrow:"⇐",xLeftrightarrow:"⇔",xhookleftarrow:"↩",xhookrightarrow:"↪",xmapsto:"↦",xrightharpoondown:"⇁",xleftharpoondown:"↽",xrightleftharpoons:"⇌",xleftrightharpoons:"⇋",xtwoheadleftarrow:"↞",xtwoheadrightarrow:"↠",xlongequal:"=",xtofrom:"⇄",xrightleftarrows:"⇄",xrightequilibrium:"⇌",xleftequilibrium:"⇋","\\cdrightarrow":"→","\\cdleftarrow":"←","\\cdlongequal":"="},jt=function(e){var t=new q("mo",[new ke(il[e.replace(/^\\/,"")])]);return t.setAttribute("stretchy","true"),t},ll={overrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],overleftarrow:[["leftarrow"],.888,522,"xMinYMin"],underrightarrow:[["rightarrow"],.888,522,"xMaxYMin"],underleftarrow:[["leftarrow"],.888,522,"xMinYMin"],xrightarrow:[["rightarrow"],1.469,522,"xMaxYMin"],"\\cdrightarrow":[["rightarrow"],3,522,"xMaxYMin"],xleftarrow:[["leftarrow"],1.469,522,"xMinYMin"],"\\cdleftarrow":[["leftarrow"],3,522,"xMinYMin"],Overrightarrow:[["doublerightarrow"],.888,560,"xMaxYMin"],xRightarrow:[["doublerightarrow"],1.526,560,"xMaxYMin"],xLeftarrow:[["doubleleftarrow"],1.526,560,"xMinYMin"],overleftharpoon:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoonup:[["leftharpoon"],.888,522,"xMinYMin"],xleftharpoondown:[["leftharpoondown"],.888,522,"xMinYMin"],overrightharpoon:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoonup:[["rightharpoon"],.888,522,"xMaxYMin"],xrightharpoondown:[["rightharpoondown"],.888,522,"xMaxYMin"],xlongequal:[["longequal"],.888,334,"xMinYMin"],"\\cdlongequal":[["longequal"],3,334,"xMinYMin"],xtwoheadleftarrow:[["twoheadleftarrow"],.888,334,"xMinYMin"],xtwoheadrightarrow:[["twoheadrightarrow"],.888,334,"xMaxYMin"],overleftrightarrow:[["leftarrow","rightarrow"],.888,522],overbrace:[["leftbrace","midbrace","rightbrace"],1.6,548],underbrace:[["leftbraceunder","midbraceunder","rightbraceunder"],1.6,548],underleftrightarrow:[["leftarrow","rightarrow"],.888,522],xleftrightarrow:[["leftarrow","rightarrow"],1.75,522],xLeftrightarrow:[["doubleleftarrow","doublerightarrow"],1.75,560],xrightleftharpoons:[["leftharpoondownplus","rightharpoonplus"],1.75,716],xleftrightharpoons:[["leftharpoonplus","rightharpoondownplus"],1.75,716],xhookleftarrow:[["leftarrow","righthook"],1.08,522],xhookrightarrow:[["lefthook","rightarrow"],1.08,522],overlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],underlinesegment:[["leftlinesegment","rightlinesegment"],.888,522],overgroup:[["leftgroup","rightgroup"],.888,342],undergroup:[["leftgroupunder","rightgroupunder"],.888,342],xmapsto:[["leftmapsto","rightarrow"],1.5,522],xtofrom:[["leftToFrom","rightToFrom"],1.75,528],xrightleftarrows:[["baraboveleftarrow","rightarrowabovebar"],1.75,901],xrightequilibrium:[["baraboveshortleftharpoon","rightharpoonaboveshortbar"],1.75,716],xleftequilibrium:[["shortbaraboveleftharpoon","shortrightharpoonabovebar"],1.75,716]},ol=new Set(["widehat","widecheck","widetilde","utilde"]),Ct=function(e,t){function a(){var c=4e5,d=e.label.slice(1);if(ol.has(d)){var m=e,f=m.base.type==="ordgroup"?m.base.body.length:1,x,y,b;if(f>5)d==="widehat"||d==="widecheck"?(x=420,c=2364,b=.42,y=d+"4"):(x=312,c=2340,b=.34,y="tilde4");else{var k=[1,1,2,2,3,3][f];d==="widehat"||d==="widecheck"?(c=[0,1062,2364,2364,2364][k],x=[0,239,300,360,420][k],b=[0,.24,.3,.3,.36,.42][k],y=d+k):(c=[0,600,1033,2339,2340][k],x=[0,260,286,306,312][k],b=[0,.26,.286,.3,.306,.34][k],y="tilde"+k)}var S=new g0(y),z=new n0([S],{width:"100%",height:P(b),viewBox:"0 0 "+c+" "+x,preserveAspectRatio:"none"});return{span:v0([],[z],t),minWidth:0,height:b}}else{var E=[],T=ll[d],[H,V,B]=T,G=B/1e3,W=H.length,$,N;if(W===1){var j=T[3];$=["hide-tail"],N=[j]}else if(W===2)$=["halfarrow-left","halfarrow-right"],N=["xMinYMin","xMaxYMin"];else if(W===3)$=["brace-left","brace-center","brace-right"],N=["xMinYMin","xMidYMin","xMaxYMin"];else throw new Error(`Correct katexImagesData or update code here to support
260
+ `+W+" children.");for(var C=0;C<W;C++){var F=new g0(H[C]),Z=new n0([F],{width:"400em",height:P(G),viewBox:"0 0 "+c+" "+B,preserveAspectRatio:N[C]+" slice"}),X=v0([$[C]],[Z],t);if(W===1)return{span:X,minWidth:V,height:G};X.style.height=P(G),E.push(X)}return{span:I(["stretchy"],E,t),minWidth:V,height:G}}}var{span:s,minWidth:n,height:l}=a();return s.height=l,s.style.height=P(l),n>0&&(s.style.minWidth=P(n)),s},ul=function(e,t,a,s,n){var l,c=e.height+e.depth+a+s;if(/fbox|color|angl/.test(t)){if(l=I(["stretchy",t],[],n),t==="fbox"){var d=n.color&&n.getColor();d&&(l.style.borderColor=d)}}else{var m=[];/^[bx]cancel$/.test(t)&&m.push(new fr({x1:"0",y1:"0",x2:"100%",y2:"100%","stroke-width":"0.046em"})),/^x?cancel$/.test(t)&&m.push(new fr({x1:"0",y1:"100%",x2:"100%",y2:"0","stroke-width":"0.046em"}));var f=new n0(m,{width:"100%",height:P(c)});l=v0([],[f],n)}return l.height=c,l.style.height=P(c),l};function ae(r,e){if(!r||r.type!==e)throw new Error("Expected node of type "+e+", but got "+(r?"node of type "+r.type:String(r)));return r}function Or(r){var e=Dt(r);if(!e)throw new Error("Expected node of symbol group type, but got "+(r?"node of type "+r.type:String(r)));return e}function Dt(r){return r&&(r.type==="atom"||Gi.hasOwnProperty(r.type))?r:null}var Hr=(r,e)=>{var t,a,s;r&&r.type==="supsub"?(a=ae(r.base,"accent"),t=a.base,r.base=t,s=Li(ie(r,e)),r.base=a):(a=ae(r,"accent"),t=a.base);var n=ie(t,e.havingCrampedStyle()),l=a.isShifty&&i0(t),c=0;if(l){var d=X0(t),m=ie(d,e.havingCrampedStyle());c=fa(m).skew}var f=a.label==="\\c",x=f?n.height+n.depth:Math.min(n.height,e.fontMetrics().xHeight),y;if(a.isStretchy)y=Ct(a,e),y=oe({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"elem",elem:y,wrapperClasses:["svg-align"],wrapperStyle:c>0?{width:"calc(100% - "+P(2*c)+")",marginLeft:P(2*c)}:void 0}]});else{var b,k;a.label==="\\vec"?(b=Ss("vec",e),k=ks.vec[1]):(b=zt({mode:a.mode,text:a.label},e,"textord"),b=fa(b),b.italic=0,k=b.width,f&&(x+=b.depth)),y=I(["accent-body"],[b]);var S=a.label==="\\textcircled";S&&(y.classes.push("accent-full"),x=n.height);var z=c;S||(z-=k/2),y.style.left=P(z),a.label==="\\textcircled"&&(y.style.top=".2em"),y=oe({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:-x},{type:"elem",elem:y}]})}var E=I(["mord","accent"],[y],e);return s?(s.children[0]=E,s.height=Math.max(E.height,s.height),s.classes[0]="mord",s):E},Cs=(r,e)=>{var t=r.isStretchy?jt(r.label):new q("mo",[We(r.label,r.mode)]),a=new q("mover",[he(r.base,e),t]);return a.setAttribute("accent","true"),a},cl=new RegExp(["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"].map(r=>"\\"+r).join("|"));L({type:"accent",names:["\\acute","\\grave","\\ddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\widecheck","\\widehat","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overlinesegment","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(r,e)=>{var t=St(e[0]),a=!cl.test(r.funcName),s=!a||r.funcName==="\\widehat"||r.funcName==="\\widetilde"||r.funcName==="\\widecheck";return{type:"accent",mode:r.parser.mode,label:r.funcName,isStretchy:a,isShifty:s,base:t}},htmlBuilder:Hr,mathmlBuilder:Cs});L({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\u","\\.",'\\"',"\\c","\\r","\\H","\\v","\\textcircled"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(r,e)=>{var t=e[0],a=r.parser.mode;return a==="math"&&(r.parser.settings.reportNonstrict("mathVsTextAccents","LaTeX's accent "+r.funcName+" works only in text mode"),a="text"),{type:"accent",mode:a,label:r.funcName,isStretchy:!1,isShifty:!0,base:t}},htmlBuilder:Hr,mathmlBuilder:Cs});L({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underlinesegment","\\utilde"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"accentUnder",mode:t.mode,label:a,base:s}},htmlBuilder:(r,e)=>{var t=ie(r.base,e),a=Ct(r,e),s=r.label==="\\utilde"?.12:0,n=oe({positionType:"top",positionData:t.height,children:[{type:"elem",elem:a,wrapperClasses:["svg-align"]},{type:"kern",size:s},{type:"elem",elem:t}]});return I(["mord","accentunder"],[n],e)},mathmlBuilder:(r,e)=>{var t=jt(r.label),a=new q("munder",[he(r.base,e),t]);return a.setAttribute("accentunder","true"),a}});var ct=r=>{var e=new q("mpadded",r?[r]:[]);return e.setAttribute("width","+0.6em"),e.setAttribute("lspace","0.3em"),e};L({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xrightleftharpoons","\\xleftrightharpoons","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xrightleftarrows","\\xrightequilibrium","\\xleftequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a,funcName:s}=r;return{type:"xArrow",mode:a.mode,label:s,body:e[0],below:t[0]}},htmlBuilder(r,e){var t=e.style,a=e.havingStyle(t.sup()),s=E0(ie(r.body,a,e),e),n=r.label.slice(0,2)==="\\x"?"x":"cd";s.classes.push(n+"-arrow-pad");var l;r.below&&(a=e.havingStyle(t.sub()),l=E0(ie(r.below,a,e),e),l.classes.push(n+"-arrow-pad"));var c=Ct(r,e),d=-e.fontMetrics().axisHeight+.5*c.height,m=-e.fontMetrics().axisHeight-.5*c.height-.111;(s.depth>.25||r.label==="\\xleftequilibrium")&&(m-=s.depth);var f;if(l){var x=-e.fontMetrics().axisHeight+l.height+.5*c.height+.111;f=oe({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:c,shift:d},{type:"elem",elem:l,shift:x}]})}else f=oe({positionType:"individualShift",children:[{type:"elem",elem:s,shift:m},{type:"elem",elem:c,shift:d}]});return f.children[0].children[0].children[1].classes.push("svg-align"),I(["mrel","x-arrow"],[f],e)},mathmlBuilder(r,e){var t=jt(r.label);t.setAttribute("minsize",r.label.charAt(0)==="x"?"1.75em":"3.0em");var a;if(r.body){var s=ct(he(r.body,e));if(r.below){var n=ct(he(r.below,e));a=new q("munderover",[t,n,s])}else a=new q("mover",[t,s])}else if(r.below){var l=ct(he(r.below,e));a=new q("munder",[t,l])}else a=ct(),a=new q("mover",[t,a]);return a}});function Ds(r,e){var t=Ae(r.body,e,!0);return I([r.mclass],t,e)}function Bs(r,e){var t,a=He(r.body,e);return r.mclass==="minner"?t=new q("mpadded",a):r.mclass==="mord"?r.isCharacterBox?(t=a[0],t.type="mi"):t=new q("mi",a):(r.isCharacterBox?(t=a[0],t.type="mo"):t=new q("mo",a),r.mclass==="mbin"?(t.attributes.lspace="0.22em",t.attributes.rspace="0.22em"):r.mclass==="mpunct"?(t.attributes.lspace="0em",t.attributes.rspace="0.17em"):r.mclass==="mopen"||r.mclass==="mclose"?(t.attributes.lspace="0em",t.attributes.rspace="0em"):r.mclass==="minner"&&(t.attributes.lspace="0.0556em",t.attributes.width="+0.1111em")),t}L({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"mclass",mode:t.mode,mclass:"m"+a.slice(5),body:we(s),isCharacterBox:i0(s)}},htmlBuilder:Ds,mathmlBuilder:Bs});var Bt=r=>{var e=r.type==="ordgroup"&&r.body.length?r.body[0]:r;return e.type==="atom"&&(e.family==="bin"||e.family==="rel")?"m"+e.family:"mord"};L({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler(r,e){var{parser:t}=r;return{type:"mclass",mode:t.mode,mclass:Bt(e[0]),body:we(e[1]),isCharacterBox:i0(e[1])}}});L({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler(r,e){var{parser:t,funcName:a}=r,s=e[1],n=e[0],l;a!=="\\stackrel"?l=Bt(s):l="mrel";var c={type:"op",mode:s.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:a!=="\\stackrel",body:we(s)},d={type:"supsub",mode:n.mode,base:c,sup:a==="\\underset"?null:n,sub:a==="\\underset"?n:null};return{type:"mclass",mode:t.mode,mclass:l,body:[d],isCharacterBox:i0(d)}},htmlBuilder:Ds,mathmlBuilder:Bs});L({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"pmb",mode:t.mode,mclass:Bt(e[0]),body:we(e[0])}},htmlBuilder(r,e){var t=Ae(r.body,e,!0),a=I([r.mclass],t,e);return a.style.textShadow="0.02em 0.01em 0.04px",a},mathmlBuilder(r,e){var t=He(r.body,e),a=new q("mstyle",t);return a.setAttribute("style","text-shadow: 0.02em 0.01em 0.04px"),a}});var dl={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},Sa=()=>({type:"styling",body:[],mode:"math",style:"display"}),Ma=r=>r.type==="textord"&&r.text==="@",hl=(r,e)=>(r.type==="mathord"||r.type==="atom")&&r.text===e;function ml(r,e,t){var a=dl[r];switch(a){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return t.callFunction(a,[e[0]],[e[1]]);case"\\uparrow":case"\\downarrow":{var s=t.callFunction("\\\\cdleft",[e[0]],[]),n={type:"atom",text:a,mode:"math",family:"rel"},l=t.callFunction("\\Big",[n],[]),c=t.callFunction("\\\\cdright",[e[1]],[]),d={type:"ordgroup",mode:"math",body:[s,l,c]};return t.callFunction("\\\\cdparent",[d],[])}case"\\\\cdlongequal":return t.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{var m={type:"textord",text:"\\Vert",mode:"math"};return t.callFunction("\\Big",[m],[])}default:return{type:"textord",text:" ",mode:"math"}}}function pl(r){var e=[];for(r.gullet.beginGroup(),r.gullet.macros.set("\\cr","\\\\\\relax"),r.gullet.beginGroup();;){e.push(r.parseExpression(!1,"\\\\")),r.gullet.endGroup(),r.gullet.beginGroup();var t=r.fetch().text;if(t==="&"||t==="\\\\")r.consume();else if(t==="\\end"){e[e.length-1].length===0&&e.pop();break}else throw new R("Expected \\\\ or \\cr or \\end",r.nextToken)}for(var a=[],s=[a],n=0;n<e.length;n++){for(var l=e[n],c=Sa(),d=0;d<l.length;d++)if(!Ma(l[d]))c.body.push(l[d]);else{a.push(c),d+=1;var m=Or(l[d]).text,f=new Array(2);if(f[0]={type:"ordgroup",mode:"math",body:[]},f[1]={type:"ordgroup",mode:"math",body:[]},!"=|.".includes(m))if("<>AV".includes(m))for(var x=0;x<2;x++){for(var y=!0,b=d+1;b<l.length;b++){if(hl(l[b],m)){y=!1,d=b;break}if(Ma(l[b]))throw new R("Missing a "+m+" character to complete a CD arrow.",l[b]);f[x].body.push(l[b])}if(y)throw new R("Missing a "+m+" character to complete a CD arrow.",l[d])}else throw new R('Expected one of "<>AV=|." after @',l[d]);var k=ml(m,f,r),S={type:"styling",body:[k],mode:"math",style:"display"};a.push(S),c=Sa()}n%2===0?a.push(c):a.shift(),a=[],s.push(a)}r.gullet.endGroup(),r.gullet.endGroup();var z=new Array(s[0].length).fill({type:"align",align:"c",pregap:.25,postgap:.25});return{type:"array",mode:"math",body:s,arraystretch:1,addJot:!0,rowGaps:[null],cols:z,colSeparationType:"CD",hLinesBeforeRow:new Array(s.length+1).fill([])}}L({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"cdlabel",mode:t.mode,side:a.slice(4),label:e[0]}},htmlBuilder(r,e){var t=e.havingStyle(e.style.sup()),a=E0(ie(r.label,t,e),e);return a.classes.push("cd-label-"+r.side),a.style.bottom=P(.8-a.depth),a.height=0,a.depth=0,a},mathmlBuilder(r,e){var t=new q("mrow",[he(r.label,e)]);return t=new q("mpadded",[t]),t.setAttribute("width","0"),r.side==="left"&&t.setAttribute("lspace","-1width"),t.setAttribute("voffset","0.7em"),t=new q("mstyle",[t]),t.setAttribute("displaystyle","false"),t.setAttribute("scriptlevel","1"),t}});L({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler(r,e){var{parser:t}=r;return{type:"cdlabelparent",mode:t.mode,fragment:e[0]}},htmlBuilder(r,e){var t=E0(ie(r.fragment,e),e);return t.classes.push("cd-vert-arrow"),t},mathmlBuilder(r,e){return new q("mrow",[he(r.fragment,e)])}});L({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler(r,e){for(var{parser:t}=r,a=ae(e[0],"ordgroup"),s=a.body,n="",l=0;l<s.length;l++){var c=ae(s[l],"textord");n+=c.text}var d=parseInt(n),m;if(isNaN(d))throw new R("\\@char has non-numeric argument "+n);if(d<0||d>=1114111)throw new R("\\@char with invalid code point "+n);return d<=65535?m=String.fromCharCode(d):(d-=65536,m=String.fromCharCode((d>>10)+55296,(d&1023)+56320)),{type:"textord",mode:t.mode,text:m}}});var Is=(r,e)=>{var t=Ae(r.body,e.withColor(r.color),!1);return o0(t)},Es=(r,e)=>{var t=He(r.body,e.withColor(r.color)),a=new q("mstyle",t);return a.setAttribute("mathcolor",r.color),a};L({type:"color",names:["\\textcolor"],props:{numArgs:2,allowedInText:!0,argTypes:["color","original"]},handler(r,e){var{parser:t}=r,a=ae(e[0],"color-token").color,s=e[1];return{type:"color",mode:t.mode,color:a,body:we(s)}},htmlBuilder:Is,mathmlBuilder:Es});L({type:"color",names:["\\color"],props:{numArgs:1,allowedInText:!0,argTypes:["color"]},handler(r,e){var{parser:t,breakOnTokenText:a}=r,s=ae(e[0],"color-token").color;t.gullet.macros.set("\\current@color",s);var n=t.parseExpression(!0,a);return{type:"color",mode:t.mode,color:s,body:n}},htmlBuilder:Is,mathmlBuilder:Es});L({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler(r,e,t){var{parser:a}=r,s=a.gullet.future().text==="["?a.parseSizeGroup(!0):null,n=!a.settings.displayMode||!a.settings.useStrictBehavior("newLineInDisplayMode","In LaTeX, \\\\ or \\newline does nothing in display mode");return{type:"cr",mode:a.mode,newLine:n,size:s&&ae(s,"size").value}},htmlBuilder(r,e){var t=I(["mspace"],[],e);return r.newLine&&(t.classes.push("newline"),r.size&&(t.style.marginTop=P(xe(r.size,e)))),t},mathmlBuilder(r,e){var t=new q("mspace");return r.newLine&&(t.setAttribute("linebreak","newline"),r.size&&t.setAttribute("height",P(xe(r.size,e)))),t}});var yr={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},Fs=r=>{var e=r.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(e))throw new R("Expected a control sequence",r);return e},fl=r=>{var e=r.gullet.popToken();return e.text==="="&&(e=r.gullet.popToken(),e.text===" "&&(e=r.gullet.popToken())),e},Rs=(r,e,t,a)=>{var s=r.gullet.macros.get(t.text);s==null&&(t.noexpand=!0,s={tokens:[t],numArgs:0,unexpandable:!r.gullet.isExpandable(t.text)}),r.gullet.macros.set(e,s,a)};L({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler(r){var{parser:e,funcName:t}=r;e.consumeSpaces();var a=e.fetch();if(yr[a.text])return(t==="\\global"||t==="\\\\globallong")&&(a.text=yr[a.text]),ae(e.parseFunction(),"internal");throw new R("Invalid token after macro prefix",a)}});L({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=e.gullet.popToken(),s=a.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(s))throw new R("Expected a control sequence",a);for(var n=0,l,c=[[]];e.gullet.future().text!=="{";)if(a=e.gullet.popToken(),a.text==="#"){if(e.gullet.future().text==="{"){l=e.gullet.future(),c[n].push("{");break}if(a=e.gullet.popToken(),!/^[1-9]$/.test(a.text))throw new R('Invalid argument number "'+a.text+'"');if(parseInt(a.text)!==n+1)throw new R('Argument number "'+a.text+'" out of order');n++,c.push([])}else{if(a.text==="EOF")throw new R("Expected a macro definition");c[n].push(a.text)}var{tokens:d}=e.gullet.consumeArg();return l&&d.unshift(l),(t==="\\edef"||t==="\\xdef")&&(d=e.gullet.expandTokens(d),d.reverse()),e.gullet.macros.set(s,{tokens:d,numArgs:n,delimiters:c},t===yr[t]),{type:"internal",mode:e.mode}}});L({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=Fs(e.gullet.popToken());e.gullet.consumeSpaces();var s=fl(e);return Rs(e,a,s,t==="\\\\globallet"),{type:"internal",mode:e.mode}}});L({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r){var{parser:e,funcName:t}=r,a=Fs(e.gullet.popToken()),s=e.gullet.popToken(),n=e.gullet.popToken();return Rs(e,a,n,t==="\\\\globalfuture"),e.gullet.pushToken(n),e.gullet.pushToken(s),{type:"internal",mode:e.mode}}});var V0=function(e,t,a){var s=pe.math[e]&&pe.math[e].replace,n=Ir(s||e,t,a);if(!n)throw new Error("Unsupported symbol "+e+" and font size "+t+".");return n},Lr=function(e,t,a,s){var n=a.havingBaseStyle(t),l=I(s.concat(n.sizingClasses(a)),[e],a),c=n.sizeMultiplier/a.sizeMultiplier;return l.height*=c,l.depth*=c,l.maxFontSize=n.sizeMultiplier,l},qs=function(e,t,a){var s=t.havingBaseStyle(a),n=(1-t.sizeMultiplier/s.sizeMultiplier)*t.fontMetrics().axisHeight;e.classes.push("delimcenter"),e.style.top=P(n),e.height-=n,e.depth+=n},gl=function(e,t,a,s,n,l){var c=Fe(e,"Main-Regular",n,s),d=Lr(c,t,s,l);return qs(d,s,t),d},vl=function(e,t,a,s){return Fe(e,"Size"+t+"-Regular",a,s)},Ps=function(e,t,a,s,n,l){var c=vl(e,t,n,s),d=Lr(I(["delimsizing","size"+t],[c],s),_.TEXT,s,l);return a&&qs(d,s,_.TEXT),d},Qt=function(e,t,a){var s;t==="Size1-Regular"?s="delim-size1":s="delim-size4";var n=I(["delimsizinginner",s],[I([],[Fe(e,t,a)])]);return{type:"elem",elem:n}},_t=function(e,t,a){var s=Ke["Size4-Regular"][e.charCodeAt(0)]?Ke["Size4-Regular"][e.charCodeAt(0)][4]:Ke["Size1-Regular"][e.charCodeAt(0)][4],n=new g0("inner",Bi(e,Math.round(1e3*t))),l=new n0([n],{width:P(s),height:P(t),style:"width:"+P(s),viewBox:"0 0 "+1e3*s+" "+Math.round(1e3*t),preserveAspectRatio:"xMinYMin"}),c=v0([],[l],a);return c.height=t,c.style.height=P(t),c.style.width=P(s),{type:"elem",elem:c}},wr=.008,dt={type:"kern",size:-1*wr},xl=new Set(["|","\\lvert","\\rvert","\\vert"]),bl=new Set(["\\|","\\lVert","\\rVert","\\Vert"]),Os=function(e,t,a,s,n,l){var c,d,m,f,x="",y=0;c=m=f=e,d=null;var b="Size1-Regular";e==="\\uparrow"?m=f="⏐":e==="\\Uparrow"?m=f="‖":e==="\\downarrow"?c=m="⏐":e==="\\Downarrow"?c=m="‖":e==="\\updownarrow"?(c="\\uparrow",m="⏐",f="\\downarrow"):e==="\\Updownarrow"?(c="\\Uparrow",m="‖",f="\\Downarrow"):xl.has(e)?(m="∣",x="vert",y=333):bl.has(e)?(m="∥",x="doublevert",y=556):e==="["||e==="\\lbrack"?(c="⎡",m="⎢",f="⎣",b="Size4-Regular",x="lbrack",y=667):e==="]"||e==="\\rbrack"?(c="⎤",m="⎥",f="⎦",b="Size4-Regular",x="rbrack",y=667):e==="\\lfloor"||e==="⌊"?(m=c="⎢",f="⎣",b="Size4-Regular",x="lfloor",y=667):e==="\\lceil"||e==="⌈"?(c="⎡",m=f="⎢",b="Size4-Regular",x="lceil",y=667):e==="\\rfloor"||e==="⌋"?(m=c="⎥",f="⎦",b="Size4-Regular",x="rfloor",y=667):e==="\\rceil"||e==="⌉"?(c="⎤",m=f="⎥",b="Size4-Regular",x="rceil",y=667):e==="("||e==="\\lparen"?(c="⎛",m="⎜",f="⎝",b="Size4-Regular",x="lparen",y=875):e===")"||e==="\\rparen"?(c="⎞",m="⎟",f="⎠",b="Size4-Regular",x="rparen",y=875):e==="\\{"||e==="\\lbrace"?(c="⎧",d="⎨",f="⎩",m="⎪",b="Size4-Regular"):e==="\\}"||e==="\\rbrace"?(c="⎫",d="⎬",f="⎭",m="⎪",b="Size4-Regular"):e==="\\lgroup"||e==="⟮"?(c="⎧",f="⎩",m="⎪",b="Size4-Regular"):e==="\\rgroup"||e==="⟯"?(c="⎫",f="⎭",m="⎪",b="Size4-Regular"):e==="\\lmoustache"||e==="⎰"?(c="⎧",f="⎭",m="⎪",b="Size4-Regular"):(e==="\\rmoustache"||e==="⎱")&&(c="⎫",f="⎩",m="⎪",b="Size4-Regular");var k=V0(c,b,n),S=k.height+k.depth,z=V0(m,b,n),E=z.height+z.depth,T=V0(f,b,n),H=T.height+T.depth,V=0,B=1;if(d!==null){var G=V0(d,b,n);V=G.height+G.depth,B=2}var W=S+H+V,$=Math.max(0,Math.ceil((t-W)/(B*E))),N=W+$*B*E,j=s.fontMetrics().axisHeight;a&&(j*=s.sizeMultiplier);var C=N/2-j,F=[];if(x.length>0){var Z=N-S-H,X=Math.round(N*1e3),O=Ii(x,Math.round(Z*1e3)),re=new g0(x,O),Q=(y/1e3).toFixed(3)+"em",le=(X/1e3).toFixed(3)+"em",Me=new n0([re],{width:Q,height:le,viewBox:"0 0 "+y+" "+X}),Ne=v0([],[Me],s);Ne.height=X/1e3,Ne.style.width=Q,Ne.style.height=le,F.push({type:"elem",elem:Ne})}else{if(F.push(Qt(f,b,n)),F.push(dt),d===null){var Ie=N-S-H+2*wr;F.push(_t(m,Ie,s))}else{var ee=(N-S-H-V)/2+2*wr;F.push(_t(m,ee,s)),F.push(dt),F.push(Qt(d,b,n)),F.push(dt),F.push(_t(m,ee,s))}F.push(dt),F.push(Qt(c,b,n))}var ne=s.havingBaseStyle(_.TEXT),ge=oe({positionType:"bottom",positionData:C,children:F});return Lr(I(["delimsizing","mult"],[ge],ne),_.TEXT,s,l)},er=80,tr=.08,rr=function(e,t,a,s,n){var l=Di(e,s,a),c=new g0(e,l),d=new n0([c],{width:"400em",height:P(t),viewBox:"0 0 400000 "+a,preserveAspectRatio:"xMinYMin slice"});return v0(["hide-tail"],[d],n)},yl=function(e,t){var a=t.havingBaseSizing(),s=Us("\\surd",e*a.sizeMultiplier,Gs,a),n=a.sizeMultiplier,l=Math.max(0,t.minRuleThickness-t.fontMetrics().sqrtRuleThickness),c,d=0,m=0,f=0,x;return s.type==="small"?(f=1e3+1e3*l+er,e<1?n=1:e<1.4&&(n=.7),d=(1+l+tr)/n,m=(1+l)/n,c=rr("sqrtMain",d,f,l,t),c.style.minWidth="0.853em",x=.833/n):s.type==="large"?(f=(1e3+er)*Y0[s.size],m=(Y0[s.size]+l)/n,d=(Y0[s.size]+l+tr)/n,c=rr("sqrtSize"+s.size,d,f,l,t),c.style.minWidth="1.02em",x=1/n):(d=e+l+tr,m=e+l,f=Math.floor(1e3*e+l)+er,c=rr("sqrtTall",d,f,l,t),c.style.minWidth="0.742em",x=1.056),c.height=m,c.style.height=P(d),{span:c,advanceWidth:x,ruleWidth:(t.fontMetrics().sqrtRuleThickness+l)*n}},Hs=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","\\surd"]),wl=new Set(["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱"]),Ls=new Set(["<",">","\\langle","\\rangle","/","\\backslash","\\lt","\\gt"]),Y0=[0,1.2,1.8,2.4,3],$s=function(e,t,a,s,n){if(e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle"),Hs.has(e)||Ls.has(e))return Ps(e,t,!1,a,s,n);if(wl.has(e))return Os(e,Y0[t],!1,a,s,n);throw new R("Illegal delimiter: '"+e+"'")},kl=[{type:"small",style:_.SCRIPTSCRIPT},{type:"small",style:_.SCRIPT},{type:"small",style:_.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}],Sl=[{type:"small",style:_.SCRIPTSCRIPT},{type:"small",style:_.SCRIPT},{type:"small",style:_.TEXT},{type:"stack"}],Gs=[{type:"small",style:_.SCRIPTSCRIPT},{type:"small",style:_.SCRIPT},{type:"small",style:_.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}],Ml=function(e){if(e.type==="small")return"Main-Regular";if(e.type==="large")return"Size"+e.size+"-Regular";if(e.type==="stack")return"Size4-Regular";throw new Error("Add support for delim type '"+e.type+"' here.")},Us=function(e,t,a,s){for(var n=Math.min(2,3-s.style.size),l=n;l<a.length&&a[l].type!=="stack";l++){var c=V0(e,Ml(a[l]),"math"),d=c.height+c.depth;if(a[l].type==="small"){var m=s.havingBaseStyle(a[l].style);d*=m.sizeMultiplier}if(d>t)return a[l]}return a[a.length-1]},kr=function(e,t,a,s,n,l){e==="<"||e==="\\lt"||e==="⟨"?e="\\langle":(e===">"||e==="\\gt"||e==="⟩")&&(e="\\rangle");var c;Ls.has(e)?c=kl:Hs.has(e)?c=Gs:c=Sl;var d=Us(e,t,c,s);return d.type==="small"?gl(e,d.style,a,s,n,l):d.type==="large"?Ps(e,d.size,a,s,n,l):Os(e,t,a,s,n,l)},ar=function(e,t,a,s,n,l){var c=s.fontMetrics().axisHeight*s.sizeMultiplier,d=901,m=5/s.fontMetrics().ptPerEm,f=Math.max(t-c,a+c),x=Math.max(f/500*d,2*f-m);return kr(e,x,!0,s,n,l)},Na={"\\bigl":{mclass:"mopen",size:1},"\\Bigl":{mclass:"mopen",size:2},"\\biggl":{mclass:"mopen",size:3},"\\Biggl":{mclass:"mopen",size:4},"\\bigr":{mclass:"mclose",size:1},"\\Bigr":{mclass:"mclose",size:2},"\\biggr":{mclass:"mclose",size:3},"\\Biggr":{mclass:"mclose",size:4},"\\bigm":{mclass:"mrel",size:1},"\\Bigm":{mclass:"mrel",size:2},"\\biggm":{mclass:"mrel",size:3},"\\Biggm":{mclass:"mrel",size:4},"\\big":{mclass:"mord",size:1},"\\Big":{mclass:"mord",size:2},"\\bigg":{mclass:"mord",size:3},"\\Bigg":{mclass:"mord",size:4}},Nl=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","⌊","⌋","\\lceil","\\rceil","⌈","⌉","<",">","\\langle","⟨","\\rangle","⟩","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","⟮","⟯","\\lmoustache","\\rmoustache","⎰","⎱","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]);function It(r,e){var t=Dt(r);if(t&&Nl.has(t.text))return t;throw t?new R("Invalid delimiter '"+t.text+"' after '"+e.funcName+"'",r):new R("Invalid delimiter type '"+r.type+"'",r)}L({type:"delimsizing",names:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg"],props:{numArgs:1,argTypes:["primitive"]},handler:(r,e)=>{var t=It(e[0],r);return{type:"delimsizing",mode:r.parser.mode,size:Na[r.funcName].size,mclass:Na[r.funcName].mclass,delim:t.text}},htmlBuilder:(r,e)=>r.delim==="."?I([r.mclass]):$s(r.delim,r.size,e,r.mode,[r.mclass]),mathmlBuilder:r=>{var e=[];r.delim!=="."&&e.push(We(r.delim,r.mode));var t=new q("mo",e);r.mclass==="mopen"||r.mclass==="mclose"?t.setAttribute("fence","true"):t.setAttribute("fence","false"),t.setAttribute("stretchy","true");var a=P(Y0[r.size]);return t.setAttribute("minsize",a),t.setAttribute("maxsize",a),t}});function Ta(r){if(!r.body)throw new Error("Bug: The leftright ParseNode wasn't fully parsed.")}L({type:"leftright-right",names:["\\right"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=r.parser.gullet.macros.get("\\current@color");if(t&&typeof t!="string")throw new R("\\current@color set to non-string in \\right");return{type:"leftright-right",mode:r.parser.mode,delim:It(e[0],r).text,color:t}}});L({type:"leftright",names:["\\left"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=It(e[0],r),a=r.parser;++a.leftrightDepth;var s=a.parseExpression(!1);--a.leftrightDepth,a.expect("\\right",!1);var n=ae(a.parseFunction(),"leftright-right");return{type:"leftright",mode:a.mode,body:s,left:t.text,right:n.delim,rightColor:n.color}},htmlBuilder:(r,e)=>{Ta(r);for(var t=Ae(r.body,e,!0,["mopen","mclose"]),a=0,s=0,n=!1,l=0;l<t.length;l++)t[l].isMiddle?n=!0:(a=Math.max(t[l].height,a),s=Math.max(t[l].depth,s));a*=e.sizeMultiplier,s*=e.sizeMultiplier;var c;if(r.left==="."?c=Z0(e,["mopen"]):c=ar(r.left,a,s,e,r.mode,["mopen"]),t.unshift(c),n)for(var d=1;d<t.length;d++){var m=t[d],f=m.isMiddle;f&&(t[d]=ar(f.delim,a,s,f.options,r.mode,[]))}var x;if(r.right===".")x=Z0(e,["mclose"]);else{var y=r.rightColor?e.withColor(r.rightColor):e;x=ar(r.right,a,s,y,r.mode,["mclose"])}return t.push(x),I(["minner"],t,e)},mathmlBuilder:(r,e)=>{Ta(r);var t=He(r.body,e);if(r.left!=="."){var a=new q("mo",[We(r.left,r.mode)]);a.setAttribute("fence","true"),t.unshift(a)}if(r.right!=="."){var s=new q("mo",[We(r.right,r.mode)]);s.setAttribute("fence","true"),r.rightColor&&s.setAttribute("mathcolor",r.rightColor),t.push(s)}return qr(t)}});L({type:"middle",names:["\\middle"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var t=It(e[0],r);if(!r.parser.leftrightDepth)throw new R("\\middle without preceding \\left",t);return{type:"middle",mode:r.parser.mode,delim:t.text}},htmlBuilder:(r,e)=>{var t;if(r.delim===".")t=Z0(e,[]);else{t=$s(r.delim,1,e,r.mode,[]);var a={delim:r.delim,options:e};t.isMiddle=a}return t},mathmlBuilder:(r,e)=>{var t=r.delim==="\\vert"||r.delim==="|"?We("|","text"):We(r.delim,r.mode),a=new q("mo",[t]);return a.setAttribute("fence","true"),a.setAttribute("lspace","0.05em"),a.setAttribute("rspace","0.05em"),a}});var $r=(r,e)=>{var t=E0(ie(r.body,e),e),a=r.label.slice(1),s=e.sizeMultiplier,n,l=0,c=i0(r.body);if(a==="sout")n=I(["stretchy","sout"]),n.height=e.fontMetrics().defaultRuleThickness/s,l=-.5*e.fontMetrics().xHeight;else if(a==="phase"){var d=xe({number:.6,unit:"pt"},e),m=xe({number:.35,unit:"ex"},e),f=e.havingBaseSizing();s=s/f.sizeMultiplier;var x=t.height+t.depth+d+m;t.style.paddingLeft=P(x/2+d);var y=Math.floor(1e3*x*s),b=ji(y),k=new n0([new g0("phase",b)],{width:"400em",height:P(y/1e3),viewBox:"0 0 400000 "+y,preserveAspectRatio:"xMinYMin slice"});n=v0(["hide-tail"],[k],e),n.style.height=P(x),l=t.depth+d+m}else{/cancel/.test(a)?c||t.classes.push("cancel-pad"):a==="angl"?t.classes.push("anglpad"):t.classes.push("boxpad");var S=0,z=0,E=0;/box/.test(a)?(E=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness),S=e.fontMetrics().fboxsep+(a==="colorbox"?0:E),z=S):a==="angl"?(E=Math.max(e.fontMetrics().defaultRuleThickness,e.minRuleThickness),S=4*E,z=Math.max(0,.25-t.depth)):(S=c?.2:0,z=S),n=ul(t,a,S,z,e),/fbox|boxed|fcolorbox/.test(a)?(n.style.borderStyle="solid",n.style.borderWidth=P(E)):a==="angl"&&E!==.049&&(n.style.borderTopWidth=P(E),n.style.borderRightWidth=P(E)),l=t.depth+z,r.backgroundColor&&(n.style.backgroundColor=r.backgroundColor,r.borderColor&&(n.style.borderColor=r.borderColor))}var T;if(r.backgroundColor)T=oe({positionType:"individualShift",children:[{type:"elem",elem:n,shift:l},{type:"elem",elem:t,shift:0}]});else{var H=/cancel|phase/.test(a)?["svg-align"]:[];T=oe({positionType:"individualShift",children:[{type:"elem",elem:t,shift:0},{type:"elem",elem:n,shift:l,wrapperClasses:H}]})}return/cancel/.test(a)&&(T.height=t.height,T.depth=t.depth),/cancel/.test(a)&&!c?I(["mord","cancel-lap"],[T],e):I(["mord"],[T],e)},Gr=(r,e)=>{var t=0,a=new q(r.label.includes("colorbox")?"mpadded":"menclose",[he(r.body,e)]);switch(r.label){case"\\cancel":a.setAttribute("notation","updiagonalstrike");break;case"\\bcancel":a.setAttribute("notation","downdiagonalstrike");break;case"\\phase":a.setAttribute("notation","phasorangle");break;case"\\sout":a.setAttribute("notation","horizontalstrike");break;case"\\fbox":a.setAttribute("notation","box");break;case"\\angl":a.setAttribute("notation","actuarial");break;case"\\fcolorbox":case"\\colorbox":if(t=e.fontMetrics().fboxsep*e.fontMetrics().ptPerEm,a.setAttribute("width","+"+2*t+"pt"),a.setAttribute("height","+"+2*t+"pt"),a.setAttribute("lspace",t+"pt"),a.setAttribute("voffset",t+"pt"),r.label==="\\fcolorbox"){var s=Math.max(e.fontMetrics().fboxrule,e.minRuleThickness);a.setAttribute("style","border: "+s+"em solid "+String(r.borderColor))}break;case"\\xcancel":a.setAttribute("notation","updiagonalstrike downdiagonalstrike");break}return r.backgroundColor&&a.setAttribute("mathbackground",r.backgroundColor),a};L({type:"enclose",names:["\\colorbox"],props:{numArgs:2,allowedInText:!0,argTypes:["color","text"]},handler(r,e,t){var{parser:a,funcName:s}=r,n=ae(e[0],"color-token").color,l=e[1];return{type:"enclose",mode:a.mode,label:s,backgroundColor:n,body:l}},htmlBuilder:$r,mathmlBuilder:Gr});L({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,allowedInText:!0,argTypes:["color","color","text"]},handler(r,e,t){var{parser:a,funcName:s}=r,n=ae(e[0],"color-token").color,l=ae(e[1],"color-token").color,c=e[2];return{type:"enclose",mode:a.mode,label:s,backgroundColor:l,borderColor:n,body:c}},htmlBuilder:$r,mathmlBuilder:Gr});L({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\fbox",body:e[0]}}});L({type:"enclose",names:["\\cancel","\\bcancel","\\xcancel","\\sout","\\phase"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"enclose",mode:t.mode,label:a,body:s}},htmlBuilder:$r,mathmlBuilder:Gr});L({type:"enclose",names:["\\angl"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"enclose",mode:t.mode,label:"\\angl",body:e[0]}}});var Vs={};function Je(r){for(var{type:e,names:t,props:a,handler:s,htmlBuilder:n,mathmlBuilder:l}=r,c={type:e,numArgs:a.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler:s},d=0;d<t.length;++d)Vs[t[d]]=c;n&&(wt[e]=n),l&&(kt[e]=l)}var Ws={};function p(r,e){Ws[r]=e}function Aa(r){var e=[];r.consumeSpaces();var t=r.fetch().text;for(t==="\\relax"&&(r.consume(),r.consumeSpaces(),t=r.fetch().text);t==="\\hline"||t==="\\hdashline";)r.consume(),e.push(t==="\\hdashline"),r.consumeSpaces(),t=r.fetch().text;return e}var Et=r=>{var e=r.parser.settings;if(!e.displayMode)throw new R("{"+r.envName+"} can be used only in display mode.")},Tl=new Set(["gather","gather*"]);function Ur(r){if(!r.includes("ed"))return!r.includes("*")}function b0(r,e,t){var{hskipBeforeAndAfter:a,addJot:s,cols:n,arraystretch:l,colSeparationType:c,autoTag:d,singleRow:m,emptySingleRow:f,maxNumCols:x,leqno:y}=e;if(r.gullet.beginGroup(),m||r.gullet.macros.set("\\cr","\\\\\\relax"),!l){var b=r.gullet.expandMacroAsText("\\arraystretch");if(b==null)l=1;else if(l=parseFloat(b),!l||l<0)throw new R("Invalid \\arraystretch: "+b)}r.gullet.beginGroup();var k=[],S=[k],z=[],E=[],T=d!=null?[]:void 0;function H(){d&&r.gullet.macros.set("\\@eqnsw","1",!0)}function V(){T&&(r.gullet.macros.get("\\df@tag")?(T.push(r.subparse([new Le("\\df@tag")])),r.gullet.macros.set("\\df@tag",void 0,!0)):T.push(!!d&&r.gullet.macros.get("\\@eqnsw")==="1"))}for(H(),E.push(Aa(r));;){var B=r.parseExpression(!1,m?"\\end":"\\\\");r.gullet.endGroup(),r.gullet.beginGroup(),B={type:"ordgroup",mode:r.mode,body:B},t&&(B={type:"styling",mode:r.mode,style:t,body:[B]}),k.push(B);var G=r.fetch().text;if(G==="&"){if(x&&k.length===x){if(m||c)throw new R("Too many tab characters: &",r.nextToken);r.settings.reportNonstrict("textEnv","Too few columns specified in the {array} column argument.")}r.consume()}else if(G==="\\end"){V(),k.length===1&&B.type==="styling"&&B.body[0].body.length===0&&(S.length>1||!f)&&S.pop(),E.length<S.length+1&&E.push([]);break}else if(G==="\\\\"){r.consume();var W=void 0;r.gullet.future().text!==" "&&(W=r.parseSizeGroup(!0)),z.push(W?W.value:null),V(),E.push(Aa(r)),k=[],S.push(k),H()}else throw new R("Expected & or \\\\ or \\cr or \\end",r.nextToken)}return r.gullet.endGroup(),r.gullet.endGroup(),{type:"array",mode:r.mode,addJot:s,arraystretch:l,body:S,cols:n,rowGaps:z,hskipBeforeAndAfter:a,hLinesBeforeRow:E,colSeparationType:c,tags:T,leqno:y}}function Vr(r){return r.slice(0,1)==="d"?"display":"text"}var Qe=function(e,t){var a,s,n=e.body.length,l=e.hLinesBeforeRow,c=0,d=new Array(n),m=[],f=Math.max(t.fontMetrics().arrayRuleWidth,t.minRuleThickness),x=1/t.fontMetrics().ptPerEm,y=5*x;if(e.colSeparationType&&e.colSeparationType==="small"){var b=t.havingStyle(_.SCRIPT).sizeMultiplier;y=.2778*(b/t.sizeMultiplier)}var k=e.colSeparationType==="CD"?xe({number:3,unit:"ex"},t):12*x,S=3*x,z=e.arraystretch*k,E=.7*z,T=.3*z,H=0;function V(Pe){for(var c0=0;c0<Pe.length;++c0)c0>0&&(H+=.25),m.push({pos:H,isDashed:Pe[c0]})}for(V(l[0]),a=0;a<e.body.length;++a){var B=e.body[a],G=E,W=T;c<B.length&&(c=B.length);var $=new Array(B.length);for(s=0;s<B.length;++s){var N=ie(B[s],t);W<N.depth&&(W=N.depth),G<N.height&&(G=N.height),$[s]=N}var j=e.rowGaps[a],C=0;j&&(C=xe(j,t),C>0&&(C+=T,W<C&&(W=C),C=0)),e.addJot&&(W+=S),$.height=G,$.depth=W,H+=G,$.pos=H,H+=W+C,d[a]=$,V(l[a+1])}var F=H/2+t.fontMetrics().axisHeight,Z=e.cols||[],X=[],O,re,Q=[];if(e.tags&&e.tags.some(Pe=>Pe))for(a=0;a<n;++a){var le=d[a],Me=le.pos-F,Ne=e.tags[a],Ie=void 0;Ne===!0?Ie=I(["eqn-num"],[],t):Ne===!1?Ie=I([],[],t):Ie=I([],Ae(Ne,t,!0),t),Ie.depth=le.depth,Ie.height=le.height,Q.push({type:"elem",elem:Ie,shift:Me})}for(s=0,re=0;s<c||re<Z.length;++s,++re){for(var ee=Z[re]||{},ne=!0;ee.type==="separator";){if(ne||(O=I(["arraycolsep"],[]),O.style.width=P(t.fontMetrics().doubleRuleSep),X.push(O)),ee.separator==="|"||ee.separator===":"){var ge=ee.separator==="|"?"solid":"dashed",Ce=I(["vertical-separator"],[],t);Ce.style.height=P(H),Ce.style.borderRightWidth=P(f),Ce.style.borderRightStyle=ge,Ce.style.margin="0 "+P(-f/2);var u0=H-F;u0&&(Ce.style.verticalAlign=P(-u0)),X.push(Ce)}else throw new R("Invalid separator type: "+ee.separator);re++,ee=Z[re]||{},ne=!1}if(!(s>=c)){var Xe=void 0;if(s>0||e.hskipBeforeAndAfter){var N0;Xe=(N0=ee.pregap)!=null?N0:y,Xe!==0&&(O=I(["arraycolsep"],[]),O.style.width=P(Xe),X.push(O))}var se=[];for(a=0;a<n;++a){var me=d[a],de=me[s];if(de){var Ge=me.pos-F;de.depth=me.depth,de.height=me.height,se.push({type:"elem",elem:de,shift:Ge})}}if(se=oe({positionType:"individualShift",children:se}),se=I(["col-align-"+(ee.align||"c")],[se]),X.push(se),s<c-1||e.hskipBeforeAndAfter){var Te;Xe=(Te=ee.postgap)!=null?Te:y,Xe!==0&&(O=I(["arraycolsep"],[]),O.style.width=P(Xe),X.push(O))}}}if(d=I(["mtable"],X),m.length>0){for(var et=I0("hline",t,f),e0=I0("hdashline",t,f),q0=[{type:"elem",elem:d,shift:0}];m.length>0;){var Rt=m.pop(),P0=Rt.pos-F;Rt.isDashed?q0.push({type:"elem",elem:e0,shift:P0}):q0.push({type:"elem",elem:et,shift:P0})}d=oe({positionType:"individualShift",children:q0})}if(Q.length===0)return I(["mord"],[d],t);var T0=oe({positionType:"individualShift",children:Q});return T0=I(["tag"],[T0],t),o0([d,T0])},Al={c:"center ",l:"left ",r:"right "},_e=function(e,t){for(var a=[],s=new q("mtd",[],["mtr-glue"]),n=new q("mtd",[],["mml-eqn-num"]),l=0;l<e.body.length;l++){for(var c=e.body[l],d=[],m=0;m<c.length;m++)d.push(new q("mtd",[he(c[m],t)]));e.tags&&e.tags[l]&&(d.unshift(s),d.push(s),e.leqno?d.unshift(n):d.push(n)),a.push(new q("mtr",d))}var f=new q("mtable",a),x=e.arraystretch===.5?.1:.16+e.arraystretch-1+(e.addJot?.09:0);f.setAttribute("rowspacing",P(x));var y="",b="";if(e.cols&&e.cols.length>0){var k=e.cols,S="",z=!1,E=0,T=k.length;k[0].type==="separator"&&(y+="top ",E=1),k[k.length-1].type==="separator"&&(y+="bottom ",T-=1);for(var H=E;H<T;H++)k[H].type==="align"?(b+=Al[k[H].align],z&&(S+="none "),z=!0):k[H].type==="separator"&&z&&(S+=k[H].separator==="|"?"solid ":"dashed ",z=!1);f.setAttribute("columnalign",b.trim()),/[sd]/.test(S)&&f.setAttribute("columnlines",S.trim())}if(e.colSeparationType==="align"){for(var V=e.cols||[],B="",G=1;G<V.length;G++)B+=G%2?"0em ":"1em ";f.setAttribute("columnspacing",B.trim())}else e.colSeparationType==="alignat"||e.colSeparationType==="gather"?f.setAttribute("columnspacing","0em"):e.colSeparationType==="small"?f.setAttribute("columnspacing","0.2778em"):e.colSeparationType==="CD"?f.setAttribute("columnspacing","0.5em"):f.setAttribute("columnspacing","1em");var W="",$=e.hLinesBeforeRow;y+=$[0].length>0?"left ":"",y+=$[$.length-1].length>0?"right ":"";for(var N=1;N<$.length-1;N++)W+=$[N].length===0?"none ":$[N][0]?"dashed ":"solid ";return/[sd]/.test(W)&&f.setAttribute("rowlines",W.trim()),y!==""&&(f=new q("menclose",[f]),f.setAttribute("notation",y.trim())),e.arraystretch&&e.arraystretch<1&&(f=new q("mstyle",[f]),f.setAttribute("scriptlevel","1")),f},Xs=function(e,t){e.envName.includes("ed")||Et(e);var a=[],s=e.envName.includes("at")?"alignat":"align",n=e.envName==="split",l=b0(e.parser,{cols:a,addJot:!0,autoTag:n?void 0:Ur(e.envName),emptySingleRow:!0,colSeparationType:s,maxNumCols:n?2:void 0,leqno:e.parser.settings.leqno},"display"),c,d=0,m={type:"ordgroup",mode:e.mode,body:[]};if(t[0]&&t[0].type==="ordgroup"){for(var f="",x=0;x<t[0].body.length;x++){var y=ae(t[0].body[x],"textord");f+=y.text}c=Number(f),d=c*2}var b=!d;l.body.forEach(function(E){for(var T=1;T<E.length;T+=2){var H=ae(E[T],"styling"),V=ae(H.body[0],"ordgroup");V.body.unshift(m)}if(b)d<E.length&&(d=E.length);else{var B=E.length/2;if(c<B)throw new R("Too many math in a row: "+("expected "+c+", but got "+B),E[0])}});for(var k=0;k<d;++k){var S="r",z=0;k%2===1?S="l":k>0&&b&&(z=1),a[k]={type:"align",align:S,pregap:z,postgap:0}}return l.colSeparationType=b?"align":"alignat",l};Je({type:"array",names:["array","darray"],props:{numArgs:1},handler(r,e){var t=Dt(e[0]),a=t?[e[0]]:ae(e[0],"ordgroup").body,s=a.map(function(l){var c=Or(l),d=c.text;if("lcr".includes(d))return{type:"align",align:d};if(d==="|")return{type:"separator",separator:"|"};if(d===":")return{type:"separator",separator:":"};throw new R("Unknown column alignment: "+d,l)}),n={cols:s,hskipBeforeAndAfter:!0,maxNumCols:s.length};return b0(r.parser,n,Vr(r.envName))},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(r){var e={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[r.envName.replace("*","")],t="c",a={hskipBeforeAndAfter:!1,cols:[{type:"align",align:t}]};if(r.envName.charAt(r.envName.length-1)==="*"){var s=r.parser;if(s.consumeSpaces(),s.fetch().text==="["){if(s.consume(),s.consumeSpaces(),t=s.fetch().text,!"lcr".includes(t))throw new R("Expected l or c or r",s.nextToken);s.consume(),s.consumeSpaces(),s.expect("]"),s.consume(),a.cols=[{type:"align",align:t}]}}var n=b0(r.parser,a,Vr(r.envName)),l=Math.max(0,...n.body.map(c=>c.length));return n.cols=new Array(l).fill({type:"align",align:t}),e?{type:"leftright",mode:r.mode,body:[n],left:e[0],right:e[1],rightColor:void 0}:n},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(r){var e={arraystretch:.5},t=b0(r.parser,e,"script");return t.colSeparationType="small",t},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["subarray"],props:{numArgs:1},handler(r,e){var t=Dt(e[0]),a=t?[e[0]]:ae(e[0],"ordgroup").body,s=a.map(function(l){var c=Or(l),d=c.text;if("lc".includes(d))return{type:"align",align:d};throw new R("Unknown column alignment: "+d,l)});if(s.length>1)throw new R("{subarray} can contain only one column");var n={cols:s,hskipBeforeAndAfter:!1,arraystretch:.5};if(n=b0(r.parser,n,"script"),n.body.length>0&&n.body[0].length>1)throw new R("{subarray} can contain only one column");return n},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(r){var e={arraystretch:1.2,cols:[{type:"align",align:"l",pregap:0,postgap:1},{type:"align",align:"l",pregap:0,postgap:0}]},t=b0(r.parser,e,Vr(r.envName));return{type:"leftright",mode:r.mode,body:[t],left:r.envName.includes("r")?".":"\\{",right:r.envName.includes("r")?"\\}":".",rightColor:void 0}},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:Xs,htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(r){Tl.has(r.envName)&&Et(r);var e={cols:[{type:"align",align:"c"}],addJot:!0,colSeparationType:"gather",autoTag:Ur(r.envName),emptySingleRow:!0,leqno:r.parser.settings.leqno};return b0(r.parser,e,"display")},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:Xs,htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(r){Et(r);var e={autoTag:Ur(r.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,leqno:r.parser.settings.leqno};return b0(r.parser,e,"display")},htmlBuilder:Qe,mathmlBuilder:_e});Je({type:"array",names:["CD"],props:{numArgs:0},handler(r){return Et(r),pl(r.parser)},htmlBuilder:Qe,mathmlBuilder:_e});p("\\nonumber","\\gdef\\@eqnsw{0}");p("\\notag","\\nonumber");L({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(r,e){throw new R(r.funcName+" valid only within array environment")}});var za=Vs;L({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];if(s.type!=="ordgroup")throw new R("Invalid environment name",s);for(var n="",l=0;l<s.body.length;++l)n+=ae(s.body[l],"textord").text;if(a==="\\begin"){if(!za.hasOwnProperty(n))throw new R("No such environment: "+n,s);var c=za[n],{args:d,optArgs:m}=t.parseArguments("\\begin{"+n+"}",c),f={mode:t.mode,envName:n,parser:t},x=c.handler(f,d,m);t.expect("\\end",!1);var y=t.nextToken,b=ae(t.parseFunction(),"environment");if(b.name!==n)throw new R("Mismatch: \\begin{"+n+"} matched by \\end{"+b.name+"}",y);return x}return{type:"environment",mode:t.mode,name:n,nameGroup:s}}});var Ys=(r,e)=>{var t=r.font,a=e.withFont(t);return ie(r.body,a)},Ks=(r,e)=>{var t=r.font,a=e.withFont(t);return he(r.body,a)},ja={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};L({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\mathsfit","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathtt","\\Bbb","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=St(e[0]),n=a;return n in ja&&(n=ja[n]),{type:"font",mode:t.mode,font:n.slice(1),body:s}},htmlBuilder:Ys,mathmlBuilder:Ks});L({type:"mclass",names:["\\boldsymbol","\\bm"],props:{numArgs:1},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"mclass",mode:t.mode,mclass:Bt(a),body:[{type:"font",mode:t.mode,font:"boldsymbol",body:a}],isCharacterBox:i0(a)}}});L({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,breakOnTokenText:s}=r,{mode:n}=t,l=t.parseExpression(!0,s),c="math"+a.slice(1);return{type:"font",mode:n,font:c,body:{type:"ordgroup",mode:t.mode,body:l}}},htmlBuilder:Ys,mathmlBuilder:Ks});var zl=(r,e)=>{var t=e.style,a=t.fracNum(),s=t.fracDen(),n;n=e.havingStyle(a);var l=ie(r.numer,n,e);if(r.continued){var c=8.5/e.fontMetrics().ptPerEm,d=3.5/e.fontMetrics().ptPerEm;l.height=l.height<c?c:l.height,l.depth=l.depth<d?d:l.depth}n=e.havingStyle(s);var m=ie(r.denom,n,e),f,x,y;r.hasBarLine?(r.barSize?(x=xe(r.barSize,e),f=I0("frac-line",e,x)):f=I0("frac-line",e),x=f.height,y=f.height):(f=null,x=0,y=e.fontMetrics().defaultRuleThickness);var b,k,S;t.size===_.DISPLAY.size?(b=e.fontMetrics().num1,x>0?k=3*y:k=7*y,S=e.fontMetrics().denom1):(x>0?(b=e.fontMetrics().num2,k=y):(b=e.fontMetrics().num3,k=3*y),S=e.fontMetrics().denom2);var z;if(f){var T=e.fontMetrics().axisHeight;b-l.depth-(T+.5*x)<k&&(b+=k-(b-l.depth-(T+.5*x))),T-.5*x-(m.height-S)<k&&(S+=k-(T-.5*x-(m.height-S)));var H=-(T-.5*x);z=oe({positionType:"individualShift",children:[{type:"elem",elem:m,shift:S},{type:"elem",elem:f,shift:H},{type:"elem",elem:l,shift:-b}]})}else{var E=b-l.depth-(m.height-S);E<k&&(b+=.5*(k-E),S+=.5*(k-E)),z=oe({positionType:"individualShift",children:[{type:"elem",elem:m,shift:S},{type:"elem",elem:l,shift:-b}]})}n=e.havingStyle(t),z.height*=n.sizeMultiplier/e.sizeMultiplier,z.depth*=n.sizeMultiplier/e.sizeMultiplier;var V;t.size===_.DISPLAY.size?V=e.fontMetrics().delim1:t.size===_.SCRIPTSCRIPT.size?V=e.havingStyle(_.SCRIPT).fontMetrics().delim2:V=e.fontMetrics().delim2;var B,G;return r.leftDelim==null?B=Z0(e,["mopen"]):B=kr(r.leftDelim,V,!0,e.havingStyle(t),r.mode,["mopen"]),r.continued?G=I([]):r.rightDelim==null?G=Z0(e,["mclose"]):G=kr(r.rightDelim,V,!0,e.havingStyle(t),r.mode,["mclose"]),I(["mord"].concat(n.sizingClasses(e)),[B,I(["mfrac"],[z]),G],e)},jl=(r,e)=>{var t=new q("mfrac",[he(r.numer,e),he(r.denom,e)]);if(!r.hasBarLine)t.setAttribute("linethickness","0px");else if(r.barSize){var a=xe(r.barSize,e);t.setAttribute("linethickness",P(a))}if(r.leftDelim!=null||r.rightDelim!=null){var s=[];if(r.leftDelim!=null){var n=new q("mo",[new ke(r.leftDelim.replace("\\",""))]);n.setAttribute("fence","true"),s.push(n)}if(s.push(t),r.rightDelim!=null){var l=new q("mo",[new ke(r.rightDelim.replace("\\",""))]);l.setAttribute("fence","true"),s.push(l)}return qr(s)}return t},Zs=(r,e)=>{if(!e)return r;var t={type:"styling",mode:r.mode,style:e,body:[r]};return t};L({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=e[1],l,c=null,d=null;switch(a){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":l=!0;break;case"\\\\atopfrac":l=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":l=!1,c="(",d=")";break;case"\\\\bracefrac":l=!1,c="\\{",d="\\}";break;case"\\\\brackfrac":l=!1,c="[",d="]";break;default:throw new Error("Unrecognized genfrac command")}var m=a==="\\cfrac",f=null;return m||a.startsWith("\\d")?f="display":a.startsWith("\\t")&&(f="text"),Zs({type:"genfrac",mode:t.mode,numer:s,denom:n,continued:m,hasBarLine:l,leftDelim:c,rightDelim:d,barSize:null},f)},htmlBuilder:zl,mathmlBuilder:jl});L({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler(r){var{parser:e,funcName:t,token:a}=r,s;switch(t){case"\\over":s="\\frac";break;case"\\choose":s="\\binom";break;case"\\atop":s="\\\\atopfrac";break;case"\\brace":s="\\\\bracefrac";break;case"\\brack":s="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:e.mode,replaceWith:s,token:a}}});var Ca=["display","text","script","scriptscript"],Da=function(e){var t=null;return e.length>0&&(t=e,t=t==="."?null:t),t};L({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler(r,e){var{parser:t}=r,a=e[4],s=e[5],n=St(e[0]),l=n.type==="atom"&&n.family==="open"?Da(n.text):null,c=St(e[1]),d=c.type==="atom"&&c.family==="close"?Da(c.text):null,m=ae(e[2],"size"),f,x=null;m.isBlank?f=!0:(x=m.value,f=x.number>0);var y=null,b=e[3];if(b.type==="ordgroup"){if(b.body.length>0){var k=ae(b.body[0],"textord");y=Ca[Number(k.text)]}}else b=ae(b,"textord"),y=Ca[Number(b.text)];return Zs({type:"genfrac",mode:t.mode,numer:a,denom:s,continued:!1,hasBarLine:f,barSize:x,leftDelim:l,rightDelim:d},y)}});L({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler(r,e){var{parser:t,funcName:a,token:s}=r;return{type:"infix",mode:t.mode,replaceWith:"\\\\abovefrac",size:ae(e[0],"size").value,token:s}}});L({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0],n=ae(e[1],"infix").size;if(!n)throw new Error("\\\\abovefrac expected size, but got "+String(n));var l=e[2],c=n.number>0;return{type:"genfrac",mode:t.mode,numer:s,denom:l,continued:!1,hasBarLine:c,barSize:n,leftDelim:null,rightDelim:null}}});var Js=(r,e)=>{var t=e.style,a,s;r.type==="supsub"?(a=r.sup?ie(r.sup,e.havingStyle(t.sup()),e):ie(r.sub,e.havingStyle(t.sub()),e),s=ae(r.base,"horizBrace")):s=ae(r,"horizBrace");var n=ie(s.base,e.havingBaseStyle(_.DISPLAY)),l=Ct(s,e),c;if(s.isOver?(c=oe({positionType:"firstBaseline",children:[{type:"elem",elem:n},{type:"kern",size:.1},{type:"elem",elem:l}]}),c.children[0].children[0].children[1].classes.push("svg-align")):(c=oe({positionType:"bottom",positionData:n.depth+.1+l.height,children:[{type:"elem",elem:l},{type:"kern",size:.1},{type:"elem",elem:n}]}),c.children[0].children[0].children[0].classes.push("svg-align")),a){var d=I(["mord",s.isOver?"mover":"munder"],[c],e);s.isOver?c=oe({positionType:"firstBaseline",children:[{type:"elem",elem:d},{type:"kern",size:.2},{type:"elem",elem:a}]}):c=oe({positionType:"bottom",positionData:d.depth+.2+a.height+a.depth,children:[{type:"elem",elem:a},{type:"kern",size:.2},{type:"elem",elem:d}]})}return I(["mord",s.isOver?"mover":"munder"],[c],e)},Cl=(r,e)=>{var t=jt(r.label);return new q(r.isOver?"mover":"munder",[he(r.base,e),t])};L({type:"horizBrace",names:["\\overbrace","\\underbrace"],props:{numArgs:1},handler(r,e){var{parser:t,funcName:a}=r;return{type:"horizBrace",mode:t.mode,label:a,isOver:/^\\over/.test(a),base:e[0]}},htmlBuilder:Js,mathmlBuilder:Cl});L({type:"href",names:["\\href"],props:{numArgs:2,argTypes:["url","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[1],s=ae(e[0],"url").url;return t.settings.isTrusted({command:"\\href",url:s})?{type:"href",mode:t.mode,href:s,body:we(a)}:t.formatUnsupportedCmd("\\href")},htmlBuilder:(r,e)=>{var t=Ae(r.body,e,!1);return Xi(r.href,[],t,e)},mathmlBuilder:(r,e)=>{var t=x0(r.body,e);return t instanceof q||(t=new q("mrow",[t])),t.setAttribute("href",r.href),t}});L({type:"href",names:["\\url"],props:{numArgs:1,argTypes:["url"],allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=ae(e[0],"url").url;if(!t.settings.isTrusted({command:"\\url",url:a}))return t.formatUnsupportedCmd("\\url");for(var s=[],n=0;n<a.length;n++){var l=a[n];l==="~"&&(l="\\textasciitilde"),s.push({type:"textord",mode:"text",text:l})}var c={type:"text",mode:t.mode,font:"\\texttt",body:s};return{type:"href",mode:t.mode,href:a,body:we(c)}}});L({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["text"],allowedInText:!0,primitive:!0},handler(r,e){var{parser:t}=r;return{type:"hbox",mode:t.mode,body:we(e[0])}},htmlBuilder(r,e){var t=Ae(r.body,e,!1);return o0(t)},mathmlBuilder(r,e){return new q("mrow",He(r.body,e))}});L({type:"html",names:["\\htmlClass","\\htmlId","\\htmlStyle","\\htmlData"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a,token:s}=r,n=ae(e[0],"raw").string,l=e[1];t.settings.strict&&t.settings.reportNonstrict("htmlExtension","HTML extension is disabled on strict mode");var c,d={};switch(a){case"\\htmlClass":d.class=n,c={command:"\\htmlClass",class:n};break;case"\\htmlId":d.id=n,c={command:"\\htmlId",id:n};break;case"\\htmlStyle":d.style=n,c={command:"\\htmlStyle",style:n};break;case"\\htmlData":{for(var m=n.split(","),f=0;f<m.length;f++){var x=m[f],y=x.indexOf("=");if(y<0)throw new R("\\htmlData key/value '"+x+"' missing equals sign");var b=x.slice(0,y),k=x.slice(y+1);d["data-"+b.trim()]=k}c={command:"\\htmlData",attributes:d};break}default:throw new Error("Unrecognized html command")}return t.settings.isTrusted(c)?{type:"html",mode:t.mode,attributes:d,body:we(l)}:t.formatUnsupportedCmd(a)},htmlBuilder:(r,e)=>{var t=Ae(r.body,e,!1),a=["enclosing"];r.attributes.class&&a.push(...r.attributes.class.trim().split(/\s+/));var s=I(a,t,e);for(var n in r.attributes)n!=="class"&&r.attributes.hasOwnProperty(n)&&s.setAttribute(n,r.attributes[n]);return s},mathmlBuilder:(r,e)=>x0(r.body,e)});L({type:"htmlmathml",names:["\\html@mathml"],props:{numArgs:2,allowedInArgument:!0,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"htmlmathml",mode:t.mode,html:we(e[0]),mathml:we(e[1])}},htmlBuilder:(r,e)=>{var t=Ae(r.html,e,!1);return o0(t)},mathmlBuilder:(r,e)=>x0(r.mathml,e)});var sr=function(e){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(e))return{number:+e,unit:"bp"};var t=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(e);if(!t)throw new R("Invalid size: '"+e+"' in \\includegraphics");var a={number:+(t[1]+t[2]),unit:t[3]};if(!fs(a))throw new R("Invalid unit: '"+a.unit+"' in \\includegraphics.");return a};L({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:(r,e,t)=>{var{parser:a}=r,s={number:0,unit:"em"},n={number:.9,unit:"em"},l={number:0,unit:"em"},c="";if(t[0])for(var d=ae(t[0],"raw").string,m=d.split(","),f=0;f<m.length;f++){var x=m[f].split("=");if(x.length===2){var y=x[1].trim();switch(x[0].trim()){case"alt":c=y;break;case"width":s=sr(y);break;case"height":n=sr(y);break;case"totalheight":l=sr(y);break;default:throw new R("Invalid key: '"+x[0]+"' in \\includegraphics.")}}}var b=ae(e[0],"url").url;return c===""&&(c=b,c=c.replace(/^.*[\\/]/,""),c=c.substring(0,c.lastIndexOf("."))),a.settings.isTrusted({command:"\\includegraphics",url:b})?{type:"includegraphics",mode:a.mode,alt:c,width:s,height:n,totalheight:l,src:b}:a.formatUnsupportedCmd("\\includegraphics")},htmlBuilder:(r,e)=>{var t=xe(r.height,e),a=0;r.totalheight.number>0&&(a=xe(r.totalheight,e)-t);var s=0;r.width.number>0&&(s=xe(r.width,e));var n={height:P(t+a)};s>0&&(n.width=P(s)),a>0&&(n.verticalAlign=P(-a));var l=new Oi(r.src,r.alt,n);return l.height=t,l.depth=a,l},mathmlBuilder:(r,e)=>{var t=new q("mglyph",[]);t.setAttribute("alt",r.alt);var a=xe(r.height,e),s=0;if(r.totalheight.number>0&&(s=xe(r.totalheight,e)-a,t.setAttribute("valign",P(-s))),t.setAttribute("height",P(a+s)),r.width.number>0){var n=xe(r.width,e);t.setAttribute("width",P(n))}return t.setAttribute("src",r.src),t}});L({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,s=ae(e[0],"size");if(t.settings.strict){var n=a[1]==="m",l=s.value.unit==="mu";n?(l||t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" supports only mu units, "+("not "+s.value.unit+" units")),t.mode!=="math"&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" works only in math mode")):l&&t.settings.reportNonstrict("mathVsTextUnits","LaTeX's "+a+" doesn't support mu units")}return{type:"kern",mode:t.mode,dimension:s.value}},htmlBuilder(r,e){return ws(r.dimension,e)},mathmlBuilder(r,e){var t=xe(r.dimension,e);return new As(t)}});L({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"lap",mode:t.mode,alignment:a.slice(5),body:s}},htmlBuilder:(r,e)=>{var t;r.alignment==="clap"?(t=I([],[ie(r.body,e)]),t=I(["inner"],[t],e)):t=I(["inner"],[ie(r.body,e)]);var a=I(["fix"],[]),s=I([r.alignment],[t,a],e),n=I(["strut"]);return n.style.height=P(s.height+s.depth),s.depth&&(n.style.verticalAlign=P(-s.depth)),s.children.unshift(n),s=I(["thinbox"],[s],e),I(["mord","vbox"],[s],e)},mathmlBuilder:(r,e)=>{var t=new q("mpadded",[he(r.body,e)]);if(r.alignment!=="rlap"){var a=r.alignment==="llap"?"-1":"-0.5";t.setAttribute("lspace",a+"width")}return t.setAttribute("width","0px"),t}});L({type:"styling",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){var{funcName:t,parser:a}=r,s=a.mode;a.switchMode("math");var n=t==="\\("?"\\)":"$",l=a.parseExpression(!1,n);return a.expect(n),a.switchMode(s),{type:"styling",mode:a.mode,style:"text",body:l}}});L({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(r,e){throw new R("Mismatched "+r.funcName)}});var Ba=(r,e)=>{switch(e.style.size){case _.DISPLAY.size:return r.display;case _.TEXT.size:return r.text;case _.SCRIPT.size:return r.script;case _.SCRIPTSCRIPT.size:return r.scriptscript;default:return r.text}};L({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:(r,e)=>{var{parser:t}=r;return{type:"mathchoice",mode:t.mode,display:we(e[0]),text:we(e[1]),script:we(e[2]),scriptscript:we(e[3])}},htmlBuilder:(r,e)=>{var t=Ba(r,e),a=Ae(t,e,!1);return o0(a)},mathmlBuilder:(r,e)=>{var t=Ba(r,e);return x0(t,e)}});var Qs=(r,e,t,a,s,n,l)=>{r=I([],[r]);var c=t&&i0(t),d,m;if(e){var f=ie(e,a.havingStyle(s.sup()),a);m={elem:f,kern:Math.max(a.fontMetrics().bigOpSpacing1,a.fontMetrics().bigOpSpacing3-f.depth)}}if(t){var x=ie(t,a.havingStyle(s.sub()),a);d={elem:x,kern:Math.max(a.fontMetrics().bigOpSpacing2,a.fontMetrics().bigOpSpacing4-x.height)}}var y;if(m&&d){var b=a.fontMetrics().bigOpSpacing5+d.elem.height+d.elem.depth+d.kern+r.depth+l;y=oe({positionType:"bottom",positionData:b,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:P(-n)},{type:"kern",size:d.kern},{type:"elem",elem:r},{type:"kern",size:m.kern},{type:"elem",elem:m.elem,marginLeft:P(n)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else if(d){var k=r.height-l;y=oe({positionType:"top",positionData:k,children:[{type:"kern",size:a.fontMetrics().bigOpSpacing5},{type:"elem",elem:d.elem,marginLeft:P(-n)},{type:"kern",size:d.kern},{type:"elem",elem:r}]})}else if(m){var S=r.depth+l;y=oe({positionType:"bottom",positionData:S,children:[{type:"elem",elem:r},{type:"kern",size:m.kern},{type:"elem",elem:m.elem,marginLeft:P(n)},{type:"kern",size:a.fontMetrics().bigOpSpacing5}]})}else return r;var z=[y];if(d&&n!==0&&!c){var E=I(["mspace"],[],a);E.style.marginRight=P(n),z.unshift(E)}return I(["mop","op-limits"],z,a)},_s=new Set(["\\smallint"]),R0=(r,e)=>{var t,a,s=!1,n;r.type==="supsub"?(t=r.sup,a=r.sub,n=ae(r.base,"op"),s=!0):n=ae(r,"op");var l=e.style,c=!1;l.size===_.DISPLAY.size&&n.symbol&&!_s.has(n.name)&&(c=!0);var d;if(n.symbol){var m=c?"Size2-Regular":"Size1-Regular",f="";if((n.name==="\\oiint"||n.name==="\\oiiint")&&(f=n.name.slice(1),n.name=f==="oiint"?"\\iint":"\\iiint"),d=Fe(n.name,m,"math",e,["mop","op-symbol",c?"large-op":"small-op"]),f.length>0){var x=d.italic,y=Ss(f+"Size"+(c?"2":"1"),e);d=oe({positionType:"individualShift",children:[{type:"elem",elem:d,shift:0},{type:"elem",elem:y,shift:c?.08:0}]}),n.name="\\"+f,d.classes.unshift("mop"),d.italic=x}}else if(n.body){var b=Ae(n.body,e,!0);b.length===1&&b[0]instanceof Ve?(d=b[0],d.classes[0]="mop"):d=I(["mop"],b,e)}else{for(var k=[],S=1;S<n.name.length;S++)k.push(Fr(n.name[S],n.mode,e));d=I(["mop"],k,e)}var z=0,E=0;return(d instanceof Ve||n.name==="\\oiint"||n.name==="\\oiiint")&&!n.suppressBaseShift&&(z=(d.height-d.depth)/2-e.fontMetrics().axisHeight,E=d.italic),s?Qs(d,t,a,e,l,E,z):(z&&(d.style.position="relative",d.style.top=P(z)),d)},_0=(r,e)=>{var t;if(r.symbol)t=new q("mo",[We(r.name,r.mode)]),_s.has(r.name)&&t.setAttribute("largeop","false");else if(r.body)t=new q("mo",He(r.body,e));else{t=new q("mi",[new ke(r.name.slice(1))]);var a=new q("mo",[We("⁡","text")]);r.parentIsSupSub?t=new q("mrow",[t,a]):t=Ts([t,a])}return t},Dl={"∏":"\\prod","∐":"\\coprod","∑":"\\sum","⋀":"\\bigwedge","⋁":"\\bigvee","⋂":"\\bigcap","⋃":"\\bigcup","⨀":"\\bigodot","⨁":"\\bigoplus","⨂":"\\bigotimes","⨄":"\\biguplus","⨆":"\\bigsqcup"};L({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint","∏","∐","∑","⋀","⋁","⋂","⋃","⨀","⨁","⨂","⨄","⨆"],props:{numArgs:0},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=a;return s.length===1&&(s=Dl[s]),{type:"op",mode:t.mode,limits:!0,parentIsSupSub:!1,symbol:!0,name:s}},htmlBuilder:R0,mathmlBuilder:_0});L({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"op",mode:t.mode,limits:!1,parentIsSupSub:!1,symbol:!1,body:we(a)}},htmlBuilder:R0,mathmlBuilder:_0});var Bl={"∫":"\\int","∬":"\\iint","∭":"\\iiint","∮":"\\oint","∯":"\\oiint","∰":"\\oiiint"};L({type:"op",names:["\\arcsin","\\arccos","\\arctan","\\arctg","\\arcctg","\\arg","\\ch","\\cos","\\cosec","\\cosh","\\cot","\\cotg","\\coth","\\csc","\\ctg","\\cth","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\sh","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:R0,mathmlBuilder:_0});L({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler(r){var{parser:e,funcName:t}=r;return{type:"op",mode:e.mode,limits:!0,parentIsSupSub:!1,symbol:!1,name:t}},htmlBuilder:R0,mathmlBuilder:_0});L({type:"op",names:["\\int","\\iint","\\iiint","\\oint","\\oiint","\\oiiint","∫","∬","∭","∮","∯","∰"],props:{numArgs:0,allowedInArgument:!0},handler(r){var{parser:e,funcName:t}=r,a=t;return a.length===1&&(a=Bl[a]),{type:"op",mode:e.mode,limits:!1,parentIsSupSub:!1,symbol:!0,name:a}},htmlBuilder:R0,mathmlBuilder:_0});var en=(r,e)=>{var t,a,s=!1,n;r.type==="supsub"?(t=r.sup,a=r.sub,n=ae(r.base,"operatorname"),s=!0):n=ae(r,"operatorname");var l;if(n.body.length>0){for(var c=n.body.map(x=>{var y=x.text;return typeof y=="string"?{type:"textord",mode:x.mode,text:y}:x}),d=Ae(c,e.withFont("mathrm"),!0),m=0;m<d.length;m++){var f=d[m];f instanceof Ve&&(f.text=f.text.replace(/\u2212/,"-").replace(/\u2217/,"*"))}l=I(["mop"],d,e)}else l=I(["mop"],[],e);return s?Qs(l,t,a,e,e.style,0,0):l},Il=(r,e)=>{for(var t=He(r.body,e.withFont("mathrm")),a=!0,s=0;s<t.length;s++){var n=t[s];if(!(n instanceof As))if(n instanceof q)switch(n.type){case"mi":case"mn":case"ms":case"mspace":case"mtext":break;case"mo":{var l=n.children[0];n.children.length===1&&l instanceof ke?l.text=l.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):a=!1;break}default:a=!1}else a=!1}if(a){var c=t.map(f=>f.toText()).join("");t=[new ke(c)]}var d=new q("mi",t);d.setAttribute("mathvariant","normal");var m=new q("mo",[We("⁡","text")]);return r.parentIsSupSub?new q("mrow",[d,m]):Ts([d,m])};L({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1},handler:(r,e)=>{var{parser:t,funcName:a}=r,s=e[0];return{type:"operatorname",mode:t.mode,body:we(s),alwaysHandleSupSub:a==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1}},htmlBuilder:en,mathmlBuilder:Il});p("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");S0({type:"ordgroup",htmlBuilder(r,e){return r.semisimple?o0(Ae(r.body,e,!1)):I(["mord"],Ae(r.body,e,!0),e)},mathmlBuilder(r,e){return x0(r.body,e,!0)}});L({type:"overline",names:["\\overline"],props:{numArgs:1},handler(r,e){var{parser:t}=r,a=e[0];return{type:"overline",mode:t.mode,body:a}},htmlBuilder(r,e){var t=ie(r.body,e.havingCrampedStyle()),a=I0("overline-line",e),s=e.fontMetrics().defaultRuleThickness,n=oe({positionType:"firstBaseline",children:[{type:"elem",elem:t},{type:"kern",size:3*s},{type:"elem",elem:a},{type:"kern",size:s}]});return I(["mord","overline"],[n],e)},mathmlBuilder(r,e){var t=new q("mo",[new ke("‾")]);t.setAttribute("stretchy","true");var a=new q("mover",[he(r.body,e),t]);return a.setAttribute("accent","true"),a}});L({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"phantom",mode:t.mode,body:we(a)}},htmlBuilder:(r,e)=>{var t=Ae(r.body,e.withPhantom(),!1);return o0(t)},mathmlBuilder:(r,e)=>{var t=He(r.body,e);return new q("mphantom",t)}});L({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"hphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=I([],[ie(r.body,e.withPhantom())]);if(t.height=0,t.depth=0,t.children)for(var a=0;a<t.children.length;a++)t.children[a].height=0,t.children[a].depth=0;return t=oe({positionType:"firstBaseline",children:[{type:"elem",elem:t}]}),I(["mord"],[t],e)},mathmlBuilder:(r,e)=>{var t=He(we(r.body),e),a=new q("mphantom",t),s=new q("mpadded",[a]);return s.setAttribute("height","0px"),s.setAttribute("depth","0px"),s}});L({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:(r,e)=>{var{parser:t}=r,a=e[0];return{type:"vphantom",mode:t.mode,body:a}},htmlBuilder:(r,e)=>{var t=I(["inner"],[ie(r.body,e.withPhantom())]),a=I(["fix"],[]);return I(["mord","rlap"],[t,a],e)},mathmlBuilder:(r,e)=>{var t=He(we(r.body),e),a=new q("mphantom",t),s=new q("mpadded",[a]);return s.setAttribute("width","0px"),s}});L({type:"raisebox",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler(r,e){var{parser:t}=r,a=ae(e[0],"size").value,s=e[1];return{type:"raisebox",mode:t.mode,dy:a,body:s}},htmlBuilder(r,e){var t=ie(r.body,e),a=xe(r.dy,e);return oe({positionType:"shift",positionData:-a,children:[{type:"elem",elem:t}]})},mathmlBuilder(r,e){var t=new q("mpadded",[he(r.body,e)]),a=r.dy.number+r.dy.unit;return t.setAttribute("voffset",a),t}});L({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler(r){var{parser:e}=r;return{type:"internal",mode:e.mode}}});L({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler(r,e,t){var{parser:a}=r,s=t[0],n=ae(e[0],"size"),l=ae(e[1],"size");return{type:"rule",mode:a.mode,shift:s&&ae(s,"size").value,width:n.value,height:l.value}},htmlBuilder(r,e){var t=I(["mord","rule"],[],e),a=xe(r.width,e),s=xe(r.height,e),n=r.shift?xe(r.shift,e):0;return t.style.borderRightWidth=P(a),t.style.borderTopWidth=P(s),t.style.bottom=P(n),t.width=a,t.height=s+n,t.depth=-n,t.maxFontSize=s*1.125*e.sizeMultiplier,t},mathmlBuilder(r,e){var t=xe(r.width,e),a=xe(r.height,e),s=r.shift?xe(r.shift,e):0,n=e.color&&e.getColor()||"black",l=new q("mspace");l.setAttribute("mathbackground",n),l.setAttribute("width",P(t)),l.setAttribute("height",P(a));var c=new q("mpadded",[l]);return s>=0?c.setAttribute("height",P(s)):(c.setAttribute("height",P(s)),c.setAttribute("depth",P(-s))),c.setAttribute("voffset",P(s)),c}});function tn(r,e,t){for(var a=Ae(r,e,!1),s=e.sizeMultiplier/t.sizeMultiplier,n=0;n<a.length;n++){var l=a[n].classes.indexOf("sizing");l<0?Array.prototype.push.apply(a[n].classes,e.sizingClasses(t)):a[n].classes[l+1]==="reset-size"+e.size&&(a[n].classes[l+1]="reset-size"+t.size),a[n].height*=s,a[n].depth*=s}return o0(a)}var Ia=["\\tiny","\\sixptsize","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],El=(r,e)=>{var t=e.havingSize(r.size);return tn(r.body,t,e)};L({type:"sizing",names:Ia,props:{numArgs:0,allowedInText:!0},handler:(r,e)=>{var{breakOnTokenText:t,funcName:a,parser:s}=r,n=s.parseExpression(!1,t);return{type:"sizing",mode:s.mode,size:Ia.indexOf(a)+1,body:n}},htmlBuilder:El,mathmlBuilder:(r,e)=>{var t=e.havingSize(r.size),a=He(r.body,t),s=new q("mstyle",a);return s.setAttribute("mathsize",P(t.sizeMultiplier)),s}});L({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:(r,e,t)=>{var{parser:a}=r,s=!1,n=!1,l=t[0]&&ae(t[0],"ordgroup");if(l)for(var c="",d=0;d<l.body.length;++d){var m=l.body[d];if(c=m.text,c==="t")s=!0;else if(c==="b")n=!0;else{s=!1,n=!1;break}}else s=!0,n=!0;var f=e[0];return{type:"smash",mode:a.mode,body:f,smashHeight:s,smashDepth:n}},htmlBuilder:(r,e)=>{var t=I([],[ie(r.body,e)]);if(!r.smashHeight&&!r.smashDepth)return t;if(r.smashHeight&&(t.height=0,t.children))for(var a=0;a<t.children.length;a++)t.children[a].height=0;if(r.smashDepth&&(t.depth=0,t.children))for(var s=0;s<t.children.length;s++)t.children[s].depth=0;var n=oe({positionType:"firstBaseline",children:[{type:"elem",elem:t}]});return I(["mord"],[n],e)},mathmlBuilder:(r,e)=>{var t=new q("mpadded",[he(r.body,e)]);return r.smashHeight&&t.setAttribute("height","0px"),r.smashDepth&&t.setAttribute("depth","0px"),t}});L({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler(r,e,t){var{parser:a}=r,s=t[0],n=e[0];return{type:"sqrt",mode:a.mode,body:n,index:s}},htmlBuilder(r,e){var t=ie(r.body,e.havingCrampedStyle());t.height===0&&(t.height=e.fontMetrics().xHeight),t=E0(t,e);var a=e.fontMetrics(),s=a.defaultRuleThickness,n=s;e.style.id<_.TEXT.id&&(n=e.fontMetrics().xHeight);var l=s+n/4,c=t.height+t.depth+l+s,{span:d,ruleWidth:m,advanceWidth:f}=yl(c,e),x=d.height-m;x>t.height+t.depth+l&&(l=(l+x-t.height-t.depth)/2);var y=d.height-t.height-l-m;t.style.paddingLeft=P(f);var b=oe({positionType:"firstBaseline",children:[{type:"elem",elem:t,wrapperClasses:["svg-align"]},{type:"kern",size:-(t.height+y)},{type:"elem",elem:d},{type:"kern",size:m}]});if(r.index){var k=e.havingStyle(_.SCRIPTSCRIPT),S=ie(r.index,k,e),z=.6*(b.height-b.depth),E=oe({positionType:"shift",positionData:-z,children:[{type:"elem",elem:S}]}),T=I(["root"],[E]);return I(["mord","sqrt"],[T,b],e)}else return I(["mord","sqrt"],[b],e)},mathmlBuilder(r,e){var{body:t,index:a}=r;return a?new q("mroot",[he(t,e),he(a,e)]):new q("msqrt",[he(t,e)])}});var Ea={display:_.DISPLAY,text:_.TEXT,script:_.SCRIPT,scriptscript:_.SCRIPTSCRIPT};L({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler(r,e){var{breakOnTokenText:t,funcName:a,parser:s}=r,n=s.parseExpression(!0,t),l=a.slice(1,a.length-5);return{type:"styling",mode:s.mode,style:l,body:n}},htmlBuilder(r,e){var t=Ea[r.style],a=e.havingStyle(t).withFont("");return tn(r.body,a,e)},mathmlBuilder(r,e){var t=Ea[r.style],a=e.havingStyle(t),s=He(r.body,a),n=new q("mstyle",s),l={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]},c=l[r.style];return n.setAttribute("scriptlevel",c[0]),n.setAttribute("displaystyle",c[1]),n}});var Fl=function(e,t){var a=e.base;if(a)if(a.type==="op"){var s=a.limits&&(t.style.size===_.DISPLAY.size||a.alwaysHandleSupSub);return s?R0:null}else if(a.type==="operatorname"){var n=a.alwaysHandleSupSub&&(t.style.size===_.DISPLAY.size||a.limits);return n?en:null}else{if(a.type==="accent")return i0(a.base)?Hr:null;if(a.type==="horizBrace"){var l=!e.sub;return l===a.isOver?Js:null}else return null}else return null};S0({type:"supsub",htmlBuilder(r,e){var t=Fl(r,e);if(t)return t(r,e);var{base:a,sup:s,sub:n}=r,l=ie(a,e),c,d,m=e.fontMetrics(),f=0,x=0,y=a&&i0(a);if(s){var b=e.havingStyle(e.style.sup());c=ie(s,b,e),y||(f=l.height-b.fontMetrics().supDrop*b.sizeMultiplier/e.sizeMultiplier)}if(n){var k=e.havingStyle(e.style.sub());d=ie(n,k,e),y||(x=l.depth+k.fontMetrics().subDrop*k.sizeMultiplier/e.sizeMultiplier)}var S;e.style===_.DISPLAY?S=m.sup1:e.style.cramped?S=m.sup3:S=m.sup2;var z=e.sizeMultiplier,E=P(.5/m.ptPerEm/z),T=null;if(d){var H=r.base&&r.base.type==="op"&&r.base.name&&(r.base.name==="\\oiint"||r.base.name==="\\oiiint");(l instanceof Ve||H)&&(T=P(-l.italic))}var V;if(c&&d){f=Math.max(f,S,c.depth+.25*m.xHeight),x=Math.max(x,m.sub2);var B=m.defaultRuleThickness,G=4*B;if(f-c.depth-(d.height-x)<G){x=G-(f-c.depth)+d.height;var W=.8*m.xHeight-(f-c.depth);W>0&&(f+=W,x-=W)}var $=[{type:"elem",elem:d,shift:x,marginRight:E,marginLeft:T},{type:"elem",elem:c,shift:-f,marginRight:E}];V=oe({positionType:"individualShift",children:$})}else if(d){x=Math.max(x,m.sub1,d.height-.8*m.xHeight);var N=[{type:"elem",elem:d,marginLeft:T,marginRight:E}];V=oe({positionType:"shift",positionData:x,children:N})}else if(c)f=Math.max(f,S,c.depth+.25*m.xHeight),V=oe({positionType:"shift",positionData:-f,children:[{type:"elem",elem:c,marginRight:E}]});else throw new Error("supsub must have either sup or sub.");var j=xr(l,"right")||"mord";return I([j],[l,I(["msupsub"],[V])],e)},mathmlBuilder(r,e){var t=!1,a,s;r.base&&r.base.type==="horizBrace"&&(s=!!r.sup,s===r.base.isOver&&(t=!0,a=r.base.isOver)),r.base&&(r.base.type==="op"||r.base.type==="operatorname")&&(r.base.parentIsSupSub=!0);var n=[he(r.base,e)];r.sub&&n.push(he(r.sub,e)),r.sup&&n.push(he(r.sup,e));var l;if(t)l=a?"mover":"munder";else if(r.sub)if(r.sup){var m=r.base;m&&m.type==="op"&&m.limits&&e.style===_.DISPLAY||m&&m.type==="operatorname"&&m.alwaysHandleSupSub&&(e.style===_.DISPLAY||m.limits)?l="munderover":l="msubsup"}else{var d=r.base;d&&d.type==="op"&&d.limits&&(e.style===_.DISPLAY||d.alwaysHandleSupSub)||d&&d.type==="operatorname"&&d.alwaysHandleSupSub&&(d.limits||e.style===_.DISPLAY)?l="munder":l="msub"}else{var c=r.base;c&&c.type==="op"&&c.limits&&(e.style===_.DISPLAY||c.alwaysHandleSupSub)||c&&c.type==="operatorname"&&c.alwaysHandleSupSub&&(c.limits||e.style===_.DISPLAY)?l="mover":l="msup"}return new q(l,n)}});S0({type:"atom",htmlBuilder(r,e){return Fr(r.text,r.mode,e,["m"+r.family])},mathmlBuilder(r,e){var t=new q("mo",[We(r.text,r.mode)]);if(r.family==="bin"){var a=Pr(r,e);a==="bold-italic"&&t.setAttribute("mathvariant",a)}else r.family==="punct"?t.setAttribute("separator","true"):(r.family==="open"||r.family==="close")&&t.setAttribute("stretchy","false");return t}});var rn={mi:"italic",mn:"normal",mtext:"normal"};S0({type:"mathord",htmlBuilder(r,e){return zt(r,e,"mathord")},mathmlBuilder(r,e){var t=new q("mi",[We(r.text,r.mode,e)]),a=Pr(r,e)||"italic";return a!==rn[t.type]&&t.setAttribute("mathvariant",a),t}});S0({type:"textord",htmlBuilder(r,e){return zt(r,e,"textord")},mathmlBuilder(r,e){var t=We(r.text,r.mode,e),a=Pr(r,e)||"normal",s;return r.mode==="text"?s=new q("mtext",[t]):/[0-9]/.test(r.text)?s=new q("mn",[t]):r.text==="\\prime"?s=new q("mo",[t]):s=new q("mi",[t]),a!==rn[s.type]&&s.setAttribute("mathvariant",a),s}});var nr={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},ir={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};S0({type:"spacing",htmlBuilder(r,e){if(ir.hasOwnProperty(r.text)){var t=ir[r.text].className||"";if(r.mode==="text"){var a=zt(r,e,"textord");return a.classes.push(t),a}else return I(["mspace",t],[Fr(r.text,r.mode,e)],e)}else{if(nr.hasOwnProperty(r.text))return I(["mspace",nr[r.text]],[],e);throw new R('Unknown type of space "'+r.text+'"')}},mathmlBuilder(r,e){var t;if(ir.hasOwnProperty(r.text))t=new q("mtext",[new ke(" ")]);else{if(nr.hasOwnProperty(r.text))return new q("mspace");throw new R('Unknown type of space "'+r.text+'"')}return t}});var Fa=()=>{var r=new q("mtd",[]);return r.setAttribute("width","50%"),r};S0({type:"tag",mathmlBuilder(r,e){var t=new q("mtable",[new q("mtr",[Fa(),new q("mtd",[x0(r.body,e)]),Fa(),new q("mtd",[x0(r.tag,e)])])]);return t.setAttribute("width","100%"),t}});var Ra={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm"},qa={"\\textbf":"textbf","\\textmd":"textmd"},Rl={"\\textit":"textit","\\textup":"textup"},Pa=(r,e)=>{var t=r.font;if(t){if(Ra[t])return e.withTextFontFamily(Ra[t]);if(qa[t])return e.withTextFontWeight(qa[t]);if(t==="\\emph")return e.fontShape==="textit"?e.withTextFontShape("textup"):e.withTextFontShape("textit")}else return e;return e.withTextFontShape(Rl[t])};L({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler(r,e){var{parser:t,funcName:a}=r,s=e[0];return{type:"text",mode:t.mode,body:we(s),font:a}},htmlBuilder(r,e){var t=Pa(r,e),a=Ae(r.body,t,!0);return I(["mord","text"],a,t)},mathmlBuilder(r,e){var t=Pa(r,e);return x0(r.body,t)}});L({type:"underline",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler(r,e){var{parser:t}=r;return{type:"underline",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=ie(r.body,e),a=I0("underline-line",e),s=e.fontMetrics().defaultRuleThickness,n=oe({positionType:"top",positionData:t.height,children:[{type:"kern",size:s},{type:"elem",elem:a},{type:"kern",size:3*s},{type:"elem",elem:t}]});return I(["mord","underline"],[n],e)},mathmlBuilder(r,e){var t=new q("mo",[new ke("‾")]);t.setAttribute("stretchy","true");var a=new q("munder",[he(r.body,e),t]);return a.setAttribute("accentunder","true"),a}});L({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler(r,e){var{parser:t}=r;return{type:"vcenter",mode:t.mode,body:e[0]}},htmlBuilder(r,e){var t=ie(r.body,e),a=e.fontMetrics().axisHeight,s=.5*(t.height-a-(t.depth+a));return oe({positionType:"shift",positionData:s,children:[{type:"elem",elem:t}]})},mathmlBuilder(r,e){return new q("mpadded",[he(r.body,e)],["vcenter"])}});L({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(r,e,t){throw new R("\\verb ended by end of line instead of matching delimiter")},htmlBuilder(r,e){for(var t=Oa(r),a=[],s=e.havingStyle(e.style.text()),n=0;n<t.length;n++){var l=t[n];l==="~"&&(l="\\textasciitilde"),a.push(Fe(l,"Typewriter-Regular",r.mode,s,["mord","texttt"]))}return I(["mord","text"].concat(s.sizingClasses(e)),ys(a),s)},mathmlBuilder(r,e){var t=new ke(Oa(r)),a=new q("mtext",[t]);return a.setAttribute("mathvariant","monospace"),a}});var Oa=r=>r.body.replace(/ /g,r.star?"␣":" "),m0=Ms,an=`[ \r
261
+ ]`,ql="\\\\[a-zA-Z@]+",Pl="\\\\[^\uD800-\uDFFF]",Ol="("+ql+")"+an+"*",Hl=`\\\\(
262
+ |[ \r ]+
263
+ ?)[ \r ]*`,Sr="[̀-ͯ]",Ll=new RegExp(Sr+"+$"),$l="("+an+"+)|"+(Hl+"|")+"([!-\\[\\]-‧‪-퟿豈-￿]"+(Sr+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(Sr+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+Ol)+("|"+Pl+")");class Ha{constructor(e,t){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=e,this.settings=t,this.tokenRegex=new RegExp($l,"g"),this.catcodes={"%":14,"~":13}}setCatcode(e,t){this.catcodes[e]=t}lex(){var e=this.input,t=this.tokenRegex.lastIndex;if(t===e.length)return new Le("EOF",new Oe(this,t,t));var a=this.tokenRegex.exec(e);if(a===null||a.index!==t)throw new R("Unexpected character: '"+e[t]+"'",new Le(e[t],new Oe(this,t,t+1)));var s=a[6]||a[3]||(a[2]?"\\ ":" ");if(this.catcodes[s]===14){var n=e.indexOf(`
264
+ `,this.tokenRegex.lastIndex);return n===-1?(this.tokenRegex.lastIndex=e.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=n+1,this.lex()}return new Le(s,new Oe(this,t,this.tokenRegex.lastIndex))}}class Gl{constructor(e,t){e===void 0&&(e={}),t===void 0&&(t={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=t,this.builtins=e,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new R("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var e=this.undefStack.pop();for(var t in e)e.hasOwnProperty(t)&&(e[t]==null?delete this.current[t]:this.current[t]=e[t])}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(e){return this.current.hasOwnProperty(e)||this.builtins.hasOwnProperty(e)}get(e){return this.current.hasOwnProperty(e)?this.current[e]:this.builtins[e]}set(e,t,a){if(a===void 0&&(a=!1),a){for(var s=0;s<this.undefStack.length;s++)delete this.undefStack[s][e];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][e]=t)}else{var n=this.undefStack[this.undefStack.length-1];n&&!n.hasOwnProperty(e)&&(n[e]=this.current[e])}t==null?delete this.current[e]:this.current[e]=t}}var Ul=Ws;p("\\noexpand",function(r){var e=r.popToken();return r.isExpandable(e.text)&&(e.noexpand=!0,e.treatAsRelax=!0),{tokens:[e],numArgs:0}});p("\\expandafter",function(r){var e=r.popToken();return r.expandOnce(!0),{tokens:[e],numArgs:0}});p("\\@firstoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[0],numArgs:0}});p("\\@secondoftwo",function(r){var e=r.consumeArgs(2);return{tokens:e[1],numArgs:0}});p("\\@ifnextchar",function(r){var e=r.consumeArgs(3);r.consumeSpaces();var t=r.future();return e[0].length===1&&e[0][0].text===t.text?{tokens:e[1],numArgs:0}:{tokens:e[2],numArgs:0}});p("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");p("\\TextOrMath",function(r){var e=r.consumeArgs(2);return r.mode==="text"?{tokens:e[0],numArgs:0}:{tokens:e[1],numArgs:0}});var La={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};p("\\char",function(r){var e=r.popToken(),t,a="";if(e.text==="'")t=8,e=r.popToken();else if(e.text==='"')t=16,e=r.popToken();else if(e.text==="`")if(e=r.popToken(),e.text[0]==="\\")a=e.text.charCodeAt(1);else{if(e.text==="EOF")throw new R("\\char` missing argument");a=e.text.charCodeAt(0)}else t=10;if(t){if(a=La[e.text],a==null||a>=t)throw new R("Invalid base-"+t+" digit "+e.text);for(var s;(s=La[r.future().text])!=null&&s<t;)a*=t,a+=s,r.popToken()}return"\\@char{"+a+"}"});var Wr=(r,e,t,a)=>{var s=r.consumeArg().tokens;if(s.length!==1)throw new R("\\newcommand's first argument must be a macro name");var n=s[0].text,l=r.isDefined(n);if(l&&!e)throw new R("\\newcommand{"+n+"} attempting to redefine "+(n+"; use \\renewcommand"));if(!l&&!t)throw new R("\\renewcommand{"+n+"} when command "+n+" does not yet exist; use \\newcommand");var c=0;if(s=r.consumeArg().tokens,s.length===1&&s[0].text==="["){for(var d="",m=r.expandNextToken();m.text!=="]"&&m.text!=="EOF";)d+=m.text,m=r.expandNextToken();if(!d.match(/^\s*[0-9]+\s*$/))throw new R("Invalid number of arguments: "+d);c=parseInt(d),s=r.consumeArg().tokens}return l&&a||r.macros.set(n,{tokens:s,numArgs:c}),""};p("\\newcommand",r=>Wr(r,!1,!0,!1));p("\\renewcommand",r=>Wr(r,!0,!1,!1));p("\\providecommand",r=>Wr(r,!0,!0,!0));p("\\message",r=>{var e=r.consumeArgs(1)[0];return console.log(e.reverse().map(t=>t.text).join("")),""});p("\\errmessage",r=>{var e=r.consumeArgs(1)[0];return console.error(e.reverse().map(t=>t.text).join("")),""});p("\\show",r=>{var e=r.popToken(),t=e.text;return console.log(e,r.macros.get(t),m0[t],pe.math[t],pe.text[t]),""});p("\\bgroup","{");p("\\egroup","}");p("~","\\nobreakspace");p("\\lq","`");p("\\rq","'");p("\\aa","\\r a");p("\\AA","\\r A");p("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`©}");p("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");p("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}");p("ℬ","\\mathscr{B}");p("ℰ","\\mathscr{E}");p("ℱ","\\mathscr{F}");p("ℋ","\\mathscr{H}");p("ℐ","\\mathscr{I}");p("ℒ","\\mathscr{L}");p("ℳ","\\mathscr{M}");p("ℛ","\\mathscr{R}");p("ℭ","\\mathfrak{C}");p("ℌ","\\mathfrak{H}");p("ℨ","\\mathfrak{Z}");p("\\Bbbk","\\Bbb{k}");p("·","\\cdotp");p("\\llap","\\mathllap{\\textrm{#1}}");p("\\rlap","\\mathrlap{\\textrm{#1}}");p("\\clap","\\mathclap{\\textrm{#1}}");p("\\mathstrut","\\vphantom{(}");p("\\underbar","\\underline{\\text{#1}}");p("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');p("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}");p("\\ne","\\neq");p("≠","\\neq");p("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}");p("∉","\\notin");p("≘","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}");p("≙","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}");p("≚","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}");p("≛","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}");p("≝","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}");p("≞","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}");p("≟","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}");p("⟂","\\perp");p("‼","\\mathclose{!\\mkern-0.8mu!}");p("∌","\\notni");p("⌜","\\ulcorner");p("⌝","\\urcorner");p("⌞","\\llcorner");p("⌟","\\lrcorner");p("©","\\copyright");p("®","\\textregistered");p("️","\\textregistered");p("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');p("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');p("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');p("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');p("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");p("⋮","\\vdots");p("\\varGamma","\\mathit{\\Gamma}");p("\\varDelta","\\mathit{\\Delta}");p("\\varTheta","\\mathit{\\Theta}");p("\\varLambda","\\mathit{\\Lambda}");p("\\varXi","\\mathit{\\Xi}");p("\\varPi","\\mathit{\\Pi}");p("\\varSigma","\\mathit{\\Sigma}");p("\\varUpsilon","\\mathit{\\Upsilon}");p("\\varPhi","\\mathit{\\Phi}");p("\\varPsi","\\mathit{\\Psi}");p("\\varOmega","\\mathit{\\Omega}");p("\\substack","\\begin{subarray}{c}#1\\end{subarray}");p("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");p("\\boxed","\\fbox{$\\displaystyle{#1}$}");p("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");p("\\implies","\\DOTSB\\;\\Longrightarrow\\;");p("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");p("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");p("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var $a={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},Vl=new Set(["bin","rel"]);p("\\dots",function(r){var e="\\dotso",t=r.expandAfterFuture().text;return t in $a?e=$a[t]:(t.slice(0,4)==="\\not"||t in pe.math&&Vl.has(pe.math[t].group))&&(e="\\dotsb"),e});var Xr={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};p("\\dotso",function(r){var e=r.future().text;return e in Xr?"\\ldots\\,":"\\ldots"});p("\\dotsc",function(r){var e=r.future().text;return e in Xr&&e!==","?"\\ldots\\,":"\\ldots"});p("\\cdots",function(r){var e=r.future().text;return e in Xr?"\\@cdots\\,":"\\@cdots"});p("\\dotsb","\\cdots");p("\\dotsm","\\cdots");p("\\dotsi","\\!\\cdots");p("\\dotsx","\\ldots\\,");p("\\DOTSI","\\relax");p("\\DOTSB","\\relax");p("\\DOTSX","\\relax");p("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");p("\\,","\\tmspace+{3mu}{.1667em}");p("\\thinspace","\\,");p("\\>","\\mskip{4mu}");p("\\:","\\tmspace+{4mu}{.2222em}");p("\\medspace","\\:");p("\\;","\\tmspace+{5mu}{.2777em}");p("\\thickspace","\\;");p("\\!","\\tmspace-{3mu}{.1667em}");p("\\negthinspace","\\!");p("\\negmedspace","\\tmspace-{4mu}{.2222em}");p("\\negthickspace","\\tmspace-{5mu}{.277em}");p("\\enspace","\\kern.5em ");p("\\enskip","\\hskip.5em\\relax");p("\\quad","\\hskip1em\\relax");p("\\qquad","\\hskip2em\\relax");p("\\tag","\\@ifstar\\tag@literal\\tag@paren");p("\\tag@paren","\\tag@literal{({#1})}");p("\\tag@literal",r=>{if(r.macros.get("\\df@tag"))throw new R("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});p("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");p("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");p("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");p("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");p("\\newline","\\\\\\relax");p("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var sn=P(Ke["Main-Regular"][84][1]-.7*Ke["Main-Regular"][65][1]);p("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+sn+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");p("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+sn+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");p("\\hspace","\\@ifstar\\@hspacer\\@hspace");p("\\@hspace","\\hskip #1\\relax");p("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");p("\\ordinarycolon",":");p("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");p("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');p("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');p("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');p("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');p("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');p("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');p("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');p("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');p("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');p("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');p("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');p("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');p("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');p("∷","\\dblcolon");p("∹","\\eqcolon");p("≔","\\coloneqq");p("≕","\\eqqcolon");p("⩴","\\Coloneqq");p("\\ratio","\\vcentcolon");p("\\coloncolon","\\dblcolon");p("\\colonequals","\\coloneqq");p("\\coloncolonequals","\\Coloneqq");p("\\equalscolon","\\eqqcolon");p("\\equalscoloncolon","\\Eqqcolon");p("\\colonminus","\\coloneq");p("\\coloncolonminus","\\Coloneq");p("\\minuscolon","\\eqcolon");p("\\minuscoloncolon","\\Eqcolon");p("\\coloncolonapprox","\\Colonapprox");p("\\coloncolonsim","\\Colonsim");p("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");p("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");p("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");p("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");p("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}");p("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");p("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");p("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");p("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");p("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");p("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");p("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");p("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");p("\\gvertneqq","\\html@mathml{\\@gvertneqq}{≩}");p("\\lvertneqq","\\html@mathml{\\@lvertneqq}{≨}");p("\\ngeqq","\\html@mathml{\\@ngeqq}{≱}");p("\\ngeqslant","\\html@mathml{\\@ngeqslant}{≱}");p("\\nleqq","\\html@mathml{\\@nleqq}{≰}");p("\\nleqslant","\\html@mathml{\\@nleqslant}{≰}");p("\\nshortmid","\\html@mathml{\\@nshortmid}{∤}");p("\\nshortparallel","\\html@mathml{\\@nshortparallel}{∦}");p("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{⊈}");p("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{⊉}");p("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{⊊}");p("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{⫋}");p("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{⊋}");p("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{⫌}");p("\\imath","\\html@mathml{\\@imath}{ı}");p("\\jmath","\\html@mathml{\\@jmath}{ȷ}");p("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}");p("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}");p("⟦","\\llbracket");p("⟧","\\rrbracket");p("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}");p("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}");p("⦃","\\lBrace");p("⦄","\\rBrace");p("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}");p("⦵","\\minuso");p("\\darr","\\downarrow");p("\\dArr","\\Downarrow");p("\\Darr","\\Downarrow");p("\\lang","\\langle");p("\\rang","\\rangle");p("\\uarr","\\uparrow");p("\\uArr","\\Uparrow");p("\\Uarr","\\Uparrow");p("\\N","\\mathbb{N}");p("\\R","\\mathbb{R}");p("\\Z","\\mathbb{Z}");p("\\alef","\\aleph");p("\\alefsym","\\aleph");p("\\Alpha","\\mathrm{A}");p("\\Beta","\\mathrm{B}");p("\\bull","\\bullet");p("\\Chi","\\mathrm{X}");p("\\clubs","\\clubsuit");p("\\cnums","\\mathbb{C}");p("\\Complex","\\mathbb{C}");p("\\Dagger","\\ddagger");p("\\diamonds","\\diamondsuit");p("\\empty","\\emptyset");p("\\Epsilon","\\mathrm{E}");p("\\Eta","\\mathrm{H}");p("\\exist","\\exists");p("\\harr","\\leftrightarrow");p("\\hArr","\\Leftrightarrow");p("\\Harr","\\Leftrightarrow");p("\\hearts","\\heartsuit");p("\\image","\\Im");p("\\infin","\\infty");p("\\Iota","\\mathrm{I}");p("\\isin","\\in");p("\\Kappa","\\mathrm{K}");p("\\larr","\\leftarrow");p("\\lArr","\\Leftarrow");p("\\Larr","\\Leftarrow");p("\\lrarr","\\leftrightarrow");p("\\lrArr","\\Leftrightarrow");p("\\Lrarr","\\Leftrightarrow");p("\\Mu","\\mathrm{M}");p("\\natnums","\\mathbb{N}");p("\\Nu","\\mathrm{N}");p("\\Omicron","\\mathrm{O}");p("\\plusmn","\\pm");p("\\rarr","\\rightarrow");p("\\rArr","\\Rightarrow");p("\\Rarr","\\Rightarrow");p("\\real","\\Re");p("\\reals","\\mathbb{R}");p("\\Reals","\\mathbb{R}");p("\\Rho","\\mathrm{P}");p("\\sdot","\\cdot");p("\\sect","\\S");p("\\spades","\\spadesuit");p("\\sub","\\subset");p("\\sube","\\subseteq");p("\\supe","\\supseteq");p("\\Tau","\\mathrm{T}");p("\\thetasym","\\vartheta");p("\\weierp","\\wp");p("\\Zeta","\\mathrm{Z}");p("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");p("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");p("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");p("\\bra","\\mathinner{\\langle{#1}|}");p("\\ket","\\mathinner{|{#1}\\rangle}");p("\\braket","\\mathinner{\\langle{#1}\\rangle}");p("\\Bra","\\left\\langle#1\\right|");p("\\Ket","\\left|#1\\right\\rangle");var nn=r=>e=>{var t=e.consumeArg().tokens,a=e.consumeArg().tokens,s=e.consumeArg().tokens,n=e.consumeArg().tokens,l=e.macros.get("|"),c=e.macros.get("\\|");e.macros.beginGroup();var d=x=>y=>{r&&(y.macros.set("|",l),s.length&&y.macros.set("\\|",c));var b=x;if(!x&&s.length){var k=y.future();k.text==="|"&&(y.popToken(),b=!0)}return{tokens:b?s:a,numArgs:0}};e.macros.set("|",d(!1)),s.length&&e.macros.set("\\|",d(!0));var m=e.consumeArg().tokens,f=e.expandTokens([...n,...m,...t]);return e.macros.endGroup(),{tokens:f.reverse(),numArgs:0}};p("\\bra@ket",nn(!1));p("\\bra@set",nn(!0));p("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");p("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");p("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");p("\\angln","{\\angl n}");p("\\blue","\\textcolor{##6495ed}{#1}");p("\\orange","\\textcolor{##ffa500}{#1}");p("\\pink","\\textcolor{##ff00af}{#1}");p("\\red","\\textcolor{##df0030}{#1}");p("\\green","\\textcolor{##28ae7b}{#1}");p("\\gray","\\textcolor{gray}{#1}");p("\\purple","\\textcolor{##9d38bd}{#1}");p("\\blueA","\\textcolor{##ccfaff}{#1}");p("\\blueB","\\textcolor{##80f6ff}{#1}");p("\\blueC","\\textcolor{##63d9ea}{#1}");p("\\blueD","\\textcolor{##11accd}{#1}");p("\\blueE","\\textcolor{##0c7f99}{#1}");p("\\tealA","\\textcolor{##94fff5}{#1}");p("\\tealB","\\textcolor{##26edd5}{#1}");p("\\tealC","\\textcolor{##01d1c1}{#1}");p("\\tealD","\\textcolor{##01a995}{#1}");p("\\tealE","\\textcolor{##208170}{#1}");p("\\greenA","\\textcolor{##b6ffb0}{#1}");p("\\greenB","\\textcolor{##8af281}{#1}");p("\\greenC","\\textcolor{##74cf70}{#1}");p("\\greenD","\\textcolor{##1fab54}{#1}");p("\\greenE","\\textcolor{##0d923f}{#1}");p("\\goldA","\\textcolor{##ffd0a9}{#1}");p("\\goldB","\\textcolor{##ffbb71}{#1}");p("\\goldC","\\textcolor{##ff9c39}{#1}");p("\\goldD","\\textcolor{##e07d10}{#1}");p("\\goldE","\\textcolor{##a75a05}{#1}");p("\\redA","\\textcolor{##fca9a9}{#1}");p("\\redB","\\textcolor{##ff8482}{#1}");p("\\redC","\\textcolor{##f9685d}{#1}");p("\\redD","\\textcolor{##e84d39}{#1}");p("\\redE","\\textcolor{##bc2612}{#1}");p("\\maroonA","\\textcolor{##ffbde0}{#1}");p("\\maroonB","\\textcolor{##ff92c6}{#1}");p("\\maroonC","\\textcolor{##ed5fa6}{#1}");p("\\maroonD","\\textcolor{##ca337c}{#1}");p("\\maroonE","\\textcolor{##9e034e}{#1}");p("\\purpleA","\\textcolor{##ddd7ff}{#1}");p("\\purpleB","\\textcolor{##c6b9fc}{#1}");p("\\purpleC","\\textcolor{##aa87ff}{#1}");p("\\purpleD","\\textcolor{##7854ab}{#1}");p("\\purpleE","\\textcolor{##543b78}{#1}");p("\\mintA","\\textcolor{##f5f9e8}{#1}");p("\\mintB","\\textcolor{##edf2df}{#1}");p("\\mintC","\\textcolor{##e0e5cc}{#1}");p("\\grayA","\\textcolor{##f6f7f7}{#1}");p("\\grayB","\\textcolor{##f0f1f2}{#1}");p("\\grayC","\\textcolor{##e3e5e6}{#1}");p("\\grayD","\\textcolor{##d6d8da}{#1}");p("\\grayE","\\textcolor{##babec2}{#1}");p("\\grayF","\\textcolor{##888d93}{#1}");p("\\grayG","\\textcolor{##626569}{#1}");p("\\grayH","\\textcolor{##3b3e40}{#1}");p("\\grayI","\\textcolor{##21242c}{#1}");p("\\kaBlue","\\textcolor{##314453}{#1}");p("\\kaGreen","\\textcolor{##71B307}{#1}");var ln={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0};class Wl{constructor(e,t,a){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=t,this.expansionCount=0,this.feed(e),this.macros=new Gl(Ul,t.macros),this.mode=a,this.stack=[]}feed(e){this.lexer=new Ha(e,this.settings)}switchMode(e){this.mode=e}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(e){this.stack.push(e)}pushTokens(e){this.stack.push(...e)}scanArgument(e){var t,a,s;if(e){if(this.consumeSpaces(),this.future().text!=="[")return null;t=this.popToken(),{tokens:s,end:a}=this.consumeArg(["]"])}else({tokens:s,start:t,end:a}=this.consumeArg());return this.pushToken(new Le("EOF",a.loc)),this.pushTokens(s),new Le("",Oe.range(t,a))}consumeSpaces(){for(;;){var e=this.future();if(e.text===" ")this.stack.pop();else break}}consumeArg(e){var t=[],a=e&&e.length>0;a||this.consumeSpaces();var s=this.future(),n,l=0,c=0;do{if(n=this.popToken(),t.push(n),n.text==="{")++l;else if(n.text==="}"){if(--l,l===-1)throw new R("Extra }",n)}else if(n.text==="EOF")throw new R("Unexpected end of input in a macro argument, expected '"+(e&&a?e[c]:"}")+"'",n);if(e&&a)if((l===0||l===1&&e[c]==="{")&&n.text===e[c]){if(++c,c===e.length){t.splice(-c,c);break}}else c=0}while(l!==0||a);return s.text==="{"&&t[t.length-1].text==="}"&&(t.pop(),t.shift()),t.reverse(),{tokens:t,start:s,end:n}}consumeArgs(e,t){if(t){if(t.length!==e+1)throw new R("The length of delimiters doesn't match the number of args!");for(var a=t[0],s=0;s<a.length;s++){var n=this.popToken();if(a[s]!==n.text)throw new R("Use of the macro doesn't match its definition",n)}}for(var l=[],c=0;c<e;c++)l.push(this.consumeArg(t&&t[c+1]).tokens);return l}countExpansion(e){if(this.expansionCount+=e,this.expansionCount>this.settings.maxExpand)throw new R("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(e){var t=this.popToken(),a=t.text,s=t.noexpand?null:this._getExpansion(a);if(s==null||e&&s.unexpandable){if(e&&s==null&&a[0]==="\\"&&!this.isDefined(a))throw new R("Undefined control sequence: "+a);return this.pushToken(t),!1}this.countExpansion(1);var n=s.tokens,l=this.consumeArgs(s.numArgs,s.delimiters);if(s.numArgs){n=n.slice();for(var c=n.length-1;c>=0;--c){var d=n[c];if(d.text==="#"){if(c===0)throw new R("Incomplete placeholder at end of macro body",d);if(d=n[--c],d.text==="#")n.splice(c+1,1);else if(/^[1-9]$/.test(d.text))n.splice(c,2,...l[+d.text-1]);else throw new R("Not a valid argument number",d)}}}return this.pushTokens(n),n.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var e=this.stack.pop();return e.treatAsRelax&&(e.text="\\relax"),e}throw new Error}expandMacro(e){return this.macros.has(e)?this.expandTokens([new Le(e)]):void 0}expandTokens(e){var t=[],a=this.stack.length;for(this.pushTokens(e);this.stack.length>a;)if(this.expandOnce(!0)===!1){var s=this.stack.pop();s.treatAsRelax&&(s.noexpand=!1,s.treatAsRelax=!1),t.push(s)}return this.countExpansion(t.length),t}expandMacroAsText(e){var t=this.expandMacro(e);return t&&t.map(a=>a.text).join("")}_getExpansion(e){var t=this.macros.get(e);if(t==null)return t;if(e.length===1){var a=this.lexer.catcodes[e];if(a!=null&&a!==13)return}var s=typeof t=="function"?t(this):t;if(typeof s=="string"){var n=0;if(s.includes("#"))for(var l=s.replace(/##/g,"");l.includes("#"+(n+1));)++n;for(var c=new Ha(s,this.settings),d=[],m=c.lex();m.text!=="EOF";)d.push(m),m=c.lex();d.reverse();var f={tokens:d,numArgs:n};return f}return s}isDefined(e){return this.macros.has(e)||m0.hasOwnProperty(e)||pe.math.hasOwnProperty(e)||pe.text.hasOwnProperty(e)||ln.hasOwnProperty(e)}isExpandable(e){var t=this.macros.get(e);return t!=null?typeof t=="string"||typeof t=="function"||!t.unexpandable:m0.hasOwnProperty(e)&&!m0[e].primitive}}var Ga=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,ht=Object.freeze({"₊":"+","₋":"-","₌":"=","₍":"(","₎":")","₀":"0","₁":"1","₂":"2","₃":"3","₄":"4","₅":"5","₆":"6","₇":"7","₈":"8","₉":"9","ₐ":"a","ₑ":"e","ₕ":"h","ᵢ":"i","ⱼ":"j","ₖ":"k","ₗ":"l","ₘ":"m","ₙ":"n","ₒ":"o","ₚ":"p","ᵣ":"r","ₛ":"s","ₜ":"t","ᵤ":"u","ᵥ":"v","ₓ":"x","ᵦ":"β","ᵧ":"γ","ᵨ":"ρ","ᵩ":"ϕ","ᵪ":"χ","⁺":"+","⁻":"-","⁼":"=","⁽":"(","⁾":")","⁰":"0","¹":"1","²":"2","³":"3","⁴":"4","⁵":"5","⁶":"6","⁷":"7","⁸":"8","⁹":"9","ᴬ":"A","ᴮ":"B","ᴰ":"D","ᴱ":"E","ᴳ":"G","ᴴ":"H","ᴵ":"I","ᴶ":"J","ᴷ":"K","ᴸ":"L","ᴹ":"M","ᴺ":"N","ᴼ":"O","ᴾ":"P","ᴿ":"R","ᵀ":"T","ᵁ":"U","ⱽ":"V","ᵂ":"W","ᵃ":"a","ᵇ":"b","ᶜ":"c","ᵈ":"d","ᵉ":"e","ᶠ":"f","ᵍ":"g",ʰ:"h","ⁱ":"i",ʲ:"j","ᵏ":"k",ˡ:"l","ᵐ":"m",ⁿ:"n","ᵒ":"o","ᵖ":"p",ʳ:"r",ˢ:"s","ᵗ":"t","ᵘ":"u","ᵛ":"v",ʷ:"w",ˣ:"x",ʸ:"y","ᶻ":"z","ᵝ":"β","ᵞ":"γ","ᵟ":"δ","ᵠ":"ϕ","ᵡ":"χ","ᶿ":"θ"}),lr={"́":{text:"\\'",math:"\\acute"},"̀":{text:"\\`",math:"\\grave"},"̈":{text:'\\"',math:"\\ddot"},"̃":{text:"\\~",math:"\\tilde"},"̄":{text:"\\=",math:"\\bar"},"̆":{text:"\\u",math:"\\breve"},"̌":{text:"\\v",math:"\\check"},"̂":{text:"\\^",math:"\\hat"},"̇":{text:"\\.",math:"\\dot"},"̊":{text:"\\r",math:"\\mathring"},"̋":{text:"\\H"},"̧":{text:"\\c"}},Ua={á:"á",à:"à",ä:"ä",ǟ:"ǟ",ã:"ã",ā:"ā",ă:"ă",ắ:"ắ",ằ:"ằ",ẵ:"ẵ",ǎ:"ǎ",â:"â",ấ:"ấ",ầ:"ầ",ẫ:"ẫ",ȧ:"ȧ",ǡ:"ǡ",å:"å",ǻ:"ǻ",ḃ:"ḃ",ć:"ć",ḉ:"ḉ",č:"č",ĉ:"ĉ",ċ:"ċ",ç:"ç",ď:"ď",ḋ:"ḋ",ḑ:"ḑ",é:"é",è:"è",ë:"ë",ẽ:"ẽ",ē:"ē",ḗ:"ḗ",ḕ:"ḕ",ĕ:"ĕ",ḝ:"ḝ",ě:"ě",ê:"ê",ế:"ế",ề:"ề",ễ:"ễ",ė:"ė",ȩ:"ȩ",ḟ:"ḟ",ǵ:"ǵ",ḡ:"ḡ",ğ:"ğ",ǧ:"ǧ",ĝ:"ĝ",ġ:"ġ",ģ:"ģ",ḧ:"ḧ",ȟ:"ȟ",ĥ:"ĥ",ḣ:"ḣ",ḩ:"ḩ",í:"í",ì:"ì",ï:"ï",ḯ:"ḯ",ĩ:"ĩ",ī:"ī",ĭ:"ĭ",ǐ:"ǐ",î:"î",ǰ:"ǰ",ĵ:"ĵ",ḱ:"ḱ",ǩ:"ǩ",ķ:"ķ",ĺ:"ĺ",ľ:"ľ",ļ:"ļ",ḿ:"ḿ",ṁ:"ṁ",ń:"ń",ǹ:"ǹ",ñ:"ñ",ň:"ň",ṅ:"ṅ",ņ:"ņ",ó:"ó",ò:"ò",ö:"ö",ȫ:"ȫ",õ:"õ",ṍ:"ṍ",ṏ:"ṏ",ȭ:"ȭ",ō:"ō",ṓ:"ṓ",ṑ:"ṑ",ŏ:"ŏ",ǒ:"ǒ",ô:"ô",ố:"ố",ồ:"ồ",ỗ:"ỗ",ȯ:"ȯ",ȱ:"ȱ",ő:"ő",ṕ:"ṕ",ṗ:"ṗ",ŕ:"ŕ",ř:"ř",ṙ:"ṙ",ŗ:"ŗ",ś:"ś",ṥ:"ṥ",š:"š",ṧ:"ṧ",ŝ:"ŝ",ṡ:"ṡ",ş:"ş",ẗ:"ẗ",ť:"ť",ṫ:"ṫ",ţ:"ţ",ú:"ú",ù:"ù",ü:"ü",ǘ:"ǘ",ǜ:"ǜ",ǖ:"ǖ",ǚ:"ǚ",ũ:"ũ",ṹ:"ṹ",ū:"ū",ṻ:"ṻ",ŭ:"ŭ",ǔ:"ǔ",û:"û",ů:"ů",ű:"ű",ṽ:"ṽ",ẃ:"ẃ",ẁ:"ẁ",ẅ:"ẅ",ŵ:"ŵ",ẇ:"ẇ",ẘ:"ẘ",ẍ:"ẍ",ẋ:"ẋ",ý:"ý",ỳ:"ỳ",ÿ:"ÿ",ỹ:"ỹ",ȳ:"ȳ",ŷ:"ŷ",ẏ:"ẏ",ẙ:"ẙ",ź:"ź",ž:"ž",ẑ:"ẑ",ż:"ż",Á:"Á",À:"À",Ä:"Ä",Ǟ:"Ǟ",Ã:"Ã",Ā:"Ā",Ă:"Ă",Ắ:"Ắ",Ằ:"Ằ",Ẵ:"Ẵ",Ǎ:"Ǎ",Â:"Â",Ấ:"Ấ",Ầ:"Ầ",Ẫ:"Ẫ",Ȧ:"Ȧ",Ǡ:"Ǡ",Å:"Å",Ǻ:"Ǻ",Ḃ:"Ḃ",Ć:"Ć",Ḉ:"Ḉ",Č:"Č",Ĉ:"Ĉ",Ċ:"Ċ",Ç:"Ç",Ď:"Ď",Ḋ:"Ḋ",Ḑ:"Ḑ",É:"É",È:"È",Ë:"Ë",Ẽ:"Ẽ",Ē:"Ē",Ḗ:"Ḗ",Ḕ:"Ḕ",Ĕ:"Ĕ",Ḝ:"Ḝ",Ě:"Ě",Ê:"Ê",Ế:"Ế",Ề:"Ề",Ễ:"Ễ",Ė:"Ė",Ȩ:"Ȩ",Ḟ:"Ḟ",Ǵ:"Ǵ",Ḡ:"Ḡ",Ğ:"Ğ",Ǧ:"Ǧ",Ĝ:"Ĝ",Ġ:"Ġ",Ģ:"Ģ",Ḧ:"Ḧ",Ȟ:"Ȟ",Ĥ:"Ĥ",Ḣ:"Ḣ",Ḩ:"Ḩ",Í:"Í",Ì:"Ì",Ï:"Ï",Ḯ:"Ḯ",Ĩ:"Ĩ",Ī:"Ī",Ĭ:"Ĭ",Ǐ:"Ǐ",Î:"Î",İ:"İ",Ĵ:"Ĵ",Ḱ:"Ḱ",Ǩ:"Ǩ",Ķ:"Ķ",Ĺ:"Ĺ",Ľ:"Ľ",Ļ:"Ļ",Ḿ:"Ḿ",Ṁ:"Ṁ",Ń:"Ń",Ǹ:"Ǹ",Ñ:"Ñ",Ň:"Ň",Ṅ:"Ṅ",Ņ:"Ņ",Ó:"Ó",Ò:"Ò",Ö:"Ö",Ȫ:"Ȫ",Õ:"Õ",Ṍ:"Ṍ",Ṏ:"Ṏ",Ȭ:"Ȭ",Ō:"Ō",Ṓ:"Ṓ",Ṑ:"Ṑ",Ŏ:"Ŏ",Ǒ:"Ǒ",Ô:"Ô",Ố:"Ố",Ồ:"Ồ",Ỗ:"Ỗ",Ȯ:"Ȯ",Ȱ:"Ȱ",Ő:"Ő",Ṕ:"Ṕ",Ṗ:"Ṗ",Ŕ:"Ŕ",Ř:"Ř",Ṙ:"Ṙ",Ŗ:"Ŗ",Ś:"Ś",Ṥ:"Ṥ",Š:"Š",Ṧ:"Ṧ",Ŝ:"Ŝ",Ṡ:"Ṡ",Ş:"Ş",Ť:"Ť",Ṫ:"Ṫ",Ţ:"Ţ",Ú:"Ú",Ù:"Ù",Ü:"Ü",Ǘ:"Ǘ",Ǜ:"Ǜ",Ǖ:"Ǖ",Ǚ:"Ǚ",Ũ:"Ũ",Ṹ:"Ṹ",Ū:"Ū",Ṻ:"Ṻ",Ŭ:"Ŭ",Ǔ:"Ǔ",Û:"Û",Ů:"Ů",Ű:"Ű",Ṽ:"Ṽ",Ẃ:"Ẃ",Ẁ:"Ẁ",Ẅ:"Ẅ",Ŵ:"Ŵ",Ẇ:"Ẇ",Ẍ:"Ẍ",Ẋ:"Ẋ",Ý:"Ý",Ỳ:"Ỳ",Ÿ:"Ÿ",Ỹ:"Ỹ",Ȳ:"Ȳ",Ŷ:"Ŷ",Ẏ:"Ẏ",Ź:"Ź",Ž:"Ž",Ẑ:"Ẑ",Ż:"Ż",ά:"ά",ὰ:"ὰ",ᾱ:"ᾱ",ᾰ:"ᾰ",έ:"έ",ὲ:"ὲ",ή:"ή",ὴ:"ὴ",ί:"ί",ὶ:"ὶ",ϊ:"ϊ",ΐ:"ΐ",ῒ:"ῒ",ῑ:"ῑ",ῐ:"ῐ",ό:"ό",ὸ:"ὸ",ύ:"ύ",ὺ:"ὺ",ϋ:"ϋ",ΰ:"ΰ",ῢ:"ῢ",ῡ:"ῡ",ῠ:"ῠ",ώ:"ώ",ὼ:"ὼ",Ύ:"Ύ",Ὺ:"Ὺ",Ϋ:"Ϋ",Ῡ:"Ῡ",Ῠ:"Ῠ",Ώ:"Ώ",Ὼ:"Ὼ"};class Ft{constructor(e,t){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new Wl(e,t,this.mode),this.settings=t,this.leftrightDepth=0}expect(e,t){if(t===void 0&&(t=!0),this.fetch().text!==e)throw new R("Expected '"+e+"', got '"+this.fetch().text+"'",this.fetch());t&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(e){this.mode=e,this.gullet.switchMode(e)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var e=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),e}finally{this.gullet.endGroups()}}subparse(e){var t=this.nextToken;this.consume(),this.gullet.pushToken(new Le("}")),this.gullet.pushTokens(e);var a=this.parseExpression(!1);return this.expect("}"),this.nextToken=t,a}parseExpression(e,t){for(var a=[];;){this.mode==="math"&&this.consumeSpaces();var s=this.fetch();if(Ft.endOfExpression.has(s.text)||t&&s.text===t||e&&m0[s.text]&&m0[s.text].infix)break;var n=this.parseAtom(t);if(n){if(n.type==="internal")continue}else break;a.push(n)}return this.mode==="text"&&this.formLigatures(a),this.handleInfixNodes(a)}handleInfixNodes(e){for(var t=-1,a,s=0;s<e.length;s++)if(e[s].type==="infix"){if(t!==-1)throw new R("only one infix operator per group",e[s].token);t=s,a=e[s].replaceWith}if(t!==-1&&a){var n,l,c=e.slice(0,t),d=e.slice(t+1);c.length===1&&c[0].type==="ordgroup"?n=c[0]:n={type:"ordgroup",mode:this.mode,body:c},d.length===1&&d[0].type==="ordgroup"?l=d[0]:l={type:"ordgroup",mode:this.mode,body:d};var m;return a==="\\\\abovefrac"?m=this.callFunction(a,[n,e[t],l],[]):m=this.callFunction(a,[n,l],[]),[m]}else return e}handleSupSubscript(e){var t=this.fetch(),a=t.text;this.consume(),this.consumeSpaces();var s;do{var n;s=this.parseGroup(e)}while(((n=s)==null?void 0:n.type)==="internal");if(!s)throw new R("Expected group after '"+a+"'",t);return s}formatUnsupportedCmd(e){for(var t=[],a=0;a<e.length;a++)t.push({type:"textord",mode:"text",text:e[a]});var s={type:"text",mode:this.mode,body:t},n={type:"color",mode:this.mode,color:this.settings.errorColor,body:[s]};return n}parseAtom(e){var t=this.parseGroup("atom",e);if(t?.type==="internal"||this.mode==="text")return t;for(var a,s;;){this.consumeSpaces();var n=this.fetch();if(n.text==="\\limits"||n.text==="\\nolimits"){if(t&&t.type==="op"){var l=n.text==="\\limits";t.limits=l,t.alwaysHandleSupSub=!0}else if(t&&t.type==="operatorname")t.alwaysHandleSupSub&&(t.limits=n.text==="\\limits");else throw new R("Limit controls must follow a math operator",n);this.consume()}else if(n.text==="^"){if(a)throw new R("Double superscript",n);a=this.handleSupSubscript("superscript")}else if(n.text==="_"){if(s)throw new R("Double subscript",n);s=this.handleSupSubscript("subscript")}else if(n.text==="'"){if(a)throw new R("Double superscript",n);var c={type:"textord",mode:this.mode,text:"\\prime"},d=[c];for(this.consume();this.fetch().text==="'";)d.push(c),this.consume();this.fetch().text==="^"&&d.push(this.handleSupSubscript("superscript")),a={type:"ordgroup",mode:this.mode,body:d}}else if(ht[n.text]){var m=Ga.test(n.text),f=[];for(f.push(new Le(ht[n.text])),this.consume();;){var x=this.fetch().text;if(!ht[x]||Ga.test(x)!==m)break;f.unshift(new Le(ht[x])),this.consume()}var y=this.subparse(f);m?s={type:"ordgroup",mode:"math",body:y}:a={type:"ordgroup",mode:"math",body:y}}else break}return a||s?{type:"supsub",mode:this.mode,base:t,sup:a,sub:s}:t}parseFunction(e,t){var a=this.fetch(),s=a.text,n=m0[s];if(!n)return null;if(this.consume(),t&&t!=="atom"&&!n.allowedInArgument)throw new R("Got function '"+s+"' with no arguments"+(t?" as "+t:""),a);if(this.mode==="text"&&!n.allowedInText)throw new R("Can't use function '"+s+"' in text mode",a);if(this.mode==="math"&&n.allowedInMath===!1)throw new R("Can't use function '"+s+"' in math mode",a);var{args:l,optArgs:c}=this.parseArguments(s,n);return this.callFunction(s,l,c,a,e)}callFunction(e,t,a,s,n){var l={funcName:e,parser:this,token:s,breakOnTokenText:n},c=m0[e];if(c&&c.handler)return c.handler(l,t,a);throw new R("No function handler for "+e)}parseArguments(e,t){var a=t.numArgs+t.numOptionalArgs;if(a===0)return{args:[],optArgs:[]};for(var s=[],n=[],l=0;l<a;l++){var c=t.argTypes&&t.argTypes[l],d=l<t.numOptionalArgs;(t.primitive&&c==null||t.type==="sqrt"&&l===1&&n[0]==null)&&(c="primitive");var m=this.parseGroupOfType("argument to '"+e+"'",c,d);if(d)n.push(m);else if(m!=null)s.push(m);else throw new R("Null argument, please report this as a bug")}return{args:s,optArgs:n}}parseGroupOfType(e,t,a){switch(t){case"color":return this.parseColorGroup(a);case"size":return this.parseSizeGroup(a);case"url":return this.parseUrlGroup(a);case"math":case"text":return this.parseArgumentGroup(a,t);case"hbox":{var s=this.parseArgumentGroup(a,"text");return s!=null?{type:"styling",mode:s.mode,body:[s],style:"text"}:null}case"raw":{var n=this.parseStringGroup("raw",a);return n!=null?{type:"raw",mode:"text",string:n.text}:null}case"primitive":{if(a)throw new R("A primitive argument cannot be optional");var l=this.parseGroup(e);if(l==null)throw new R("Expected group as "+e,this.fetch());return l}case"original":case null:case void 0:return this.parseArgumentGroup(a);default:throw new R("Unknown group type as "+e,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(e,t){var a=this.gullet.scanArgument(t);if(a==null)return null;for(var s="",n;(n=this.fetch()).text!=="EOF";)s+=n.text,this.consume();return this.consume(),a.text=s,a}parseRegexGroup(e,t){for(var a=this.fetch(),s=a,n="",l;(l=this.fetch()).text!=="EOF"&&e.test(n+l.text);)s=l,n+=s.text,this.consume();if(n==="")throw new R("Invalid "+t+": '"+a.text+"'",a);return a.range(s,n)}parseColorGroup(e){var t=this.parseStringGroup("color",e);if(t==null)return null;var a=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);if(!a)throw new R("Invalid color: '"+t.text+"'",t);var s=a[0];return/^[0-9a-f]{6}$/i.test(s)&&(s="#"+s),{type:"color-token",mode:this.mode,color:s}}parseSizeGroup(e){var t,a=!1;if(this.gullet.consumeSpaces(),!e&&this.gullet.future().text!=="{"?t=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):t=this.parseStringGroup("size",e),!t)return null;!e&&t.text.length===0&&(t.text="0pt",a=!0);var s=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);if(!s)throw new R("Invalid size: '"+t.text+"'",t);var n={number:+(s[1]+s[2]),unit:s[3]};if(!fs(n))throw new R("Invalid unit: '"+n.unit+"'",t);return{type:"size",mode:this.mode,value:n,isBlank:a}}parseUrlGroup(e){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var t=this.parseStringGroup("url",e);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),t==null)return null;var a=t.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:a}}parseArgumentGroup(e,t){var a=this.gullet.scanArgument(e);if(a==null)return null;var s=this.mode;t&&this.switchMode(t),this.gullet.beginGroup();var n=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var l={type:"ordgroup",mode:this.mode,loc:a.loc,body:n};return t&&this.switchMode(s),l}parseGroup(e,t){var a=this.fetch(),s=a.text,n;if(s==="{"||s==="\\begingroup"){this.consume();var l=s==="{"?"}":"\\endgroup";this.gullet.beginGroup();var c=this.parseExpression(!1,l),d=this.fetch();this.expect(l),this.gullet.endGroup(),n={type:"ordgroup",mode:this.mode,loc:Oe.range(a,d),body:c,semisimple:s==="\\begingroup"||void 0}}else if(n=this.parseFunction(t,e)||this.parseSymbol(),n==null&&s[0]==="\\"&&!ln.hasOwnProperty(s)){if(this.settings.throwOnError)throw new R("Undefined control sequence: "+s,a);n=this.formatUnsupportedCmd(s),this.consume()}return n}formLigatures(e){for(var t=e.length-1,a=0;a<t;++a){var s=e[a],n=s.text;n==="-"&&e[a+1].text==="-"&&(a+1<t&&e[a+2].text==="-"?(e.splice(a,3,{type:"textord",mode:"text",loc:Oe.range(s,e[a+2]),text:"---"}),t-=2):(e.splice(a,2,{type:"textord",mode:"text",loc:Oe.range(s,e[a+1]),text:"--"}),t-=1)),(n==="'"||n==="`")&&e[a+1].text===n&&(e.splice(a,2,{type:"textord",mode:"text",loc:Oe.range(s,e[a+1]),text:n+n}),t-=1)}}parseSymbol(){var e=this.fetch(),t=e.text;if(/^\\verb[^a-zA-Z]/.test(t)){this.consume();var a=t.slice(5),s=a.charAt(0)==="*";if(s&&(a=a.slice(1)),a.length<2||a.charAt(0)!==a.slice(-1))throw new R(`\\verb assertion failed --
265
+ please report what input caused this bug`);return a=a.slice(1,-1),{type:"verb",mode:"text",body:a,star:s}}Ua.hasOwnProperty(t[0])&&!pe[this.mode][t[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+t[0]+'" used in math mode',e),t=Ua[t[0]]+t.slice(1));var n=Ll.exec(t);n&&(t=t.substring(0,n.index),t==="i"?t="ı":t==="j"&&(t="ȷ"));var l;if(pe[this.mode][t]){this.settings.strict&&this.mode==="math"&&gr.includes(t)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+t[0]+'" used in math mode',e);var c=pe[this.mode][t].group,d=Oe.range(e),m;if($i.hasOwnProperty(c)){var f=c;m={type:"atom",mode:this.mode,family:f,loc:d,text:t}}else m={type:c,mode:this.mode,loc:d,text:t};l=m}else if(t.charCodeAt(0)>=128)this.settings.strict&&(ps(t.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+t[0]+'" used in math mode',e):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+t[0]+'"'+(" ("+t.charCodeAt(0)+")"),e)),l={type:"textord",mode:"text",loc:Oe.range(e),text:t};else return null;if(this.consume(),n)for(var x=0;x<n[0].length;x++){var y=n[0][x];if(!lr[y])throw new R("Unknown accent ' "+y+"'",e);var b=lr[y][this.mode]||lr[y].text;if(!b)throw new R("Accent "+y+" unsupported in "+this.mode+" mode",e);l={type:"accent",mode:this.mode,loc:Oe.range(e),label:b,isStretchy:!1,isShifty:!0,base:l}}return l}}Ft.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Yr=function(e,t){if(!(typeof e=="string"||e instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var a=new Ft(e,t);delete a.gullet.macros.current["\\df@tag"];var s=a.parse();if(delete a.gullet.macros.current["\\current@color"],delete a.gullet.macros.current["\\color"],a.gullet.macros.get("\\df@tag")){if(!t.displayMode)throw new R("\\tag works only in display equations");s=[{type:"tag",mode:"text",body:s,tag:a.subparse([new Le("\\df@tag")])}]}return s},on=function(e,t,a){t.textContent="";var s=Kr(e,a).toNode();t.appendChild(s)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),on=function(){throw new R("KaTeX doesn't work in quirks mode.")});var Xl=function(e,t){var a=Kr(e,t).toMarkup();return a},Yl=function(e,t){var a=new Dr(t);return Yr(e,a)},un=function(e,t,a){if(a.throwOnError||!(e instanceof R))throw e;var s=I(["katex-error"],[new Ve(t)]);return s.setAttribute("title",e.toString()),s.setAttribute("style","color:"+a.errorColor),s},Kr=function(e,t){var a=new Dr(t);try{var s=Yr(e,a);return sl(s,e,a)}catch(n){return un(n,e,a)}},Kl=function(e,t){var a=new Dr(t);try{var s=Yr(e,a);return nl(s,e,a)}catch(n){return un(n,e,a)}},Zl="0.16.33",Jl={Span:Q0,Anchor:Er,SymbolNode:Ve,SvgNode:n0,PathNode:g0,LineNode:fr},Va={version:Zl,render:on,renderToString:Xl,ParseError:R,SETTINGS_SCHEMA:pt,__parse:Yl,__renderToDomTree:Kr,__renderToHTMLTree:Kl,__setFontMetrics:Ei,__defineSymbol:i,__defineFunction:L,__defineMacro:p,__domTree:Jl};const Ql={};function _l(r){const e=this,t=r||Ql,a=e.data(),s=a.micromarkExtensions||(a.micromarkExtensions=[]),n=a.fromMarkdownExtensions||(a.fromMarkdownExtensions=[]),l=a.toMarkdownExtensions||(a.toMarkdownExtensions=[]);s.push(ci(t)),n.push(ri()),l.push(ai(t))}const or={html:"http://www.w3.org/1999/xhtml",svg:"http://www.w3.org/2000/svg"};function eo(r,e){return cn(r,{})||{type:"root",children:[]}}function cn(r,e){const t=to(r,e);return t&&e.afterTransform&&e.afterTransform(r,t),t}function to(r,e){switch(r.nodeType){case 1:return no(r,e);case 3:return ao(r);case 8:return so(r);case 9:return Wa(r,e);case 10:return ro();case 11:return Wa(r,e);default:return}}function Wa(r,e){return{type:"root",children:dn(r,e)}}function ro(){return{type:"doctype"}}function ao(r){return{type:"text",value:r.nodeValue||""}}function so(r){return{type:"comment",value:r.nodeValue||""}}function no(r,e){const t=r.namespaceURI,a=t===or.svg?Mn:Nn,s=t===or.html?r.tagName.toLowerCase():r.tagName,n=t===or.html&&s==="template"?r.content:r,l=r.getAttributeNames(),c={};let d=-1;for(;++d<l.length;)c[l[d]]=r.getAttribute(l[d])||"";return a(s,c,dn(n,e))}function dn(r,e){const t=r.childNodes,a=[];let s=-1;for(;++s<t.length;){const n=cn(t[s],e);n!==void 0&&a.push(n)}return a}new DOMParser;function io(r,e){const t=lo(r);return eo(t)}function lo(r){const e=document.createElement("template");return e.innerHTML=r,e.content}const Xa=(function(r,e,t){const a=Tn(t);if(!r||!r.type||!r.children)throw new Error("Expected parent node");if(typeof e=="number"){if(e<0||e===Number.POSITIVE_INFINITY)throw new Error("Expected positive finite number as index")}else if(e=r.children.indexOf(e),e<0)throw new Error("Expected child node or index");for(;++e<r.children.length;)if(a(r.children[e],e,r))return r.children[e]}),M0=(function(r){if(r==null)return co;if(typeof r=="string")return uo(r);if(typeof r=="object")return oo(r);if(typeof r=="function")return Zr(r);throw new Error("Expected function, string, or array as `test`")});function oo(r){const e=[];let t=-1;for(;++t<r.length;)e[t]=M0(r[t]);return Zr(a);function a(...s){let n=-1;for(;++n<e.length;)if(e[n].apply(this,s))return!0;return!1}}function uo(r){return Zr(e);function e(t){return t.tagName===r}}function Zr(r){return e;function e(t,a,s){return!!(ho(t)&&r.call(this,t,typeof a=="number"?a:void 0,s||void 0))}}function co(r){return!!(r&&typeof r=="object"&&"type"in r&&r.type==="element"&&"tagName"in r&&typeof r.tagName=="string")}function ho(r){return r!==null&&typeof r=="object"&&"type"in r&&"tagName"in r}const Ya=/\n/g,Ka=/[\t ]+/g,Mr=M0("br"),Za=M0(yo),mo=M0("p"),Ja=M0("tr"),po=M0(["datalist","head","noembed","noframes","noscript","rp","script","style","template","title",bo,wo]),hn=M0(["address","article","aside","blockquote","body","caption","center","dd","dialog","dir","dl","dt","div","figure","figcaption","footer","form,","h1","h2","h3","h4","h5","h6","header","hgroup","hr","html","legend","li","listing","main","menu","nav","ol","p","plaintext","pre","section","ul","xmp"]);function fo(r,e){const t=e||{},a="children"in r?r.children:[],s=hn(r),n=fn(r,{whitespace:t.whitespace||"normal"}),l=[];(r.type==="text"||r.type==="comment")&&l.push(...pn(r,{breakBefore:!0,breakAfter:!0}));let c=-1;for(;++c<a.length;)l.push(...mn(a[c],r,{whitespace:n,breakBefore:c?void 0:s,breakAfter:c<a.length-1?Mr(a[c+1]):s}));const d=[];let m;for(c=-1;++c<l.length;){const f=l[c];typeof f=="number"?m!==void 0&&f>m&&(m=f):f&&(m!==void 0&&m>-1&&d.push(`
266
+ `.repeat(m)||" "),m=-1,d.push(f))}return d.join("")}function mn(r,e,t){return r.type==="element"?go(r,e,t):r.type==="text"?t.whitespace==="normal"?pn(r,t):vo(r):[]}function go(r,e,t){const a=fn(r,t),s=r.children||[];let n=-1,l=[];if(po(r))return l;let c,d;for(Mr(r)||Ja(r)&&Xa(e,r,Ja)?d=`
267
+ `:mo(r)?(c=2,d=2):hn(r)&&(c=1,d=1);++n<s.length;)l=l.concat(mn(s[n],r,{whitespace:a,breakBefore:n?void 0:c,breakAfter:n<s.length-1?Mr(s[n+1]):d}));return Za(r)&&Xa(e,r,Za)&&l.push(" "),c&&l.unshift(c),d&&l.push(d),l}function pn(r,e){const t=String(r.value),a=[],s=[];let n=0;for(;n<=t.length;){Ya.lastIndex=n;const d=Ya.exec(t),m=d&&"index"in d?d.index:t.length;a.push(xo(t.slice(n,m).replace(/[\u061C\u200E\u200F\u202A-\u202E\u2066-\u2069]/g,""),n===0?e.breakBefore:!0,m===t.length?e.breakAfter:!0)),n=m+1}let l=-1,c;for(;++l<a.length;)a[l].charCodeAt(a[l].length-1)===8203||l<a.length-1&&a[l+1].charCodeAt(0)===8203?(s.push(a[l]),c=void 0):a[l]?(typeof c=="number"&&s.push(c),s.push(a[l]),c=0):(l===0||l===a.length-1)&&s.push(0);return s}function vo(r){return[String(r.value)]}function xo(r,e,t){const a=[];let s=0,n;for(;s<r.length;){Ka.lastIndex=s;const l=Ka.exec(r);n=l?l.index:r.length,!s&&!n&&l&&!e&&a.push(""),s!==n&&a.push(r.slice(s,n)),s=l?n+l[0].length:n}return s!==n&&!t&&a.push(""),a.join(" ")}function fn(r,e){if(r.type==="element"){const t=r.properties||{};switch(r.tagName){case"listing":case"plaintext":case"xmp":return"pre";case"nobr":return"nowrap";case"pre":return t.wrap?"pre-wrap":"pre";case"td":case"th":return t.noWrap?"nowrap":e.whitespace;case"textarea":return"pre-wrap"}}return e.whitespace}function bo(r){return!!(r.properties||{}).hidden}function yo(r){return r.tagName==="td"||r.tagName==="th"}function wo(r){return r.tagName==="dialog"&&!(r.properties||{}).open}const ko={},So=[];function Mo(r){const e=r||ko;return function(t,a){An(t,"element",function(s,n){const l=Array.isArray(s.properties.className)?s.properties.className:So,c=l.includes("language-math"),d=l.includes("math-display"),m=l.includes("math-inline");let f=d;if(!c&&!d&&!m)return;let x=n[n.length-1],y=s;if(s.tagName==="code"&&c&&x&&x.type==="element"&&x.tagName==="pre"&&(y=x,x=n[n.length-2],f=!0),!x)return;const b=fo(y,{whitespace:"pre"});let k;try{k=Va.renderToString(b,{...e,displayMode:f,throwOnError:!0})}catch(z){const E=z,T=E.name.toLowerCase();a.message("Could not render math with KaTeX",{ancestors:[...n,s],cause:E,place:s.position,ruleId:T,source:"rehype-katex"});try{k=Va.renderToString(b,{...e,displayMode:f,strict:"ignore",throwOnError:!1})}catch{k=[{type:"element",tagName:"span",properties:{className:["katex-error"],style:"color:"+(e.errorColor||"#cc0000"),title:String(z)},children:[{type:"text",value:b}]}]}}typeof k=="string"&&(k=io(k).children);const S=x.children.indexOf(y);return x.children.splice(S,1,...k),zn})}}const No=r=>{const e=[];let t=r.replace(/```[\s\S]*?```|`[^`\n]+`/g,a=>(e.push(a),`__CODE_BLOCK_${e.length-1}__`));return t=t.replace(/\\\[([\s\S]*?)\\\]/g,(a,s)=>`$$${s}$$`),t=t.replace(/\\\(([\s\S]*?)\\\)/g,(a,s)=>`$${s}$`),e.forEach((a,s)=>{t=t.replace(`__CODE_BLOCK_${s}__`,a)}),t},To=({content:r,className:e})=>{const{theme:t}=C0(),[a,s]=ur.useState(null),n=ur.useMemo(()=>No(r),[r]),l=async c=>{try{await navigator.clipboard.writeText(c),s(c),setTimeout(()=>s(null),2e3)}catch(d){console.error("Failed to copy text:",d)}};return u.jsx("div",{className:Y("prose prose-sm max-w-none dark:prose-invert prose-gray","[&_.katex-display]:overflow-x-auto [&_.katex-display]:overflow-y-hidden [&_.katex-display]:py-2","[&_.katex]:text-inherit",e),children:u.jsx(jn,{remarkPlugins:[_l],rehypePlugins:[Mo],components:{code({inline:c,className:d,children:m,...f}){const x=/language-(\w+)/.exec(d||""),y=String(m).replace(/\n$/,""),b=x?x[1]:null;return c?u.jsx("code",{className:Y("px-2 py-1 rounded-md bg-gray-100 dark:bg-dark-200 text-gray-800 dark:text-dark-800","font-mono text-sm border border-gray-200 dark:border-dark-300",d),...f,children:m}):u.jsxs("div",{className:"relative group my-4 overflow-hidden rounded-xl border border-gray-200 dark:border-dark-300 shadow-sm",children:[u.jsxs("div",{className:"flex items-center justify-between bg-gray-50 dark:bg-dark-100 px-4 py-3 border-b border-gray-200 dark:border-dark-300",children:[u.jsx("span",{className:"text-xs font-semibold text-gray-700 dark:text-dark-700 uppercase tracking-wide",children:b||"text"}),u.jsx("button",{onClick:()=>l(y),className:"opacity-0 group-hover:opacity-100 transition-all duration-200 p-2 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-300 focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1",title:"Copy code",children:a===y?u.jsx(Nt,{className:"h-4 w-4 text-success-600 dark:text-success-400"}):u.jsx(ss,{className:"h-4 w-4 text-gray-500 dark:text-dark-600"})})]}),u.jsx("div",{className:"overflow-x-auto",children:u.jsx(Bn,{language:b||"text",isDark:t.mode==="dark",className:"!m-0 !rounded-none !border-none",children:y})})]})},pre({children:c,...d}){return u.jsx("pre",{...d,children:c})},p({children:c,...d}){return u.jsx("div",{className:"mb-4 last:mb-0 leading-relaxed",...d,children:c})},ul({children:c,...d}){return u.jsx("ul",{className:"list-disc list-inside mb-4 space-y-2 pl-4",...d,children:c})},ol({children:c,...d}){return u.jsx("ol",{className:"list-decimal list-inside mb-4 space-y-2 pl-4",...d,children:c})},li({children:c,...d}){return u.jsx("li",{className:"text-gray-700 dark:text-dark-700 leading-relaxed",...d,children:c})},blockquote({children:c,...d}){return u.jsx("blockquote",{className:"border-l-4 border-primary-400 dark:border-primary-500 ophelia:border-[#a855f7] bg-primary-25 dark:bg-primary-950/30 ophelia:bg-[rgba(168,85,247,0.1)] pl-4 py-3 my-4 rounded-r-lg italic text-gray-700 dark:text-dark-700 ophelia:text-[#d4d4d4]",...d,children:c})},h1({children:c,...d}){return u.jsx("h1",{className:"text-2xl font-bold mb-4 mt-6 first:mt-0 text-gray-900 dark:text-dark-800 border-b border-gray-200 dark:border-dark-300 pb-2",...d,children:c})},h2({children:c,...d}){return u.jsx("h2",{className:"text-xl font-semibold mb-3 mt-6 first:mt-0 text-gray-900 dark:text-dark-800",...d,children:c})},h3({children:c,...d}){return u.jsx("h3",{className:"text-lg font-medium mb-3 mt-4 first:mt-0 text-gray-900 dark:text-dark-800",...d,children:c})}},children:n})})},Ao=({statistics:r,className:e=""})=>{const[t,a]=A.useState(!1),{t:s}=Ze(),n=y=>{if(y==null)return"N/A";const b=y/1e6;return b<1e3?`${Math.round(b)}ms`:`${(b/1e3).toFixed(2)}s`},l=y=>y?`${y.toFixed(1)} t/s`:"N/A",c=r.prompt_eval_count||0,d=r.eval_count||0,m=c+d,f=n(r.total_duration),x=l(r.tokens_per_second);return u.jsxs("div",{className:`text-xs text-gray-500 dark:text-dark-500 mt-2 ${e}`,children:[u.jsxs("div",{className:"flex items-center gap-4 mb-1",children:[u.jsxs("span",{className:"flex items-center gap-1 text-gray-600 dark:text-dark-600",children:[u.jsx(Rn,{size:12,className:"text-primary-500"}),d," tokens"]}),u.jsx("span",{className:"text-gray-500 dark:text-dark-500",children:x}),u.jsx("span",{className:"text-gray-500 dark:text-dark-500",children:f}),r.model&&u.jsx("span",{className:"text-gray-400 dark:text-dark-400 bg-gray-100 dark:bg-dark-200 px-2 py-0.5 rounded-full truncate max-w-32 sm:max-w-48",title:r.model,children:r.model})]}),u.jsxs("button",{onClick:()=>a(!t),className:"flex items-center gap-1 text-gray-400 dark:text-dark-400 hover:text-gray-600 dark:hover:text-dark-600 transition-colors",children:[t?u.jsx(D0,{size:12}):u.jsx(qn,{size:12}),u.jsx("span",{children:s("generationStats.details")})]}),t&&u.jsxs("div",{className:"mt-2 p-3 bg-gray-50 dark:bg-dark-100 border border-gray-200 dark:border-dark-300 rounded-lg text-xs space-y-2",children:[u.jsxs("div",{className:"grid grid-cols-2 gap-x-4 gap-y-2",children:[u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.promptTokens")})," ",c]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.generatedTokens")})," ",d]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.totalTokens")})," ",m]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.speed")})," ",x]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.promptEval")})," ",n(r.prompt_eval_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.generation")})," ",n(r.eval_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.modelLoad")})," ",n(r.load_duration)]}),u.jsxs("div",{className:"text-gray-700 dark:text-dark-700",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.totalTime")})," ",f]})]}),r.created_at&&u.jsxs("div",{className:"pt-2 border-t border-gray-200 dark:border-dark-300 text-gray-600 dark:text-dark-600",children:[u.jsx("span",{className:"font-medium text-gray-800 dark:text-dark-800",children:s("generationStats.generatedAt")})," ",new Date(r.created_at).toLocaleTimeString()]})]})]})};let G0=null,U0=null,mt=0;const zo=300*1e3;async function jo(){const r=Date.now();return G0!==null&&r-mt<zo?G0:U0||(U0=(async()=>{try{const e=await gt.getModels();return e.success&&e.data&&e.data.length>0?(G0=e.data,mt=r,e.data):(G0=[],mt=r,[])}catch{return G0=[],mt=r,[]}finally{U0=null}})(),U0)}function Co(r){return r.split(/(?<=[.!?]["']?\s)|(?<=[.!?]["']?$)/).map(t=>t.trim()).filter(t=>t.length>0)}const Do=({text:r,className:e,size:t="sm"})=>{const{t:a}=Ze(),{preferences:s}=C0(),[n,l]=A.useState(!1),[c,d]=A.useState(!1),[m,f]=A.useState(null),[x,y]=A.useState([]),[b,k]=A.useState(null),S=A.useRef(null),z=A.useRef(!1),E=A.useRef([]),T=A.useRef(0);A.useEffect(()=>{let N=!0;return jo().then(j=>{N&&(y(j),k(j.length>0))}),()=>{N=!1}},[]);const H=A.useCallback(async(N,j,C,F)=>{const Z=await gt.generateBase64({model:j,input:N,voice:C,speed:F,response_format:"mp3"});if(!Z.success||!Z.data?.audio)throw new Error(Z.message||a("ttsButton.generateFailed"));const X=`data:${Z.data.mimeType};base64,${Z.data.audio}`,O=new Audio(X);return S.current=O,new Promise((re,Q)=>{O.onended=()=>{S.current=null,re()},O.onerror=()=>{S.current=null,Q(new Error(a("ttsButton.playbackFailed")))},O.play().catch(Q)})},[a]),V=A.useCallback(async(N,j,C,F)=>{E.current=N,T.current=0,z.current=!1;let Z=null;const X=async O=>{try{const re=await gt.generateBase64({model:j,input:O,voice:C,speed:F,response_format:"mp3"});return!re.success||!re.data?.audio?null:{audioUrl:`data:${re.data.mimeType};base64,${re.data.audio}`,mimeType:re.data.mimeType}}catch{return null}};N.length>0&&(Z=X(N[0]));for(let O=0;O<N.length&&!z.current;O++){T.current=O;try{const re=await Z;if(z.current)break;if(O+1<N.length?Z=X(N[O+1]):Z=null,!re){console.warn(`Failed to generate audio for sentence ${O+1}, skipping`);continue}const Q=new Audio(re.audioUrl);S.current=Q,await new Promise((le,Me)=>{Q.onended=()=>{S.current=null,le()},Q.onerror=()=>{S.current=null,le()},Q.play().catch(()=>{le()})})}catch(re){console.error(`Error playing sentence ${O+1}:`,re)}}},[]),B=A.useCallback(()=>{z.current=!0,S.current&&(S.current.pause(),S.current.currentTime=0,S.current=null),l(!1),d(!1)},[]),G=async()=>{if(!c){if(n){B();return}d(!0),f(null),z.current=!1;try{const N=s.ttsSettings,j=N?.model||x[0]?.model||"tts-1",C=N?.voice||x[0]?.config?.default_voice||"alloy",F=N?.speed||1;if(N?.streamSentences||!1){const X=Co(r);if(X.length===0)throw new Error(a("ttsButton.generateFailed"));d(!1),l(!0),await V(X,j,C,F),z.current||l(!1)}else await H(r,j,C,F),d(!1),l(!0),S.current&&(S.current.onended=()=>{l(!1),S.current=null},S.current.onerror=()=>{f(a("ttsButton.playbackFailed")),l(!1),S.current=null})}catch(N){const j=N instanceof Error?N.message:a("ttsButton.generateFailed");f(j),console.error("TTS error:",N),l(!1),d(!1)}}};if(A.useEffect(()=>()=>{z.current=!0,S.current&&(S.current.pause(),S.current=null)},[]),b===!1||b===null)return null;const W={sm:"h-6 w-6 p-1",md:"h-8 w-8 p-1.5",lg:"h-10 w-10 p-2"},$={sm:"h-3.5 w-3.5",md:"h-4 w-4",lg:"h-5 w-5"};return u.jsx("button",{onClick:G,disabled:c||!r,title:m||a(n?"ttsButton.stopSpeaking":c?"ttsButton.generatingSpeech":"ttsButton.readAloud"),className:Y("rounded-full transition-all duration-200","hover:bg-gray-100 dark:hover:bg-dark-200","focus:outline-none focus:ring-2 focus:ring-primary-500 focus:ring-offset-1","disabled:opacity-50 disabled:cursor-not-allowed",m?"text-red-500 dark:text-red-400":n?"text-primary-600 dark:text-primary-400 bg-primary-50 dark:bg-primary-900/20":"text-gray-500 dark:text-gray-400",W[t],e),children:c?u.jsx(ns,{className:Y($[t],"animate-spin")}):n?u.jsx(is,{className:$[t]}):m?u.jsx(Pn,{className:$[t]}):u.jsx(On,{className:$[t]})})},Bo=[{regex:/```html\s*\n([\s\S]*?)\n```/gi,type:"html",getTitle:r=>Eo(r)||"HTML Document"},{regex:/```svg\s*\n([\s\S]*?)\n```/gi,type:"svg",getTitle:r=>"SVG Image"},{regex:/```(?:react|jsx)\s*\n([\s\S]*?)\n```/gi,type:"react",getTitle:r=>Fo(r)||"React Component"},{regex:/```json\s*\n([\s\S]*?)\n```/gi,type:"json",getTitle:r=>"JSON Data"},{regex:/```python\s*\n([\s\S]*?)\n```/gi,type:"code",language:"python",getTitle:r=>Ro(r)||"Python Code"},{regex:/```(?:javascript|js)\s*\n([\s\S]*?)\n```/gi,type:"code",language:"javascript",getTitle:r=>qo(r)||"JavaScript Code"},{regex:/```css\s*\n([\s\S]*?)\n```/gi,type:"code",language:"css",getTitle:r=>"CSS Styles"},{regex:/```(\w+)\s*\n([\s\S]*?)\n```/gi,type:"code",getTitle:(r,e)=>`${e.toUpperCase()} Code`}],Io=[{regex:/<artifact\s+type="([^"]+)"\s+title="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:r=>({type:r[1],title:r[2],content:r[3].trim()})},{regex:/<artifact\s+type="([^"]+)"[^>]*>([\s\S]*?)<\/artifact>/gi,extract:r=>({type:r[1],title:`${r[1].toUpperCase()} Artifact`,content:r[2].trim()})}];function Qa(r){const e=document.createElement("div");return e.innerHTML=r,e.textContent||e.innerText||""}function Eo(r){const e=r.match(/<title[^>]*>(.*?)<\/title>/i);if(e)return Qa(e[1]).trim();const t=r.match(/<h1[^>]*>(.*?)<\/h1>/i);return t?Qa(t[1]).trim():null}function Fo(r){const e=r.match(/(?:function|const)\s+(\w+)/);if(e)return e[1];const t=r.match(/class\s+(\w+)/);return t?t[1]:null}function Ro(r){if(r.includes("def main("))return"Python Script";const e=r.match(/class\s+(\w+)/);if(e)return`${e[1]} Class`;const t=r.match(/def\s+(\w+)/);return t&&t[1]!=="__init__"?`${t[1]} Function`:null}function qo(r){const e=r.match(/function\s+(\w+)/);if(e)return`${e[1]} Function`;const t=r.match(/(?:const|let)\s+(\w+)\s*=/);return t?t[1]:null}function _a(r,e){if(e==="html")return/<[^>]+>/.test(r)&&r.trim().length>200;if(e==="svg")return/<svg[^>]*>/.test(r);if(e==="react")return/<[A-Z][^>]*>/.test(r)||/return\s*\(/.test(r);if(e==="json")try{return JSON.parse(r),r.trim().length>100}catch{return!1}if(e==="code"){const t=r.split(`
268
+ `).length,a=r.trim().length,s=/function|class|def |import |from |const |let |var |if |for |while |try |catch/.test(r);return(a>500||t>15)&&s}return!1}function es(r){const e=[];let t=r;for(const a of Io){let s;for(;(s=a.regex.exec(t))!==null;){const n=a.extract(s);if(_a(n.content,n.type)){const l={id:`artifact-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,type:n.type,title:n.title,content:n.content,createdAt:Date.now(),updatedAt:Date.now()};e.push(l),t=t.replace(s[0],"")}}}for(const a of Bo){let s;for(a.regex.lastIndex=0;(s=a.regex.exec(t))!==null;){const n=s[1]||s[2],l=a.language||(s[1]&&s[2]?s[1]:void 0);if(_a(n,a.type)){const c={id:`artifact-${Date.now()}-${Math.random().toString(36).substr(2,9)}`,type:a.type,title:a.getTitle(n,l||"code"),content:n,language:l,createdAt:Date.now(),updatedAt:Date.now()};e.push(c),t=t.replace(s[0],"")}}}return{content:t.trim(),artifacts:e}}const Nr=({message:r,isStreaming:e=!1,className:t,isLastAssistantMessage:a=!1,onRegenerate:s})=>{const{t:n}=Ze(),l=r.role==="user",c=r.role==="system",{preferences:d}=C0(),{user:m}=Ar(),{setSystemMessage:f,getCurrentPersona:x}=je(),y=x(),[b,k]=A.useState(!1),[S,z]=A.useState(r.content),[E,T]=A.useState(null),[H,V]=A.useState(!1),[B,G]=A.useState(r.content),[W,$]=A.useState(!1),[N,j]=A.useState(r.artifacts||[]),[C,F]=A.useState(null),[Z,X]=A.useState(!1),[O,re]=A.useState(!1),[Q,le]=A.useState(!1),Me=A.useRef(null),Ne=A.useRef(e),Ie=A.useRef(!1),ee=async()=>{try{await navigator.clipboard.writeText(r.content),le(!0),setTimeout(()=>le(!1),2e3)}catch(se){console.error("Failed to copy message:",se)}};A.useEffect(()=>{if(!l&&!c&&r.content){const se=ra(r.content);F(se.thinking);const me=se.content;if(r.artifacts&&r.artifacts.length>0)G(me),j(r.artifacts);else if(e)G(me),j([]);else{const de=es(me);G(de.content),j(de.artifacts)}}},[r.content,r.artifacts,l,c,e]),A.useEffect(()=>{if(!l&&!c&&r.content&&!e){const se=ra(r.content);F(se.thinking);const me=se.content;if(!r.artifacts||r.artifacts.length===0){const de=es(me);G(de.content),j(de.artifacts)}}},[e,r.content,r.artifacts,l,c]),A.useEffect(()=>{const se=Ne.current&&!e;return Ne.current=e,se&&!Ie.current&&!l&&!c&&B&&d.ttsSettings?.enabled&&d.ttsSettings?.autoPlay&&(Ie.current=!0,(async()=>{re(!0);try{const de=await gt.generateBase64({model:d.ttsSettings?.model||"tts-1",input:B,voice:d.ttsSettings?.voice||"alloy",speed:d.ttsSettings?.speed||1,response_format:"mp3"});if(de.success&&de.data?.audio){const Ge=`data:${de.data.mimeType};base64,${de.data.audio}`,Te=new Audio(Ge);Me.current=Te,Te.onended=()=>{re(!1),Me.current=null},Te.onerror=()=>{re(!1),Me.current=null},await Te.play()}}catch(de){console.error("Auto-play TTS failed:",de),re(!1)}})()),()=>{Me.current&&(Me.current.pause(),Me.current=null)}},[e,l,c,B,d.ttsSettings]);const ne=()=>c?n("chatMessage.system"):l?d.showUsername&&m?.username?m.username:n("chatMessage.you"):y?.name?y.name:r.model||n("chatMessage.assistant"),ge=()=>{k(!0),z(r.content)},Ce=async()=>{V(!0);try{f(S),k(!1),console.log("✅ System message updated:",S)}catch(se){console.error("Failed to save system message:",se)}finally{V(!1)}},u0=()=>{k(!1),z(r.content)},Xe=(se,me=100)=>se.length<=me?se:se.substring(0,me)+"...",N0=c&&r.content.length>100;return u.jsxs("div",{className:Y("flex transition-colors group my-2",l?"justify-end":"justify-start",t),children:[u.jsxs("div",{className:Y("flex gap-3 sm:gap-4",l?"flex-row-reverse max-w-[85%] sm:max-w-[75%]":c?"w-full":"max-w-[85%] sm:max-w-[75%]"),children:[!c&&u.jsx("div",{className:Y("flex shrink-0 items-center justify-center shadow-sm overflow-hidden mt-1",l?"h-8 w-8 rounded-full bg-primary-600 ophelia:bg-[#9333ea] text-white":y?.avatar?"h-8 w-8 rounded-full bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]":"h-8 px-2 rounded-full bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]"),children:l?m?.avatar?u.jsx("img",{src:m.avatar,alt:m.username,className:"w-full h-full object-cover"}):u.jsx(dr,{className:"h-4 w-4"}):y?.avatar?u.jsx("img",{src:y.avatar,alt:y.name||"Assistant",className:"w-full h-full object-cover"}):u.jsx("span",{className:"libre-brand text-xs text-gray-700 dark:text-gray-200 ophelia:text-[#e5e5e5]",children:"Libre"})}),u.jsxs("div",{className:Y("flex-1 min-w-0 rounded-2xl sm:rounded-3xl p-4 sm:p-5",l?"bg-primary-600/90 dark:bg-primary-700/90 ophelia:bg-[#9333ea]/90 text-white":c?"bg-transparent p-2 py-3":"bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md shadow-sm border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60"),children:[!c&&u.jsxs("div",{className:Y("flex items-center gap-3 mb-2",l&&"flex-row-reverse"),children:[u.jsx("span",{className:Y("text-sm font-semibold",l?"text-white/90":"text-gray-900 dark:text-dark-800 ophelia:text-[#fafafa]"),children:ne()}),r.model&&!l&&y?.name&&u.jsx("span",{className:"text-xs text-gray-500 dark:text-dark-600 ophelia:text-[#737373] bg-gray-100 dark:bg-dark-200 ophelia:bg-[#121212] px-2 py-0.5 rounded-full truncate max-w-32 sm:max-w-48",title:r.model,children:r.model}),u.jsx("span",{className:Y("text-xs",l?"text-white/60":"text-gray-400 dark:text-dark-500 ophelia:text-[#525252]"),children:In(r.timestamp)}),!l&&!c&&!e&&B&&u.jsx(Do,{text:B,size:"sm",className:Y("transition-opacity",O?"opacity-100 text-primary-600 dark:text-primary-400":"opacity-0 group-hover:opacity-100")}),!c&&!e&&u.jsx("button",{onClick:ee,className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] transition-opacity opacity-0 group-hover:opacity-100",title:n(Q?"chatMessage.copied":"chatMessage.copyMessage"),children:Q?u.jsx(Nt,{className:"h-3.5 w-3.5 text-green-500 dark:text-green-400"}):u.jsx(ss,{className:"h-3.5 w-3.5 text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]"})}),!l&&!c&&!e&&a&&s&&u.jsx("button",{onClick:s,className:"p-1 rounded hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] transition-opacity opacity-0 group-hover:opacity-100",title:n("chatMessage.regenerateResponse"),children:u.jsx(hr,{className:"h-3.5 w-3.5 text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]"})})]}),u.jsxs("div",{className:Y(l?"text-white":"text-gray-700 dark:text-dark-700 ophelia:text-[#e5e5e5]"),children:[r.images&&r.images.length>0&&u.jsx("div",{className:"mb-3 grid grid-cols-2 sm:grid-cols-3 gap-2 max-w-lg",children:r.images.map((se,me)=>u.jsx("div",{className:"aspect-square rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700",children:u.jsx("img",{src:se,alt:`Uploaded image ${me+1}`,className:"w-full h-full object-cover cursor-pointer hover:opacity-90 transition-opacity",onClick:()=>T(se)})},me))}),l?u.jsx("p",{className:"whitespace-pre-wrap leading-relaxed",children:r.content}):c?u.jsxs("div",{className:"bg-gray-50/30 dark:bg-dark-50/30 ophelia:bg-[rgba(5,5,5,0.8)] rounded-md p-2 border border-gray-100/50 dark:border-dark-200/50 ophelia:border-[rgba(26,26,26,0.5)] relative z-0",children:[u.jsxs("div",{className:"text-xs font-medium mb-1 text-gray-500 dark:text-gray-400 ophelia:text-[#737373] flex items-center justify-between",children:[u.jsxs("div",{className:"flex items-center gap-1",children:[u.jsx(ls,{className:"h-2.5 w-2.5 opacity-50"}),n("chatMessage.system")]}),u.jsx("div",{className:"flex items-center gap-1",children:b?u.jsxs(u.Fragment,{children:[u.jsx("button",{onClick:Ce,disabled:H,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] rounded transition-colors disabled:opacity-50",title:n("chatMessage.saveChanges"),children:u.jsx(Hn,{className:"h-3 w-3 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"})}),u.jsx("button",{onClick:u0,disabled:H,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(239,68,68,0.15)] rounded transition-colors disabled:opacity-50",title:n("chatMessage.cancelEditing"),children:u.jsx(p0,{className:"h-3 w-3 text-red-600 dark:text-red-400 ophelia:text-[#f87171]"})})]}):u.jsx("button",{onClick:ge,className:"p-1 hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[rgba(147,51,234,0.2)] rounded transition-colors",title:n("chatMessage.editSystemMessage"),children:u.jsx(Ln,{className:"h-3 w-3 text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] ophelia:hover:text-[#c084fc]"})})})]}),b?u.jsx("textarea",{value:S,onChange:se=>z(se.target.value),className:"w-full min-h-[100px] p-3 text-sm text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] bg-gray-50 dark:bg-dark-50 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-lg resize-none focus:outline-none focus:ring-2 focus:ring-primary-500 dark:focus:ring-primary-400 ophelia:focus:ring-[#a855f7] focus:border-transparent",placeholder:n("chatMessage.systemMessagePlaceholder"),disabled:H}):u.jsxs("div",{children:[u.jsx("p",{className:"whitespace-pre-wrap leading-relaxed text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:W?r.content:Xe(r.content)}),N0&&u.jsx("button",{onClick:()=>$(!W),className:"mt-1 flex items-center gap-1 text-xs text-gray-400 dark:text-gray-500 ophelia:text-[#737373] hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#c084fc] transition-colors",children:W?u.jsxs(u.Fragment,{children:[u.jsx(ia,{className:"h-3 w-3"}),n("chatMessage.showLess")]}):u.jsxs(u.Fragment,{children:[u.jsx(D0,{className:"h-3 w-3"}),n("chatMessage.showMore")]})})]})]}):u.jsxs("div",{className:"relative",children:[C&&u.jsxs("div",{className:"mb-3",children:[u.jsxs("button",{onClick:()=>X(!Z),className:"flex items-center gap-2 text-sm text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#c084fc] transition-colors",children:[u.jsx(xt,{className:"h-4 w-4"}),u.jsx("span",{className:"font-medium",children:n("chatMessage.thinking")}),Z?u.jsx(ia,{className:"h-4 w-4"}):u.jsx(D0,{className:"h-4 w-4"})]}),Z&&u.jsx("div",{className:"mt-2 p-3 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#0a0a0a] rounded-lg border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:u.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-300 ophelia:text-[#a3a3a3] whitespace-pre-wrap leading-relaxed",children:C})})]}),u.jsx(To,{content:B}),e&&u.jsx("div",{className:"inline-block w-2 h-5 bg-primary-500 animate-pulse ml-1 rounded-sm"})]}),!l&&!c&&N.length>0&&u.jsx("div",{className:"mt-4",children:u.jsx(ei,{artifacts:N})}),!l&&!c&&r.statistics&&u.jsx("div",{className:"mt-3",children:u.jsx(Ao,{statistics:r.statistics})})]})]})]}),E&&Tr.createPortal(u.jsxs("div",{className:"fixed inset-0 z-[9999] flex items-center justify-center bg-black/80 backdrop-blur-sm",onClick:()=>T(null),children:[u.jsx("button",{className:"absolute top-6 right-6 p-3 bg-white/20 hover:bg-white/40 rounded-full text-white transition-all shadow-lg border border-white/30",onClick:se=>{se.stopPropagation(),T(null)},children:u.jsx(p0,{className:"h-7 w-7"})}),u.jsx("img",{src:E,alt:n("chatMessage.fullSizeImage"),className:"max-w-[90vw] max-h-[90vh] object-contain rounded-lg shadow-2xl",onClick:se=>se.stopPropagation()})]}),document.body)]})},Po=({messages:r,isStreaming:e=!1,streamingMessage:t,streamingMessageId:a,isLastAssistantMessage:s=!1,onRegenerate:n,onSelectBranch:l,className:c})=>{if(r.length===1){const d=r[0],m=e&&a===d.id,f=m&&t?{...d,content:t}:d;return u.jsx(Nr,{message:f,isStreaming:m,isLastAssistantMessage:s,onRegenerate:n,className:c})}return u.jsxs("div",{className:Y("relative py-1",c),children:[u.jsxs("div",{className:"flex items-center gap-1.5 px-4 pb-2 text-[10px] text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",children:[u.jsx($n,{className:"h-3 w-3"}),u.jsxs("span",{children:[r.length," variants"]})]}),u.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 px-4",children:r.map((d,m)=>{const f=d.isActive!==!1,x=e&&a===d.id,y=x&&t?{...d,content:t}:d;return u.jsxs("div",{className:Y("relative rounded-lg overflow-hidden transition-all duration-200","border shadow-sm",f||x?"border-primary-300 dark:border-primary-600 ophelia:border-[#7c3aed] shadow-primary-100 dark:shadow-primary-900/20 ophelia:shadow-[#9333ea]/10":"border-gray-200 dark:border-dark-300 ophelia:border-[#262626] hover:border-gray-300 dark:hover:border-dark-400 ophelia:hover:border-[#3f3f46]",!f&&!x&&"cursor-pointer hover:shadow-md"),onClick:()=>!f&&!x&&l?.(d.id),children:[u.jsxs("div",{className:Y("flex items-center justify-between px-2.5 py-1 text-[11px]",f||x?"bg-primary-50/80 dark:bg-primary-900/20 ophelia:bg-[#9333ea]/10 text-primary-600 dark:text-primary-400 ophelia:text-[#c084fc]":"bg-gray-50/80 dark:bg-dark-100/80 ophelia:bg-[#121212]/80 text-gray-500 dark:text-gray-500 ophelia:text-[#737373]"),children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("span",{className:"font-medium",children:m+1}),x&&u.jsx("span",{className:"text-[10px] opacity-70 animate-pulse",children:"generating..."})]}),f&&!x&&u.jsx(Nt,{className:"h-3 w-3"}),!f&&!x&&u.jsx("span",{className:"text-[10px] opacity-50",children:"select"})]}),u.jsx("div",{className:Y("bg-white dark:bg-dark-50 ophelia:bg-[#0a0a0a]",!f&&!x&&"opacity-80"),children:u.jsx(Nr,{message:y,isStreaming:x,isLastAssistantMessage:s&&(f||x),onRegenerate:f&&!e?n:void 0,className:"!bg-transparent !p-3 !text-sm"})})]},d.id)})})]})},ts={web_search:os,web_fetch:oa,exec:Gn,browser:oa,Read:W0,Write:W0,Edit:W0,image:zr,memory_search:la,memory_get:la,working:Lt,thinking:Lt,default:Lt},Oo={web_search:"Searching the web",web_fetch:"Fetching page",exec:"Running command",browser:"Using browser",Read:"Reading file",Write:"Writing file",Edit:"Editing file",image:"Analyzing image",memory_search:"Searching memory",memory_get:"Reading memory",cron:"Managing schedule",message:"Sending message",tts:"Generating speech",nodes:"Checking devices",sessions_spawn:"Spawning agent",canvas:"Rendering canvas",process:"Managing process",working:"Using tools",thinking:"Thinking"},Ho=({tools:r,className:e})=>{if(r.length===0)return null;const t=r.filter(a=>a.phase!=="result"&&a.phase!=="done");return t.length===0?null:u.jsx("div",{className:Y("flex flex-col gap-1 py-2 px-1",e),children:t.map(a=>{const s=ts[a.name]||ts.default,n=Oo[a.name]||`Using ${a.name}`,l=a.phase==="result";return u.jsxs("div",{className:Y("flex items-center gap-2 text-sm transition-all duration-300",l?"text-green-600 dark:text-green-400 ophelia:text-[#22c55e] opacity-60":"text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]"),children:[u.jsx("div",{className:Y("flex items-center justify-center w-5 h-5",!l&&"animate-spin-slow"),children:u.jsx(s,{className:"h-3.5 w-3.5"})}),u.jsx("span",{className:"text-xs font-medium",children:l?`✓ ${n}`:`${n}…`}),!l&&u.jsxs("div",{className:"flex gap-0.5",children:[u.jsx("div",{className:"w-1 h-1 bg-current rounded-full animate-bounce",style:{animationDelay:"0ms"}}),u.jsx("div",{className:"w-1 h-1 bg-current rounded-full animate-bounce",style:{animationDelay:"150ms"}}),u.jsx("div",{className:"w-1 h-1 bg-current rounded-full animate-bounce",style:{animationDelay:"300ms"}})]})]},a.toolCallId)})})},Lo=({messages:r,streamingMessage:e,streamingMessageId:t,isStreaming:a=!1,toolActivities:s=[],className:n,onRegenerate:l,onSelectBranch:c})=>{const{t:d}=Ze(),m=A.useRef(null),f=A.useRef(),x=A.useRef(null),y=A.useRef(!1),[b,k]=A.useState(!1),S=A.useMemo(()=>{const B=[],G=new Set,W=[...r].sort(($,N)=>$.role==="system"&&N.role!=="system"?-1:N.role==="system"&&$.role!=="system"?1:$.parentId===N.parentId?($.branchIndex||0)-(N.branchIndex||0):$.timestamp-N.timestamp);for(const $ of W){if(G.has($.id))continue;const N=$.parentId;if(N){const j=B.findIndex(C=>C.id===N);if(j>=0)B[j].messages.push($);else{const C=r.find(F=>F.id===N);C&&!G.has(N)?(B.push({id:N,messages:[C,$],messageIndex:B.length}),G.add(N)):B.push({id:$.id,messages:[$],messageIndex:B.length})}G.add($.id)}else{const j=r.filter(C=>C.parentId===$.id);j.length>0?(B.push({id:$.id,messages:[$,...j],messageIndex:B.length}),G.add($.id),j.forEach(C=>G.add(C.id))):(B.push({id:$.id,messages:[$],messageIndex:B.length}),G.add($.id))}}return B.sort(($,N)=>{const j=$.messages[0],C=N.messages[0];return j.role==="system"&&C.role!=="system"?-1:C.role==="system"&&j.role!=="system"?1:j.timestamp-C.timestamp})},[r]),z=A.useCallback((B=!1)=>{y.current&&!B||m.current?.scrollIntoView({behavior:"smooth"})},[]),E=A.useCallback(()=>{const B=x.current;if(!B)return;const{scrollTop:G,scrollHeight:W,clientHeight:$}=B,j=W-G-$<100;y.current=!j,k(!j&&r.length>0)},[r.length]),T=A.useRef(r.length);if(A.useEffect(()=>{r.length>T.current&&!y.current&&z(),T.current=r.length},[r.length,z]),A.useEffect(()=>{a&&e&&!y.current&&requestAnimationFrame(()=>{const B=x.current;B&&(B.scrollTop=B.scrollHeight)})},[a,e]),A.useEffect(()=>{const B=f.current;return()=>{B&&clearTimeout(B)}},[]),r.length===0&&!a)return u.jsx("div",{className:Y("flex-1 flex items-center justify-center p-4 sm:p-8",n),children:u.jsxs("div",{className:"text-center text-gray-500 dark:text-dark-600 max-w-md",children:[u.jsx("div",{className:"text-5xl sm:text-7xl mb-4 sm:mb-6 opacity-60",children:"💬"}),u.jsx("h3",{className:"text-lg sm:text-xl font-semibold mb-2 sm:mb-3 text-gray-700 dark:text-dark-700",children:d("chatMessage.startConversation")}),u.jsx("p",{className:"text-sm leading-relaxed px-4",children:d("chatMessage.startConversationDescription")})]})});let H=-1;for(let B=S.length-1;B>=0;B--)if(S[B].messages.some(G=>G.role==="assistant")){H=B;break}const V=()=>{y.current=!1,m.current?.scrollIntoView({behavior:"smooth"}),k(!1)};return u.jsxs("div",{ref:x,onScroll:E,className:Y("relative flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-gray-600","scrollbar-track-transparent hover:scrollbar-thumb-gray-400 dark:hover:scrollbar-thumb-gray-500","overscroll-behavior-y-contain","[-webkit-overflow-scrolling:touch]",n),style:{WebkitOverflowScrolling:"touch",overscrollBehaviorY:"contain",WebkitAppRegion:"no-drag"},children:[u.jsxs("div",{className:"max-w-5xl mx-auto px-3 sm:px-4 md:px-6 w-full min-w-0",children:[S.map((B,G)=>{const W=G===H,$=a&&B.messages.some(N=>N.id===t);if(B.messages.length===1){const N=B.messages[0],j=a&&N.id===t,C=j&&e?{...N,content:e}:N;return u.jsx(Nr,{message:C,isStreaming:j,isLastAssistantMessage:W,onRegenerate:W?l:void 0,className:G===0?"mt-3 sm:mt-4 md:mt-6":""},N.id)}return u.jsx(Po,{messages:B.messages,isStreaming:$,streamingMessage:e,streamingMessageId:t||void 0,isLastAssistantMessage:W,onRegenerate:W?l:void 0,onSelectBranch:c,className:G===0?"mt-3 sm:mt-4 md:mt-6":""},B.id)}),a&&s.length>0&&u.jsx(Ho,{tools:s,className:"ml-10 sm:ml-12"}),u.jsx("div",{ref:m,className:"h-3 sm:h-4 md:h-6"})]}),b&&u.jsxs("button",{onClick:V,className:Y("absolute bottom-4 left-1/2 -translate-x-1/2 z-10","flex items-center justify-center gap-1.5","px-3 py-2 rounded-full","bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95","border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60","shadow-lg backdrop-blur-sm","text-gray-600 dark:text-dark-600 ophelia:text-[#a3a3a3]","hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]","hover:text-gray-900 dark:hover:text-dark-800 ophelia:hover:text-[#fafafa]","transition-all duration-200","hover:shadow-xl hover:scale-105 active:scale-95"),title:d("chatMessage.scrollToBottom"),children:[u.jsx(Un,{className:"h-4 w-4"}),u.jsx("span",{className:"text-xs font-medium",children:d("chatMessage.newMessages")})]})]})};function $o(r){const e=(r.match(/```/g)||[]).length,t=e%2===1;let a=null;if(t){const s=r.lastIndexOf("```");if(s!==-1){const l=r.slice(s+3).match(/^(\w+)/);l&&(a=l[1])}}return{hasCodeBlocks:e>0,isInCodeBlock:t,language:a}}const Jr=ur.forwardRef(({value:r,onChange:e,className:t,placeholder:a,disabled:s,onKeyDown:n,...l},c)=>{const{hasCodeBlocks:d,isInCodeBlock:m,language:f}=A.useMemo(()=>$o(r),[r]);return u.jsxs("div",{className:"relative w-full",children:[u.jsx("textarea",{ref:c,value:r,onChange:e,onKeyDown:n,placeholder:a,disabled:s,className:Y("w-full resize-none transition-all duration-200",m&&["font-mono text-[13px]","bg-gray-50 dark:bg-dark-100/50 ophelia:bg-[#0f0f0f]","rounded-lg"],t),...l}),d&&u.jsx("div",{className:"absolute right-0 top-0 pointer-events-none flex items-center gap-1",children:u.jsxs("div",{className:Y("flex items-center gap-1 px-1.5 py-0.5 rounded-md text-[10px] font-medium","bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a]","text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3]","border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/50",m&&"animate-pulse"),children:[u.jsx(Vn,{className:"h-3 w-3"}),f&&u.jsx("span",{children:f}),!f&&m&&u.jsx("span",{children:"code"})]})})]})});Jr.displayName="CodeAwareTextarea";const Go=({images:r,onImagesChange:e,maxImages:t=5,sessionId:a,onDocumentUploaded:s,disabled:n=!1,className:l})=>{const{t:c}=Ze(),d=A.useRef(null),[m,f]=A.useState(!1),[x,y]=A.useState(!1),[b,k]=A.useState([]),S=async N=>{if(!(!N||n))for(let j=0;j<N.length;j++){const C=N[j];C.type.startsWith("image/")?await z(C):C.type.includes("pdf")||C.type.includes("text")?await E(C):ue.error(`File type not supported: ${C.name}`)}},z=async N=>{if(t-r.length<=0){ue.error(`Maximum ${t} images allowed`);return}if(N.size>10*1024*1024){ue.error(`Image ${N.name} is too large (max 10MB)`);return}const C=new FileReader;C.onload=F=>{F.target?.result&&e([...r,F.target.result])},C.readAsDataURL(N)},E=async N=>{if(N.size>10*1024*1024){ue.error("File size must be less than 10MB");return}y(!0);try{const j=await cr.uploadDocument(N,a);if(j.success&&j.data){const C=j.data;k(F=>[...F,C]),s?.(C),ue.success(`Document "${N.name}" uploaded`)}else ue.error(j.error||"Failed to upload document")}catch(j){console.error("Document upload error:",j),ue.error("Failed to upload document")}finally{y(!1)}},T=N=>{N.preventDefault(),n||f(!0)},H=N=>{N.preventDefault(),f(!1)},V=N=>{N.preventDefault(),f(!1),n||S(N.dataTransfer.files)},B=N=>{const j=r.filter((C,F)=>F!==N);e(j)},G=async N=>{try{const j=await cr.deleteDocument(N);j.success?(k(C=>C.filter(F=>F.id!==N)),ue.success("Document removed")):ue.error(j.error||"Failed to remove document")}catch(j){console.error("Error removing document:",j),ue.error("Failed to remove document")}},W=N=>{if(N===0)return"0 B";const j=1024,C=["B","KB","MB","GB"],F=Math.floor(Math.log(N)/Math.log(j));return parseFloat((N/Math.pow(j,F)).toFixed(1))+" "+C[F]},$=r.length>0||b.length>0;return u.jsxs("div",{className:Y("space-y-3",l),children:[u.jsxs("div",{className:Y("border-2 border-dashed rounded-xl p-6 transition-all duration-200 cursor-pointer","border-gray-300 dark:border-gray-600 ophelia:border-[#3f3f46]","hover:border-primary-400 dark:hover:border-primary-500 ophelia:hover:border-[#9333ea]",m&&"border-primary-500 dark:border-primary-400 ophelia:border-[#a855f7] bg-primary-50/50 dark:bg-primary-900/10 ophelia:bg-[#9333ea]/10",n&&"opacity-50 cursor-not-allowed"),onDragOver:T,onDragLeave:H,onDrop:V,onClick:()=>!n&&d.current?.click(),children:[u.jsx("input",{ref:d,type:"file",multiple:!0,accept:"image/*,.pdf,.txt",onChange:N=>{S(N.target.files),N.target.value=""},className:"hidden",disabled:n}),u.jsxs("div",{className:"flex flex-col items-center text-center",children:[x?u.jsx(ns,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 ophelia:text-[#737373] mb-2 animate-spin"}):u.jsx(us,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 ophelia:text-[#737373] mb-2"}),u.jsxs("p",{className:"text-sm text-gray-700 dark:text-gray-300 ophelia:text-[#d4d4d4]",children:[c("chat.mediaUpload.dropImagesHere")," ",u.jsx("span",{className:"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] font-medium",children:c("chat.mediaUpload.browse")})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mt-1",children:c("chat.mediaUpload.supportedFormats")})]})]}),$&&u.jsxs("div",{className:"flex flex-wrap gap-2",children:[r.map((N,j)=>u.jsxs("div",{className:"relative group w-16 h-16 rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 ophelia:bg-[#1a1a1a] border border-gray-200 dark:border-gray-700 ophelia:border-[#262626]",children:[u.jsx("img",{src:N,alt:`Upload ${j+1}`,className:"w-full h-full object-cover"}),u.jsx("button",{onClick:C=>{C.stopPropagation(),B(j)},className:"absolute top-0.5 right-0.5 p-0.5 rounded-full bg-black/60 hover:bg-black/80 text-white opacity-0 group-hover:opacity-100 transition-opacity",children:u.jsx(p0,{className:"h-3 w-3"})})]},`img-${j}`)),b.map(N=>u.jsxs("div",{className:"relative group flex items-center gap-2 px-3 py-2 rounded-lg bg-gray-100 dark:bg-gray-800 ophelia:bg-[#1a1a1a] border border-gray-200 dark:border-gray-700 ophelia:border-[#262626]",children:[N.fileType==="pdf"?u.jsx(W0,{className:"w-4 h-4 text-red-500 flex-shrink-0"}):u.jsx(Wn,{className:"w-4 h-4 text-blue-500 flex-shrink-0"}),u.jsxs("div",{className:"min-w-0",children:[u.jsx("p",{className:"text-xs font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate max-w-[100px]",children:N.filename}),u.jsx("p",{className:"text-[10px] text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:W(N.size)})]}),u.jsx("button",{onClick:j=>{j.stopPropagation(),G(N.id)},className:"p-0.5 rounded-full hover:bg-gray-200 dark:hover:bg-gray-700 ophelia:hover:bg-[#262626] text-gray-500 hover:text-red-500 transition-colors",children:u.jsx(p0,{className:"h-3 w-3"})})]},N.id))]})]})},Uo=({sessionId:r,className:e=""})=>{const[t,a]=A.useState([]);if(A.useEffect(()=>{if(!r)return;(async()=>{try{const c=await cr.getDocuments(r);c.success&&c.data&&a(c.data)}catch(c){console.error("Failed to load documents:",c)}})()},[r]),!r||t.length===0)return null;const s=t.reduce((l,c)=>l+c.size,0),n=l=>{if(l===0)return"0 B";const c=1024,d=["B","KB","MB","GB"],m=Math.floor(Math.log(l)/Math.log(c));return parseFloat((l/Math.pow(c,m)).toFixed(1))+" "+d[m]};return u.jsxs("div",{className:`
269
+ inline-flex items-center space-x-1 px-2 py-1
270
+ bg-blue-50 dark:bg-blue-900/20
271
+ border border-blue-200 dark:border-blue-800
272
+ rounded-md text-xs
273
+ ${e}
274
+ `,title:`${t.length} document(s) available for context - Total: ${n(s)}`,children:[u.jsx(Xn,{className:"w-3 h-3 text-blue-600 dark:text-blue-400"}),u.jsxs("span",{className:"text-blue-700 dark:text-blue-300 font-medium",children:[t.length," doc",t.length!==1?"s":""]})]})},Vo=[{key:"none",value:null},{key:"json",value:"json"},{key:"list",value:{type:"object",properties:{items:{type:"array",items:{type:"string"}}},required:["items"]}},{key:"summary",value:{type:"object",properties:{title:{type:"string"},summary:{type:"string"},key_points:{type:"array",items:{type:"string"}}},required:["title","summary","key_points"]}},{key:"analysis",value:{type:"object",properties:{analysis:{type:"string"},pros:{type:"array",items:{type:"string"}},cons:{type:"array",items:{type:"string"}},recommendation:{type:"string"}},required:["analysis","pros","cons","recommendation"]}},{key:"custom",value:"custom"}],Wo=({format:r,onFormatChange:e,className:t})=>{const{t:a}=Ze(),[s,n]=A.useState(!1),[l,c]=A.useState(""),d=()=>Vo.map(b=>({key:b.key,label:a(`chat.structuredOutput.${b.key}`),value:b.value,description:a(`chat.structuredOutput.${b.key}Description`)})),m=()=>{const b=d();if(r===null)return b[0];if(r==="json")return b[1];if(typeof r=="object"){const k=b.find(S=>typeof S.value=="object"&&JSON.stringify(S.value)===JSON.stringify(r));return k||{key:"customSchema",label:a("chat.structuredOutput.custom"),value:r,description:a("chat.structuredOutput.customSchema")}}return b[0]},f=b=>{const S=d().find(z=>z.label===b);if(S){if(S.value==="custom"){n(!0);return}n(!1),e(S.value)}},x=()=>{try{const b=JSON.parse(l);e(b),n(!1)}catch(b){console.error("Invalid JSON schema:",b)}},y=()=>{const b=m();return!b.value||b.value==="json"?null:u.jsxs("div",{className:"mt-3 p-3 bg-gray-50 dark:bg-gray-800 rounded-md",children:[u.jsxs("div",{className:"flex items-center mb-2",children:[u.jsx(Yn,{className:"h-4 w-4 text-gray-500 mr-2"}),u.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:a("chat.structuredOutput.schemaPreview")})]}),u.jsx("pre",{className:"text-xs text-gray-700 dark:text-gray-300 overflow-x-auto",children:JSON.stringify(b.value,null,2)})]})};return u.jsxs("div",{className:Y("space-y-3",t),children:[u.jsx("div",{className:"flex items-center justify-between",children:u.jsxs("div",{className:"flex items-center",children:[u.jsx(ls,{className:"h-4 w-4 text-gray-500 mr-2"}),u.jsx("span",{className:"text-sm font-medium text-gray-700 dark:text-gray-300",children:a("chat.structuredOutput.title")})]})}),u.jsx(En,{value:m().label,onChange:b=>f(b.target.value),options:d().map(b=>({value:b.label,label:b.label}))}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:m().description}),s&&u.jsxs("div",{className:"space-y-3",children:[u.jsx(Fn,{value:l,onChange:b=>c(b.target.value),placeholder:`{
275
+ "type": "object",
276
+ "properties": {
277
+ "field1": { "type": "string" },
278
+ "field2": { "type": "number" }
279
+ },
280
+ "required": ["field1"]
281
+ }`,rows:8,className:"font-mono text-sm"}),u.jsxs("div",{className:"flex gap-2",children:[u.jsx(a0,{onClick:x,size:"sm",disabled:!l.trim(),children:a("chat.structuredOutput.applySchema")}),u.jsx(a0,{onClick:()=>{n(!1),c("")},variant:"outline",size:"sm",children:a("chat.structuredOutput.cancel")})]})]}),y(),r&&u.jsxs("div",{className:"flex items-center text-xs text-green-600 dark:text-green-400",children:[u.jsx(W0,{className:"h-3 w-3 mr-1"}),a("chat.structuredOutput.enabled")]})]})},Mt=({models:r,selectedModel:e,onModelChange:t,currentPersona:a,className:s,disabled:n=!1,compact:l=!1,showImageGen:c=!1,onModelsRefresh:d})=>{const{t:m}=Ze(),[f,x]=A.useState(!1),[y,b]=A.useState(""),[k,S]=A.useState("installed"),z=A.useRef(null),E=A.useRef(null),T=rs(),{user:H,systemInfo:V}=Ar(),B=H?.role==="admin"||(V?.allowUserModelPull??!0),[G,W]=A.useState([]),[$,N]=A.useState(!1),[j,C]=A.useState("all"),[F,Z]=A.useState(""),[X,O]=A.useState([]),[re,Q]=A.useState(!1),[le,Me]=A.useState("text-generation"),[Ne,Ie]=A.useState("downloads"),[ee,ne]=A.useState(""),[ge,Ce]=A.useState(null),[u0,Xe]=A.useState({}),[N0,se]=A.useState(null),[me,de]=A.useState(null),[Ge,Te]=A.useState(null),[et,e0]=A.useState(null),q0=["all","popular","chat","code","vision","embedding"],P0=[{type:"personas",label:m("modelSelector.personas"),icon:u.jsx(dr,{className:"h-4 w-4 text-purple-600 dark:text-purple-400 ophelia:text-[#a855f7]"}),models:r.filter(M=>M.isPersona),color:"purple"},{type:"ollama",label:m("modelSelector.ollamaModels"),icon:u.jsx($t,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),models:r.filter(M=>!M.isPersona&&!M.isPlugin&&!M.name.includes("embed")),color:"green"},{type:"plugins",label:m("modelSelector.pluginModels"),icon:u.jsx(z0,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),models:r.filter(M=>M.isPlugin),color:"green"}].filter(M=>M.models.length>0).map(M=>({...M,models:M.models.filter(te=>te.name.toLowerCase().includes(y.toLowerCase())||te.personaName&&te.personaName.toLowerCase().includes(y.toLowerCase())||te.pluginName&&te.pluginName.toLowerCase().includes(y.toLowerCase()))})).filter(M=>M.models.length>0),T0=G.filter(M=>{const te=!y||M.name.toLowerCase().includes(y.toLowerCase())||M.description.toLowerCase().includes(y.toLowerCase()),ce=j==="all"||M.category===j;return te&&ce}),Pe=r.find(M=>M.name===e||e.startsWith("persona:")&&M.name===e),c0=A.useCallback(async()=>{N(!0);try{const M=await $0.getLibraryModels({search:F||void 0,sort:"popular"});M.success&&M.data&&W(M.data)}catch(M){console.error("Failed to load library:",M)}finally{N(!1)}},[F]),qt=A.useCallback(async()=>{Q(!0);try{const M=await aa.getModels({task:le,search:ee||void 0,sort:Ne,limit:30});M.success&&M.data&&O(M.data)}catch(M){console.error("Failed to load HuggingFace models:",M)}finally{Q(!1)}},[le,ee,Ne]),Qr=A.useCallback(async M=>{const[te,ce]=M.split("/");if(!(!te||!ce)){se(M);try{const ze=await aa.getGgufFiles(te,ce);ze.success&&ze.data&&Xe(De=>({...De,[M]:ze.data}))}catch(ze){console.error("Failed to load GGUF files:",ze)}finally{se(null)}}},[]),gn=A.useCallback(M=>{ge===M?Ce(null):(Ce(M),u0[M]||Qr(M))},[ge,u0,Qr]),vn=A.useCallback((M,te)=>{if(!B){ue.error(m("modelSelector.pullRestricted"));return}if(!me){de(M),Te({status:"starting"});try{const ce=$0.pullModelStream(M,ze=>{Te(ze)},()=>{Te(null),de(null),e0(null),ue.success(`Downloaded ${te}`),d?.()},ze=>{Te(null),de(null),e0(null),ue.error(`Failed to download: ${ze}`)});e0(()=>ce)}catch{Te(null),de(null),ue.error("Failed to start download")}}},[B,d,me,m]);A.useEffect(()=>{const M=setTimeout(()=>{k==="huggingface"?ne(y):k==="ollama"&&Z(y)},300);return()=>clearTimeout(M)},[y,k]),A.useEffect(()=>{f&&k==="ollama"&&c0()},[f,k,F,c0]),A.useEffect(()=>{f&&k==="huggingface"&&qt()},[f,k,le,ee,Ne,qt]),A.useEffect(()=>{const M=te=>{z.current&&!z.current.contains(te.target)&&(x(!1),b(""))};return document.addEventListener("mousedown",M),()=>document.removeEventListener("mousedown",M)},[]),A.useEffect(()=>{f&&E.current&&E.current.focus()},[f]);const _r=async M=>{x(!1),b("");try{const ce=await $0.listRunningModels();if(ce.success&&ce.data){const ze=ce.data;ze.length>0&&(ze.some(Ht=>Ht.name===M||M.startsWith("persona:"))||await $0.unloadAllModels())}}catch(ce){console.warn("Failed to unload models before switch:",ce)}t({target:{value:M}})},xn=async M=>{if(!B){ue.error(m("modelSelector.pullRestricted"));return}if(!me){de(M),Te({status:"starting"});try{const te=$0.pullModelStream(M,ce=>{Te(ce)},()=>{Te(null),de(null),e0(null),ue.success(`Downloaded ${M}`),d?.()},ce=>{Te(null),de(null),e0(null),ue.error(`Failed to download: ${ce}`)});e0(()=>te)}catch{Te(null),de(null),ue.error("Failed to start download")}}},ea=()=>{et&&(et(),e0(null),de(null),Te(null),ue.success("Download cancelled"))},bn=M=>r.some(te=>te.name===M||te.name.startsWith(M+":")),Pt=M=>M.isPersona?u.jsx(dr,{className:"h-4 w-4 text-purple-600 dark:text-purple-400"}):M.isPlugin?u.jsx(z0,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}):u.jsx($t,{className:"h-4 w-4 text-green-600 dark:text-green-400 ophelia:text-[#a855f7]"}),O0=M=>M.isPersona?M.personaName||M.name:M.isPlugin?`${M.name}`:M.name,Ot=M=>M.isPersona?`via ${M.model}`:M.isPlugin?`via ${M.pluginName}`:null,ta=M=>M>=1e6?`${(M/1e6).toFixed(1)}M`:M>=1e3?`${(M/1e3).toFixed(1)}K`:M.toString(),yn=()=>{if(!Pe)return l?u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[u.jsx($t,{className:"h-4 w-4"}),u.jsx("span",{className:"text-xs font-medium text-gray-400 dark:text-gray-500 truncate",children:m("modelSelector.selectModel")})]}):m("modelSelector.selectModel");if(l){const ce=O0(Pe);return u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[Pt(Pe),u.jsx("span",{className:"text-xs font-medium text-gray-700 dark:text-gray-200 ophelia:text-[#e5e5e5] truncate",children:ce})]})}const M=O0(Pe),te=Ot(Pe);return u.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[Pt(Pe),u.jsxs("div",{className:"flex flex-col min-w-0",children:[u.jsx("span",{className:"text-sm font-medium truncate",children:M}),te&&u.jsx("span",{className:"text-xs text-gray-500 dark:text-gray-400 truncate",children:te})]}),Pe.isPersona&&a&&u.jsxs("div",{className:"flex items-center gap-1 ml-auto",children:[u.jsx(xt,{className:"h-3 w-3 text-purple-600 dark:text-purple-400"}),a.embedding_model&&u.jsx(cs,{className:"h-3 w-3 text-purple-500 dark:text-purple-300"})]})]})},wn=()=>u.jsxs("div",{className:"flex-1 overflow-y-auto scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400",children:[P0.length>0?P0.map(M=>u.jsxs("div",{children:[u.jsx("div",{className:"px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] bg-gray-100 dark:bg-dark-300 ophelia:bg-[#0a0a0a] border-b border-gray-200 dark:border-dark-400 ophelia:border-[#1a1a1a] sticky top-0",children:u.jsxs("div",{className:"flex items-center gap-2",children:[M.icon,M.label," (",M.models.length,")"]})}),M.models.map(te=>u.jsx("div",{onMouseDown:ce=>{ce.preventDefault(),_r(te.name)},className:Y("px-3 py-3 cursor-pointer border-b border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a] last:border-b-0","hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#121212]","bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] transition-colors",e===te.name&&"bg-primary-50 dark:bg-primary-900/30 ophelia:bg-[rgba(147,51,234,0.15)]"),children:u.jsxs("div",{className:"flex items-center gap-3",children:[Pt(te),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:O0(te)}),Ot(te)&&u.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] truncate",children:Ot(te)})]}),e===te.name&&u.jsx(Nt,{className:"h-4 w-4 text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] flex-shrink-0"})]})},te.name))]},M.type)):u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(Zn,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600 ophelia:text-[#525252]"}),u.jsx("p",{className:"text-sm",children:m("models.noModelsFound")})]}),c&&u.jsxs("div",{className:"border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsx("div",{className:"px-3 py-2 text-xs font-semibold text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] bg-gray-100 dark:bg-dark-300 ophelia:bg-[#0a0a0a]",children:u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx(jr,{className:"h-4 w-4 text-blue-600 dark:text-blue-400"}),m("modelSelector.actions")]})}),u.jsx("div",{onMouseDown:M=>{M.preventDefault(),x(!1),T("/gallery")},className:"px-3 py-3 cursor-pointer hover:bg-blue-50 dark:hover:bg-blue-900/20 ophelia:hover:bg-[rgba(147,51,234,0.1)] bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",children:u.jsxs("div",{className:"flex items-center gap-3",children:[u.jsx(zr,{className:"h-4 w-4 text-blue-600 dark:text-blue-400 ophelia:text-[#a855f7]"}),u.jsxs("div",{className:"flex-1",children:[u.jsx("div",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:m("gallery.generate")}),u.jsx("div",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:m("gallery.generateDescription")})]})]})})]})]}),kn=()=>u.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[u.jsx("div",{className:"px-3 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex-shrink-0",children:u.jsx("div",{className:"flex flex-wrap gap-1.5",children:q0.map(M=>u.jsx("button",{onMouseDown:te=>{te.preventDefault(),te.stopPropagation(),C(M)},className:Y("px-2.5 py-1 rounded-full text-xs font-medium transition-colors",j===M?"bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20 text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7]":"bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] hover:bg-gray-200 dark:hover:bg-dark-300 ophelia:hover:bg-[#262626]"),children:M.charAt(0).toUpperCase()+M.slice(1)},M))})}),u.jsxs("div",{className:"flex-1 overflow-y-auto",children:[!B&&u.jsx("div",{className:"mx-3 mt-3 mb-1 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800 dark:border-amber-800 dark:bg-amber-900/20 dark:text-amber-300",children:m("modelSelector.pullRestricted")}),$?u.jsx("div",{className:"flex items-center justify-center py-12",children:u.jsx(Ut,{className:"h-6 w-6 animate-spin text-gray-400"})}):T0.length===0?u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(Gt,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),u.jsx("p",{className:"text-sm",children:m("models.noModelsFound")})]}):u.jsx("div",{className:"divide-y divide-gray-100 dark:divide-dark-200 ophelia:divide-[#1a1a1a]",children:T0.slice(0,50).map(M=>{const te=bn(M.name),ce=me===M.name;return u.jsxs("div",{className:Y("px-3 py-3 bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",te&&"bg-green-50/50 dark:bg-green-900/10"),children:[u.jsxs("div",{className:"flex items-start gap-3",children:[u.jsx("div",{className:"p-2 rounded-lg bg-cyan-100 dark:bg-cyan-900/30 ophelia:bg-[#06b6d4]/20 flex-shrink-0",children:u.jsx(Gt,{className:"h-4 w-4 text-cyan-600 dark:text-cyan-400"})}),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:M.name}),te&&u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400",children:m("modelSelector.installed")})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] line-clamp-1 mt-0.5",children:M.description}),u.jsxs("div",{className:"flex items-center gap-2 mt-1.5",children:[M.sizes.slice(0,3).map(ze=>u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:ze},ze)),M.pulls&&u.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500 flex items-center gap-1",children:[u.jsx(rt,{className:"h-3 w-3"}),M.pulls]})]})]}),u.jsx("div",{className:"flex-shrink-0",children:ce?u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:"text-xs text-gray-500 w-12 text-right",children:Ge?.percent!==void 0?`${Ge.percent}%`:"..."}),u.jsx("button",{onClick:ea,className:"p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:u.jsx(p0,{className:"h-4 w-4"})})]}):te?u.jsx("button",{onClick:()=>_r(M.name),className:"px-3 py-1.5 rounded-lg text-xs font-medium bg-green-100 dark:bg-green-900/30 text-green-700 dark:text-green-400 hover:bg-green-200 dark:hover:bg-green-900/50",children:m("modelSelector.use")}):B?u.jsxs("button",{onClick:()=>xn(M.name),className:"px-3 py-1.5 rounded-lg text-xs font-medium bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20 text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7] hover:bg-primary-200 dark:hover:bg-primary-900/50",children:[u.jsx(rt,{className:"h-3 w-3 inline mr-1"}),m("modelSelector.pull")]}):u.jsx("span",{className:"px-2 py-1 rounded text-[11px] font-medium bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300",children:m("modelSelector.adminOnlyPull")})})]}),ce&&Ge?.percent!==void 0&&u.jsx("div",{className:"mt-2 w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden",children:u.jsx("div",{className:"h-1.5 rounded-full bg-primary-500 transition-all duration-300",style:{width:`${Ge.percent}%`}})})]},M.name)})})]}),u.jsxs("div",{className:"px-3 py-2 border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex items-center justify-between flex-shrink-0",children:[u.jsxs("a",{href:"https://ollama.com/library",target:"_blank",rel:"noopener noreferrer",onMouseDown:M=>M.stopPropagation(),className:"text-xs text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] hover:underline flex items-center gap-1",children:[u.jsx(Vt,{className:"h-3 w-3"}),m("modelManager.huggingface.browseAllLink")]}),u.jsx("button",{onMouseDown:M=>{M.preventDefault(),M.stopPropagation(),W([]),c0()},className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(hr,{className:Y("h-3.5 w-3.5 text-gray-400",$&&"animate-spin")})})]})]}),Sn=()=>u.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden",children:[u.jsx("div",{className:"px-3 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex-shrink-0 space-y-2",children:u.jsxs("div",{className:"flex gap-2",children:[u.jsxs("select",{value:le,onChange:M=>Me(M.target.value),onMouseDown:M=>M.stopPropagation(),className:"flex-1 px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border-gray-200 dark:border-dark-300 ophelia:border-[#262626] text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:[u.jsx("option",{value:"text-generation",children:m("modelManager.huggingface.taskTextGeneration")}),u.jsx("option",{value:"text-to-speech",children:m("modelManager.huggingface.taskTextToSpeech")}),u.jsx("option",{value:"text-to-image",children:m("modelManager.huggingface.taskTextToImage")}),u.jsx("option",{value:"automatic-speech-recognition",children:m("modelManager.huggingface.taskSpeechRecognition")})]}),u.jsxs("select",{value:Ne,onChange:M=>Ie(M.target.value),onMouseDown:M=>M.stopPropagation(),className:"px-2 py-1.5 rounded-lg border text-xs bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border-gray-200 dark:border-dark-300 ophelia:border-[#262626] text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:[u.jsx("option",{value:"downloads",children:m("modelManager.huggingface.sortDownloads")}),u.jsx("option",{value:"likes",children:m("modelManager.huggingface.sortLikes")}),u.jsx("option",{value:"lastModified",children:m("modelManager.huggingface.sortRecent")})]})]})}),u.jsxs("div",{className:"flex-1 overflow-y-auto",children:[!B&&u.jsx("div",{className:"mx-3 mt-3 mb-1 rounded-lg border border-amber-200 bg-amber-50 px-3 py-2 text-xs text-amber-800 dark:border-amber-800 dark:bg-amber-900/20 dark:text-amber-300",children:m("modelSelector.pullRestricted")}),re?u.jsx("div",{className:"flex items-center justify-center py-12",children:u.jsx(Ut,{className:"h-6 w-6 animate-spin text-gray-400"})}):X.length===0?u.jsxs("div",{className:"px-4 py-8 text-center text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",children:[u.jsx(z0,{className:"h-8 w-8 mx-auto mb-2 text-gray-300 dark:text-gray-600"}),u.jsx("p",{className:"text-sm",children:m("modelManager.huggingface.noModelsFound")})]}):u.jsx("div",{className:"divide-y divide-gray-100 dark:divide-dark-200 ophelia:divide-[#1a1a1a]",children:X.map(M=>{const te=ge===M.id,ce=u0[M.id]||[],ze=N0===M.id;return u.jsxs("div",{className:"bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]",children:[u.jsx("div",{className:"px-3 py-3 cursor-pointer hover:bg-gray-50 dark:hover:bg-dark-200 ophelia:hover:bg-[#121212]",onMouseDown:De=>{De.preventDefault(),De.stopPropagation(),gn(M.id)},children:u.jsxs("div",{className:"flex items-start gap-3",children:[u.jsx("div",{className:"p-2 rounded-lg bg-yellow-100 dark:bg-yellow-900/30 ophelia:bg-[#eab308]/20 flex-shrink-0",children:u.jsx(z0,{className:"h-4 w-4 text-yellow-600 dark:text-yellow-400"})}),u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("h4",{className:"text-sm font-medium text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa] truncate",children:M.id}),M.gated&&u.jsx("span",{className:"px-1.5 py-0.5 rounded text-xs bg-yellow-100 dark:bg-yellow-900/30 text-yellow-700 dark:text-yellow-400",children:"Gated"})]}),u.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mt-0.5",children:["by ",M.author]}),u.jsxs("div",{className:"flex items-center gap-3 mt-1.5 text-xs text-gray-400 dark:text-gray-500",children:[u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx(rt,{className:"h-3 w-3"}),ta(M.downloads)]}),u.jsxs("span",{className:"flex items-center gap-1",children:[u.jsx(Jn,{className:"h-3 w-3"}),ta(M.likes)]}),M.pipeline_tag&&u.jsx("span",{className:"px-1.5 py-0.5 rounded bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a]",children:M.pipeline_tag})]})]}),u.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[u.jsx("a",{href:`https://huggingface.co/${M.id}`,target:"_blank",rel:"noopener noreferrer",onMouseDown:De=>De.stopPropagation(),className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(Vt,{className:"h-4 w-4 text-gray-400"})}),u.jsx(D0,{className:Y("h-4 w-4 text-gray-400 transition-transform",te&&"rotate-180")})]})]})}),te&&u.jsx("div",{className:"px-3 pb-3 pt-1 border-t border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a] bg-gray-50 dark:bg-dark-200 ophelia:bg-[#0d0d0d]",children:ze?u.jsxs("div",{className:"flex items-center justify-center py-4",children:[u.jsx(Ut,{className:"h-4 w-4 animate-spin text-gray-400"}),u.jsx("span",{className:"ml-2 text-xs text-gray-500",children:m("modelManager.huggingface.checkingGguf")})]}):ce.length===0?u.jsx("div",{className:"py-4 text-center text-xs text-gray-500 dark:text-gray-400",children:m("modelManager.huggingface.noGgufAvailable")}):u.jsxs("div",{className:"space-y-2",children:[u.jsx("div",{className:"text-xs font-medium text-gray-600 dark:text-gray-300 ophelia:text-[#a3a3a3] mb-2",children:m("modelManager.huggingface.ggufFilesCount",{count:ce.length})}),ce.map(De=>{const Ht=me===De.ollamaCommand;return u.jsxs("div",{className:"flex items-center gap-2 p-2 rounded-lg bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("div",{className:"text-xs font-medium text-gray-800 dark:text-gray-200 ophelia:text-[#e5e5e5] truncate",children:De.filename}),u.jsxs("div",{className:"flex items-center gap-2 mt-0.5 text-xs text-gray-500 dark:text-gray-400",children:[u.jsx("span",{children:De.sizeFormatted}),De.quantization&&u.jsx("span",{className:"px-1.5 py-0.5 rounded bg-purple-100 dark:bg-purple-900/30 ophelia:bg-[#9333ea]/20 text-purple-700 dark:text-purple-400 ophelia:text-[#a855f7]",children:De.quantization})]})]}),Ht?u.jsxs("div",{className:"flex items-center gap-2",children:[u.jsx("div",{className:"text-xs text-gray-500 w-12 text-right",children:Ge?.percent!==void 0?`${Ge.percent}%`:"..."}),u.jsx("button",{onMouseDown:H0=>{H0.preventDefault(),H0.stopPropagation(),ea()},className:"p-1.5 rounded-lg text-red-500 hover:bg-red-50 dark:hover:bg-red-900/20",children:u.jsx(p0,{className:"h-4 w-4"})})]}):B?u.jsxs("button",{onMouseDown:H0=>{H0.preventDefault(),H0.stopPropagation(),vn(De.ollamaCommand,De.filename)},disabled:!!me,className:Y("px-3 py-1.5 rounded-lg text-xs font-medium","bg-primary-100 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/20","text-primary-700 dark:text-primary-400 ophelia:text-[#a855f7]","hover:bg-primary-200 dark:hover:bg-primary-900/50","disabled:opacity-50 disabled:cursor-not-allowed"),children:[u.jsx(rt,{className:"h-3 w-3 inline mr-1"}),m("models.pull")]}):u.jsx("span",{className:"px-2 py-1 rounded text-[11px] font-medium bg-amber-100 text-amber-700 dark:bg-amber-900/30 dark:text-amber-300",children:m("modelSelector.adminOnlyPull")})]},De.filename)}),me?.startsWith("hf.co/")&&me.includes(M.id)&&Ge?.percent!==void 0&&u.jsx("div",{className:"w-full bg-gray-200 dark:bg-dark-300 rounded-full h-1.5 overflow-hidden mt-2",children:u.jsx("div",{className:"h-1.5 rounded-full bg-primary-500 transition-all duration-300",style:{width:`${Ge.percent}%`}})})]})})]},M.id)})})]}),u.jsxs("div",{className:"px-3 py-2 border-t border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] flex items-center justify-between flex-shrink-0",children:[u.jsxs("a",{href:"https://huggingface.co/models",target:"_blank",rel:"noopener noreferrer",onMouseDown:M=>M.stopPropagation(),className:"text-xs text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] hover:underline flex items-center gap-1",children:[u.jsx(Vt,{className:"h-3 w-3"}),m("modelManager.huggingface.browseAllLink")]}),u.jsx("button",{onMouseDown:M=>{M.preventDefault(),M.stopPropagation(),qt()},className:"p-1.5 rounded-lg hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a]",children:u.jsx(hr,{className:Y("h-3.5 w-3.5 text-gray-400",re&&"animate-spin")})})]})]});return u.jsxs("div",{className:Y("relative",s),ref:z,children:[u.jsxs("button",{type:"button",onClick:()=>!n&&x(!f),disabled:n,className:Y(l?"h-[44px] sm:h-[52px] px-3 flex items-center justify-between text-left w-full ":"w-full flex items-center justify-between gap-2 px-3 py-2 text-left ","bg-gray-50 dark:bg-dark-200 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626]","rounded-lg text-sm hover:bg-gray-100 dark:hover:bg-dark-100 ophelia:hover:bg-[#1a1a1a]","focus:outline-none focus:ring-2 focus:ring-primary-500/20 ophelia:focus:ring-[#9333ea]/20 focus:border-primary-500 ophelia:focus:border-[#9333ea]",n?"opacity-50 cursor-not-allowed":"cursor-pointer"),title:l?Pe?O0(Pe):m("modelSelector.selectModel"):void 0,children:[yn(),u.jsx(D0,{className:Y(l?"h-3 w-3":"h-4 w-4","text-gray-400 flex-shrink-0",f&&"rotate-180")})]}),f&&Tr.createPortal(u.jsxs("div",{className:"fixed inset-0 z-[999999] flex items-start sm:items-center justify-center p-2 sm:p-4",children:[u.jsx("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:()=>x(!1)}),u.jsxs("div",{className:Y("relative bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a] border border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a] shadow-2xl","w-full max-w-md sm:w-[480px] sm:max-w-[90vw]","mt-2 sm:mt-0 rounded-xl","h-[85vh] sm:h-[600px] flex flex-col"),onClick:M=>M.stopPropagation(),children:[u.jsxs("div",{className:"flex-shrink-0",children:[u.jsx("div",{className:"p-3 border-b border-gray-200 dark:border-dark-200 ophelia:border-[#1a1a1a]",children:u.jsxs("div",{className:"relative",children:[u.jsx(os,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-gray-400"}),u.jsx("input",{ref:E,type:"text",placeholder:m(k==="installed"?"modelSelector.searchInstalled":k==="ollama"?"modelSelector.searchOllama":"modelSelector.searchHuggingFace"),value:y,onChange:M=>b(M.target.value),className:Y("w-full pl-10 pr-4 py-2.5 text-sm bg-gray-50 dark:bg-dark-200 ophelia:bg-[#121212]","border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-lg","focus:outline-none focus:ring-2 focus:ring-primary-500/20 ophelia:focus:ring-[#9333ea]/20","text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]","placeholder-gray-500 ophelia:placeholder-[#737373]")})]})}),u.jsxs("div",{className:"flex border-b border-gray-200 dark:border-dark-300 ophelia:border-[#1a1a1a]",children:[u.jsxs("button",{onMouseDown:M=>{M.preventDefault(),M.stopPropagation(),S("installed")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",k==="installed"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(Kn,{className:"h-4 w-4 inline mr-1.5"}),m("modelSelector.installed")]}),u.jsxs("button",{onMouseDown:M=>{M.preventDefault(),M.stopPropagation(),S("ollama")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",k==="ollama"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(Gt,{className:"h-4 w-4 inline mr-1.5"}),"Ollama"]}),u.jsxs("button",{onMouseDown:M=>{M.preventDefault(),M.stopPropagation(),S("huggingface")},className:Y("flex-1 px-4 py-2.5 text-sm font-medium transition-colors",k==="huggingface"?"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7] border-b-2 border-primary-500 ophelia:border-[#9333ea]":"text-gray-500 dark:text-gray-400 ophelia:text-[#737373] hover:text-gray-700 dark:hover:text-gray-300"),children:[u.jsx(z0,{className:"h-4 w-4 inline mr-1.5"}),"HuggingFace"]})]})]}),k==="installed"&&wn(),k==="ollama"&&kn(),k==="huggingface"&&Sn()]})]}),document.body),u.jsx("select",{value:e,onChange:t,className:"sr-only",tabIndex:-1,children:r.map(M=>u.jsx("option",{value:M.name,children:O0(M)},M.name))})]})},Xo=({onSendMessage:r,onStopGeneration:e,disabled:t=!1})=>{const{t:a}=Ze(),[s,n]=A.useState(""),[l,c]=A.useState([]),[d,m]=A.useState(null),[f,x]=A.useState(!1),[y,b]=A.useState(null),[k,S]=A.useState(!1),{isGenerating:z,setBackgroundImage:E}=C0(),{currentSession:T,models:H}=je(),V=A.useRef(null);A.useEffect(()=>{(async()=>{try{const C=await as.getPlugins();S(!!(C.success&&C.data&&C.data.length>0))}catch{S(!1)}})()},[]);const B=j=>{j.preventDefault(),!(!s.trim()||z)&&(r(s.trim(),l.length>0?l:void 0,d||void 0),n(""),c([]))},G=j=>{j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),B(j))},W=()=>{e()};A.useEffect(()=>{const j=V.current;j&&(j.style.height="auto",j.style.height=Math.min(j.scrollHeight,200)+"px")},[s]),A.useEffect(()=>{(async()=>{if(T?.personaId)try{const C=await sa.getPersona(T.personaId);if(C.success&&C.data)b(C.data);else{console.warn(`Persona ${T.personaId} not found, clearing reference`),b(null);const{setCurrentSession:F}=je.getState();F({...T,personaId:void 0})}}catch(C){if(console.error("Failed to load current persona:",C),b(null),T){const{setCurrentSession:F}=je.getState();F({...T,personaId:void 0})}}else b(null)})()},[T?.personaId]);const $=async j=>{const C=j.target.value;if(T)try{if(C.startsWith("persona:")){const F=C.replace("persona:",""),Z=await sa.getPersona(F);if(!Z.success||!Z.data){at.error("Failed to load persona details");return}const X=Z.data,O=await vt.updateSession(T.id,{personaId:F,model:C});if(O.success&&O.data){const{sessions:re}=je.getState(),Q=re.map(le=>le.id===T.id?O.data:le);je.setState({sessions:Q,currentSession:O.data}),X.background&&E(X.background),at.success(a("chat.persona.applied"))}}else{const F=await vt.updateSession(T.id,{model:C,personaId:void 0});if(F.success&&F.data){const{sessions:Z}=je.getState(),X=Z.map(O=>O.id===T.id?F.data:O);je.setState({sessions:X,currentSession:F.data}),E(null),at.success(a("chat.model.updated"))}}}catch(F){console.error("Failed to update session:",F),at.error("Failed to update session")}},N=l.length>0||d!==null;return u.jsx("div",{className:"pointer-events-none",children:u.jsxs("div",{className:"max-w-5xl mx-auto px-3 sm:px-4 md:px-6 w-full pointer-events-auto",children:[f&&u.jsxs("div",{className:"mb-2 p-3 rounded-2xl bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md border border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/50 shadow-lg",children:[u.jsx(Go,{images:l,onImagesChange:c,maxImages:5,sessionId:T?.id,disabled:t}),u.jsx(Wo,{format:d,onFormatChange:m})]}),u.jsxs("div",{className:"py-2 sm:py-3",children:[u.jsx("form",{onSubmit:B,children:u.jsxs("div",{className:Y("flex items-center gap-2 p-2 sm:p-3 rounded-2xl sm:rounded-3xl border transition-all duration-300 ease-out shadow-lg","bg-white/95 dark:bg-dark-100/95 ophelia:bg-[#0a0a0a]/95 backdrop-blur-md","border-gray-200/50 dark:border-dark-300/50 ophelia:border-[#262626]/60","hover:border-gray-300/70 dark:hover:border-dark-400/70 ophelia:hover:border-[#3f3f46]/80","focus-within:border-primary-400/70 dark:focus-within:border-primary-500/70 ophelia:focus-within:border-[#9333ea]/70","focus-within:shadow-xl"),children:[u.jsx(a0,{type:"button",variant:"ghost",size:"sm",onClick:()=>x(!f),className:Y("h-8 w-8 sm:h-9 sm:w-9 !p-0 rounded-full flex-shrink-0","hover:bg-gray-100 dark:hover:bg-dark-200/80 ophelia:hover:bg-[#1a1a1a]","transition-all duration-200 touch-manipulation","hover:scale-105 active:scale-95",N&&"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]",f&&"bg-gray-100 dark:bg-dark-200/80 ophelia:bg-[#1a1a1a]"),title:a("chat.input.attachments"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"0"},children:N?u.jsxs("div",{className:"relative flex items-center justify-center",children:[u.jsx(ds,{className:"h-4 w-4"}),u.jsx("div",{className:"absolute -top-0.5 -right-0.5 h-2 w-2 bg-primary-500 dark:bg-primary-400 ophelia:bg-[#a855f7] rounded-full ring-2 ring-white dark:ring-dark-50 ophelia:ring-[#0a0a0a]"})]}):f?u.jsx(hs,{className:"h-4 w-4"}):u.jsx(jr,{className:"h-4 w-4"})}),u.jsx("div",{className:"flex-1 min-w-0",children:u.jsx(Jr,{ref:V,value:s,onChange:j=>n(j.target.value),onKeyDown:G,placeholder:a("chat.input.placeholder"),disabled:t,className:"!border-0 !bg-transparent !shadow-none !p-0 !m-0 !rounded-none !focus:ring-0 !focus:border-0 !focus:shadow-none !focus:bg-transparent min-h-[32px] sm:min-h-[36px] max-h-[120px] resize-none scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400 focus:outline-none placeholder:text-gray-500 dark:placeholder:text-dark-500 text-base sm:text-sm leading-none touch-manipulation",rows:1,style:{boxShadow:"none !important",border:"none !important",outline:"none !important",padding:"0 !important",margin:"0 !important",lineHeight:"1.2 !important",verticalAlign:"middle"}})}),u.jsxs("div",{className:"flex items-center gap-1 sm:gap-2 flex-shrink-0",children:[T&&H.length>0&&u.jsx("div",{className:"hidden sm:block",children:u.jsx(Mt,{models:H,selectedModel:T.personaId?`persona:${T.personaId}`:T.model,onModelChange:$,currentPersona:y,className:"min-w-[160px] max-w-[240px] border-0 bg-gray-100/80 dark:bg-dark-100/80 ophelia:bg-[#1a1a1a]/80 rounded-xl text-sm hover:bg-gray-200/80 dark:hover:bg-dark-200/60 ophelia:hover:bg-[#262626]/80 transition-colors duration-200",compact:!0,showImageGen:k})}),z?u.jsx(a0,{type:"button",variant:"ghost",size:"sm",onClick:W,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","bg-red-50 dark:bg-red-900/20 ophelia:bg-red-900/30","text-red-500 dark:text-red-400 ophelia:text-red-400","hover:bg-red-100 dark:hover:bg-red-900/30 ophelia:hover:bg-red-900/40","transition-all duration-200 touch-manipulation","hover:scale-105 active:scale-95"),title:a("chat.input.stopGeneration"),children:u.jsx(is,{className:"h-4 w-4"})}):u.jsx(a0,{type:"submit",variant:"ghost",size:"sm",disabled:!s.trim()||t,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","text-gray-400 dark:text-dark-500 ophelia:text-[#525252]","disabled:opacity-40 disabled:hover:bg-transparent disabled:cursor-not-allowed","transition-all duration-200 touch-manipulation",s.trim()&&!t&&["bg-primary-500 dark:bg-primary-600 ophelia:bg-[#9333ea]","text-white dark:text-white ophelia:text-white","hover:bg-primary-600 dark:hover:bg-primary-500 ophelia:hover:bg-[#a855f7]","shadow-md hover:shadow-lg","hover:scale-105 active:scale-95"]),title:a("chat.input.sendMessage"),children:u.jsx(ms,{className:"h-4 w-4"})})]})]})}),T&&H.length>0&&u.jsx("div",{className:"sm:hidden mt-3",children:u.jsx(Mt,{models:H,selectedModel:T.personaId?`persona:${T.personaId}`:T.model,onModelChange:$,currentPersona:y,className:"w-full rounded-xl bg-gray-100/80 dark:bg-dark-100/80 ophelia:bg-[#1a1a1a]/80 border-0 transition-colors duration-200",compact:!0,showImageGen:k})}),u.jsxs("div",{className:"mt-2 flex items-center justify-center gap-2 text-xs text-gray-500 dark:text-dark-600",children:[u.jsx(Uo,{sessionId:T?.id}),u.jsxs("div",{className:"text-center",children:[u.jsxs("a",{href:"https://librewebui.org",target:"_blank",rel:"noopener noreferrer",className:"libre-brand underline hover:text-primary-600 dark:hover:text-primary-400 transition-colors",style:{fontSize:"1.1em",lineHeight:1},children:["Libre ",u.jsx("span",{style:{fontSize:"0.85em"},children:"WebUI"})]})," ",u.jsxs("span",{className:"text-xs text-gray-400 dark:text-gray-500",style:{fontSize:"0.55rem"},children:["v","0.8.4"]})," ",u.jsx("span",{className:"text-gray-300 dark:text-gray-600 opacity-50",children:"•"})," ",u.jsx("span",{className:"text-gray-400 dark:text-gray-500",style:{fontSize:"0.55rem"},children:a("chat.footer.disclaimer")}),N&&u.jsxs("span",{className:"ml-2 text-primary-600 dark:text-primary-400",children:["•"," ",l.length>0&&a("chat.footer.images",{count:l.length}),l.length>0&&d&&" • ",d&&a("chat.footer.structuredOutput")]})]})]})]})]})})},Yo=({persona:r,onClear:e,className:t})=>{const[a,s]=A.useState(!1),n=A.useRef(null),[l,c]=A.useState({top:0,left:0});A.useEffect(()=>{if(a&&n.current){const f=n.current.getBoundingClientRect();c({top:f.bottom+8,left:f.left})}},[a]);const d=!!(r.memory_settings?.enabled||r.mutation_settings?.enabled),m=()=>r.avatar?r.avatar:`https://ui-avatars.com/api/?name=${encodeURIComponent(r.name)}&background=6366f1&color=fff&size=64`;return u.jsxs("div",{className:Y("relative",t),children:[u.jsxs("button",{ref:n,onClick:()=>s(!a),className:Y("flex items-center gap-2 px-3 py-1.5 rounded-full transition-all duration-200","bg-primary-50 dark:bg-primary-900/30 ophelia:bg-[#9333ea]/15","border border-primary-200 dark:border-primary-700/50 ophelia:border-[#7c3aed]/30","hover:bg-primary-100 dark:hover:bg-primary-900/40 ophelia:hover:bg-[#9333ea]/20","text-primary-700 dark:text-primary-300 ophelia:text-[#c084fc]"),children:[u.jsx("img",{src:m(),alt:r.name,className:"w-5 h-5 rounded-full object-cover"}),u.jsx("span",{className:"text-sm font-medium max-w-[120px] truncate",children:r.name}),d&&u.jsx(cs,{className:"h-3 w-3 text-purple-500 dark:text-purple-400"}),u.jsx(D0,{className:Y("h-3.5 w-3.5 transition-transform duration-200",a&&"rotate-180")})]}),a&&Tr.createPortal(u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"fixed inset-0 z-[9998]",onClick:()=>s(!1)}),u.jsx("div",{className:"fixed w-72 z-[9999]",style:{top:l.top,left:l.left},children:u.jsxs("div",{className:Y("rounded-xl overflow-hidden shadow-xl","bg-white dark:bg-dark-100 ophelia:bg-[#0a0a0a]","border border-gray-200 dark:border-dark-300 ophelia:border-[#262626]"),children:[u.jsxs("div",{className:"relative h-16",children:[r.background?u.jsx("div",{className:"absolute inset-0 bg-cover bg-center",style:{backgroundImage:`url(${r.background})`}}):u.jsx("div",{className:"absolute inset-0 bg-gradient-to-br from-primary-400 via-primary-500 to-purple-600 dark:from-primary-600 dark:via-primary-700 dark:to-purple-800 ophelia:from-[#9333ea] ophelia:via-[#7c3aed] ophelia:to-[#6d28d9]"}),u.jsx("div",{className:"absolute inset-0 bg-black/10"}),e&&u.jsx("button",{onClick:f=>{f.stopPropagation(),e(),s(!1)},className:"absolute top-2 right-2 p-1 rounded-full bg-white/20 hover:bg-white/30 backdrop-blur-sm transition-colors",title:"Remove persona",children:u.jsx(p0,{className:"h-3.5 w-3.5 text-white"})}),d&&u.jsxs("div",{className:"absolute top-2 left-2 flex items-center gap-1 px-2 py-0.5 rounded-full bg-white/20 backdrop-blur-sm text-white text-[10px] font-medium",children:[u.jsx(xt,{className:"h-3 w-3"}),"Enhanced"]})]}),u.jsx("div",{className:"relative px-4 -mt-6",children:u.jsx("img",{src:m(),alt:r.name,className:"w-12 h-12 rounded-lg object-cover ring-3 ring-white dark:ring-dark-100 ophelia:ring-[#0a0a0a] shadow-md"})}),u.jsxs("div",{className:"px-4 pt-2 pb-4",children:[u.jsx("h4",{className:"text-base font-semibold text-gray-900 dark:text-gray-100 ophelia:text-[#fafafa]",children:r.name}),u.jsxs("p",{className:"text-xs text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] flex items-center gap-1 mt-0.5",children:[u.jsx(Qn,{className:"h-3 w-3"}),r.model]}),r.description&&u.jsx("p",{className:"text-xs text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] mt-2 line-clamp-2",children:r.description}),r.parameters.system_prompt&&u.jsxs("div",{className:"mt-3 p-2 rounded-lg bg-gray-50 dark:bg-dark-50 ophelia:bg-[#121212] border border-gray-100 dark:border-dark-200 ophelia:border-[#1a1a1a]",children:[u.jsxs("div",{className:"flex items-center gap-1 mb-1",children:[u.jsx(_n,{className:"h-2.5 w-2.5 text-gray-400"}),u.jsx("span",{className:"text-[9px] uppercase tracking-wider font-medium text-gray-400",children:"System"})]}),u.jsxs("p",{className:"text-[11px] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3] line-clamp-2 italic",children:["“",r.parameters.system_prompt,"”"]})]}),u.jsxs("div",{className:"flex flex-wrap gap-1 mt-3",children:[u.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:[u.jsx(z0,{className:"h-2.5 w-2.5"}),r.parameters.temperature?.toFixed(1)||"0.7"]}),u.jsxs("span",{className:"inline-flex items-center px-1.5 py-0.5 rounded text-[10px] font-medium bg-gray-100 dark:bg-dark-200 ophelia:bg-[#1a1a1a] text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:["Top-P ",r.parameters.top_p?.toFixed(1)||"0.9"]}),r.memory_settings?.enabled&&u.jsxs("span",{className:"inline-flex items-center gap-0.5 px-1.5 py-0.5 rounded text-[10px] font-medium bg-purple-100 dark:bg-purple-900/30 ophelia:bg-[#9333ea]/20 text-purple-700 dark:text-purple-300 ophelia:text-[#c084fc]",children:[u.jsx(xt,{className:"h-2.5 w-2.5"}),"Memory"]})]})]})]})})]}),document.body)]})},Ko=({images:r,onImagesChange:e,maxImages:t=5,className:a})=>{const{t:s}=Ze(),n=A.useRef(null),[l,c]=A.useState(!1),d=k=>{if(!k)return;const S=[],z=t-r.length;for(let E=0;E<Math.min(k.length,z);E++){const T=k[E];if(!T.type.startsWith("image/")){ue.error(`File ${T.name} is not an image`);continue}if(T.size>10*1024*1024){ue.error(`Image ${T.name} is too large (max 10MB)`);continue}const H=new FileReader;H.onload=V=>{V.target?.result&&(S.push(V.target.result),S.length===Math.min(k.length,z)&&e([...r,...S]))},H.readAsDataURL(T)}k.length>z&&ue.error(`Only ${z} more images can be added`)},m=k=>{k.preventDefault(),c(!0)},f=k=>{k.preventDefault(),c(!1)},x=k=>{k.preventDefault(),c(!1),d(k.dataTransfer.files)},y=k=>{const S=r.filter((z,E)=>E!==k);e(S)},b=r.length<t;return u.jsxs("div",{className:Y("space-y-3",a),children:[b&&u.jsxs("div",{className:Y("border-2 border-dashed border-gray-300 dark:border-gray-600 rounded-lg p-4 transition-colors","hover:border-primary-400 dark:hover:border-primary-500",l&&"border-primary-500 bg-primary-50 dark:bg-primary-900/20"),onDragOver:m,onDragLeave:f,onDrop:x,children:[u.jsx("input",{ref:n,type:"file",multiple:!0,accept:"image/*",onChange:k=>d(k.target.files),className:"hidden"}),u.jsxs("div",{className:"flex flex-col items-center text-center",children:[u.jsx(us,{className:"h-8 w-8 text-gray-400 dark:text-gray-500 mb-2"}),u.jsxs("p",{className:"text-sm text-gray-700 dark:text-gray-300 mb-2",children:[s("chat.mediaUpload.dropImagesHere")," ",u.jsx("button",{onClick:()=>n.current?.click(),className:"text-primary-600 dark:text-primary-400 hover:underline font-medium",children:s("chat.mediaUpload.browse")})]}),u.jsx("p",{className:"text-xs text-gray-500 dark:text-gray-400",children:s("chat.mediaUpload.supportedFormats")})]})]}),r.length>0&&u.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 gap-3",children:r.map((k,S)=>u.jsxs("div",{className:"relative group aspect-square rounded-lg overflow-hidden bg-gray-100 dark:bg-gray-800 border border-gray-200 dark:border-gray-700",children:[u.jsx("img",{src:k,alt:`Upload ${S+1}`,className:"w-full h-full object-cover"}),u.jsx("div",{className:"absolute inset-0 bg-black bg-opacity-0 group-hover:bg-opacity-50 transition-all duration-200 flex items-center justify-center",children:u.jsx(a0,{variant:"ghost",size:"sm",onClick:()=>y(S),className:"opacity-0 group-hover:opacity-100 transition-opacity bg-white dark:bg-gray-800 text-gray-900 dark:text-gray-100 hover:bg-red-100 dark:hover:bg-red-900/20 hover:text-red-600 dark:hover:text-red-400 p-1 rounded-full",children:u.jsx(p0,{className:"h-4 w-4"})})})]},S))}),b&&r.length>0&&u.jsxs(a0,{variant:"outline",size:"sm",onClick:()=>n.current?.click(),className:"w-full sm:w-auto",children:[u.jsx(zr,{className:"h-4 w-4 mr-2"}),"Add More Images (",r.length,"/",t,")"]})]})},Zo=r=>{const[e,t]=A.useState(""),[a,s]=A.useState(null),[n,l]=A.useState(!1),[c,d]=A.useState([]),{addMessage:m,updateMessage:f,updateMessageWithStatistics:x,updateSessionTitle:y,setGeneratingTitleForSession:b}=je(),{setIsGenerating:k,preferences:S}=C0(),z=A.useRef(null),E=A.useRef(null),T=A.useRef(""),H=A.useRef(0),V=A.useRef();A.useEffect(()=>()=>{ye.offMessage("user_message"),ye.offMessage("assistant_chunk"),ye.offMessage("assistant_complete"),ye.offMessage("tool_status"),ye.offMessage("error")},[r]),A.useEffect(()=>{if(!r){ye.offMessage("user_message"),ye.offMessage("assistant_chunk"),ye.offMessage("assistant_complete"),ye.offMessage("tool_status"),ye.offMessage("error");return}return ye.onMessage("user_message",()=>{}),ye.onMessage("assistant_chunk",j=>{const C=j,F=C.messageId||z.current;F&&(T.current=C.total,t(C.total),V.current&&clearTimeout(V.current),V.current=setTimeout(()=>{f(r,F,T.current),H.current=Date.now()},C.done?0:200))}),ye.onMessage("tool_status",j=>{const C=j;d(F=>F.find(X=>X.toolCallId===C.toolCallId)?F.map(X=>X.toolCallId===C.toolCallId?{...X,phase:C.phase}:X):[...F,{toolCallId:C.toolCallId,name:C.name,phase:C.phase,startedAt:Date.now()}])}),ye.onMessage("assistant_complete",j=>{const C=j;console.log("Hook: Received assistant_complete for session:",r,"messageId:",C.messageId,"with statistics:",!!C.statistics),l(!1),t(""),k(!1),d([]);const F=C.messageId||z.current;if(C&&F){const Q=T.current||C.content;x(r,F,Q,C.statistics)}const X=C0.getState().preferences.titleSettings,O=je.getState().currentSession,re=E.current;console.log("Auto-title check:",{firstMessage:re,autoTitle:X?.autoTitle,taskModel:X?.taskModel,sessionTitle:O?.title}),re&&X?.autoTitle&&X?.taskModel&&O?.title==="New Chat"&&(console.log("Triggering auto-title generation..."),b(r),vt.generateTitle(r,X.taskModel,re).then(Q=>{console.log("Title generation response:",Q),Q.success&&Q.data?.title&&y(r,Q.data.title)}).catch(Q=>{console.error("Failed to generate title:",Q)}).finally(()=>{b(null)}),E.current=null),z.current=null,T.current="",V.current&&clearTimeout(V.current),H.current=0}),ye.onMessage("error",j=>{const C=j;if(l(!1),t(""),k(!1),z.current=null,C.code==="SESSION_NOT_FOUND"){console.warn("Session not found, redirecting to create new session..."),ue.error("Session not found. Creating a new session..."),window.location.href="/";return}ue.error(C.error)}),l(!1),t(""),z.current=null,()=>{V.current&&clearTimeout(V.current)}},[r,f,x,k,y,b]);const B=A.useCallback(async(N,j,C)=>{if(!(!r||!N.trim()&&(!j||j.length===0)))try{k(!0),l(!0),t(""),V.current&&clearTimeout(V.current),H.current=Date.now();const F=je.getState().currentSession,Z=F?.isPrivate===!0,X=F?.messages?.some(Q=>Q.role==="user");!Z&&!X&&F?.title==="New Chat"&&(E.current=N.trim()),m(r,{role:"user",content:N.trim(),images:j});const O=na();z.current=O,s(O),m(r,{role:"assistant",content:"",id:O}),ye.isConnected||await ye.connect();const re=Z?F?.messages?.filter(Q=>Q.role!=="system"&&Q.id!==O).map(Q=>({role:Q.role,content:Q.content,images:Q.images})):void 0;ye.send({type:"chat_stream",data:{sessionId:r,content:N.trim(),images:j,format:C,options:S.generationOptions,assistantMessageId:O,isPrivate:Z,model:Z?F?.model:void 0,messageHistory:re}})}catch(F){console.error("Failed to send message:",F),l(!1),t(""),s(null),k(!1),z.current=null,ue.error("Failed to send message")}},[r,m,k,S.generationOptions]),G=A.useCallback(()=>{l(!1),t(""),s(null),k(!1),z.current=null},[k]),W=A.useCallback(async()=>{const N=je.getState().currentSession;if(!N||!r)return;const j=N.messages;let C=-1,F=-1;for(let O=j.length-1;O>=0;O--)if(j[O].role==="assistant"){F=O;break}if(F>0){for(let O=F-1;O>=0;O--)if(j[O].role==="user"){C=O;break}}if(C===-1||F===-1){ue.error("No message to regenerate");return}const Z=j[C],X=j[F];try{k(!0),l(!0),t(""),V.current&&clearTimeout(V.current),H.current=Date.now();const O=na();z.current=O,s(O),m(r,{role:"assistant",content:"",id:O,parentId:X.parentId||X.id,branchIndex:X.siblingCount||1,isActive:!0}),ye.isConnected||await ye.connect(),ye.send({type:"chat_stream",data:{sessionId:r,content:Z.content,images:Z.images,options:S.generationOptions,assistantMessageId:O,regenerate:!0,originalMessageId:X.id}})}catch(O){console.error("Failed to regenerate message:",O),l(!1),t(""),k(!1),z.current=null,ue.error("Failed to regenerate message")}},[r,k,m,S.generationOptions]),$=A.useCallback(async N=>{const C=je.getState().currentSession;if(!C||!r)return;const F=C.messages.find(O=>O.id===N);if(!F){ue.error("Message not found");return}if(F.isActive!==!1)return;const Z=F.parentId||F.id,X=F.branchIndex||0;try{const O=await vt.switchMessageBranch(r,N,X);if(O.success&&O.data){const re=C.messages.map(le=>le.id===Z||le.parentId===Z?{...le,isActive:le.id===N}:le),Q={...C,messages:re,updatedAt:Date.now()};je.setState(le=>({sessions:le.sessions.map(Me=>Me.id===r?Q:Me),currentSession:Q})),ue.success(`Switched to variant ${X+1}`)}else ue.error(O.error||"Failed to select branch")}catch(O){console.error("Failed to select branch:",O),ue.error("Failed to select branch")}},[r]);return{sendMessage:B,stopGeneration:G,regenerateLastMessage:W,selectBranch:$,isStreaming:n,streamingMessage:e,streamingMessageId:a,toolActivities:c}},Jo=(r,e)=>{const t=new Date().getHours(),a=r?`, ${r}`:"";return t>=5&&t<12?{greeting:`${e?e("chat.greeting.morning"):"Good morning"}${a}`,timeSuffix:"today"}:t>=12&&t<17?{greeting:`${e?e("chat.greeting.afternoon"):"Good afternoon"}${a}`,timeSuffix:"today"}:t>=17&&t<21?{greeting:`${e?e("chat.greeting.evening"):"Good evening"}${a}`,timeSuffix:"tonight"}:{greeting:`${e?e("chat.greeting.night"):"Good night"}${a}`,timeSuffix:"tonight"}},s1=()=>{const{t:r}=Ze(),{sessionId:e}=Cn(),t=rs(),a=Dn(),{currentSession:s,sessions:n,models:l,selectedModel:c,setSelectedModel:d,createSession:m,setCurrentSession:f,loadSessions:x,getCurrentPersona:y}=je(),{user:b}=Ar(),{sendMessage:k,stopGeneration:S,regenerateLastMessage:z,selectBranch:E,isStreaming:T,streamingMessage:H,streamingMessageId:V,toolActivities:B}=Zo(s?.id||""),G=y(),{greeting:W,timeSuffix:$}=A.useMemo(()=>Jo(b?.username,r),[b?.username,r]),[N,j]=A.useState(""),[C,F]=A.useState([]),[Z,X]=A.useState(!1),O=A.useRef(null),[re,Q]=A.useState(!1);A.useEffect(()=>{n.length===0&&x()},[x,n.length]),A.useEffect(()=>{(async()=>{try{const ne=await as.getPlugins();Q(!!(ne.success&&ne.data&&ne.data.length>0))}catch{Q(!1)}})()},[]),A.useEffect(()=>{(()=>{if(sessionStorage.getItem("forceWelcomeScreen")){sessionStorage.removeItem("forceWelcomeScreen");return}if(!s?.isPrivate&&n.length!==0)if(e){const ge=n.find(Ce=>Ce.id===e);ge&&ge.id!==s?.id?f(ge):ge||(console.warn(`Session ${e} not found for current user, redirecting...`),n.length>0?t(`/c/${n[0].id}`,{replace:!0}):t("/",{replace:!0}))}else!e&&n.length>0&&a.pathname==="/"&&t(`/c/${n[0].id}`,{replace:!0})})()},[e,n,f,t,s?.id,s?.isPrivate,a.pathname]),A.useEffect(()=>{if(s?.id){const ee=sessionStorage.getItem("pendingMessage");if(ee){sessionStorage.removeItem("pendingMessage");try{const ne=JSON.parse(ee);setTimeout(()=>{k(ne.content,ne.images)},100)}catch(ne){console.error("Failed to parse pending message:",ne)}}}},[s?.id,k]),A.useEffect(()=>{const ee=O.current;ee&&(ee.style.height="auto",ee.style.height=Math.min(ee.scrollHeight,200)+"px")},[N]);const le=async ee=>{if(ee.preventDefault(),!N.trim()||!c)return;const ne={content:N.trim(),images:C.length>0?C:void 0};sessionStorage.setItem("pendingMessage",JSON.stringify(ne)),j(""),F([]);const ge=await m(c);ge&&t(`/c/${ge.id}`,{replace:!0})},Me=ee=>{ee.key==="Enter"&&!ee.shiftKey&&(ee.preventDefault(),le(ee))},Ne=async ee=>{const ne=ee.target.value;d(ne)},Ie=(ee,ne,ge)=>{s&&k(ee,ne,ge)};if(!s){const ee=C.length>0;return u.jsxs("div",{className:"h-full flex-1 flex flex-col items-center justify-center p-4 sm:p-8 relative",children:[u.jsxs("button",{onClick:()=>{if(!c&&l.length===0)return;const ne=Date.now(),ge={id:`private-${ne}`,title:r("chat.session.private"),model:c||l[0]?.name||"",messages:[],createdAt:ne,updatedAt:ne,isPrivate:!0};f(ge)},disabled:!c&&l.length===0,className:"absolute top-4 right-4 flex items-center gap-2 px-3 py-1.5 rounded-full border border-gray-300 dark:border-dark-400 ophelia:border-[#3f3f46] bg-transparent hover:bg-gray-100 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a] text-gray-500 dark:text-gray-400 ophelia:text-[#a3a3a3] transition-all duration-200 disabled:opacity-50 disabled:cursor-not-allowed",title:r("chat.session.privateTooltip"),children:[u.jsx(ua,{className:"h-4 w-4"}),u.jsx("span",{className:"text-sm",children:r("chat.session.private")})]}),u.jsxs("div",{className:"w-full max-w-2xl mx-auto flex flex-col items-center justify-center",children:[u.jsx("h1",{className:"text-2xl sm:text-3xl font-medium text-gray-800 dark:text-gray-100 ophelia:text-[#fafafa] mb-2 text-center",style:{fontWeight:400},children:W}),u.jsx("p",{className:"text-base sm:text-lg text-gray-500 dark:text-gray-400 ophelia:text-[#737373] mb-8 text-center",children:r($==="today"?"chat.welcome.helpToday":"chat.welcome.helpTonight")}),l.length>0?u.jsxs("div",{className:"w-full",children:[Z&&u.jsx("div",{className:"mb-4 p-4 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-2xl",children:u.jsx(Ko,{images:C,onImagesChange:F,maxImages:5})}),u.jsx("form",{onSubmit:le,children:u.jsxs("div",{className:Y("flex items-center gap-2 p-2 sm:p-3 rounded-2xl sm:rounded-3xl border transition-all duration-200","bg-gray-50 dark:bg-dark-50 ophelia:bg-[#0a0a0a] border-gray-200 dark:border-dark-300 ophelia:border-[#262626]","hover:border-gray-300 dark:hover:border-dark-400 ophelia:hover:border-[#3f3f46]","focus-within:border-primary-400 dark:focus-within:border-primary-500 ophelia:focus-within:border-[#9333ea] focus-within:bg-white dark:focus-within:bg-dark-50 ophelia:focus-within:bg-[#0a0a0a]","shadow-sm hover:shadow-md focus-within:shadow-lg"),children:[u.jsx(a0,{type:"button",variant:"ghost",size:"sm",onClick:()=>X(!Z),className:Y("h-8 w-8 sm:h-9 sm:w-9 !p-0 rounded-full flex-shrink-0","hover:bg-gray-200 dark:hover:bg-dark-200 ophelia:hover:bg-[#1a1a1a] transition-colors touch-manipulation",ee&&"text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]",Z&&"bg-gray-200 dark:bg-dark-200 ophelia:bg-[#1a1a1a]"),title:r("chat.input.attachImages"),style:{display:"flex",alignItems:"center",justifyContent:"center",padding:"0"},children:ee?u.jsxs("div",{className:"relative flex items-center justify-center",children:[u.jsx(ds,{className:"h-4 w-4"}),u.jsx("div",{className:"absolute -top-0.5 -right-0.5 h-1.5 w-1.5 bg-primary-500 ophelia:bg-[#9333ea] rounded-full"})]}):Z?u.jsx(hs,{className:"h-4 w-4"}):u.jsx(jr,{className:"h-4 w-4"})}),u.jsx("div",{className:"flex-1 min-w-0",children:u.jsx(Jr,{ref:O,value:N,onChange:ne=>j(ne.target.value),onKeyDown:Me,placeholder:r("chat.input.messagePlaceholder"),className:"!border-0 !bg-transparent !shadow-none !p-0 !m-0 !rounded-none !focus:ring-0 !focus:border-0 !focus:shadow-none !focus:bg-transparent min-h-[32px] sm:min-h-[36px] max-h-[120px] resize-none scrollbar-thin scrollbar-thumb-gray-300 dark:scrollbar-thumb-dark-400 ophelia:scrollbar-thumb-[#3f3f46] focus:outline-none placeholder:text-gray-500 dark:placeholder:text-dark-500 ophelia:placeholder:text-[#737373] text-base sm:text-sm leading-none touch-manipulation",rows:1,style:{boxShadow:"none !important",border:"none !important",outline:"none !important",padding:"0 !important",margin:"0 !important",lineHeight:"1.2 !important",verticalAlign:"middle"}})}),u.jsx("div",{className:"hidden sm:block",children:u.jsx(Mt,{models:l,selectedModel:c,onModelChange:Ne,className:"min-w-[140px] max-w-[200px] border-0 bg-gray-100 dark:bg-dark-100 ophelia:bg-[#121212] rounded-xl text-sm",compact:!0,showImageGen:re})}),u.jsx(a0,{type:"submit",variant:"ghost",size:"sm",disabled:!N.trim()||!c,className:Y("h-8 w-8 sm:h-9 sm:w-9 p-0 rounded-full flex-shrink-0 flex items-center justify-center","hover:bg-primary-100 dark:hover:bg-primary-900/30 ophelia:hover:bg-[rgba(147,51,234,0.2)] text-primary-600 dark:text-primary-400 ophelia:text-[#a855f7]","disabled:text-gray-400 dark:disabled:text-dark-500 ophelia:disabled:text-[#525252] disabled:hover:bg-transparent","transition-all duration-150 touch-manipulation",N.trim()&&c&&"hover:scale-105 active:scale-95"),title:r("chat.input.sendMessage"),children:u.jsx(ms,{className:"h-4 w-4"})})]})}),u.jsx("div",{className:"sm:hidden mt-4",children:u.jsx(Mt,{models:l,selectedModel:c,onModelChange:Ne,className:"w-full rounded-xl bg-gray-100 dark:bg-dark-100 ophelia:bg-[#121212] border-0",compact:!0,showImageGen:re})}),u.jsxs("div",{className:"mt-4 text-center",children:[u.jsxs("a",{href:"https://librewebui.org",target:"_blank",rel:"noopener noreferrer",className:"libre-brand underline hover:text-primary-600 dark:hover:text-primary-400 ophelia:hover:text-[#a855f7] transition-colors text-gray-500 dark:text-gray-400 ophelia:text-[#737373]",style:{fontSize:"0.75rem",lineHeight:1},children:["Libre ",u.jsx("span",{style:{fontSize:"0.6rem"},children:"WebUI"})]})," ",u.jsxs("span",{className:"text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",style:{fontSize:"0.55rem"},children:["v","0.8.4"]})," ",u.jsx("span",{className:"text-gray-300 dark:text-gray-600 ophelia:text-[#3f3f46] opacity-50",children:"•"})," ",u.jsx("span",{className:"text-xs text-gray-400 dark:text-gray-500 ophelia:text-[#525252]",children:r("chat.footer.disclaimer")})]})]}):u.jsx("div",{className:"w-full max-w-md",children:u.jsxs("div",{className:"p-6 bg-gray-50 dark:bg-dark-100 ophelia:bg-[#121212] border border-gray-200 dark:border-dark-300 ophelia:border-[#262626] rounded-xl",children:[u.jsx("p",{className:"text-sm text-gray-700 dark:text-dark-700 ophelia:text-[#a3a3a3] mb-4",children:r("chat.model.noModelsDescription")}),u.jsx("code",{className:"block text-xs bg-gray-100 dark:bg-dark-200 ophelia:bg-[#0a0a0a] p-3 rounded-lg font-mono text-gray-800 dark:text-dark-600 ophelia:text-[#737373]",children:r("chat.model.pullCommand")})]})})]})]})}return u.jsxs("div",{className:"flex flex-col h-full relative",style:G?.background?{backgroundImage:`url(${G.background})`,backgroundSize:"cover",backgroundPosition:"center",backgroundRepeat:"no-repeat"}:void 0,children:[G?.background&&u.jsx("div",{className:"absolute inset-0 bg-white/80 dark:bg-black/80 backdrop-blur-sm"}),u.jsxs("div",{className:"flex flex-col h-full relative z-10",children:[s?.isPrivate&&u.jsx("div",{className:"flex-shrink-0 px-4 py-2 border-b border-gray-200 dark:border-dark-300 ophelia:border-[#262626] bg-gray-50/80 dark:bg-dark-100/80 ophelia:bg-[#0a0a0a]/80 backdrop-blur-sm",children:u.jsxs("div",{className:"flex items-center justify-center gap-2 text-gray-600 dark:text-gray-400 ophelia:text-[#a3a3a3]",children:[u.jsx(ua,{className:"h-4 w-4"}),u.jsx("span",{className:"text-sm font-medium",children:r("chat.session.privateMode")}),u.jsxs("span",{className:"text-xs text-gray-500 dark:text-gray-500 ophelia:text-[#737373]",children:["— ",r("chat.session.privateDescription")]})]})}),G&&!s?.isPrivate&&u.jsx("div",{className:"flex-shrink-0 px-4 py-2 border-b border-gray-100 dark:border-dark-200 ophelia:border-[#262626] bg-white/50 dark:bg-dark-100/50 ophelia:bg-[#0a0a0a]/50 backdrop-blur-sm",children:u.jsx(Yo,{persona:G,onClear:()=>{if(s){const{sessions:ee}=je.getState(),ne={...s,model:G.model,personaId:void 0},ge=ee.map(Ce=>Ce.id===s.id?ne:Ce);je.setState({sessions:ge,currentSession:ne})}}})}),u.jsx(Lo,{messages:s.messages,streamingMessage:H,streamingMessageId:V,isStreaming:T,toolActivities:B,onRegenerate:z,onSelectBranch:E,className:"flex-1"}),u.jsx(Xo,{onSendMessage:Ie,onStopGeneration:S,disabled:!s})]})]})};export{s1 as ChatPage,s1 as default};