Files
school-developer/public/bot/assets/katex-3eb4982e.js
吴红兵 94c3473958 fix
2026-03-07 01:34:48 +08:00

10295 lines
331 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

class u0 {
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 u0(e.loc.lexer, e.loc.start, t.loc.end)) : e && e.loc;
}
}
class f0 {
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 f0(t, u0.range(this, e));
}
}
class M {
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,
n,
s,
o = t && t.loc;
if (o && o.start <= o.end) {
var h = o.lexer.input;
(n = o.start), (s = o.end), n === h.length ? (a += ' at end of input: ') : (a += ' at position ' + (n + 1) + ': ');
var c = h.slice(n, s).replace(/[^]/g, '$&̲'),
p;
n > 15 ? (p = '…' + h.slice(n - 15, n)) : (p = h.slice(0, n));
var g;
s + 15 < h.length ? (g = h.slice(s, s + 15) + '…') : (g = h.slice(s)), (a += p + c + g);
}
var y = new Error(a);
return (
(y.name = 'ParseError'), (y.__proto__ = M.prototype), (y.position = n), n != null && s != null && (y.length = s - n), (y.rawMessage = e), y
);
}
}
M.prototype.__proto__ = Error.prototype;
var da = function (e, t) {
return e.indexOf(t) !== -1;
},
fa = function (e, t) {
return e === void 0 ? t : e;
},
pa = /([A-Z])/g,
va = function (e) {
return e.replace(pa, '-$1').toLowerCase();
},
ga = { '&': '&amp;', '>': '&gt;', '<': '&lt;', '"': '&quot;', "'": '&#x27;' },
ba = /[&><"']/g;
function ya(r) {
return String(r).replace(ba, (e) => ga[e]);
}
var pr = function r(e) {
return e.type === 'ordgroup' || e.type === 'color' ? (e.body.length === 1 ? r(e.body[0]) : e) : e.type === 'font' ? r(e.body) : e;
},
xa = function (e) {
var t = pr(e);
return t.type === 'mathord' || t.type === 'textord' || t.type === 'atom';
},
wa = function (e) {
if (!e) throw new Error('Expected non-null, but got ' + String(e));
return e;
},
ka = function (e) {
var t = /^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(e);
return t ? (t[2] !== ':' || !/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(t[1]) ? null : t[1].toLowerCase()) : '_relative';
},
q = { contains: da, deflt: fa, escape: ya, hyphenate: va, getBaseElem: pr, isCharacterBox: xa, protocolFromUrl: ka },
ze = {
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 Sa(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 ct {
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 ze)
if (ze.hasOwnProperty(t)) {
var a = ze[t];
this[t] = e[t] !== void 0 ? (a.processor ? a.processor(e[t]) : e[t]) : Sa(a);
}
}
reportNonstrict(e, t, a) {
var n = this.strict;
if ((typeof n == 'function' && (n = n(e, t, a)), !(!n || n === 'ignore'))) {
if (n === !0 || n === 'error') throw new M("LaTeX-incompatible input and strict mode is set to 'error': " + (t + ' [' + e + ']'), a);
n === '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 '" + n + "': " + t + ' [' + e + ']'));
}
}
useStrictBehavior(e, t, a) {
var n = this.strict;
if (typeof n == 'function')
try {
n = n(e, t, a);
} catch {
n = 'error';
}
return !n || n === 'ignore'
? !1
: n === !0 || n === 'error'
? !0
: n === '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 '" + n + "': " + t + ' [' + e + ']')),
!1);
}
isTrusted(e) {
if (e.url && !e.protocol) {
var t = q.protocolFromUrl(e.url);
if (t == null) return !1;
e.protocol = t;
}
var a = typeof this.trust == 'function' ? this.trust(e) : this.trust;
return !!a;
}
}
class O0 {
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 y0[Ma[this.id]];
}
sub() {
return y0[za[this.id]];
}
fracNum() {
return y0[Aa[this.id]];
}
fracDen() {
return y0[Ta[this.id]];
}
cramp() {
return y0[Ba[this.id]];
}
text() {
return y0[Da[this.id]];
}
isTight() {
return this.size >= 2;
}
}
var dt = 0,
Te = 1,
_0 = 2,
T0 = 3,
le = 4,
d0 = 5,
ee = 6,
n0 = 7,
y0 = [
new O0(dt, 0, !1),
new O0(Te, 0, !0),
new O0(_0, 1, !1),
new O0(T0, 1, !0),
new O0(le, 2, !1),
new O0(d0, 2, !0),
new O0(ee, 3, !1),
new O0(n0, 3, !0),
],
Ma = [le, d0, le, d0, ee, n0, ee, n0],
za = [d0, d0, d0, d0, n0, n0, n0, n0],
Aa = [_0, T0, le, d0, ee, n0, ee, n0],
Ta = [T0, T0, d0, d0, n0, n0, n0, n0],
Ba = [Te, Te, T0, T0, d0, d0, n0, n0],
Da = [dt, Te, _0, T0, _0, T0, _0, T0],
R = { DISPLAY: y0[dt], TEXT: y0[_0], SCRIPT: y0[le], SCRIPTSCRIPT: y0[ee] },
at = [
{
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 Ca(r) {
for (var e = 0; e < at.length; e++)
for (var t = at[e], a = 0; a < t.blocks.length; a++) {
var n = t.blocks[a];
if (r >= n[0] && r <= n[1]) return t.name;
}
return null;
}
var Ae = [];
at.forEach((r) => r.blocks.forEach((e) => Ae.push(...e)));
function vr(r) {
for (var e = 0; e < Ae.length; e += 2) if (r >= Ae[e] && r <= Ae[e + 1]) return !0;
return !1;
}
var Q0 = 80,
Na = function (e, t) {
return (
'M95,' +
(622 + e + t) +
`
c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14
c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54
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
s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429
c69,-144,104.5,-217.7,106.5,-221
l` +
e / 2.075 +
' -' +
e +
`
c5.3,-9.3,12,-14,20,-14
H400000v` +
(40 + e) +
`H845.2724
s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7
c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z
M` +
(834 + e) +
' ' +
t +
'h400000v' +
(40 + e) +
'h-400000z'
);
},
qa = function (e, t) {
return (
'M263,' +
(601 + e + t) +
`c0.7,0,18,39.7,52,119
c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120
c340,-704.7,510.7,-1060.3,512,-1067
l` +
e / 2.084 +
' -' +
e +
`
c4.7,-7.3,11,-11,19,-11
H40000v` +
(40 + e) +
`H1012.3
s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232
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
s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26
c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z
M` +
(1001 + e) +
' ' +
t +
'h400000v' +
(40 + e) +
'h-400000z'
);
},
Ea = function (e, t) {
return (
'M983 ' +
(10 + e + t) +
`
l` +
e / 3.13 +
' -' +
e +
`
c4,-6.7,10,-10,18,-10 H400000v` +
(40 + e) +
`
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
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
c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30
c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722
c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5
c53.7,-170.3,84.5,-266.8,92.5,-289.5z
M` +
(1001 + e) +
' ' +
t +
'h400000v' +
(40 + e) +
'h-400000z'
);
},
Ra = function (e, t) {
return (
'M424,' +
(2398 + e + t) +
`
c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514
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
s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121
s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081
l` +
e / 4.223 +
' -' +
e +
`c4,-6.7,10,-10,18,-10 H400000
v` +
(40 + e) +
`H1014.6
s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185
c-2,6,-10,9,-24,9
c-8,0,-12,-0.7,-12,-2z M` +
(1001 + e) +
' ' +
t +
`
h400000v` +
(40 + e) +
'h-400000z'
);
},
Ia = function (e, t) {
return (
'M473,' +
(2713 + e + t) +
`
c339.3,-1799.3,509.3,-2700,510,-2702 l` +
e / 5.298 +
' -' +
e +
`
c3.3,-7.3,9.3,-11,18,-11 H400000v` +
(40 + e) +
`H1017.7
s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9
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
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
s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,
606zM` +
(1001 + e) +
' ' +
t +
'h400000v' +
(40 + e) +
'H1017.7z'
);
},
Oa = function (e) {
var t = e / 2;
return 'M400000 ' + e + ' H0 L' + t + ' 0 l65 45 L145 ' + (e - 80) + ' H400000z';
},
Ha = function (e, t, a) {
var n = a - 54 - t - e;
return (
'M702 ' +
(e + t) +
'H400000' +
(40 + e) +
`
H742v` +
n +
`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
h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170
c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667
219 661 l218 661zM702 ` +
t +
'H400000v' +
(40 + e) +
'H742z'
);
},
Fa = function (e, t, a) {
t = 1e3 * t;
var n = '';
switch (e) {
case 'sqrtMain':
n = Na(t, Q0);
break;
case 'sqrtSize1':
n = qa(t, Q0);
break;
case 'sqrtSize2':
n = Ea(t, Q0);
break;
case 'sqrtSize3':
n = Ra(t, Q0);
break;
case 'sqrtSize4':
n = Ia(t, Q0);
break;
case 'sqrtTall':
n = Ha(t, Q0, a);
}
return n;
},
La = 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 '';
}
},
It = {
doubleleftarrow: `M262 157
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
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
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
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
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
-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7
-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z
m8 0v40h399730v-40zm0 194v40h399730v-40z`,
doublerightarrow: `M399738 392l
-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
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
-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
-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
-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782
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
-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z`,
leftarrow: `M400000 241H110l3-3c68.7-52.7 113.7-120
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
-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
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
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
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
l-3-3h399890zM100 241v40h399900v-40z`,
leftbrace: `M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117
-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7
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
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
0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7
-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z`,
leftgroup: `M400000 80
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
435 0h399565z`,
leftgroupunder: `M400000 262
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
435 219h399565z`,
leftharpoon: `M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3
-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
-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
-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
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
-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
-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z
m0 0v40h400000v-40z`,
leftharpoondown: `M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333
5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5
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
-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
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
-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0
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
-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
-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
71.5 23h399859zM103 281v-40h399897v40z`,
leftlinesegment: `M40 281 V428 H0 V94 H40 V241 H400000 v40z
M40 281 V428 H0 V94 H40 V241 H400000 v40z`,
leftmapsto: `M40 281 V448H0V74H40V241H400000v40z
M40 281 V448H0V74H40V241H400000v40z`,
leftToFrom: `M0 147h400000v40H0zm0 214c68 40 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-70-101l-7-8h399905v-40H95l7-8
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
68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z`,
longequal: `M0 50 h400000 v40H0z m0 194h40000v40H0z
M0 50 h400000 v40H0z m0 194h40000v40H0z`,
midbrace: `M200428 334
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
-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7
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
12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z`,
midbraceunder: `M199572 214
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
53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3
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
-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
-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z
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
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
-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z
m502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2
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
-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z
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
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
-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z
m770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1
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
-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
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
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
-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
-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
151.7 139 205zm0 0v40h399900v-40z`,
rightbrace: `M400000 542l
-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
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
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
28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237
-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
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
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
-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
-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
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
-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
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
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
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
-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
-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
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
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
-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z
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
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
-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
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
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
1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32
-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
-167z M100 147v40h399900v-40zM0 341v40h399900v-40z`,
twoheadleftarrow: `M0 167c68 40
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
-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3
-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19
-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101
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
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
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
18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333
-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70
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
-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
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
4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128
-68.267.847-113-73.952-191-73.952z`,
tilde2: `M344 55.266c-142 0-300.638 81.316-311.5 86.418
-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
31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114
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
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
-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0
411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697
16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696
-338 0-409-156.573-744-156.573z`,
tilde4: `M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345
-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409
177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9
14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409
-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
3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11
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
-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
-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59
H213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359
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
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
-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
-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
-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,
-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,
-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,
-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,
-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
c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5
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
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
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
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
c0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z
M100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z`,
rightarrowabovebar: `M0 241v40h399891c-47.3 35.3-84 78-110 128-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 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 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-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
-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
151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z`,
baraboveshortleftharpoon: `M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11
c1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17
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
c-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40
c-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z
M0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z`,
rightharpoonaboveshortbar: `M0,241 l0,40c399126,0,399993,0,399993,0
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,
-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
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
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
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,
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,
-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z
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
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,
-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
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
M500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z`,
},
Pa = function (e, t) {
switch (e) {
case 'lbrack':
return (
'M403 1759 V84 H666 V0 H319 V1759 v' +
t +
` v1759 h347 v-84
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
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
c10,0,16.667,-5,20,-15 v-585 v` +
-t +
` v-585 c-2.667,-10,-9.667,-15,-21,-15
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
c10,0,16.667,-5,20,-15 v-585 v` +
-t +
` v-585 c-2.667,-10,-9.667,-15,-21,-15
c-10,0,-16.667,5,-20,15z M188 15 H145 v585 v` +
t +
` v585 h43z
M367 15 v585 v` +
t +
` v585 c2.667,10,9.667,15,21,15
c10,0,16.667,-5,20,-15 v-585 v` +
-t +
` v-585 c-2.667,-10,-9.667,-15,-21,-15
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
MM319 602 V0 H403 V602 v` +
t +
' v1715 H319z'
);
case 'rfloor':
return (
'M319 602 V0 H403 V602 v' +
t +
` v1799 H0 v-84 H319z
MM319 602 V0 H403 V602 v` +
t +
' v1715 H319z'
);
case 'lceil':
return (
'M403 1759 V84 H666 V0 H319 V1759 v' +
t +
` v602 h84z
M403 1759 V0 H319 V1759 v` +
t +
' v602 h84z'
);
case 'rceil':
return (
'M347 1759 V0 H0 V84 H263 V1759 v' +
t +
` v602 h84z
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
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,
-36,557 l0,` +
(t + 84) +
`c0.2,6,0,26,0,60c2,159.3,10,310.7,24,454c53.3,528,210,
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
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,
-544.7,-112.5,-882c-2,-104,-3,-167,-3,-189
l0,-` +
(t + 92) +
`c0,-162.7,5.7,-314,17,-454c20.7,-272,63.7,-513,129,-723c65.3,
-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,
63,95c96.7,156.7,172.8,332.5,228.5,527.5c55.7,195,92.8,416.5,111.5,664.5
c11.3,139.3,17,290.7,17,454c0,28,1.7,43,3.3,45l0,` +
(t + 9) +
`
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
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
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
c242.7,-294.7,395.3,-681.7,458,-1161c21.3,-164.7,33.3,-350.7,36,-558
l0,-` +
(t + 144) +
`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
-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 ue {
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 q.contains(this.classes, 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 x0 = {
'AMS-Regular': {
32: [0, 0, 0, 0, 0.25],
65: [0, 0.68889, 0, 0, 0.72222],
66: [0, 0.68889, 0, 0, 0.66667],
67: [0, 0.68889, 0, 0, 0.72222],
68: [0, 0.68889, 0, 0, 0.72222],
69: [0, 0.68889, 0, 0, 0.66667],
70: [0, 0.68889, 0, 0, 0.61111],
71: [0, 0.68889, 0, 0, 0.77778],
72: [0, 0.68889, 0, 0, 0.77778],
73: [0, 0.68889, 0, 0, 0.38889],
74: [0.16667, 0.68889, 0, 0, 0.5],
75: [0, 0.68889, 0, 0, 0.77778],
76: [0, 0.68889, 0, 0, 0.66667],
77: [0, 0.68889, 0, 0, 0.94445],
78: [0, 0.68889, 0, 0, 0.72222],
79: [0.16667, 0.68889, 0, 0, 0.77778],
80: [0, 0.68889, 0, 0, 0.61111],
81: [0.16667, 0.68889, 0, 0, 0.77778],
82: [0, 0.68889, 0, 0, 0.72222],
83: [0, 0.68889, 0, 0, 0.55556],
84: [0, 0.68889, 0, 0, 0.66667],
85: [0, 0.68889, 0, 0, 0.72222],
86: [0, 0.68889, 0, 0, 0.72222],
87: [0, 0.68889, 0, 0, 1],
88: [0, 0.68889, 0, 0, 0.72222],
89: [0, 0.68889, 0, 0, 0.72222],
90: [0, 0.68889, 0, 0, 0.66667],
107: [0, 0.68889, 0, 0, 0.55556],
160: [0, 0, 0, 0, 0.25],
165: [0, 0.675, 0.025, 0, 0.75],
174: [0.15559, 0.69224, 0, 0, 0.94666],
240: [0, 0.68889, 0, 0, 0.55556],
295: [0, 0.68889, 0, 0, 0.54028],
710: [0, 0.825, 0, 0, 2.33334],
732: [0, 0.9, 0, 0, 2.33334],
770: [0, 0.825, 0, 0, 2.33334],
771: [0, 0.9, 0, 0, 2.33334],
989: [0.08167, 0.58167, 0, 0, 0.77778],
1008: [0, 0.43056, 0.04028, 0, 0.66667],
8245: [0, 0.54986, 0, 0, 0.275],
8463: [0, 0.68889, 0, 0, 0.54028],
8487: [0, 0.68889, 0, 0, 0.72222],
8498: [0, 0.68889, 0, 0, 0.55556],
8502: [0, 0.68889, 0, 0, 0.66667],
8503: [0, 0.68889, 0, 0, 0.44445],
8504: [0, 0.68889, 0, 0, 0.66667],
8513: [0, 0.68889, 0, 0, 0.63889],
8592: [-0.03598, 0.46402, 0, 0, 0.5],
8594: [-0.03598, 0.46402, 0, 0, 0.5],
8602: [-0.13313, 0.36687, 0, 0, 1],
8603: [-0.13313, 0.36687, 0, 0, 1],
8606: [0.01354, 0.52239, 0, 0, 1],
8608: [0.01354, 0.52239, 0, 0, 1],
8610: [0.01354, 0.52239, 0, 0, 1.11111],
8611: [0.01354, 0.52239, 0, 0, 1.11111],
8619: [0, 0.54986, 0, 0, 1],
8620: [0, 0.54986, 0, 0, 1],
8621: [-0.13313, 0.37788, 0, 0, 1.38889],
8622: [-0.13313, 0.36687, 0, 0, 1],
8624: [0, 0.69224, 0, 0, 0.5],
8625: [0, 0.69224, 0, 0, 0.5],
8630: [0, 0.43056, 0, 0, 1],
8631: [0, 0.43056, 0, 0, 1],
8634: [0.08198, 0.58198, 0, 0, 0.77778],
8635: [0.08198, 0.58198, 0, 0, 0.77778],
8638: [0.19444, 0.69224, 0, 0, 0.41667],
8639: [0.19444, 0.69224, 0, 0, 0.41667],
8642: [0.19444, 0.69224, 0, 0, 0.41667],
8643: [0.19444, 0.69224, 0, 0, 0.41667],
8644: [0.1808, 0.675, 0, 0, 1],
8646: [0.1808, 0.675, 0, 0, 1],
8647: [0.1808, 0.675, 0, 0, 1],
8648: [0.19444, 0.69224, 0, 0, 0.83334],
8649: [0.1808, 0.675, 0, 0, 1],
8650: [0.19444, 0.69224, 0, 0, 0.83334],
8651: [0.01354, 0.52239, 0, 0, 1],
8652: [0.01354, 0.52239, 0, 0, 1],
8653: [-0.13313, 0.36687, 0, 0, 1],
8654: [-0.13313, 0.36687, 0, 0, 1],
8655: [-0.13313, 0.36687, 0, 0, 1],
8666: [0.13667, 0.63667, 0, 0, 1],
8667: [0.13667, 0.63667, 0, 0, 1],
8669: [-0.13313, 0.37788, 0, 0, 1],
8672: [-0.064, 0.437, 0, 0, 1.334],
8674: [-0.064, 0.437, 0, 0, 1.334],
8705: [0, 0.825, 0, 0, 0.5],
8708: [0, 0.68889, 0, 0, 0.55556],
8709: [0.08167, 0.58167, 0, 0, 0.77778],
8717: [0, 0.43056, 0, 0, 0.42917],
8722: [-0.03598, 0.46402, 0, 0, 0.5],
8724: [0.08198, 0.69224, 0, 0, 0.77778],
8726: [0.08167, 0.58167, 0, 0, 0.77778],
8733: [0, 0.69224, 0, 0, 0.77778],
8736: [0, 0.69224, 0, 0, 0.72222],
8737: [0, 0.69224, 0, 0, 0.72222],
8738: [0.03517, 0.52239, 0, 0, 0.72222],
8739: [0.08167, 0.58167, 0, 0, 0.22222],
8740: [0.25142, 0.74111, 0, 0, 0.27778],
8741: [0.08167, 0.58167, 0, 0, 0.38889],
8742: [0.25142, 0.74111, 0, 0, 0.5],
8756: [0, 0.69224, 0, 0, 0.66667],
8757: [0, 0.69224, 0, 0, 0.66667],
8764: [-0.13313, 0.36687, 0, 0, 0.77778],
8765: [-0.13313, 0.37788, 0, 0, 0.77778],
8769: [-0.13313, 0.36687, 0, 0, 0.77778],
8770: [-0.03625, 0.46375, 0, 0, 0.77778],
8774: [0.30274, 0.79383, 0, 0, 0.77778],
8776: [-0.01688, 0.48312, 0, 0, 0.77778],
8778: [0.08167, 0.58167, 0, 0, 0.77778],
8782: [0.06062, 0.54986, 0, 0, 0.77778],
8783: [0.06062, 0.54986, 0, 0, 0.77778],
8785: [0.08198, 0.58198, 0, 0, 0.77778],
8786: [0.08198, 0.58198, 0, 0, 0.77778],
8787: [0.08198, 0.58198, 0, 0, 0.77778],
8790: [0, 0.69224, 0, 0, 0.77778],
8791: [0.22958, 0.72958, 0, 0, 0.77778],
8796: [0.08198, 0.91667, 0, 0, 0.77778],
8806: [0.25583, 0.75583, 0, 0, 0.77778],
8807: [0.25583, 0.75583, 0, 0, 0.77778],
8808: [0.25142, 0.75726, 0, 0, 0.77778],
8809: [0.25142, 0.75726, 0, 0, 0.77778],
8812: [0.25583, 0.75583, 0, 0, 0.5],
8814: [0.20576, 0.70576, 0, 0, 0.77778],
8815: [0.20576, 0.70576, 0, 0, 0.77778],
8816: [0.30274, 0.79383, 0, 0, 0.77778],
8817: [0.30274, 0.79383, 0, 0, 0.77778],
8818: [0.22958, 0.72958, 0, 0, 0.77778],
8819: [0.22958, 0.72958, 0, 0, 0.77778],
8822: [0.1808, 0.675, 0, 0, 0.77778],
8823: [0.1808, 0.675, 0, 0, 0.77778],
8828: [0.13667, 0.63667, 0, 0, 0.77778],
8829: [0.13667, 0.63667, 0, 0, 0.77778],
8830: [0.22958, 0.72958, 0, 0, 0.77778],
8831: [0.22958, 0.72958, 0, 0, 0.77778],
8832: [0.20576, 0.70576, 0, 0, 0.77778],
8833: [0.20576, 0.70576, 0, 0, 0.77778],
8840: [0.30274, 0.79383, 0, 0, 0.77778],
8841: [0.30274, 0.79383, 0, 0, 0.77778],
8842: [0.13597, 0.63597, 0, 0, 0.77778],
8843: [0.13597, 0.63597, 0, 0, 0.77778],
8847: [0.03517, 0.54986, 0, 0, 0.77778],
8848: [0.03517, 0.54986, 0, 0, 0.77778],
8858: [0.08198, 0.58198, 0, 0, 0.77778],
8859: [0.08198, 0.58198, 0, 0, 0.77778],
8861: [0.08198, 0.58198, 0, 0, 0.77778],
8862: [0, 0.675, 0, 0, 0.77778],
8863: [0, 0.675, 0, 0, 0.77778],
8864: [0, 0.675, 0, 0, 0.77778],
8865: [0, 0.675, 0, 0, 0.77778],
8872: [0, 0.69224, 0, 0, 0.61111],
8873: [0, 0.69224, 0, 0, 0.72222],
8874: [0, 0.69224, 0, 0, 0.88889],
8876: [0, 0.68889, 0, 0, 0.61111],
8877: [0, 0.68889, 0, 0, 0.61111],
8878: [0, 0.68889, 0, 0, 0.72222],
8879: [0, 0.68889, 0, 0, 0.72222],
8882: [0.03517, 0.54986, 0, 0, 0.77778],
8883: [0.03517, 0.54986, 0, 0, 0.77778],
8884: [0.13667, 0.63667, 0, 0, 0.77778],
8885: [0.13667, 0.63667, 0, 0, 0.77778],
8888: [0, 0.54986, 0, 0, 1.11111],
8890: [0.19444, 0.43056, 0, 0, 0.55556],
8891: [0.19444, 0.69224, 0, 0, 0.61111],
8892: [0.19444, 0.69224, 0, 0, 0.61111],
8901: [0, 0.54986, 0, 0, 0.27778],
8903: [0.08167, 0.58167, 0, 0, 0.77778],
8905: [0.08167, 0.58167, 0, 0, 0.77778],
8906: [0.08167, 0.58167, 0, 0, 0.77778],
8907: [0, 0.69224, 0, 0, 0.77778],
8908: [0, 0.69224, 0, 0, 0.77778],
8909: [-0.03598, 0.46402, 0, 0, 0.77778],
8910: [0, 0.54986, 0, 0, 0.76042],
8911: [0, 0.54986, 0, 0, 0.76042],
8912: [0.03517, 0.54986, 0, 0, 0.77778],
8913: [0.03517, 0.54986, 0, 0, 0.77778],
8914: [0, 0.54986, 0, 0, 0.66667],
8915: [0, 0.54986, 0, 0, 0.66667],
8916: [0, 0.69224, 0, 0, 0.66667],
8918: [0.0391, 0.5391, 0, 0, 0.77778],
8919: [0.0391, 0.5391, 0, 0, 0.77778],
8920: [0.03517, 0.54986, 0, 0, 1.33334],
8921: [0.03517, 0.54986, 0, 0, 1.33334],
8922: [0.38569, 0.88569, 0, 0, 0.77778],
8923: [0.38569, 0.88569, 0, 0, 0.77778],
8926: [0.13667, 0.63667, 0, 0, 0.77778],
8927: [0.13667, 0.63667, 0, 0, 0.77778],
8928: [0.30274, 0.79383, 0, 0, 0.77778],
8929: [0.30274, 0.79383, 0, 0, 0.77778],
8934: [0.23222, 0.74111, 0, 0, 0.77778],
8935: [0.23222, 0.74111, 0, 0, 0.77778],
8936: [0.23222, 0.74111, 0, 0, 0.77778],
8937: [0.23222, 0.74111, 0, 0, 0.77778],
8938: [0.20576, 0.70576, 0, 0, 0.77778],
8939: [0.20576, 0.70576, 0, 0, 0.77778],
8940: [0.30274, 0.79383, 0, 0, 0.77778],
8941: [0.30274, 0.79383, 0, 0, 0.77778],
8994: [0.19444, 0.69224, 0, 0, 0.77778],
8995: [0.19444, 0.69224, 0, 0, 0.77778],
9416: [0.15559, 0.69224, 0, 0, 0.90222],
9484: [0, 0.69224, 0, 0, 0.5],
9488: [0, 0.69224, 0, 0, 0.5],
9492: [0, 0.37788, 0, 0, 0.5],
9496: [0, 0.37788, 0, 0, 0.5],
9585: [0.19444, 0.68889, 0, 0, 0.88889],
9586: [0.19444, 0.74111, 0, 0, 0.88889],
9632: [0, 0.675, 0, 0, 0.77778],
9633: [0, 0.675, 0, 0, 0.77778],
9650: [0, 0.54986, 0, 0, 0.72222],
9651: [0, 0.54986, 0, 0, 0.72222],
9654: [0.03517, 0.54986, 0, 0, 0.77778],
9660: [0, 0.54986, 0, 0, 0.72222],
9661: [0, 0.54986, 0, 0, 0.72222],
9664: [0.03517, 0.54986, 0, 0, 0.77778],
9674: [0.11111, 0.69224, 0, 0, 0.66667],
9733: [0.19444, 0.69224, 0, 0, 0.94445],
10003: [0, 0.69224, 0, 0, 0.83334],
10016: [0, 0.69224, 0, 0, 0.83334],
10731: [0.11111, 0.69224, 0, 0, 0.66667],
10846: [0.19444, 0.75583, 0, 0, 0.61111],
10877: [0.13667, 0.63667, 0, 0, 0.77778],
10878: [0.13667, 0.63667, 0, 0, 0.77778],
10885: [0.25583, 0.75583, 0, 0, 0.77778],
10886: [0.25583, 0.75583, 0, 0, 0.77778],
10887: [0.13597, 0.63597, 0, 0, 0.77778],
10888: [0.13597, 0.63597, 0, 0, 0.77778],
10889: [0.26167, 0.75726, 0, 0, 0.77778],
10890: [0.26167, 0.75726, 0, 0, 0.77778],
10891: [0.48256, 0.98256, 0, 0, 0.77778],
10892: [0.48256, 0.98256, 0, 0, 0.77778],
10901: [0.13667, 0.63667, 0, 0, 0.77778],
10902: [0.13667, 0.63667, 0, 0, 0.77778],
10933: [0.25142, 0.75726, 0, 0, 0.77778],
10934: [0.25142, 0.75726, 0, 0, 0.77778],
10935: [0.26167, 0.75726, 0, 0, 0.77778],
10936: [0.26167, 0.75726, 0, 0, 0.77778],
10937: [0.26167, 0.75726, 0, 0, 0.77778],
10938: [0.26167, 0.75726, 0, 0, 0.77778],
10949: [0.25583, 0.75583, 0, 0, 0.77778],
10950: [0.25583, 0.75583, 0, 0, 0.77778],
10955: [0.28481, 0.79383, 0, 0, 0.77778],
10956: [0.28481, 0.79383, 0, 0, 0.77778],
57350: [0.08167, 0.58167, 0, 0, 0.22222],
57351: [0.08167, 0.58167, 0, 0, 0.38889],
57352: [0.08167, 0.58167, 0, 0, 0.77778],
57353: [0, 0.43056, 0.04028, 0, 0.66667],
57356: [0.25142, 0.75726, 0, 0, 0.77778],
57357: [0.25142, 0.75726, 0, 0, 0.77778],
57358: [0.41951, 0.91951, 0, 0, 0.77778],
57359: [0.30274, 0.79383, 0, 0, 0.77778],
57360: [0.30274, 0.79383, 0, 0, 0.77778],
57361: [0.41951, 0.91951, 0, 0, 0.77778],
57366: [0.25142, 0.75726, 0, 0, 0.77778],
57367: [0.25142, 0.75726, 0, 0, 0.77778],
57368: [0.25142, 0.75726, 0, 0, 0.77778],
57369: [0.25142, 0.75726, 0, 0, 0.77778],
57370: [0.13597, 0.63597, 0, 0, 0.77778],
57371: [0.13597, 0.63597, 0, 0, 0.77778],
},
'Caligraphic-Regular': {
32: [0, 0, 0, 0, 0.25],
65: [0, 0.68333, 0, 0.19445, 0.79847],
66: [0, 0.68333, 0.03041, 0.13889, 0.65681],
67: [0, 0.68333, 0.05834, 0.13889, 0.52653],
68: [0, 0.68333, 0.02778, 0.08334, 0.77139],
69: [0, 0.68333, 0.08944, 0.11111, 0.52778],
70: [0, 0.68333, 0.09931, 0.11111, 0.71875],
71: [0.09722, 0.68333, 0.0593, 0.11111, 0.59487],
72: [0, 0.68333, 0.00965, 0.11111, 0.84452],
73: [0, 0.68333, 0.07382, 0, 0.54452],
74: [0.09722, 0.68333, 0.18472, 0.16667, 0.67778],
75: [0, 0.68333, 0.01445, 0.05556, 0.76195],
76: [0, 0.68333, 0, 0.13889, 0.68972],
77: [0, 0.68333, 0, 0.13889, 1.2009],
78: [0, 0.68333, 0.14736, 0.08334, 0.82049],
79: [0, 0.68333, 0.02778, 0.11111, 0.79611],
80: [0, 0.68333, 0.08222, 0.08334, 0.69556],
81: [0.09722, 0.68333, 0, 0.11111, 0.81667],
82: [0, 0.68333, 0, 0.08334, 0.8475],
83: [0, 0.68333, 0.075, 0.13889, 0.60556],
84: [0, 0.68333, 0.25417, 0, 0.54464],
85: [0, 0.68333, 0.09931, 0.08334, 0.62583],
86: [0, 0.68333, 0.08222, 0, 0.61278],
87: [0, 0.68333, 0.08222, 0.08334, 0.98778],
88: [0, 0.68333, 0.14643, 0.13889, 0.7133],
89: [0.09722, 0.68333, 0.08222, 0.08334, 0.66834],
90: [0, 0.68333, 0.07944, 0.13889, 0.72473],
160: [0, 0, 0, 0, 0.25],
},
'Fraktur-Regular': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69141, 0, 0, 0.29574],
34: [0, 0.69141, 0, 0, 0.21471],
38: [0, 0.69141, 0, 0, 0.73786],
39: [0, 0.69141, 0, 0, 0.21201],
40: [0.24982, 0.74947, 0, 0, 0.38865],
41: [0.24982, 0.74947, 0, 0, 0.38865],
42: [0, 0.62119, 0, 0, 0.27764],
43: [0.08319, 0.58283, 0, 0, 0.75623],
44: [0, 0.10803, 0, 0, 0.27764],
45: [0.08319, 0.58283, 0, 0, 0.75623],
46: [0, 0.10803, 0, 0, 0.27764],
47: [0.24982, 0.74947, 0, 0, 0.50181],
48: [0, 0.47534, 0, 0, 0.50181],
49: [0, 0.47534, 0, 0, 0.50181],
50: [0, 0.47534, 0, 0, 0.50181],
51: [0.18906, 0.47534, 0, 0, 0.50181],
52: [0.18906, 0.47534, 0, 0, 0.50181],
53: [0.18906, 0.47534, 0, 0, 0.50181],
54: [0, 0.69141, 0, 0, 0.50181],
55: [0.18906, 0.47534, 0, 0, 0.50181],
56: [0, 0.69141, 0, 0, 0.50181],
57: [0.18906, 0.47534, 0, 0, 0.50181],
58: [0, 0.47534, 0, 0, 0.21606],
59: [0.12604, 0.47534, 0, 0, 0.21606],
61: [-0.13099, 0.36866, 0, 0, 0.75623],
63: [0, 0.69141, 0, 0, 0.36245],
65: [0, 0.69141, 0, 0, 0.7176],
66: [0, 0.69141, 0, 0, 0.88397],
67: [0, 0.69141, 0, 0, 0.61254],
68: [0, 0.69141, 0, 0, 0.83158],
69: [0, 0.69141, 0, 0, 0.66278],
70: [0.12604, 0.69141, 0, 0, 0.61119],
71: [0, 0.69141, 0, 0, 0.78539],
72: [0.06302, 0.69141, 0, 0, 0.7203],
73: [0, 0.69141, 0, 0, 0.55448],
74: [0.12604, 0.69141, 0, 0, 0.55231],
75: [0, 0.69141, 0, 0, 0.66845],
76: [0, 0.69141, 0, 0, 0.66602],
77: [0, 0.69141, 0, 0, 1.04953],
78: [0, 0.69141, 0, 0, 0.83212],
79: [0, 0.69141, 0, 0, 0.82699],
80: [0.18906, 0.69141, 0, 0, 0.82753],
81: [0.03781, 0.69141, 0, 0, 0.82699],
82: [0, 0.69141, 0, 0, 0.82807],
83: [0, 0.69141, 0, 0, 0.82861],
84: [0, 0.69141, 0, 0, 0.66899],
85: [0, 0.69141, 0, 0, 0.64576],
86: [0, 0.69141, 0, 0, 0.83131],
87: [0, 0.69141, 0, 0, 1.04602],
88: [0, 0.69141, 0, 0, 0.71922],
89: [0.18906, 0.69141, 0, 0, 0.83293],
90: [0.12604, 0.69141, 0, 0, 0.60201],
91: [0.24982, 0.74947, 0, 0, 0.27764],
93: [0.24982, 0.74947, 0, 0, 0.27764],
94: [0, 0.69141, 0, 0, 0.49965],
97: [0, 0.47534, 0, 0, 0.50046],
98: [0, 0.69141, 0, 0, 0.51315],
99: [0, 0.47534, 0, 0, 0.38946],
100: [0, 0.62119, 0, 0, 0.49857],
101: [0, 0.47534, 0, 0, 0.40053],
102: [0.18906, 0.69141, 0, 0, 0.32626],
103: [0.18906, 0.47534, 0, 0, 0.5037],
104: [0.18906, 0.69141, 0, 0, 0.52126],
105: [0, 0.69141, 0, 0, 0.27899],
106: [0, 0.69141, 0, 0, 0.28088],
107: [0, 0.69141, 0, 0, 0.38946],
108: [0, 0.69141, 0, 0, 0.27953],
109: [0, 0.47534, 0, 0, 0.76676],
110: [0, 0.47534, 0, 0, 0.52666],
111: [0, 0.47534, 0, 0, 0.48885],
112: [0.18906, 0.52396, 0, 0, 0.50046],
113: [0.18906, 0.47534, 0, 0, 0.48912],
114: [0, 0.47534, 0, 0, 0.38919],
115: [0, 0.47534, 0, 0, 0.44266],
116: [0, 0.62119, 0, 0, 0.33301],
117: [0, 0.47534, 0, 0, 0.5172],
118: [0, 0.52396, 0, 0, 0.5118],
119: [0, 0.52396, 0, 0, 0.77351],
120: [0.18906, 0.47534, 0, 0, 0.38865],
121: [0.18906, 0.47534, 0, 0, 0.49884],
122: [0.18906, 0.47534, 0, 0, 0.39054],
160: [0, 0, 0, 0, 0.25],
8216: [0, 0.69141, 0, 0, 0.21471],
8217: [0, 0.69141, 0, 0, 0.21471],
58112: [0, 0.62119, 0, 0, 0.49749],
58113: [0, 0.62119, 0, 0, 0.4983],
58114: [0.18906, 0.69141, 0, 0, 0.33328],
58115: [0.18906, 0.69141, 0, 0, 0.32923],
58116: [0.18906, 0.47534, 0, 0, 0.50343],
58117: [0, 0.69141, 0, 0, 0.33301],
58118: [0, 0.62119, 0, 0, 0.33409],
58119: [0, 0.47534, 0, 0, 0.50073],
},
'Main-Bold': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69444, 0, 0, 0.35],
34: [0, 0.69444, 0, 0, 0.60278],
35: [0.19444, 0.69444, 0, 0, 0.95833],
36: [0.05556, 0.75, 0, 0, 0.575],
37: [0.05556, 0.75, 0, 0, 0.95833],
38: [0, 0.69444, 0, 0, 0.89444],
39: [0, 0.69444, 0, 0, 0.31944],
40: [0.25, 0.75, 0, 0, 0.44722],
41: [0.25, 0.75, 0, 0, 0.44722],
42: [0, 0.75, 0, 0, 0.575],
43: [0.13333, 0.63333, 0, 0, 0.89444],
44: [0.19444, 0.15556, 0, 0, 0.31944],
45: [0, 0.44444, 0, 0, 0.38333],
46: [0, 0.15556, 0, 0, 0.31944],
47: [0.25, 0.75, 0, 0, 0.575],
48: [0, 0.64444, 0, 0, 0.575],
49: [0, 0.64444, 0, 0, 0.575],
50: [0, 0.64444, 0, 0, 0.575],
51: [0, 0.64444, 0, 0, 0.575],
52: [0, 0.64444, 0, 0, 0.575],
53: [0, 0.64444, 0, 0, 0.575],
54: [0, 0.64444, 0, 0, 0.575],
55: [0, 0.64444, 0, 0, 0.575],
56: [0, 0.64444, 0, 0, 0.575],
57: [0, 0.64444, 0, 0, 0.575],
58: [0, 0.44444, 0, 0, 0.31944],
59: [0.19444, 0.44444, 0, 0, 0.31944],
60: [0.08556, 0.58556, 0, 0, 0.89444],
61: [-0.10889, 0.39111, 0, 0, 0.89444],
62: [0.08556, 0.58556, 0, 0, 0.89444],
63: [0, 0.69444, 0, 0, 0.54305],
64: [0, 0.69444, 0, 0, 0.89444],
65: [0, 0.68611, 0, 0, 0.86944],
66: [0, 0.68611, 0, 0, 0.81805],
67: [0, 0.68611, 0, 0, 0.83055],
68: [0, 0.68611, 0, 0, 0.88194],
69: [0, 0.68611, 0, 0, 0.75555],
70: [0, 0.68611, 0, 0, 0.72361],
71: [0, 0.68611, 0, 0, 0.90416],
72: [0, 0.68611, 0, 0, 0.9],
73: [0, 0.68611, 0, 0, 0.43611],
74: [0, 0.68611, 0, 0, 0.59444],
75: [0, 0.68611, 0, 0, 0.90138],
76: [0, 0.68611, 0, 0, 0.69166],
77: [0, 0.68611, 0, 0, 1.09166],
78: [0, 0.68611, 0, 0, 0.9],
79: [0, 0.68611, 0, 0, 0.86388],
80: [0, 0.68611, 0, 0, 0.78611],
81: [0.19444, 0.68611, 0, 0, 0.86388],
82: [0, 0.68611, 0, 0, 0.8625],
83: [0, 0.68611, 0, 0, 0.63889],
84: [0, 0.68611, 0, 0, 0.8],
85: [0, 0.68611, 0, 0, 0.88472],
86: [0, 0.68611, 0.01597, 0, 0.86944],
87: [0, 0.68611, 0.01597, 0, 1.18888],
88: [0, 0.68611, 0, 0, 0.86944],
89: [0, 0.68611, 0.02875, 0, 0.86944],
90: [0, 0.68611, 0, 0, 0.70277],
91: [0.25, 0.75, 0, 0, 0.31944],
92: [0.25, 0.75, 0, 0, 0.575],
93: [0.25, 0.75, 0, 0, 0.31944],
94: [0, 0.69444, 0, 0, 0.575],
95: [0.31, 0.13444, 0.03194, 0, 0.575],
97: [0, 0.44444, 0, 0, 0.55902],
98: [0, 0.69444, 0, 0, 0.63889],
99: [0, 0.44444, 0, 0, 0.51111],
100: [0, 0.69444, 0, 0, 0.63889],
101: [0, 0.44444, 0, 0, 0.52708],
102: [0, 0.69444, 0.10903, 0, 0.35139],
103: [0.19444, 0.44444, 0.01597, 0, 0.575],
104: [0, 0.69444, 0, 0, 0.63889],
105: [0, 0.69444, 0, 0, 0.31944],
106: [0.19444, 0.69444, 0, 0, 0.35139],
107: [0, 0.69444, 0, 0, 0.60694],
108: [0, 0.69444, 0, 0, 0.31944],
109: [0, 0.44444, 0, 0, 0.95833],
110: [0, 0.44444, 0, 0, 0.63889],
111: [0, 0.44444, 0, 0, 0.575],
112: [0.19444, 0.44444, 0, 0, 0.63889],
113: [0.19444, 0.44444, 0, 0, 0.60694],
114: [0, 0.44444, 0, 0, 0.47361],
115: [0, 0.44444, 0, 0, 0.45361],
116: [0, 0.63492, 0, 0, 0.44722],
117: [0, 0.44444, 0, 0, 0.63889],
118: [0, 0.44444, 0.01597, 0, 0.60694],
119: [0, 0.44444, 0.01597, 0, 0.83055],
120: [0, 0.44444, 0, 0, 0.60694],
121: [0.19444, 0.44444, 0.01597, 0, 0.60694],
122: [0, 0.44444, 0, 0, 0.51111],
123: [0.25, 0.75, 0, 0, 0.575],
124: [0.25, 0.75, 0, 0, 0.31944],
125: [0.25, 0.75, 0, 0, 0.575],
126: [0.35, 0.34444, 0, 0, 0.575],
160: [0, 0, 0, 0, 0.25],
163: [0, 0.69444, 0, 0, 0.86853],
168: [0, 0.69444, 0, 0, 0.575],
172: [0, 0.44444, 0, 0, 0.76666],
176: [0, 0.69444, 0, 0, 0.86944],
177: [0.13333, 0.63333, 0, 0, 0.89444],
184: [0.17014, 0, 0, 0, 0.51111],
198: [0, 0.68611, 0, 0, 1.04166],
215: [0.13333, 0.63333, 0, 0, 0.89444],
216: [0.04861, 0.73472, 0, 0, 0.89444],
223: [0, 0.69444, 0, 0, 0.59722],
230: [0, 0.44444, 0, 0, 0.83055],
247: [0.13333, 0.63333, 0, 0, 0.89444],
248: [0.09722, 0.54167, 0, 0, 0.575],
305: [0, 0.44444, 0, 0, 0.31944],
338: [0, 0.68611, 0, 0, 1.16944],
339: [0, 0.44444, 0, 0, 0.89444],
567: [0.19444, 0.44444, 0, 0, 0.35139],
710: [0, 0.69444, 0, 0, 0.575],
711: [0, 0.63194, 0, 0, 0.575],
713: [0, 0.59611, 0, 0, 0.575],
714: [0, 0.69444, 0, 0, 0.575],
715: [0, 0.69444, 0, 0, 0.575],
728: [0, 0.69444, 0, 0, 0.575],
729: [0, 0.69444, 0, 0, 0.31944],
730: [0, 0.69444, 0, 0, 0.86944],
732: [0, 0.69444, 0, 0, 0.575],
733: [0, 0.69444, 0, 0, 0.575],
915: [0, 0.68611, 0, 0, 0.69166],
916: [0, 0.68611, 0, 0, 0.95833],
920: [0, 0.68611, 0, 0, 0.89444],
923: [0, 0.68611, 0, 0, 0.80555],
926: [0, 0.68611, 0, 0, 0.76666],
928: [0, 0.68611, 0, 0, 0.9],
931: [0, 0.68611, 0, 0, 0.83055],
933: [0, 0.68611, 0, 0, 0.89444],
934: [0, 0.68611, 0, 0, 0.83055],
936: [0, 0.68611, 0, 0, 0.89444],
937: [0, 0.68611, 0, 0, 0.83055],
8211: [0, 0.44444, 0.03194, 0, 0.575],
8212: [0, 0.44444, 0.03194, 0, 1.14999],
8216: [0, 0.69444, 0, 0, 0.31944],
8217: [0, 0.69444, 0, 0, 0.31944],
8220: [0, 0.69444, 0, 0, 0.60278],
8221: [0, 0.69444, 0, 0, 0.60278],
8224: [0.19444, 0.69444, 0, 0, 0.51111],
8225: [0.19444, 0.69444, 0, 0, 0.51111],
8242: [0, 0.55556, 0, 0, 0.34444],
8407: [0, 0.72444, 0.15486, 0, 0.575],
8463: [0, 0.69444, 0, 0, 0.66759],
8465: [0, 0.69444, 0, 0, 0.83055],
8467: [0, 0.69444, 0, 0, 0.47361],
8472: [0.19444, 0.44444, 0, 0, 0.74027],
8476: [0, 0.69444, 0, 0, 0.83055],
8501: [0, 0.69444, 0, 0, 0.70277],
8592: [-0.10889, 0.39111, 0, 0, 1.14999],
8593: [0.19444, 0.69444, 0, 0, 0.575],
8594: [-0.10889, 0.39111, 0, 0, 1.14999],
8595: [0.19444, 0.69444, 0, 0, 0.575],
8596: [-0.10889, 0.39111, 0, 0, 1.14999],
8597: [0.25, 0.75, 0, 0, 0.575],
8598: [0.19444, 0.69444, 0, 0, 1.14999],
8599: [0.19444, 0.69444, 0, 0, 1.14999],
8600: [0.19444, 0.69444, 0, 0, 1.14999],
8601: [0.19444, 0.69444, 0, 0, 1.14999],
8636: [-0.10889, 0.39111, 0, 0, 1.14999],
8637: [-0.10889, 0.39111, 0, 0, 1.14999],
8640: [-0.10889, 0.39111, 0, 0, 1.14999],
8641: [-0.10889, 0.39111, 0, 0, 1.14999],
8656: [-0.10889, 0.39111, 0, 0, 1.14999],
8657: [0.19444, 0.69444, 0, 0, 0.70277],
8658: [-0.10889, 0.39111, 0, 0, 1.14999],
8659: [0.19444, 0.69444, 0, 0, 0.70277],
8660: [-0.10889, 0.39111, 0, 0, 1.14999],
8661: [0.25, 0.75, 0, 0, 0.70277],
8704: [0, 0.69444, 0, 0, 0.63889],
8706: [0, 0.69444, 0.06389, 0, 0.62847],
8707: [0, 0.69444, 0, 0, 0.63889],
8709: [0.05556, 0.75, 0, 0, 0.575],
8711: [0, 0.68611, 0, 0, 0.95833],
8712: [0.08556, 0.58556, 0, 0, 0.76666],
8715: [0.08556, 0.58556, 0, 0, 0.76666],
8722: [0.13333, 0.63333, 0, 0, 0.89444],
8723: [0.13333, 0.63333, 0, 0, 0.89444],
8725: [0.25, 0.75, 0, 0, 0.575],
8726: [0.25, 0.75, 0, 0, 0.575],
8727: [-0.02778, 0.47222, 0, 0, 0.575],
8728: [-0.02639, 0.47361, 0, 0, 0.575],
8729: [-0.02639, 0.47361, 0, 0, 0.575],
8730: [0.18, 0.82, 0, 0, 0.95833],
8733: [0, 0.44444, 0, 0, 0.89444],
8734: [0, 0.44444, 0, 0, 1.14999],
8736: [0, 0.69224, 0, 0, 0.72222],
8739: [0.25, 0.75, 0, 0, 0.31944],
8741: [0.25, 0.75, 0, 0, 0.575],
8743: [0, 0.55556, 0, 0, 0.76666],
8744: [0, 0.55556, 0, 0, 0.76666],
8745: [0, 0.55556, 0, 0, 0.76666],
8746: [0, 0.55556, 0, 0, 0.76666],
8747: [0.19444, 0.69444, 0.12778, 0, 0.56875],
8764: [-0.10889, 0.39111, 0, 0, 0.89444],
8768: [0.19444, 0.69444, 0, 0, 0.31944],
8771: [0.00222, 0.50222, 0, 0, 0.89444],
8773: [0.027, 0.638, 0, 0, 0.894],
8776: [0.02444, 0.52444, 0, 0, 0.89444],
8781: [0.00222, 0.50222, 0, 0, 0.89444],
8801: [0.00222, 0.50222, 0, 0, 0.89444],
8804: [0.19667, 0.69667, 0, 0, 0.89444],
8805: [0.19667, 0.69667, 0, 0, 0.89444],
8810: [0.08556, 0.58556, 0, 0, 1.14999],
8811: [0.08556, 0.58556, 0, 0, 1.14999],
8826: [0.08556, 0.58556, 0, 0, 0.89444],
8827: [0.08556, 0.58556, 0, 0, 0.89444],
8834: [0.08556, 0.58556, 0, 0, 0.89444],
8835: [0.08556, 0.58556, 0, 0, 0.89444],
8838: [0.19667, 0.69667, 0, 0, 0.89444],
8839: [0.19667, 0.69667, 0, 0, 0.89444],
8846: [0, 0.55556, 0, 0, 0.76666],
8849: [0.19667, 0.69667, 0, 0, 0.89444],
8850: [0.19667, 0.69667, 0, 0, 0.89444],
8851: [0, 0.55556, 0, 0, 0.76666],
8852: [0, 0.55556, 0, 0, 0.76666],
8853: [0.13333, 0.63333, 0, 0, 0.89444],
8854: [0.13333, 0.63333, 0, 0, 0.89444],
8855: [0.13333, 0.63333, 0, 0, 0.89444],
8856: [0.13333, 0.63333, 0, 0, 0.89444],
8857: [0.13333, 0.63333, 0, 0, 0.89444],
8866: [0, 0.69444, 0, 0, 0.70277],
8867: [0, 0.69444, 0, 0, 0.70277],
8868: [0, 0.69444, 0, 0, 0.89444],
8869: [0, 0.69444, 0, 0, 0.89444],
8900: [-0.02639, 0.47361, 0, 0, 0.575],
8901: [-0.02639, 0.47361, 0, 0, 0.31944],
8902: [-0.02778, 0.47222, 0, 0, 0.575],
8968: [0.25, 0.75, 0, 0, 0.51111],
8969: [0.25, 0.75, 0, 0, 0.51111],
8970: [0.25, 0.75, 0, 0, 0.51111],
8971: [0.25, 0.75, 0, 0, 0.51111],
8994: [-0.13889, 0.36111, 0, 0, 1.14999],
8995: [-0.13889, 0.36111, 0, 0, 1.14999],
9651: [0.19444, 0.69444, 0, 0, 1.02222],
9657: [-0.02778, 0.47222, 0, 0, 0.575],
9661: [0.19444, 0.69444, 0, 0, 1.02222],
9667: [-0.02778, 0.47222, 0, 0, 0.575],
9711: [0.19444, 0.69444, 0, 0, 1.14999],
9824: [0.12963, 0.69444, 0, 0, 0.89444],
9825: [0.12963, 0.69444, 0, 0, 0.89444],
9826: [0.12963, 0.69444, 0, 0, 0.89444],
9827: [0.12963, 0.69444, 0, 0, 0.89444],
9837: [0, 0.75, 0, 0, 0.44722],
9838: [0.19444, 0.69444, 0, 0, 0.44722],
9839: [0.19444, 0.69444, 0, 0, 0.44722],
10216: [0.25, 0.75, 0, 0, 0.44722],
10217: [0.25, 0.75, 0, 0, 0.44722],
10815: [0, 0.68611, 0, 0, 0.9],
10927: [0.19667, 0.69667, 0, 0, 0.89444],
10928: [0.19667, 0.69667, 0, 0, 0.89444],
57376: [0.19444, 0.69444, 0, 0, 0],
},
'Main-BoldItalic': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69444, 0.11417, 0, 0.38611],
34: [0, 0.69444, 0.07939, 0, 0.62055],
35: [0.19444, 0.69444, 0.06833, 0, 0.94444],
37: [0.05556, 0.75, 0.12861, 0, 0.94444],
38: [0, 0.69444, 0.08528, 0, 0.88555],
39: [0, 0.69444, 0.12945, 0, 0.35555],
40: [0.25, 0.75, 0.15806, 0, 0.47333],
41: [0.25, 0.75, 0.03306, 0, 0.47333],
42: [0, 0.75, 0.14333, 0, 0.59111],
43: [0.10333, 0.60333, 0.03306, 0, 0.88555],
44: [0.19444, 0.14722, 0, 0, 0.35555],
45: [0, 0.44444, 0.02611, 0, 0.41444],
46: [0, 0.14722, 0, 0, 0.35555],
47: [0.25, 0.75, 0.15806, 0, 0.59111],
48: [0, 0.64444, 0.13167, 0, 0.59111],
49: [0, 0.64444, 0.13167, 0, 0.59111],
50: [0, 0.64444, 0.13167, 0, 0.59111],
51: [0, 0.64444, 0.13167, 0, 0.59111],
52: [0.19444, 0.64444, 0.13167, 0, 0.59111],
53: [0, 0.64444, 0.13167, 0, 0.59111],
54: [0, 0.64444, 0.13167, 0, 0.59111],
55: [0.19444, 0.64444, 0.13167, 0, 0.59111],
56: [0, 0.64444, 0.13167, 0, 0.59111],
57: [0, 0.64444, 0.13167, 0, 0.59111],
58: [0, 0.44444, 0.06695, 0, 0.35555],
59: [0.19444, 0.44444, 0.06695, 0, 0.35555],
61: [-0.10889, 0.39111, 0.06833, 0, 0.88555],
63: [0, 0.69444, 0.11472, 0, 0.59111],
64: [0, 0.69444, 0.09208, 0, 0.88555],
65: [0, 0.68611, 0, 0, 0.86555],
66: [0, 0.68611, 0.0992, 0, 0.81666],
67: [0, 0.68611, 0.14208, 0, 0.82666],
68: [0, 0.68611, 0.09062, 0, 0.87555],
69: [0, 0.68611, 0.11431, 0, 0.75666],
70: [0, 0.68611, 0.12903, 0, 0.72722],
71: [0, 0.68611, 0.07347, 0, 0.89527],
72: [0, 0.68611, 0.17208, 0, 0.8961],
73: [0, 0.68611, 0.15681, 0, 0.47166],
74: [0, 0.68611, 0.145, 0, 0.61055],
75: [0, 0.68611, 0.14208, 0, 0.89499],
76: [0, 0.68611, 0, 0, 0.69777],
77: [0, 0.68611, 0.17208, 0, 1.07277],
78: [0, 0.68611, 0.17208, 0, 0.8961],
79: [0, 0.68611, 0.09062, 0, 0.85499],
80: [0, 0.68611, 0.0992, 0, 0.78721],
81: [0.19444, 0.68611, 0.09062, 0, 0.85499],
82: [0, 0.68611, 0.02559, 0, 0.85944],
83: [0, 0.68611, 0.11264, 0, 0.64999],
84: [0, 0.68611, 0.12903, 0, 0.7961],
85: [0, 0.68611, 0.17208, 0, 0.88083],
86: [0, 0.68611, 0.18625, 0, 0.86555],
87: [0, 0.68611, 0.18625, 0, 1.15999],
88: [0, 0.68611, 0.15681, 0, 0.86555],
89: [0, 0.68611, 0.19803, 0, 0.86555],
90: [0, 0.68611, 0.14208, 0, 0.70888],
91: [0.25, 0.75, 0.1875, 0, 0.35611],
93: [0.25, 0.75, 0.09972, 0, 0.35611],
94: [0, 0.69444, 0.06709, 0, 0.59111],
95: [0.31, 0.13444, 0.09811, 0, 0.59111],
97: [0, 0.44444, 0.09426, 0, 0.59111],
98: [0, 0.69444, 0.07861, 0, 0.53222],
99: [0, 0.44444, 0.05222, 0, 0.53222],
100: [0, 0.69444, 0.10861, 0, 0.59111],
101: [0, 0.44444, 0.085, 0, 0.53222],
102: [0.19444, 0.69444, 0.21778, 0, 0.4],
103: [0.19444, 0.44444, 0.105, 0, 0.53222],
104: [0, 0.69444, 0.09426, 0, 0.59111],
105: [0, 0.69326, 0.11387, 0, 0.35555],
106: [0.19444, 0.69326, 0.1672, 0, 0.35555],
107: [0, 0.69444, 0.11111, 0, 0.53222],
108: [0, 0.69444, 0.10861, 0, 0.29666],
109: [0, 0.44444, 0.09426, 0, 0.94444],
110: [0, 0.44444, 0.09426, 0, 0.64999],
111: [0, 0.44444, 0.07861, 0, 0.59111],
112: [0.19444, 0.44444, 0.07861, 0, 0.59111],
113: [0.19444, 0.44444, 0.105, 0, 0.53222],
114: [0, 0.44444, 0.11111, 0, 0.50167],
115: [0, 0.44444, 0.08167, 0, 0.48694],
116: [0, 0.63492, 0.09639, 0, 0.385],
117: [0, 0.44444, 0.09426, 0, 0.62055],
118: [0, 0.44444, 0.11111, 0, 0.53222],
119: [0, 0.44444, 0.11111, 0, 0.76777],
120: [0, 0.44444, 0.12583, 0, 0.56055],
121: [0.19444, 0.44444, 0.105, 0, 0.56166],
122: [0, 0.44444, 0.13889, 0, 0.49055],
126: [0.35, 0.34444, 0.11472, 0, 0.59111],
160: [0, 0, 0, 0, 0.25],
168: [0, 0.69444, 0.11473, 0, 0.59111],
176: [0, 0.69444, 0, 0, 0.94888],
184: [0.17014, 0, 0, 0, 0.53222],
198: [0, 0.68611, 0.11431, 0, 1.02277],
216: [0.04861, 0.73472, 0.09062, 0, 0.88555],
223: [0.19444, 0.69444, 0.09736, 0, 0.665],
230: [0, 0.44444, 0.085, 0, 0.82666],
248: [0.09722, 0.54167, 0.09458, 0, 0.59111],
305: [0, 0.44444, 0.09426, 0, 0.35555],
338: [0, 0.68611, 0.11431, 0, 1.14054],
339: [0, 0.44444, 0.085, 0, 0.82666],
567: [0.19444, 0.44444, 0.04611, 0, 0.385],
710: [0, 0.69444, 0.06709, 0, 0.59111],
711: [0, 0.63194, 0.08271, 0, 0.59111],
713: [0, 0.59444, 0.10444, 0, 0.59111],
714: [0, 0.69444, 0.08528, 0, 0.59111],
715: [0, 0.69444, 0, 0, 0.59111],
728: [0, 0.69444, 0.10333, 0, 0.59111],
729: [0, 0.69444, 0.12945, 0, 0.35555],
730: [0, 0.69444, 0, 0, 0.94888],
732: [0, 0.69444, 0.11472, 0, 0.59111],
733: [0, 0.69444, 0.11472, 0, 0.59111],
915: [0, 0.68611, 0.12903, 0, 0.69777],
916: [0, 0.68611, 0, 0, 0.94444],
920: [0, 0.68611, 0.09062, 0, 0.88555],
923: [0, 0.68611, 0, 0, 0.80666],
926: [0, 0.68611, 0.15092, 0, 0.76777],
928: [0, 0.68611, 0.17208, 0, 0.8961],
931: [0, 0.68611, 0.11431, 0, 0.82666],
933: [0, 0.68611, 0.10778, 0, 0.88555],
934: [0, 0.68611, 0.05632, 0, 0.82666],
936: [0, 0.68611, 0.10778, 0, 0.88555],
937: [0, 0.68611, 0.0992, 0, 0.82666],
8211: [0, 0.44444, 0.09811, 0, 0.59111],
8212: [0, 0.44444, 0.09811, 0, 1.18221],
8216: [0, 0.69444, 0.12945, 0, 0.35555],
8217: [0, 0.69444, 0.12945, 0, 0.35555],
8220: [0, 0.69444, 0.16772, 0, 0.62055],
8221: [0, 0.69444, 0.07939, 0, 0.62055],
},
'Main-Italic': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69444, 0.12417, 0, 0.30667],
34: [0, 0.69444, 0.06961, 0, 0.51444],
35: [0.19444, 0.69444, 0.06616, 0, 0.81777],
37: [0.05556, 0.75, 0.13639, 0, 0.81777],
38: [0, 0.69444, 0.09694, 0, 0.76666],
39: [0, 0.69444, 0.12417, 0, 0.30667],
40: [0.25, 0.75, 0.16194, 0, 0.40889],
41: [0.25, 0.75, 0.03694, 0, 0.40889],
42: [0, 0.75, 0.14917, 0, 0.51111],
43: [0.05667, 0.56167, 0.03694, 0, 0.76666],
44: [0.19444, 0.10556, 0, 0, 0.30667],
45: [0, 0.43056, 0.02826, 0, 0.35778],
46: [0, 0.10556, 0, 0, 0.30667],
47: [0.25, 0.75, 0.16194, 0, 0.51111],
48: [0, 0.64444, 0.13556, 0, 0.51111],
49: [0, 0.64444, 0.13556, 0, 0.51111],
50: [0, 0.64444, 0.13556, 0, 0.51111],
51: [0, 0.64444, 0.13556, 0, 0.51111],
52: [0.19444, 0.64444, 0.13556, 0, 0.51111],
53: [0, 0.64444, 0.13556, 0, 0.51111],
54: [0, 0.64444, 0.13556, 0, 0.51111],
55: [0.19444, 0.64444, 0.13556, 0, 0.51111],
56: [0, 0.64444, 0.13556, 0, 0.51111],
57: [0, 0.64444, 0.13556, 0, 0.51111],
58: [0, 0.43056, 0.0582, 0, 0.30667],
59: [0.19444, 0.43056, 0.0582, 0, 0.30667],
61: [-0.13313, 0.36687, 0.06616, 0, 0.76666],
63: [0, 0.69444, 0.1225, 0, 0.51111],
64: [0, 0.69444, 0.09597, 0, 0.76666],
65: [0, 0.68333, 0, 0, 0.74333],
66: [0, 0.68333, 0.10257, 0, 0.70389],
67: [0, 0.68333, 0.14528, 0, 0.71555],
68: [0, 0.68333, 0.09403, 0, 0.755],
69: [0, 0.68333, 0.12028, 0, 0.67833],
70: [0, 0.68333, 0.13305, 0, 0.65277],
71: [0, 0.68333, 0.08722, 0, 0.77361],
72: [0, 0.68333, 0.16389, 0, 0.74333],
73: [0, 0.68333, 0.15806, 0, 0.38555],
74: [0, 0.68333, 0.14028, 0, 0.525],
75: [0, 0.68333, 0.14528, 0, 0.76888],
76: [0, 0.68333, 0, 0, 0.62722],
77: [0, 0.68333, 0.16389, 0, 0.89666],
78: [0, 0.68333, 0.16389, 0, 0.74333],
79: [0, 0.68333, 0.09403, 0, 0.76666],
80: [0, 0.68333, 0.10257, 0, 0.67833],
81: [0.19444, 0.68333, 0.09403, 0, 0.76666],
82: [0, 0.68333, 0.03868, 0, 0.72944],
83: [0, 0.68333, 0.11972, 0, 0.56222],
84: [0, 0.68333, 0.13305, 0, 0.71555],
85: [0, 0.68333, 0.16389, 0, 0.74333],
86: [0, 0.68333, 0.18361, 0, 0.74333],
87: [0, 0.68333, 0.18361, 0, 0.99888],
88: [0, 0.68333, 0.15806, 0, 0.74333],
89: [0, 0.68333, 0.19383, 0, 0.74333],
90: [0, 0.68333, 0.14528, 0, 0.61333],
91: [0.25, 0.75, 0.1875, 0, 0.30667],
93: [0.25, 0.75, 0.10528, 0, 0.30667],
94: [0, 0.69444, 0.06646, 0, 0.51111],
95: [0.31, 0.12056, 0.09208, 0, 0.51111],
97: [0, 0.43056, 0.07671, 0, 0.51111],
98: [0, 0.69444, 0.06312, 0, 0.46],
99: [0, 0.43056, 0.05653, 0, 0.46],
100: [0, 0.69444, 0.10333, 0, 0.51111],
101: [0, 0.43056, 0.07514, 0, 0.46],
102: [0.19444, 0.69444, 0.21194, 0, 0.30667],
103: [0.19444, 0.43056, 0.08847, 0, 0.46],
104: [0, 0.69444, 0.07671, 0, 0.51111],
105: [0, 0.65536, 0.1019, 0, 0.30667],
106: [0.19444, 0.65536, 0.14467, 0, 0.30667],
107: [0, 0.69444, 0.10764, 0, 0.46],
108: [0, 0.69444, 0.10333, 0, 0.25555],
109: [0, 0.43056, 0.07671, 0, 0.81777],
110: [0, 0.43056, 0.07671, 0, 0.56222],
111: [0, 0.43056, 0.06312, 0, 0.51111],
112: [0.19444, 0.43056, 0.06312, 0, 0.51111],
113: [0.19444, 0.43056, 0.08847, 0, 0.46],
114: [0, 0.43056, 0.10764, 0, 0.42166],
115: [0, 0.43056, 0.08208, 0, 0.40889],
116: [0, 0.61508, 0.09486, 0, 0.33222],
117: [0, 0.43056, 0.07671, 0, 0.53666],
118: [0, 0.43056, 0.10764, 0, 0.46],
119: [0, 0.43056, 0.10764, 0, 0.66444],
120: [0, 0.43056, 0.12042, 0, 0.46389],
121: [0.19444, 0.43056, 0.08847, 0, 0.48555],
122: [0, 0.43056, 0.12292, 0, 0.40889],
126: [0.35, 0.31786, 0.11585, 0, 0.51111],
160: [0, 0, 0, 0, 0.25],
168: [0, 0.66786, 0.10474, 0, 0.51111],
176: [0, 0.69444, 0, 0, 0.83129],
184: [0.17014, 0, 0, 0, 0.46],
198: [0, 0.68333, 0.12028, 0, 0.88277],
216: [0.04861, 0.73194, 0.09403, 0, 0.76666],
223: [0.19444, 0.69444, 0.10514, 0, 0.53666],
230: [0, 0.43056, 0.07514, 0, 0.71555],
248: [0.09722, 0.52778, 0.09194, 0, 0.51111],
338: [0, 0.68333, 0.12028, 0, 0.98499],
339: [0, 0.43056, 0.07514, 0, 0.71555],
710: [0, 0.69444, 0.06646, 0, 0.51111],
711: [0, 0.62847, 0.08295, 0, 0.51111],
713: [0, 0.56167, 0.10333, 0, 0.51111],
714: [0, 0.69444, 0.09694, 0, 0.51111],
715: [0, 0.69444, 0, 0, 0.51111],
728: [0, 0.69444, 0.10806, 0, 0.51111],
729: [0, 0.66786, 0.11752, 0, 0.30667],
730: [0, 0.69444, 0, 0, 0.83129],
732: [0, 0.66786, 0.11585, 0, 0.51111],
733: [0, 0.69444, 0.1225, 0, 0.51111],
915: [0, 0.68333, 0.13305, 0, 0.62722],
916: [0, 0.68333, 0, 0, 0.81777],
920: [0, 0.68333, 0.09403, 0, 0.76666],
923: [0, 0.68333, 0, 0, 0.69222],
926: [0, 0.68333, 0.15294, 0, 0.66444],
928: [0, 0.68333, 0.16389, 0, 0.74333],
931: [0, 0.68333, 0.12028, 0, 0.71555],
933: [0, 0.68333, 0.11111, 0, 0.76666],
934: [0, 0.68333, 0.05986, 0, 0.71555],
936: [0, 0.68333, 0.11111, 0, 0.76666],
937: [0, 0.68333, 0.10257, 0, 0.71555],
8211: [0, 0.43056, 0.09208, 0, 0.51111],
8212: [0, 0.43056, 0.09208, 0, 1.02222],
8216: [0, 0.69444, 0.12417, 0, 0.30667],
8217: [0, 0.69444, 0.12417, 0, 0.30667],
8220: [0, 0.69444, 0.1685, 0, 0.51444],
8221: [0, 0.69444, 0.06961, 0, 0.51444],
8463: [0, 0.68889, 0, 0, 0.54028],
},
'Main-Regular': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69444, 0, 0, 0.27778],
34: [0, 0.69444, 0, 0, 0.5],
35: [0.19444, 0.69444, 0, 0, 0.83334],
36: [0.05556, 0.75, 0, 0, 0.5],
37: [0.05556, 0.75, 0, 0, 0.83334],
38: [0, 0.69444, 0, 0, 0.77778],
39: [0, 0.69444, 0, 0, 0.27778],
40: [0.25, 0.75, 0, 0, 0.38889],
41: [0.25, 0.75, 0, 0, 0.38889],
42: [0, 0.75, 0, 0, 0.5],
43: [0.08333, 0.58333, 0, 0, 0.77778],
44: [0.19444, 0.10556, 0, 0, 0.27778],
45: [0, 0.43056, 0, 0, 0.33333],
46: [0, 0.10556, 0, 0, 0.27778],
47: [0.25, 0.75, 0, 0, 0.5],
48: [0, 0.64444, 0, 0, 0.5],
49: [0, 0.64444, 0, 0, 0.5],
50: [0, 0.64444, 0, 0, 0.5],
51: [0, 0.64444, 0, 0, 0.5],
52: [0, 0.64444, 0, 0, 0.5],
53: [0, 0.64444, 0, 0, 0.5],
54: [0, 0.64444, 0, 0, 0.5],
55: [0, 0.64444, 0, 0, 0.5],
56: [0, 0.64444, 0, 0, 0.5],
57: [0, 0.64444, 0, 0, 0.5],
58: [0, 0.43056, 0, 0, 0.27778],
59: [0.19444, 0.43056, 0, 0, 0.27778],
60: [0.0391, 0.5391, 0, 0, 0.77778],
61: [-0.13313, 0.36687, 0, 0, 0.77778],
62: [0.0391, 0.5391, 0, 0, 0.77778],
63: [0, 0.69444, 0, 0, 0.47222],
64: [0, 0.69444, 0, 0, 0.77778],
65: [0, 0.68333, 0, 0, 0.75],
66: [0, 0.68333, 0, 0, 0.70834],
67: [0, 0.68333, 0, 0, 0.72222],
68: [0, 0.68333, 0, 0, 0.76389],
69: [0, 0.68333, 0, 0, 0.68056],
70: [0, 0.68333, 0, 0, 0.65278],
71: [0, 0.68333, 0, 0, 0.78472],
72: [0, 0.68333, 0, 0, 0.75],
73: [0, 0.68333, 0, 0, 0.36111],
74: [0, 0.68333, 0, 0, 0.51389],
75: [0, 0.68333, 0, 0, 0.77778],
76: [0, 0.68333, 0, 0, 0.625],
77: [0, 0.68333, 0, 0, 0.91667],
78: [0, 0.68333, 0, 0, 0.75],
79: [0, 0.68333, 0, 0, 0.77778],
80: [0, 0.68333, 0, 0, 0.68056],
81: [0.19444, 0.68333, 0, 0, 0.77778],
82: [0, 0.68333, 0, 0, 0.73611],
83: [0, 0.68333, 0, 0, 0.55556],
84: [0, 0.68333, 0, 0, 0.72222],
85: [0, 0.68333, 0, 0, 0.75],
86: [0, 0.68333, 0.01389, 0, 0.75],
87: [0, 0.68333, 0.01389, 0, 1.02778],
88: [0, 0.68333, 0, 0, 0.75],
89: [0, 0.68333, 0.025, 0, 0.75],
90: [0, 0.68333, 0, 0, 0.61111],
91: [0.25, 0.75, 0, 0, 0.27778],
92: [0.25, 0.75, 0, 0, 0.5],
93: [0.25, 0.75, 0, 0, 0.27778],
94: [0, 0.69444, 0, 0, 0.5],
95: [0.31, 0.12056, 0.02778, 0, 0.5],
97: [0, 0.43056, 0, 0, 0.5],
98: [0, 0.69444, 0, 0, 0.55556],
99: [0, 0.43056, 0, 0, 0.44445],
100: [0, 0.69444, 0, 0, 0.55556],
101: [0, 0.43056, 0, 0, 0.44445],
102: [0, 0.69444, 0.07778, 0, 0.30556],
103: [0.19444, 0.43056, 0.01389, 0, 0.5],
104: [0, 0.69444, 0, 0, 0.55556],
105: [0, 0.66786, 0, 0, 0.27778],
106: [0.19444, 0.66786, 0, 0, 0.30556],
107: [0, 0.69444, 0, 0, 0.52778],
108: [0, 0.69444, 0, 0, 0.27778],
109: [0, 0.43056, 0, 0, 0.83334],
110: [0, 0.43056, 0, 0, 0.55556],
111: [0, 0.43056, 0, 0, 0.5],
112: [0.19444, 0.43056, 0, 0, 0.55556],
113: [0.19444, 0.43056, 0, 0, 0.52778],
114: [0, 0.43056, 0, 0, 0.39167],
115: [0, 0.43056, 0, 0, 0.39445],
116: [0, 0.61508, 0, 0, 0.38889],
117: [0, 0.43056, 0, 0, 0.55556],
118: [0, 0.43056, 0.01389, 0, 0.52778],
119: [0, 0.43056, 0.01389, 0, 0.72222],
120: [0, 0.43056, 0, 0, 0.52778],
121: [0.19444, 0.43056, 0.01389, 0, 0.52778],
122: [0, 0.43056, 0, 0, 0.44445],
123: [0.25, 0.75, 0, 0, 0.5],
124: [0.25, 0.75, 0, 0, 0.27778],
125: [0.25, 0.75, 0, 0, 0.5],
126: [0.35, 0.31786, 0, 0, 0.5],
160: [0, 0, 0, 0, 0.25],
163: [0, 0.69444, 0, 0, 0.76909],
167: [0.19444, 0.69444, 0, 0, 0.44445],
168: [0, 0.66786, 0, 0, 0.5],
172: [0, 0.43056, 0, 0, 0.66667],
176: [0, 0.69444, 0, 0, 0.75],
177: [0.08333, 0.58333, 0, 0, 0.77778],
182: [0.19444, 0.69444, 0, 0, 0.61111],
184: [0.17014, 0, 0, 0, 0.44445],
198: [0, 0.68333, 0, 0, 0.90278],
215: [0.08333, 0.58333, 0, 0, 0.77778],
216: [0.04861, 0.73194, 0, 0, 0.77778],
223: [0, 0.69444, 0, 0, 0.5],
230: [0, 0.43056, 0, 0, 0.72222],
247: [0.08333, 0.58333, 0, 0, 0.77778],
248: [0.09722, 0.52778, 0, 0, 0.5],
305: [0, 0.43056, 0, 0, 0.27778],
338: [0, 0.68333, 0, 0, 1.01389],
339: [0, 0.43056, 0, 0, 0.77778],
567: [0.19444, 0.43056, 0, 0, 0.30556],
710: [0, 0.69444, 0, 0, 0.5],
711: [0, 0.62847, 0, 0, 0.5],
713: [0, 0.56778, 0, 0, 0.5],
714: [0, 0.69444, 0, 0, 0.5],
715: [0, 0.69444, 0, 0, 0.5],
728: [0, 0.69444, 0, 0, 0.5],
729: [0, 0.66786, 0, 0, 0.27778],
730: [0, 0.69444, 0, 0, 0.75],
732: [0, 0.66786, 0, 0, 0.5],
733: [0, 0.69444, 0, 0, 0.5],
915: [0, 0.68333, 0, 0, 0.625],
916: [0, 0.68333, 0, 0, 0.83334],
920: [0, 0.68333, 0, 0, 0.77778],
923: [0, 0.68333, 0, 0, 0.69445],
926: [0, 0.68333, 0, 0, 0.66667],
928: [0, 0.68333, 0, 0, 0.75],
931: [0, 0.68333, 0, 0, 0.72222],
933: [0, 0.68333, 0, 0, 0.77778],
934: [0, 0.68333, 0, 0, 0.72222],
936: [0, 0.68333, 0, 0, 0.77778],
937: [0, 0.68333, 0, 0, 0.72222],
8211: [0, 0.43056, 0.02778, 0, 0.5],
8212: [0, 0.43056, 0.02778, 0, 1],
8216: [0, 0.69444, 0, 0, 0.27778],
8217: [0, 0.69444, 0, 0, 0.27778],
8220: [0, 0.69444, 0, 0, 0.5],
8221: [0, 0.69444, 0, 0, 0.5],
8224: [0.19444, 0.69444, 0, 0, 0.44445],
8225: [0.19444, 0.69444, 0, 0, 0.44445],
8230: [0, 0.123, 0, 0, 1.172],
8242: [0, 0.55556, 0, 0, 0.275],
8407: [0, 0.71444, 0.15382, 0, 0.5],
8463: [0, 0.68889, 0, 0, 0.54028],
8465: [0, 0.69444, 0, 0, 0.72222],
8467: [0, 0.69444, 0, 0.11111, 0.41667],
8472: [0.19444, 0.43056, 0, 0.11111, 0.63646],
8476: [0, 0.69444, 0, 0, 0.72222],
8501: [0, 0.69444, 0, 0, 0.61111],
8592: [-0.13313, 0.36687, 0, 0, 1],
8593: [0.19444, 0.69444, 0, 0, 0.5],
8594: [-0.13313, 0.36687, 0, 0, 1],
8595: [0.19444, 0.69444, 0, 0, 0.5],
8596: [-0.13313, 0.36687, 0, 0, 1],
8597: [0.25, 0.75, 0, 0, 0.5],
8598: [0.19444, 0.69444, 0, 0, 1],
8599: [0.19444, 0.69444, 0, 0, 1],
8600: [0.19444, 0.69444, 0, 0, 1],
8601: [0.19444, 0.69444, 0, 0, 1],
8614: [0.011, 0.511, 0, 0, 1],
8617: [0.011, 0.511, 0, 0, 1.126],
8618: [0.011, 0.511, 0, 0, 1.126],
8636: [-0.13313, 0.36687, 0, 0, 1],
8637: [-0.13313, 0.36687, 0, 0, 1],
8640: [-0.13313, 0.36687, 0, 0, 1],
8641: [-0.13313, 0.36687, 0, 0, 1],
8652: [0.011, 0.671, 0, 0, 1],
8656: [-0.13313, 0.36687, 0, 0, 1],
8657: [0.19444, 0.69444, 0, 0, 0.61111],
8658: [-0.13313, 0.36687, 0, 0, 1],
8659: [0.19444, 0.69444, 0, 0, 0.61111],
8660: [-0.13313, 0.36687, 0, 0, 1],
8661: [0.25, 0.75, 0, 0, 0.61111],
8704: [0, 0.69444, 0, 0, 0.55556],
8706: [0, 0.69444, 0.05556, 0.08334, 0.5309],
8707: [0, 0.69444, 0, 0, 0.55556],
8709: [0.05556, 0.75, 0, 0, 0.5],
8711: [0, 0.68333, 0, 0, 0.83334],
8712: [0.0391, 0.5391, 0, 0, 0.66667],
8715: [0.0391, 0.5391, 0, 0, 0.66667],
8722: [0.08333, 0.58333, 0, 0, 0.77778],
8723: [0.08333, 0.58333, 0, 0, 0.77778],
8725: [0.25, 0.75, 0, 0, 0.5],
8726: [0.25, 0.75, 0, 0, 0.5],
8727: [-0.03472, 0.46528, 0, 0, 0.5],
8728: [-0.05555, 0.44445, 0, 0, 0.5],
8729: [-0.05555, 0.44445, 0, 0, 0.5],
8730: [0.2, 0.8, 0, 0, 0.83334],
8733: [0, 0.43056, 0, 0, 0.77778],
8734: [0, 0.43056, 0, 0, 1],
8736: [0, 0.69224, 0, 0, 0.72222],
8739: [0.25, 0.75, 0, 0, 0.27778],
8741: [0.25, 0.75, 0, 0, 0.5],
8743: [0, 0.55556, 0, 0, 0.66667],
8744: [0, 0.55556, 0, 0, 0.66667],
8745: [0, 0.55556, 0, 0, 0.66667],
8746: [0, 0.55556, 0, 0, 0.66667],
8747: [0.19444, 0.69444, 0.11111, 0, 0.41667],
8764: [-0.13313, 0.36687, 0, 0, 0.77778],
8768: [0.19444, 0.69444, 0, 0, 0.27778],
8771: [-0.03625, 0.46375, 0, 0, 0.77778],
8773: [-0.022, 0.589, 0, 0, 0.778],
8776: [-0.01688, 0.48312, 0, 0, 0.77778],
8781: [-0.03625, 0.46375, 0, 0, 0.77778],
8784: [-0.133, 0.673, 0, 0, 0.778],
8801: [-0.03625, 0.46375, 0, 0, 0.77778],
8804: [0.13597, 0.63597, 0, 0, 0.77778],
8805: [0.13597, 0.63597, 0, 0, 0.77778],
8810: [0.0391, 0.5391, 0, 0, 1],
8811: [0.0391, 0.5391, 0, 0, 1],
8826: [0.0391, 0.5391, 0, 0, 0.77778],
8827: [0.0391, 0.5391, 0, 0, 0.77778],
8834: [0.0391, 0.5391, 0, 0, 0.77778],
8835: [0.0391, 0.5391, 0, 0, 0.77778],
8838: [0.13597, 0.63597, 0, 0, 0.77778],
8839: [0.13597, 0.63597, 0, 0, 0.77778],
8846: [0, 0.55556, 0, 0, 0.66667],
8849: [0.13597, 0.63597, 0, 0, 0.77778],
8850: [0.13597, 0.63597, 0, 0, 0.77778],
8851: [0, 0.55556, 0, 0, 0.66667],
8852: [0, 0.55556, 0, 0, 0.66667],
8853: [0.08333, 0.58333, 0, 0, 0.77778],
8854: [0.08333, 0.58333, 0, 0, 0.77778],
8855: [0.08333, 0.58333, 0, 0, 0.77778],
8856: [0.08333, 0.58333, 0, 0, 0.77778],
8857: [0.08333, 0.58333, 0, 0, 0.77778],
8866: [0, 0.69444, 0, 0, 0.61111],
8867: [0, 0.69444, 0, 0, 0.61111],
8868: [0, 0.69444, 0, 0, 0.77778],
8869: [0, 0.69444, 0, 0, 0.77778],
8872: [0.249, 0.75, 0, 0, 0.867],
8900: [-0.05555, 0.44445, 0, 0, 0.5],
8901: [-0.05555, 0.44445, 0, 0, 0.27778],
8902: [-0.03472, 0.46528, 0, 0, 0.5],
8904: [0.005, 0.505, 0, 0, 0.9],
8942: [0.03, 0.903, 0, 0, 0.278],
8943: [-0.19, 0.313, 0, 0, 1.172],
8945: [-0.1, 0.823, 0, 0, 1.282],
8968: [0.25, 0.75, 0, 0, 0.44445],
8969: [0.25, 0.75, 0, 0, 0.44445],
8970: [0.25, 0.75, 0, 0, 0.44445],
8971: [0.25, 0.75, 0, 0, 0.44445],
8994: [-0.14236, 0.35764, 0, 0, 1],
8995: [-0.14236, 0.35764, 0, 0, 1],
9136: [0.244, 0.744, 0, 0, 0.412],
9137: [0.244, 0.745, 0, 0, 0.412],
9651: [0.19444, 0.69444, 0, 0, 0.88889],
9657: [-0.03472, 0.46528, 0, 0, 0.5],
9661: [0.19444, 0.69444, 0, 0, 0.88889],
9667: [-0.03472, 0.46528, 0, 0, 0.5],
9711: [0.19444, 0.69444, 0, 0, 1],
9824: [0.12963, 0.69444, 0, 0, 0.77778],
9825: [0.12963, 0.69444, 0, 0, 0.77778],
9826: [0.12963, 0.69444, 0, 0, 0.77778],
9827: [0.12963, 0.69444, 0, 0, 0.77778],
9837: [0, 0.75, 0, 0, 0.38889],
9838: [0.19444, 0.69444, 0, 0, 0.38889],
9839: [0.19444, 0.69444, 0, 0, 0.38889],
10216: [0.25, 0.75, 0, 0, 0.38889],
10217: [0.25, 0.75, 0, 0, 0.38889],
10222: [0.244, 0.744, 0, 0, 0.412],
10223: [0.244, 0.745, 0, 0, 0.412],
10229: [0.011, 0.511, 0, 0, 1.609],
10230: [0.011, 0.511, 0, 0, 1.638],
10231: [0.011, 0.511, 0, 0, 1.859],
10232: [0.024, 0.525, 0, 0, 1.609],
10233: [0.024, 0.525, 0, 0, 1.638],
10234: [0.024, 0.525, 0, 0, 1.858],
10236: [0.011, 0.511, 0, 0, 1.638],
10815: [0, 0.68333, 0, 0, 0.75],
10927: [0.13597, 0.63597, 0, 0, 0.77778],
10928: [0.13597, 0.63597, 0, 0, 0.77778],
57376: [0.19444, 0.69444, 0, 0, 0],
},
'Math-BoldItalic': {
32: [0, 0, 0, 0, 0.25],
48: [0, 0.44444, 0, 0, 0.575],
49: [0, 0.44444, 0, 0, 0.575],
50: [0, 0.44444, 0, 0, 0.575],
51: [0.19444, 0.44444, 0, 0, 0.575],
52: [0.19444, 0.44444, 0, 0, 0.575],
53: [0.19444, 0.44444, 0, 0, 0.575],
54: [0, 0.64444, 0, 0, 0.575],
55: [0.19444, 0.44444, 0, 0, 0.575],
56: [0, 0.64444, 0, 0, 0.575],
57: [0.19444, 0.44444, 0, 0, 0.575],
65: [0, 0.68611, 0, 0, 0.86944],
66: [0, 0.68611, 0.04835, 0, 0.8664],
67: [0, 0.68611, 0.06979, 0, 0.81694],
68: [0, 0.68611, 0.03194, 0, 0.93812],
69: [0, 0.68611, 0.05451, 0, 0.81007],
70: [0, 0.68611, 0.15972, 0, 0.68889],
71: [0, 0.68611, 0, 0, 0.88673],
72: [0, 0.68611, 0.08229, 0, 0.98229],
73: [0, 0.68611, 0.07778, 0, 0.51111],
74: [0, 0.68611, 0.10069, 0, 0.63125],
75: [0, 0.68611, 0.06979, 0, 0.97118],
76: [0, 0.68611, 0, 0, 0.75555],
77: [0, 0.68611, 0.11424, 0, 1.14201],
78: [0, 0.68611, 0.11424, 0, 0.95034],
79: [0, 0.68611, 0.03194, 0, 0.83666],
80: [0, 0.68611, 0.15972, 0, 0.72309],
81: [0.19444, 0.68611, 0, 0, 0.86861],
82: [0, 0.68611, 0.00421, 0, 0.87235],
83: [0, 0.68611, 0.05382, 0, 0.69271],
84: [0, 0.68611, 0.15972, 0, 0.63663],
85: [0, 0.68611, 0.11424, 0, 0.80027],
86: [0, 0.68611, 0.25555, 0, 0.67778],
87: [0, 0.68611, 0.15972, 0, 1.09305],
88: [0, 0.68611, 0.07778, 0, 0.94722],
89: [0, 0.68611, 0.25555, 0, 0.67458],
90: [0, 0.68611, 0.06979, 0, 0.77257],
97: [0, 0.44444, 0, 0, 0.63287],
98: [0, 0.69444, 0, 0, 0.52083],
99: [0, 0.44444, 0, 0, 0.51342],
100: [0, 0.69444, 0, 0, 0.60972],
101: [0, 0.44444, 0, 0, 0.55361],
102: [0.19444, 0.69444, 0.11042, 0, 0.56806],
103: [0.19444, 0.44444, 0.03704, 0, 0.5449],
104: [0, 0.69444, 0, 0, 0.66759],
105: [0, 0.69326, 0, 0, 0.4048],
106: [0.19444, 0.69326, 0.0622, 0, 0.47083],
107: [0, 0.69444, 0.01852, 0, 0.6037],
108: [0, 0.69444, 0.0088, 0, 0.34815],
109: [0, 0.44444, 0, 0, 1.0324],
110: [0, 0.44444, 0, 0, 0.71296],
111: [0, 0.44444, 0, 0, 0.58472],
112: [0.19444, 0.44444, 0, 0, 0.60092],
113: [0.19444, 0.44444, 0.03704, 0, 0.54213],
114: [0, 0.44444, 0.03194, 0, 0.5287],
115: [0, 0.44444, 0, 0, 0.53125],
116: [0, 0.63492, 0, 0, 0.41528],
117: [0, 0.44444, 0, 0, 0.68102],
118: [0, 0.44444, 0.03704, 0, 0.56666],
119: [0, 0.44444, 0.02778, 0, 0.83148],
120: [0, 0.44444, 0, 0, 0.65903],
121: [0.19444, 0.44444, 0.03704, 0, 0.59028],
122: [0, 0.44444, 0.04213, 0, 0.55509],
160: [0, 0, 0, 0, 0.25],
915: [0, 0.68611, 0.15972, 0, 0.65694],
916: [0, 0.68611, 0, 0, 0.95833],
920: [0, 0.68611, 0.03194, 0, 0.86722],
923: [0, 0.68611, 0, 0, 0.80555],
926: [0, 0.68611, 0.07458, 0, 0.84125],
928: [0, 0.68611, 0.08229, 0, 0.98229],
931: [0, 0.68611, 0.05451, 0, 0.88507],
933: [0, 0.68611, 0.15972, 0, 0.67083],
934: [0, 0.68611, 0, 0, 0.76666],
936: [0, 0.68611, 0.11653, 0, 0.71402],
937: [0, 0.68611, 0.04835, 0, 0.8789],
945: [0, 0.44444, 0, 0, 0.76064],
946: [0.19444, 0.69444, 0.03403, 0, 0.65972],
947: [0.19444, 0.44444, 0.06389, 0, 0.59003],
948: [0, 0.69444, 0.03819, 0, 0.52222],
949: [0, 0.44444, 0, 0, 0.52882],
950: [0.19444, 0.69444, 0.06215, 0, 0.50833],
951: [0.19444, 0.44444, 0.03704, 0, 0.6],
952: [0, 0.69444, 0.03194, 0, 0.5618],
953: [0, 0.44444, 0, 0, 0.41204],
954: [0, 0.44444, 0, 0, 0.66759],
955: [0, 0.69444, 0, 0, 0.67083],
956: [0.19444, 0.44444, 0, 0, 0.70787],
957: [0, 0.44444, 0.06898, 0, 0.57685],
958: [0.19444, 0.69444, 0.03021, 0, 0.50833],
959: [0, 0.44444, 0, 0, 0.58472],
960: [0, 0.44444, 0.03704, 0, 0.68241],
961: [0.19444, 0.44444, 0, 0, 0.6118],
962: [0.09722, 0.44444, 0.07917, 0, 0.42361],
963: [0, 0.44444, 0.03704, 0, 0.68588],
964: [0, 0.44444, 0.13472, 0, 0.52083],
965: [0, 0.44444, 0.03704, 0, 0.63055],
966: [0.19444, 0.44444, 0, 0, 0.74722],
967: [0.19444, 0.44444, 0, 0, 0.71805],
968: [0.19444, 0.69444, 0.03704, 0, 0.75833],
969: [0, 0.44444, 0.03704, 0, 0.71782],
977: [0, 0.69444, 0, 0, 0.69155],
981: [0.19444, 0.69444, 0, 0, 0.7125],
982: [0, 0.44444, 0.03194, 0, 0.975],
1009: [0.19444, 0.44444, 0, 0, 0.6118],
1013: [0, 0.44444, 0, 0, 0.48333],
57649: [0, 0.44444, 0, 0, 0.39352],
57911: [0.19444, 0.44444, 0, 0, 0.43889],
},
'Math-Italic': {
32: [0, 0, 0, 0, 0.25],
48: [0, 0.43056, 0, 0, 0.5],
49: [0, 0.43056, 0, 0, 0.5],
50: [0, 0.43056, 0, 0, 0.5],
51: [0.19444, 0.43056, 0, 0, 0.5],
52: [0.19444, 0.43056, 0, 0, 0.5],
53: [0.19444, 0.43056, 0, 0, 0.5],
54: [0, 0.64444, 0, 0, 0.5],
55: [0.19444, 0.43056, 0, 0, 0.5],
56: [0, 0.64444, 0, 0, 0.5],
57: [0.19444, 0.43056, 0, 0, 0.5],
65: [0, 0.68333, 0, 0.13889, 0.75],
66: [0, 0.68333, 0.05017, 0.08334, 0.75851],
67: [0, 0.68333, 0.07153, 0.08334, 0.71472],
68: [0, 0.68333, 0.02778, 0.05556, 0.82792],
69: [0, 0.68333, 0.05764, 0.08334, 0.7382],
70: [0, 0.68333, 0.13889, 0.08334, 0.64306],
71: [0, 0.68333, 0, 0.08334, 0.78625],
72: [0, 0.68333, 0.08125, 0.05556, 0.83125],
73: [0, 0.68333, 0.07847, 0.11111, 0.43958],
74: [0, 0.68333, 0.09618, 0.16667, 0.55451],
75: [0, 0.68333, 0.07153, 0.05556, 0.84931],
76: [0, 0.68333, 0, 0.02778, 0.68056],
77: [0, 0.68333, 0.10903, 0.08334, 0.97014],
78: [0, 0.68333, 0.10903, 0.08334, 0.80347],
79: [0, 0.68333, 0.02778, 0.08334, 0.76278],
80: [0, 0.68333, 0.13889, 0.08334, 0.64201],
81: [0.19444, 0.68333, 0, 0.08334, 0.79056],
82: [0, 0.68333, 0.00773, 0.08334, 0.75929],
83: [0, 0.68333, 0.05764, 0.08334, 0.6132],
84: [0, 0.68333, 0.13889, 0.08334, 0.58438],
85: [0, 0.68333, 0.10903, 0.02778, 0.68278],
86: [0, 0.68333, 0.22222, 0, 0.58333],
87: [0, 0.68333, 0.13889, 0, 0.94445],
88: [0, 0.68333, 0.07847, 0.08334, 0.82847],
89: [0, 0.68333, 0.22222, 0, 0.58056],
90: [0, 0.68333, 0.07153, 0.08334, 0.68264],
97: [0, 0.43056, 0, 0, 0.52859],
98: [0, 0.69444, 0, 0, 0.42917],
99: [0, 0.43056, 0, 0.05556, 0.43276],
100: [0, 0.69444, 0, 0.16667, 0.52049],
101: [0, 0.43056, 0, 0.05556, 0.46563],
102: [0.19444, 0.69444, 0.10764, 0.16667, 0.48959],
103: [0.19444, 0.43056, 0.03588, 0.02778, 0.47697],
104: [0, 0.69444, 0, 0, 0.57616],
105: [0, 0.65952, 0, 0, 0.34451],
106: [0.19444, 0.65952, 0.05724, 0, 0.41181],
107: [0, 0.69444, 0.03148, 0, 0.5206],
108: [0, 0.69444, 0.01968, 0.08334, 0.29838],
109: [0, 0.43056, 0, 0, 0.87801],
110: [0, 0.43056, 0, 0, 0.60023],
111: [0, 0.43056, 0, 0.05556, 0.48472],
112: [0.19444, 0.43056, 0, 0.08334, 0.50313],
113: [0.19444, 0.43056, 0.03588, 0.08334, 0.44641],
114: [0, 0.43056, 0.02778, 0.05556, 0.45116],
115: [0, 0.43056, 0, 0.05556, 0.46875],
116: [0, 0.61508, 0, 0.08334, 0.36111],
117: [0, 0.43056, 0, 0.02778, 0.57246],
118: [0, 0.43056, 0.03588, 0.02778, 0.48472],
119: [0, 0.43056, 0.02691, 0.08334, 0.71592],
120: [0, 0.43056, 0, 0.02778, 0.57153],
121: [0.19444, 0.43056, 0.03588, 0.05556, 0.49028],
122: [0, 0.43056, 0.04398, 0.05556, 0.46505],
160: [0, 0, 0, 0, 0.25],
915: [0, 0.68333, 0.13889, 0.08334, 0.61528],
916: [0, 0.68333, 0, 0.16667, 0.83334],
920: [0, 0.68333, 0.02778, 0.08334, 0.76278],
923: [0, 0.68333, 0, 0.16667, 0.69445],
926: [0, 0.68333, 0.07569, 0.08334, 0.74236],
928: [0, 0.68333, 0.08125, 0.05556, 0.83125],
931: [0, 0.68333, 0.05764, 0.08334, 0.77986],
933: [0, 0.68333, 0.13889, 0.05556, 0.58333],
934: [0, 0.68333, 0, 0.08334, 0.66667],
936: [0, 0.68333, 0.11, 0.05556, 0.61222],
937: [0, 0.68333, 0.05017, 0.08334, 0.7724],
945: [0, 0.43056, 0.0037, 0.02778, 0.6397],
946: [0.19444, 0.69444, 0.05278, 0.08334, 0.56563],
947: [0.19444, 0.43056, 0.05556, 0, 0.51773],
948: [0, 0.69444, 0.03785, 0.05556, 0.44444],
949: [0, 0.43056, 0, 0.08334, 0.46632],
950: [0.19444, 0.69444, 0.07378, 0.08334, 0.4375],
951: [0.19444, 0.43056, 0.03588, 0.05556, 0.49653],
952: [0, 0.69444, 0.02778, 0.08334, 0.46944],
953: [0, 0.43056, 0, 0.05556, 0.35394],
954: [0, 0.43056, 0, 0, 0.57616],
955: [0, 0.69444, 0, 0, 0.58334],
956: [0.19444, 0.43056, 0, 0.02778, 0.60255],
957: [0, 0.43056, 0.06366, 0.02778, 0.49398],
958: [0.19444, 0.69444, 0.04601, 0.11111, 0.4375],
959: [0, 0.43056, 0, 0.05556, 0.48472],
960: [0, 0.43056, 0.03588, 0, 0.57003],
961: [0.19444, 0.43056, 0, 0.08334, 0.51702],
962: [0.09722, 0.43056, 0.07986, 0.08334, 0.36285],
963: [0, 0.43056, 0.03588, 0, 0.57141],
964: [0, 0.43056, 0.1132, 0.02778, 0.43715],
965: [0, 0.43056, 0.03588, 0.02778, 0.54028],
966: [0.19444, 0.43056, 0, 0.08334, 0.65417],
967: [0.19444, 0.43056, 0, 0.05556, 0.62569],
968: [0.19444, 0.69444, 0.03588, 0.11111, 0.65139],
969: [0, 0.43056, 0.03588, 0, 0.62245],
977: [0, 0.69444, 0, 0.08334, 0.59144],
981: [0.19444, 0.69444, 0, 0.08334, 0.59583],
982: [0, 0.43056, 0.02778, 0, 0.82813],
1009: [0.19444, 0.43056, 0, 0.08334, 0.51702],
1013: [0, 0.43056, 0, 0.05556, 0.4059],
57649: [0, 0.43056, 0, 0.02778, 0.32246],
57911: [0.19444, 0.43056, 0, 0.08334, 0.38403],
},
'SansSerif-Bold': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69444, 0, 0, 0.36667],
34: [0, 0.69444, 0, 0, 0.55834],
35: [0.19444, 0.69444, 0, 0, 0.91667],
36: [0.05556, 0.75, 0, 0, 0.55],
37: [0.05556, 0.75, 0, 0, 1.02912],
38: [0, 0.69444, 0, 0, 0.83056],
39: [0, 0.69444, 0, 0, 0.30556],
40: [0.25, 0.75, 0, 0, 0.42778],
41: [0.25, 0.75, 0, 0, 0.42778],
42: [0, 0.75, 0, 0, 0.55],
43: [0.11667, 0.61667, 0, 0, 0.85556],
44: [0.10556, 0.13056, 0, 0, 0.30556],
45: [0, 0.45833, 0, 0, 0.36667],
46: [0, 0.13056, 0, 0, 0.30556],
47: [0.25, 0.75, 0, 0, 0.55],
48: [0, 0.69444, 0, 0, 0.55],
49: [0, 0.69444, 0, 0, 0.55],
50: [0, 0.69444, 0, 0, 0.55],
51: [0, 0.69444, 0, 0, 0.55],
52: [0, 0.69444, 0, 0, 0.55],
53: [0, 0.69444, 0, 0, 0.55],
54: [0, 0.69444, 0, 0, 0.55],
55: [0, 0.69444, 0, 0, 0.55],
56: [0, 0.69444, 0, 0, 0.55],
57: [0, 0.69444, 0, 0, 0.55],
58: [0, 0.45833, 0, 0, 0.30556],
59: [0.10556, 0.45833, 0, 0, 0.30556],
61: [-0.09375, 0.40625, 0, 0, 0.85556],
63: [0, 0.69444, 0, 0, 0.51945],
64: [0, 0.69444, 0, 0, 0.73334],
65: [0, 0.69444, 0, 0, 0.73334],
66: [0, 0.69444, 0, 0, 0.73334],
67: [0, 0.69444, 0, 0, 0.70278],
68: [0, 0.69444, 0, 0, 0.79445],
69: [0, 0.69444, 0, 0, 0.64167],
70: [0, 0.69444, 0, 0, 0.61111],
71: [0, 0.69444, 0, 0, 0.73334],
72: [0, 0.69444, 0, 0, 0.79445],
73: [0, 0.69444, 0, 0, 0.33056],
74: [0, 0.69444, 0, 0, 0.51945],
75: [0, 0.69444, 0, 0, 0.76389],
76: [0, 0.69444, 0, 0, 0.58056],
77: [0, 0.69444, 0, 0, 0.97778],
78: [0, 0.69444, 0, 0, 0.79445],
79: [0, 0.69444, 0, 0, 0.79445],
80: [0, 0.69444, 0, 0, 0.70278],
81: [0.10556, 0.69444, 0, 0, 0.79445],
82: [0, 0.69444, 0, 0, 0.70278],
83: [0, 0.69444, 0, 0, 0.61111],
84: [0, 0.69444, 0, 0, 0.73334],
85: [0, 0.69444, 0, 0, 0.76389],
86: [0, 0.69444, 0.01528, 0, 0.73334],
87: [0, 0.69444, 0.01528, 0, 1.03889],
88: [0, 0.69444, 0, 0, 0.73334],
89: [0, 0.69444, 0.0275, 0, 0.73334],
90: [0, 0.69444, 0, 0, 0.67223],
91: [0.25, 0.75, 0, 0, 0.34306],
93: [0.25, 0.75, 0, 0, 0.34306],
94: [0, 0.69444, 0, 0, 0.55],
95: [0.35, 0.10833, 0.03056, 0, 0.55],
97: [0, 0.45833, 0, 0, 0.525],
98: [0, 0.69444, 0, 0, 0.56111],
99: [0, 0.45833, 0, 0, 0.48889],
100: [0, 0.69444, 0, 0, 0.56111],
101: [0, 0.45833, 0, 0, 0.51111],
102: [0, 0.69444, 0.07639, 0, 0.33611],
103: [0.19444, 0.45833, 0.01528, 0, 0.55],
104: [0, 0.69444, 0, 0, 0.56111],
105: [0, 0.69444, 0, 0, 0.25556],
106: [0.19444, 0.69444, 0, 0, 0.28611],
107: [0, 0.69444, 0, 0, 0.53056],
108: [0, 0.69444, 0, 0, 0.25556],
109: [0, 0.45833, 0, 0, 0.86667],
110: [0, 0.45833, 0, 0, 0.56111],
111: [0, 0.45833, 0, 0, 0.55],
112: [0.19444, 0.45833, 0, 0, 0.56111],
113: [0.19444, 0.45833, 0, 0, 0.56111],
114: [0, 0.45833, 0.01528, 0, 0.37222],
115: [0, 0.45833, 0, 0, 0.42167],
116: [0, 0.58929, 0, 0, 0.40417],
117: [0, 0.45833, 0, 0, 0.56111],
118: [0, 0.45833, 0.01528, 0, 0.5],
119: [0, 0.45833, 0.01528, 0, 0.74445],
120: [0, 0.45833, 0, 0, 0.5],
121: [0.19444, 0.45833, 0.01528, 0, 0.5],
122: [0, 0.45833, 0, 0, 0.47639],
126: [0.35, 0.34444, 0, 0, 0.55],
160: [0, 0, 0, 0, 0.25],
168: [0, 0.69444, 0, 0, 0.55],
176: [0, 0.69444, 0, 0, 0.73334],
180: [0, 0.69444, 0, 0, 0.55],
184: [0.17014, 0, 0, 0, 0.48889],
305: [0, 0.45833, 0, 0, 0.25556],
567: [0.19444, 0.45833, 0, 0, 0.28611],
710: [0, 0.69444, 0, 0, 0.55],
711: [0, 0.63542, 0, 0, 0.55],
713: [0, 0.63778, 0, 0, 0.55],
728: [0, 0.69444, 0, 0, 0.55],
729: [0, 0.69444, 0, 0, 0.30556],
730: [0, 0.69444, 0, 0, 0.73334],
732: [0, 0.69444, 0, 0, 0.55],
733: [0, 0.69444, 0, 0, 0.55],
915: [0, 0.69444, 0, 0, 0.58056],
916: [0, 0.69444, 0, 0, 0.91667],
920: [0, 0.69444, 0, 0, 0.85556],
923: [0, 0.69444, 0, 0, 0.67223],
926: [0, 0.69444, 0, 0, 0.73334],
928: [0, 0.69444, 0, 0, 0.79445],
931: [0, 0.69444, 0, 0, 0.79445],
933: [0, 0.69444, 0, 0, 0.85556],
934: [0, 0.69444, 0, 0, 0.79445],
936: [0, 0.69444, 0, 0, 0.85556],
937: [0, 0.69444, 0, 0, 0.79445],
8211: [0, 0.45833, 0.03056, 0, 0.55],
8212: [0, 0.45833, 0.03056, 0, 1.10001],
8216: [0, 0.69444, 0, 0, 0.30556],
8217: [0, 0.69444, 0, 0, 0.30556],
8220: [0, 0.69444, 0, 0, 0.55834],
8221: [0, 0.69444, 0, 0, 0.55834],
},
'SansSerif-Italic': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69444, 0.05733, 0, 0.31945],
34: [0, 0.69444, 0.00316, 0, 0.5],
35: [0.19444, 0.69444, 0.05087, 0, 0.83334],
36: [0.05556, 0.75, 0.11156, 0, 0.5],
37: [0.05556, 0.75, 0.03126, 0, 0.83334],
38: [0, 0.69444, 0.03058, 0, 0.75834],
39: [0, 0.69444, 0.07816, 0, 0.27778],
40: [0.25, 0.75, 0.13164, 0, 0.38889],
41: [0.25, 0.75, 0.02536, 0, 0.38889],
42: [0, 0.75, 0.11775, 0, 0.5],
43: [0.08333, 0.58333, 0.02536, 0, 0.77778],
44: [0.125, 0.08333, 0, 0, 0.27778],
45: [0, 0.44444, 0.01946, 0, 0.33333],
46: [0, 0.08333, 0, 0, 0.27778],
47: [0.25, 0.75, 0.13164, 0, 0.5],
48: [0, 0.65556, 0.11156, 0, 0.5],
49: [0, 0.65556, 0.11156, 0, 0.5],
50: [0, 0.65556, 0.11156, 0, 0.5],
51: [0, 0.65556, 0.11156, 0, 0.5],
52: [0, 0.65556, 0.11156, 0, 0.5],
53: [0, 0.65556, 0.11156, 0, 0.5],
54: [0, 0.65556, 0.11156, 0, 0.5],
55: [0, 0.65556, 0.11156, 0, 0.5],
56: [0, 0.65556, 0.11156, 0, 0.5],
57: [0, 0.65556, 0.11156, 0, 0.5],
58: [0, 0.44444, 0.02502, 0, 0.27778],
59: [0.125, 0.44444, 0.02502, 0, 0.27778],
61: [-0.13, 0.37, 0.05087, 0, 0.77778],
63: [0, 0.69444, 0.11809, 0, 0.47222],
64: [0, 0.69444, 0.07555, 0, 0.66667],
65: [0, 0.69444, 0, 0, 0.66667],
66: [0, 0.69444, 0.08293, 0, 0.66667],
67: [0, 0.69444, 0.11983, 0, 0.63889],
68: [0, 0.69444, 0.07555, 0, 0.72223],
69: [0, 0.69444, 0.11983, 0, 0.59722],
70: [0, 0.69444, 0.13372, 0, 0.56945],
71: [0, 0.69444, 0.11983, 0, 0.66667],
72: [0, 0.69444, 0.08094, 0, 0.70834],
73: [0, 0.69444, 0.13372, 0, 0.27778],
74: [0, 0.69444, 0.08094, 0, 0.47222],
75: [0, 0.69444, 0.11983, 0, 0.69445],
76: [0, 0.69444, 0, 0, 0.54167],
77: [0, 0.69444, 0.08094, 0, 0.875],
78: [0, 0.69444, 0.08094, 0, 0.70834],
79: [0, 0.69444, 0.07555, 0, 0.73611],
80: [0, 0.69444, 0.08293, 0, 0.63889],
81: [0.125, 0.69444, 0.07555, 0, 0.73611],
82: [0, 0.69444, 0.08293, 0, 0.64584],
83: [0, 0.69444, 0.09205, 0, 0.55556],
84: [0, 0.69444, 0.13372, 0, 0.68056],
85: [0, 0.69444, 0.08094, 0, 0.6875],
86: [0, 0.69444, 0.1615, 0, 0.66667],
87: [0, 0.69444, 0.1615, 0, 0.94445],
88: [0, 0.69444, 0.13372, 0, 0.66667],
89: [0, 0.69444, 0.17261, 0, 0.66667],
90: [0, 0.69444, 0.11983, 0, 0.61111],
91: [0.25, 0.75, 0.15942, 0, 0.28889],
93: [0.25, 0.75, 0.08719, 0, 0.28889],
94: [0, 0.69444, 0.0799, 0, 0.5],
95: [0.35, 0.09444, 0.08616, 0, 0.5],
97: [0, 0.44444, 0.00981, 0, 0.48056],
98: [0, 0.69444, 0.03057, 0, 0.51667],
99: [0, 0.44444, 0.08336, 0, 0.44445],
100: [0, 0.69444, 0.09483, 0, 0.51667],
101: [0, 0.44444, 0.06778, 0, 0.44445],
102: [0, 0.69444, 0.21705, 0, 0.30556],
103: [0.19444, 0.44444, 0.10836, 0, 0.5],
104: [0, 0.69444, 0.01778, 0, 0.51667],
105: [0, 0.67937, 0.09718, 0, 0.23889],
106: [0.19444, 0.67937, 0.09162, 0, 0.26667],
107: [0, 0.69444, 0.08336, 0, 0.48889],
108: [0, 0.69444, 0.09483, 0, 0.23889],
109: [0, 0.44444, 0.01778, 0, 0.79445],
110: [0, 0.44444, 0.01778, 0, 0.51667],
111: [0, 0.44444, 0.06613, 0, 0.5],
112: [0.19444, 0.44444, 0.0389, 0, 0.51667],
113: [0.19444, 0.44444, 0.04169, 0, 0.51667],
114: [0, 0.44444, 0.10836, 0, 0.34167],
115: [0, 0.44444, 0.0778, 0, 0.38333],
116: [0, 0.57143, 0.07225, 0, 0.36111],
117: [0, 0.44444, 0.04169, 0, 0.51667],
118: [0, 0.44444, 0.10836, 0, 0.46111],
119: [0, 0.44444, 0.10836, 0, 0.68334],
120: [0, 0.44444, 0.09169, 0, 0.46111],
121: [0.19444, 0.44444, 0.10836, 0, 0.46111],
122: [0, 0.44444, 0.08752, 0, 0.43472],
126: [0.35, 0.32659, 0.08826, 0, 0.5],
160: [0, 0, 0, 0, 0.25],
168: [0, 0.67937, 0.06385, 0, 0.5],
176: [0, 0.69444, 0, 0, 0.73752],
184: [0.17014, 0, 0, 0, 0.44445],
305: [0, 0.44444, 0.04169, 0, 0.23889],
567: [0.19444, 0.44444, 0.04169, 0, 0.26667],
710: [0, 0.69444, 0.0799, 0, 0.5],
711: [0, 0.63194, 0.08432, 0, 0.5],
713: [0, 0.60889, 0.08776, 0, 0.5],
714: [0, 0.69444, 0.09205, 0, 0.5],
715: [0, 0.69444, 0, 0, 0.5],
728: [0, 0.69444, 0.09483, 0, 0.5],
729: [0, 0.67937, 0.07774, 0, 0.27778],
730: [0, 0.69444, 0, 0, 0.73752],
732: [0, 0.67659, 0.08826, 0, 0.5],
733: [0, 0.69444, 0.09205, 0, 0.5],
915: [0, 0.69444, 0.13372, 0, 0.54167],
916: [0, 0.69444, 0, 0, 0.83334],
920: [0, 0.69444, 0.07555, 0, 0.77778],
923: [0, 0.69444, 0, 0, 0.61111],
926: [0, 0.69444, 0.12816, 0, 0.66667],
928: [0, 0.69444, 0.08094, 0, 0.70834],
931: [0, 0.69444, 0.11983, 0, 0.72222],
933: [0, 0.69444, 0.09031, 0, 0.77778],
934: [0, 0.69444, 0.04603, 0, 0.72222],
936: [0, 0.69444, 0.09031, 0, 0.77778],
937: [0, 0.69444, 0.08293, 0, 0.72222],
8211: [0, 0.44444, 0.08616, 0, 0.5],
8212: [0, 0.44444, 0.08616, 0, 1],
8216: [0, 0.69444, 0.07816, 0, 0.27778],
8217: [0, 0.69444, 0.07816, 0, 0.27778],
8220: [0, 0.69444, 0.14205, 0, 0.5],
8221: [0, 0.69444, 0.00316, 0, 0.5],
},
'SansSerif-Regular': {
32: [0, 0, 0, 0, 0.25],
33: [0, 0.69444, 0, 0, 0.31945],
34: [0, 0.69444, 0, 0, 0.5],
35: [0.19444, 0.69444, 0, 0, 0.83334],
36: [0.05556, 0.75, 0, 0, 0.5],
37: [0.05556, 0.75, 0, 0, 0.83334],
38: [0, 0.69444, 0, 0, 0.75834],
39: [0, 0.69444, 0, 0, 0.27778],
40: [0.25, 0.75, 0, 0, 0.38889],
41: [0.25, 0.75, 0, 0, 0.38889],
42: [0, 0.75, 0, 0, 0.5],
43: [0.08333, 0.58333, 0, 0, 0.77778],
44: [0.125, 0.08333, 0, 0, 0.27778],
45: [0, 0.44444, 0, 0, 0.33333],
46: [0, 0.08333, 0, 0, 0.27778],
47: [0.25, 0.75, 0, 0, 0.5],
48: [0, 0.65556, 0, 0, 0.5],
49: [0, 0.65556, 0, 0, 0.5],
50: [0, 0.65556, 0, 0, 0.5],
51: [0, 0.65556, 0, 0, 0.5],
52: [0, 0.65556, 0, 0, 0.5],
53: [0, 0.65556, 0, 0, 0.5],
54: [0, 0.65556, 0, 0, 0.5],
55: [0, 0.65556, 0, 0, 0.5],
56: [0, 0.65556, 0, 0, 0.5],
57: [0, 0.65556, 0, 0, 0.5],
58: [0, 0.44444, 0, 0, 0.27778],
59: [0.125, 0.44444, 0, 0, 0.27778],
61: [-0.13, 0.37, 0, 0, 0.77778],
63: [0, 0.69444, 0, 0, 0.47222],
64: [0, 0.69444, 0, 0, 0.66667],
65: [0, 0.69444, 0, 0, 0.66667],
66: [0, 0.69444, 0, 0, 0.66667],
67: [0, 0.69444, 0, 0, 0.63889],
68: [0, 0.69444, 0, 0, 0.72223],
69: [0, 0.69444, 0, 0, 0.59722],
70: [0, 0.69444, 0, 0, 0.56945],
71: [0, 0.69444, 0, 0, 0.66667],
72: [0, 0.69444, 0, 0, 0.70834],
73: [0, 0.69444, 0, 0, 0.27778],
74: [0, 0.69444, 0, 0, 0.47222],
75: [0, 0.69444, 0, 0, 0.69445],
76: [0, 0.69444, 0, 0, 0.54167],
77: [0, 0.69444, 0, 0, 0.875],
78: [0, 0.69444, 0, 0, 0.70834],
79: [0, 0.69444, 0, 0, 0.73611],
80: [0, 0.69444, 0, 0, 0.63889],
81: [0.125, 0.69444, 0, 0, 0.73611],
82: [0, 0.69444, 0, 0, 0.64584],
83: [0, 0.69444, 0, 0, 0.55556],
84: [0, 0.69444, 0, 0, 0.68056],
85: [0, 0.69444, 0, 0, 0.6875],
86: [0, 0.69444, 0.01389, 0, 0.66667],
87: [0, 0.69444, 0.01389, 0, 0.94445],
88: [0, 0.69444, 0, 0, 0.66667],
89: [0, 0.69444, 0.025, 0, 0.66667],
90: [0, 0.69444, 0, 0, 0.61111],
91: [0.25, 0.75, 0, 0, 0.28889],
93: [0.25, 0.75, 0, 0, 0.28889],
94: [0, 0.69444, 0, 0, 0.5],
95: [0.35, 0.09444, 0.02778, 0, 0.5],
97: [0, 0.44444, 0, 0, 0.48056],
98: [0, 0.69444, 0, 0, 0.51667],
99: [0, 0.44444, 0, 0, 0.44445],
100: [0, 0.69444, 0, 0, 0.51667],
101: [0, 0.44444, 0, 0, 0.44445],
102: [0, 0.69444, 0.06944, 0, 0.30556],
103: [0.19444, 0.44444, 0.01389, 0, 0.5],
104: [0, 0.69444, 0, 0, 0.51667],
105: [0, 0.67937, 0, 0, 0.23889],
106: [0.19444, 0.67937, 0, 0, 0.26667],
107: [0, 0.69444, 0, 0, 0.48889],
108: [0, 0.69444, 0, 0, 0.23889],
109: [0, 0.44444, 0, 0, 0.79445],
110: [0, 0.44444, 0, 0, 0.51667],
111: [0, 0.44444, 0, 0, 0.5],
112: [0.19444, 0.44444, 0, 0, 0.51667],
113: [0.19444, 0.44444, 0, 0, 0.51667],
114: [0, 0.44444, 0.01389, 0, 0.34167],
115: [0, 0.44444, 0, 0, 0.38333],
116: [0, 0.57143, 0, 0, 0.36111],
117: [0, 0.44444, 0, 0, 0.51667],
118: [0, 0.44444, 0.01389, 0, 0.46111],
119: [0, 0.44444, 0.01389, 0, 0.68334],
120: [0, 0.44444, 0, 0, 0.46111],
121: [0.19444, 0.44444, 0.01389, 0, 0.46111],
122: [0, 0.44444, 0, 0, 0.43472],
126: [0.35, 0.32659, 0, 0, 0.5],
160: [0, 0, 0, 0, 0.25],
168: [0, 0.67937, 0, 0, 0.5],
176: [0, 0.69444, 0, 0, 0.66667],
184: [0.17014, 0, 0, 0, 0.44445],
305: [0, 0.44444, 0, 0, 0.23889],
567: [0.19444, 0.44444, 0, 0, 0.26667],
710: [0, 0.69444, 0, 0, 0.5],
711: [0, 0.63194, 0, 0, 0.5],
713: [0, 0.60889, 0, 0, 0.5],
714: [0, 0.69444, 0, 0, 0.5],
715: [0, 0.69444, 0, 0, 0.5],
728: [0, 0.69444, 0, 0, 0.5],
729: [0, 0.67937, 0, 0, 0.27778],
730: [0, 0.69444, 0, 0, 0.66667],
732: [0, 0.67659, 0, 0, 0.5],
733: [0, 0.69444, 0, 0, 0.5],
915: [0, 0.69444, 0, 0, 0.54167],
916: [0, 0.69444, 0, 0, 0.83334],
920: [0, 0.69444, 0, 0, 0.77778],
923: [0, 0.69444, 0, 0, 0.61111],
926: [0, 0.69444, 0, 0, 0.66667],
928: [0, 0.69444, 0, 0, 0.70834],
931: [0, 0.69444, 0, 0, 0.72222],
933: [0, 0.69444, 0, 0, 0.77778],
934: [0, 0.69444, 0, 0, 0.72222],
936: [0, 0.69444, 0, 0, 0.77778],
937: [0, 0.69444, 0, 0, 0.72222],
8211: [0, 0.44444, 0.02778, 0, 0.5],
8212: [0, 0.44444, 0.02778, 0, 1],
8216: [0, 0.69444, 0, 0, 0.27778],
8217: [0, 0.69444, 0, 0, 0.27778],
8220: [0, 0.69444, 0, 0, 0.5],
8221: [0, 0.69444, 0, 0, 0.5],
},
'Script-Regular': {
32: [0, 0, 0, 0, 0.25],
65: [0, 0.7, 0.22925, 0, 0.80253],
66: [0, 0.7, 0.04087, 0, 0.90757],
67: [0, 0.7, 0.1689, 0, 0.66619],
68: [0, 0.7, 0.09371, 0, 0.77443],
69: [0, 0.7, 0.18583, 0, 0.56162],
70: [0, 0.7, 0.13634, 0, 0.89544],
71: [0, 0.7, 0.17322, 0, 0.60961],
72: [0, 0.7, 0.29694, 0, 0.96919],
73: [0, 0.7, 0.19189, 0, 0.80907],
74: [0.27778, 0.7, 0.19189, 0, 1.05159],
75: [0, 0.7, 0.31259, 0, 0.91364],
76: [0, 0.7, 0.19189, 0, 0.87373],
77: [0, 0.7, 0.15981, 0, 1.08031],
78: [0, 0.7, 0.3525, 0, 0.9015],
79: [0, 0.7, 0.08078, 0, 0.73787],
80: [0, 0.7, 0.08078, 0, 1.01262],
81: [0, 0.7, 0.03305, 0, 0.88282],
82: [0, 0.7, 0.06259, 0, 0.85],
83: [0, 0.7, 0.19189, 0, 0.86767],
84: [0, 0.7, 0.29087, 0, 0.74697],
85: [0, 0.7, 0.25815, 0, 0.79996],
86: [0, 0.7, 0.27523, 0, 0.62204],
87: [0, 0.7, 0.27523, 0, 0.80532],
88: [0, 0.7, 0.26006, 0, 0.94445],
89: [0, 0.7, 0.2939, 0, 0.70961],
90: [0, 0.7, 0.24037, 0, 0.8212],
160: [0, 0, 0, 0, 0.25],
},
'Size1-Regular': {
32: [0, 0, 0, 0, 0.25],
40: [0.35001, 0.85, 0, 0, 0.45834],
41: [0.35001, 0.85, 0, 0, 0.45834],
47: [0.35001, 0.85, 0, 0, 0.57778],
91: [0.35001, 0.85, 0, 0, 0.41667],
92: [0.35001, 0.85, 0, 0, 0.57778],
93: [0.35001, 0.85, 0, 0, 0.41667],
123: [0.35001, 0.85, 0, 0, 0.58334],
125: [0.35001, 0.85, 0, 0, 0.58334],
160: [0, 0, 0, 0, 0.25],
710: [0, 0.72222, 0, 0, 0.55556],
732: [0, 0.72222, 0, 0, 0.55556],
770: [0, 0.72222, 0, 0, 0.55556],
771: [0, 0.72222, 0, 0, 0.55556],
8214: [-99e-5, 0.601, 0, 0, 0.77778],
8593: [1e-5, 0.6, 0, 0, 0.66667],
8595: [1e-5, 0.6, 0, 0, 0.66667],
8657: [1e-5, 0.6, 0, 0, 0.77778],
8659: [1e-5, 0.6, 0, 0, 0.77778],
8719: [0.25001, 0.75, 0, 0, 0.94445],
8720: [0.25001, 0.75, 0, 0, 0.94445],
8721: [0.25001, 0.75, 0, 0, 1.05556],
8730: [0.35001, 0.85, 0, 0, 1],
8739: [-0.00599, 0.606, 0, 0, 0.33333],
8741: [-0.00599, 0.606, 0, 0, 0.55556],
8747: [0.30612, 0.805, 0.19445, 0, 0.47222],
8748: [0.306, 0.805, 0.19445, 0, 0.47222],
8749: [0.306, 0.805, 0.19445, 0, 0.47222],
8750: [0.30612, 0.805, 0.19445, 0, 0.47222],
8896: [0.25001, 0.75, 0, 0, 0.83334],
8897: [0.25001, 0.75, 0, 0, 0.83334],
8898: [0.25001, 0.75, 0, 0, 0.83334],
8899: [0.25001, 0.75, 0, 0, 0.83334],
8968: [0.35001, 0.85, 0, 0, 0.47222],
8969: [0.35001, 0.85, 0, 0, 0.47222],
8970: [0.35001, 0.85, 0, 0, 0.47222],
8971: [0.35001, 0.85, 0, 0, 0.47222],
9168: [-99e-5, 0.601, 0, 0, 0.66667],
10216: [0.35001, 0.85, 0, 0, 0.47222],
10217: [0.35001, 0.85, 0, 0, 0.47222],
10752: [0.25001, 0.75, 0, 0, 1.11111],
10753: [0.25001, 0.75, 0, 0, 1.11111],
10754: [0.25001, 0.75, 0, 0, 1.11111],
10756: [0.25001, 0.75, 0, 0, 0.83334],
10758: [0.25001, 0.75, 0, 0, 0.83334],
},
'Size2-Regular': {
32: [0, 0, 0, 0, 0.25],
40: [0.65002, 1.15, 0, 0, 0.59722],
41: [0.65002, 1.15, 0, 0, 0.59722],
47: [0.65002, 1.15, 0, 0, 0.81111],
91: [0.65002, 1.15, 0, 0, 0.47222],
92: [0.65002, 1.15, 0, 0, 0.81111],
93: [0.65002, 1.15, 0, 0, 0.47222],
123: [0.65002, 1.15, 0, 0, 0.66667],
125: [0.65002, 1.15, 0, 0, 0.66667],
160: [0, 0, 0, 0, 0.25],
710: [0, 0.75, 0, 0, 1],
732: [0, 0.75, 0, 0, 1],
770: [0, 0.75, 0, 0, 1],
771: [0, 0.75, 0, 0, 1],
8719: [0.55001, 1.05, 0, 0, 1.27778],
8720: [0.55001, 1.05, 0, 0, 1.27778],
8721: [0.55001, 1.05, 0, 0, 1.44445],
8730: [0.65002, 1.15, 0, 0, 1],
8747: [0.86225, 1.36, 0.44445, 0, 0.55556],
8748: [0.862, 1.36, 0.44445, 0, 0.55556],
8749: [0.862, 1.36, 0.44445, 0, 0.55556],
8750: [0.86225, 1.36, 0.44445, 0, 0.55556],
8896: [0.55001, 1.05, 0, 0, 1.11111],
8897: [0.55001, 1.05, 0, 0, 1.11111],
8898: [0.55001, 1.05, 0, 0, 1.11111],
8899: [0.55001, 1.05, 0, 0, 1.11111],
8968: [0.65002, 1.15, 0, 0, 0.52778],
8969: [0.65002, 1.15, 0, 0, 0.52778],
8970: [0.65002, 1.15, 0, 0, 0.52778],
8971: [0.65002, 1.15, 0, 0, 0.52778],
10216: [0.65002, 1.15, 0, 0, 0.61111],
10217: [0.65002, 1.15, 0, 0, 0.61111],
10752: [0.55001, 1.05, 0, 0, 1.51112],
10753: [0.55001, 1.05, 0, 0, 1.51112],
10754: [0.55001, 1.05, 0, 0, 1.51112],
10756: [0.55001, 1.05, 0, 0, 1.11111],
10758: [0.55001, 1.05, 0, 0, 1.11111],
},
'Size3-Regular': {
32: [0, 0, 0, 0, 0.25],
40: [0.95003, 1.45, 0, 0, 0.73611],
41: [0.95003, 1.45, 0, 0, 0.73611],
47: [0.95003, 1.45, 0, 0, 1.04445],
91: [0.95003, 1.45, 0, 0, 0.52778],
92: [0.95003, 1.45, 0, 0, 1.04445],
93: [0.95003, 1.45, 0, 0, 0.52778],
123: [0.95003, 1.45, 0, 0, 0.75],
125: [0.95003, 1.45, 0, 0, 0.75],
160: [0, 0, 0, 0, 0.25],
710: [0, 0.75, 0, 0, 1.44445],
732: [0, 0.75, 0, 0, 1.44445],
770: [0, 0.75, 0, 0, 1.44445],
771: [0, 0.75, 0, 0, 1.44445],
8730: [0.95003, 1.45, 0, 0, 1],
8968: [0.95003, 1.45, 0, 0, 0.58334],
8969: [0.95003, 1.45, 0, 0, 0.58334],
8970: [0.95003, 1.45, 0, 0, 0.58334],
8971: [0.95003, 1.45, 0, 0, 0.58334],
10216: [0.95003, 1.45, 0, 0, 0.75],
10217: [0.95003, 1.45, 0, 0, 0.75],
},
'Size4-Regular': {
32: [0, 0, 0, 0, 0.25],
40: [1.25003, 1.75, 0, 0, 0.79167],
41: [1.25003, 1.75, 0, 0, 0.79167],
47: [1.25003, 1.75, 0, 0, 1.27778],
91: [1.25003, 1.75, 0, 0, 0.58334],
92: [1.25003, 1.75, 0, 0, 1.27778],
93: [1.25003, 1.75, 0, 0, 0.58334],
123: [1.25003, 1.75, 0, 0, 0.80556],
125: [1.25003, 1.75, 0, 0, 0.80556],
160: [0, 0, 0, 0, 0.25],
710: [0, 0.825, 0, 0, 1.8889],
732: [0, 0.825, 0, 0, 1.8889],
770: [0, 0.825, 0, 0, 1.8889],
771: [0, 0.825, 0, 0, 1.8889],
8730: [1.25003, 1.75, 0, 0, 1],
8968: [1.25003, 1.75, 0, 0, 0.63889],
8969: [1.25003, 1.75, 0, 0, 0.63889],
8970: [1.25003, 1.75, 0, 0, 0.63889],
8971: [1.25003, 1.75, 0, 0, 0.63889],
9115: [0.64502, 1.155, 0, 0, 0.875],
9116: [1e-5, 0.6, 0, 0, 0.875],
9117: [0.64502, 1.155, 0, 0, 0.875],
9118: [0.64502, 1.155, 0, 0, 0.875],
9119: [1e-5, 0.6, 0, 0, 0.875],
9120: [0.64502, 1.155, 0, 0, 0.875],
9121: [0.64502, 1.155, 0, 0, 0.66667],
9122: [-99e-5, 0.601, 0, 0, 0.66667],
9123: [0.64502, 1.155, 0, 0, 0.66667],
9124: [0.64502, 1.155, 0, 0, 0.66667],
9125: [-99e-5, 0.601, 0, 0, 0.66667],
9126: [0.64502, 1.155, 0, 0, 0.66667],
9127: [1e-5, 0.9, 0, 0, 0.88889],
9128: [0.65002, 1.15, 0, 0, 0.88889],
9129: [0.90001, 0, 0, 0, 0.88889],
9130: [0, 0.3, 0, 0, 0.88889],
9131: [1e-5, 0.9, 0, 0, 0.88889],
9132: [0.65002, 1.15, 0, 0, 0.88889],
9133: [0.90001, 0, 0, 0, 0.88889],
9143: [0.88502, 0.915, 0, 0, 1.05556],
10216: [1.25003, 1.75, 0, 0, 0.80556],
10217: [1.25003, 1.75, 0, 0, 0.80556],
57344: [-0.00499, 0.605, 0, 0, 1.05556],
57345: [-0.00499, 0.605, 0, 0, 1.05556],
57680: [0, 0.12, 0, 0, 0.45],
57681: [0, 0.12, 0, 0, 0.45],
57682: [0, 0.12, 0, 0, 0.45],
57683: [0, 0.12, 0, 0, 0.45],
},
'Typewriter-Regular': {
32: [0, 0, 0, 0, 0.525],
33: [0, 0.61111, 0, 0, 0.525],
34: [0, 0.61111, 0, 0, 0.525],
35: [0, 0.61111, 0, 0, 0.525],
36: [0.08333, 0.69444, 0, 0, 0.525],
37: [0.08333, 0.69444, 0, 0, 0.525],
38: [0, 0.61111, 0, 0, 0.525],
39: [0, 0.61111, 0, 0, 0.525],
40: [0.08333, 0.69444, 0, 0, 0.525],
41: [0.08333, 0.69444, 0, 0, 0.525],
42: [0, 0.52083, 0, 0, 0.525],
43: [-0.08056, 0.53055, 0, 0, 0.525],
44: [0.13889, 0.125, 0, 0, 0.525],
45: [-0.08056, 0.53055, 0, 0, 0.525],
46: [0, 0.125, 0, 0, 0.525],
47: [0.08333, 0.69444, 0, 0, 0.525],
48: [0, 0.61111, 0, 0, 0.525],
49: [0, 0.61111, 0, 0, 0.525],
50: [0, 0.61111, 0, 0, 0.525],
51: [0, 0.61111, 0, 0, 0.525],
52: [0, 0.61111, 0, 0, 0.525],
53: [0, 0.61111, 0, 0, 0.525],
54: [0, 0.61111, 0, 0, 0.525],
55: [0, 0.61111, 0, 0, 0.525],
56: [0, 0.61111, 0, 0, 0.525],
57: [0, 0.61111, 0, 0, 0.525],
58: [0, 0.43056, 0, 0, 0.525],
59: [0.13889, 0.43056, 0, 0, 0.525],
60: [-0.05556, 0.55556, 0, 0, 0.525],
61: [-0.19549, 0.41562, 0, 0, 0.525],
62: [-0.05556, 0.55556, 0, 0, 0.525],
63: [0, 0.61111, 0, 0, 0.525],
64: [0, 0.61111, 0, 0, 0.525],
65: [0, 0.61111, 0, 0, 0.525],
66: [0, 0.61111, 0, 0, 0.525],
67: [0, 0.61111, 0, 0, 0.525],
68: [0, 0.61111, 0, 0, 0.525],
69: [0, 0.61111, 0, 0, 0.525],
70: [0, 0.61111, 0, 0, 0.525],
71: [0, 0.61111, 0, 0, 0.525],
72: [0, 0.61111, 0, 0, 0.525],
73: [0, 0.61111, 0, 0, 0.525],
74: [0, 0.61111, 0, 0, 0.525],
75: [0, 0.61111, 0, 0, 0.525],
76: [0, 0.61111, 0, 0, 0.525],
77: [0, 0.61111, 0, 0, 0.525],
78: [0, 0.61111, 0, 0, 0.525],
79: [0, 0.61111, 0, 0, 0.525],
80: [0, 0.61111, 0, 0, 0.525],
81: [0.13889, 0.61111, 0, 0, 0.525],
82: [0, 0.61111, 0, 0, 0.525],
83: [0, 0.61111, 0, 0, 0.525],
84: [0, 0.61111, 0, 0, 0.525],
85: [0, 0.61111, 0, 0, 0.525],
86: [0, 0.61111, 0, 0, 0.525],
87: [0, 0.61111, 0, 0, 0.525],
88: [0, 0.61111, 0, 0, 0.525],
89: [0, 0.61111, 0, 0, 0.525],
90: [0, 0.61111, 0, 0, 0.525],
91: [0.08333, 0.69444, 0, 0, 0.525],
92: [0.08333, 0.69444, 0, 0, 0.525],
93: [0.08333, 0.69444, 0, 0, 0.525],
94: [0, 0.61111, 0, 0, 0.525],
95: [0.09514, 0, 0, 0, 0.525],
96: [0, 0.61111, 0, 0, 0.525],
97: [0, 0.43056, 0, 0, 0.525],
98: [0, 0.61111, 0, 0, 0.525],
99: [0, 0.43056, 0, 0, 0.525],
100: [0, 0.61111, 0, 0, 0.525],
101: [0, 0.43056, 0, 0, 0.525],
102: [0, 0.61111, 0, 0, 0.525],
103: [0.22222, 0.43056, 0, 0, 0.525],
104: [0, 0.61111, 0, 0, 0.525],
105: [0, 0.61111, 0, 0, 0.525],
106: [0.22222, 0.61111, 0, 0, 0.525],
107: [0, 0.61111, 0, 0, 0.525],
108: [0, 0.61111, 0, 0, 0.525],
109: [0, 0.43056, 0, 0, 0.525],
110: [0, 0.43056, 0, 0, 0.525],
111: [0, 0.43056, 0, 0, 0.525],
112: [0.22222, 0.43056, 0, 0, 0.525],
113: [0.22222, 0.43056, 0, 0, 0.525],
114: [0, 0.43056, 0, 0, 0.525],
115: [0, 0.43056, 0, 0, 0.525],
116: [0, 0.55358, 0, 0, 0.525],
117: [0, 0.43056, 0, 0, 0.525],
118: [0, 0.43056, 0, 0, 0.525],
119: [0, 0.43056, 0, 0, 0.525],
120: [0, 0.43056, 0, 0, 0.525],
121: [0.22222, 0.43056, 0, 0, 0.525],
122: [0, 0.43056, 0, 0, 0.525],
123: [0.08333, 0.69444, 0, 0, 0.525],
124: [0.08333, 0.69444, 0, 0, 0.525],
125: [0.08333, 0.69444, 0, 0, 0.525],
126: [0, 0.61111, 0, 0, 0.525],
127: [0, 0.61111, 0, 0, 0.525],
160: [0, 0, 0, 0, 0.525],
176: [0, 0.61111, 0, 0, 0.525],
184: [0.19445, 0, 0, 0, 0.525],
305: [0, 0.43056, 0, 0, 0.525],
567: [0.22222, 0.43056, 0, 0, 0.525],
711: [0, 0.56597, 0, 0, 0.525],
713: [0, 0.56555, 0, 0, 0.525],
714: [0, 0.61111, 0, 0, 0.525],
715: [0, 0.61111, 0, 0, 0.525],
728: [0, 0.61111, 0, 0, 0.525],
730: [0, 0.61111, 0, 0, 0.525],
770: [0, 0.61111, 0, 0, 0.525],
771: [0, 0.61111, 0, 0, 0.525],
776: [0, 0.61111, 0, 0, 0.525],
915: [0, 0.61111, 0, 0, 0.525],
916: [0, 0.61111, 0, 0, 0.525],
920: [0, 0.61111, 0, 0, 0.525],
923: [0, 0.61111, 0, 0, 0.525],
926: [0, 0.61111, 0, 0, 0.525],
928: [0, 0.61111, 0, 0, 0.525],
931: [0, 0.61111, 0, 0, 0.525],
933: [0, 0.61111, 0, 0, 0.525],
934: [0, 0.61111, 0, 0, 0.525],
936: [0, 0.61111, 0, 0, 0.525],
937: [0, 0.61111, 0, 0, 0.525],
8216: [0, 0.61111, 0, 0, 0.525],
8217: [0, 0.61111, 0, 0, 0.525],
8242: [0, 0.61111, 0, 0, 0.525],
9251: [0.11111, 0.21944, 0, 0, 0.525],
},
},
ve = {
slant: [0.25, 0.25, 0.25],
space: [0, 0, 0],
stretch: [0, 0, 0],
shrink: [0, 0, 0],
xHeight: [0.431, 0.431, 0.431],
quad: [1, 1.171, 1.472],
extraSpace: [0, 0, 0],
num1: [0.677, 0.732, 0.925],
num2: [0.394, 0.384, 0.387],
num3: [0.444, 0.471, 0.504],
denom1: [0.686, 0.752, 1.025],
denom2: [0.345, 0.344, 0.532],
sup1: [0.413, 0.503, 0.504],
sup2: [0.363, 0.431, 0.404],
sup3: [0.289, 0.286, 0.294],
sub1: [0.15, 0.143, 0.2],
sub2: [0.247, 0.286, 0.4],
supDrop: [0.386, 0.353, 0.494],
subDrop: [0.05, 0.071, 0.1],
delim1: [2.39, 1.7, 1.98],
delim2: [1.01, 1.157, 1.42],
axisHeight: [0.25, 0.25, 0.25],
defaultRuleThickness: [0.04, 0.049, 0.049],
bigOpSpacing1: [0.111, 0.111, 0.111],
bigOpSpacing2: [0.166, 0.166, 0.166],
bigOpSpacing3: [0.2, 0.2, 0.2],
bigOpSpacing4: [0.6, 0.611, 0.611],
bigOpSpacing5: [0.1, 0.143, 0.143],
sqrtRuleThickness: [0.04, 0.04, 0.04],
ptPerEm: [10, 10, 10],
doubleRuleSep: [0.2, 0.2, 0.2],
arrayRuleWidth: [0.04, 0.04, 0.04],
fboxsep: [0.3, 0.3, 0.3],
fboxrule: [0.04, 0.04, 0.04],
},
Ot = {
Å: '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 Ga(r, e) {
x0[r] = e;
}
function ft(r, e, t) {
if (!x0[e]) throw new Error('Font metrics not found for font: ' + e + '.');
var a = r.charCodeAt(0),
n = x0[e][a];
if ((!n && r[0] in Ot && ((a = Ot[r[0]].charCodeAt(0)), (n = x0[e][a])), !n && t === 'text' && vr(a) && (n = x0[e][77]), n))
return { depth: n[0], height: n[1], italic: n[2], skew: n[3], width: n[4] };
}
var Ue = {};
function Va(r) {
var e;
if ((r >= 5 ? (e = 0) : r >= 3 ? (e = 1) : (e = 2), !Ue[e])) {
var t = (Ue[e] = { cssEmPerMu: ve.quad[e] / 18 });
for (var a in ve) ve.hasOwnProperty(a) && (t[a] = ve[a][e]);
}
return Ue[e];
}
var Ua = [
[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],
],
Ht = [0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.2, 1.44, 1.728, 2.074, 2.488],
Ft = function (e, t) {
return t.size < 2 ? e : Ua[e - 1][t.size - 1];
};
class A0 {
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 || A0.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 = Ht[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 A0(t);
}
havingStyle(e) {
return this.style === e ? this : this.extend({ style: e, size: Ft(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: Ht[e - 1] });
}
havingBaseStyle(e) {
e = e || this.style.text();
var t = Ft(A0.BASESIZE, e);
return this.size === t && this.textSize === A0.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 !== A0.BASESIZE ? ['sizing', 'reset-size' + this.size, 'size' + A0.BASESIZE] : [];
}
fontMetrics() {
return this._fontMetrics || (this._fontMetrics = Va(this.size)), this._fontMetrics;
}
getColor() {
return this.phantom ? 'transparent' : this.color;
}
}
A0.BASESIZE = 6;
var nt = {
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,
},
Ya = { ex: !0, em: !0, mu: !0 },
gr = function (e) {
return typeof e != 'string' && (e = e.unit), e in nt || e in Ya || e === 'ex';
},
K = function (e, t) {
var a;
if (e.unit in nt) a = nt[e.unit] / t.fontMetrics().ptPerEm / t.sizeMultiplier;
else if (e.unit === 'mu') a = t.fontMetrics().cssEmPerMu;
else {
var n;
if ((t.style.isTight() ? (n = t.havingStyle(t.style.text())) : (n = t), e.unit === 'ex')) a = n.fontMetrics().xHeight;
else if (e.unit === 'em') a = n.fontMetrics().quad;
else throw new M("Invalid unit: '" + e.unit + "'");
n !== t && (a *= n.sizeMultiplier / t.sizeMultiplier);
}
return Math.min(e.number * a, t.maxSize);
},
A = function (e) {
return +e.toFixed(4) + 'em';
},
L0 = function (e) {
return e.filter((t) => t).join(' ');
},
br = 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 n = t.getColor();
n && (this.style.color = n);
}
},
yr = function (e) {
var t = document.createElement(e);
t.className = L0(this.classes);
for (var a in this.style) this.style.hasOwnProperty(a) && (t.style[a] = this.style[a]);
for (var n in this.attributes) this.attributes.hasOwnProperty(n) && t.setAttribute(n, this.attributes[n]);
for (var s = 0; s < this.children.length; s++) t.appendChild(this.children[s].toNode());
return t;
},
xr = function (e) {
var t = '<' + e;
this.classes.length && (t += ' class="' + q.escape(L0(this.classes)) + '"');
var a = '';
for (var n in this.style) this.style.hasOwnProperty(n) && (a += q.hyphenate(n) + ':' + this.style[n] + ';');
a && (t += ' style="' + q.escape(a) + '"');
for (var s in this.attributes) this.attributes.hasOwnProperty(s) && (t += ' ' + s + '="' + q.escape(this.attributes[s]) + '"');
t += '>';
for (var o = 0; o < this.children.length; o++) t += this.children[o].toMarkup();
return (t += '</' + e + '>'), t;
};
class he {
constructor(e, t, a, n) {
(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),
br.call(this, e, a, n),
(this.children = t || []);
}
setAttribute(e, t) {
this.attributes[e] = t;
}
hasClass(e) {
return q.contains(this.classes, e);
}
toNode() {
return yr.call(this, 'span');
}
toMarkup() {
return xr.call(this, 'span');
}
}
class pt {
constructor(e, t, a, n) {
(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),
br.call(this, t, n),
(this.children = a || []),
this.setAttribute('href', e);
}
setAttribute(e, t) {
this.attributes[e] = t;
}
hasClass(e) {
return q.contains(this.classes, e);
}
toNode() {
return yr.call(this, 'a');
}
toMarkup() {
return xr.call(this, 'a');
}
}
class Xa {
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 q.contains(this.classes, 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="' + q.escape(this.src) + '"' + (' alt="' + q.escape(this.alt) + '"'),
t = '';
for (var a in this.style) this.style.hasOwnProperty(a) && (t += q.hyphenate(a) + ':' + this.style[a] + ';');
return t && (e += ' style="' + q.escape(t) + '"'), (e += "'/>"), e;
}
}
var $a = { î: 'ı̂', ï: 'ı̈', í: 'ı́', ì: 'ı̀' };
class p0 {
constructor(e, t, a, n, s, o, h, c) {
(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 = n || 0),
(this.skew = s || 0),
(this.width = o || 0),
(this.classes = h || []),
(this.style = c || {}),
(this.maxFontSize = 0);
var p = Ca(this.text.charCodeAt(0));
p && this.classes.push(p + '_fallback'), /[îïíì]/.test(this.text) && (this.text = $a[this.text]);
}
hasClass(e) {
return q.contains(this.classes, e);
}
toNode() {
var e = document.createTextNode(this.text),
t = null;
this.italic > 0 && ((t = document.createElement('span')), (t.style.marginRight = A(this.italic))),
this.classes.length > 0 && ((t = t || document.createElement('span')), (t.className = L0(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 += q.escape(L0(this.classes))), (t += '"'));
var a = '';
this.italic > 0 && (a += 'margin-right:' + this.italic + 'em;');
for (var n in this.style) this.style.hasOwnProperty(n) && (a += q.hyphenate(n) + ':' + this.style[n] + ';');
a && ((e = !0), (t += ' style="' + q.escape(a) + '"'));
var s = q.escape(this.text);
return e ? ((t += '>'), (t += s), (t += '</span>'), t) : s;
}
}
class D0 {
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 n = 0; n < this.children.length; n++) t.appendChild(this.children[n].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 + '="' + q.escape(this.attributes[t]) + '"');
e += '>';
for (var a = 0; a < this.children.length; a++) e += this.children[a].toMarkup();
return (e += '</svg>'), e;
}
}
class P0 {
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', It[this.pathName]), t;
}
toMarkup() {
return this.alternate ? '<path d="' + q.escape(this.alternate) + '"/>' : '<path d="' + q.escape(It[this.pathName]) + '"/>';
}
}
class it {
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 + '="' + q.escape(this.attributes[t]) + '"');
return (e += '/>'), e;
}
}
function Lt(r) {
if (r instanceof p0) return r;
throw new Error('Expected symbolNode but got ' + String(r) + '.');
}
function Wa(r) {
if (r instanceof he) return r;
throw new Error('Expected span<HtmlDomNode> but got ' + String(r) + '.');
}
var ja = { bin: 1, close: 1, inner: 1, open: 1, punct: 1, rel: 1 },
Za = { 'accent-token': 1, mathord: 1, 'op-token': 1, spacing: 1, textord: 1 },
$ = { math: {}, text: {} };
function i(r, e, t, a, n, s) {
($[r][n] = { font: e, group: t, replace: a }), s && a && ($[r][a] = $[r][n]);
}
var l = 'math',
k = 'text',
u = 'main',
d = 'ams',
W = 'accent-token',
D = 'bin',
i0 = 'close',
te = 'inner',
E = 'mathord',
_ = 'op-token',
h0 = 'open',
qe = 'punct',
f = 'rel',
q0 = 'spacing',
v = 'textord';
i(l, u, f, '≡', '\\equiv', !0);
i(l, u, f, '≺', '\\prec', !0);
i(l, u, f, '≻', '\\succ', !0);
i(l, u, f, '', '\\sim', !0);
i(l, u, f, '⊥', '\\perp');
i(l, u, f, '⪯', '\\preceq', !0);
i(l, u, f, '⪰', '\\succeq', !0);
i(l, u, f, '≃', '\\simeq', !0);
i(l, u, f, '', '\\mid', !0);
i(l, u, f, '≪', '\\ll', !0);
i(l, u, f, '≫', '\\gg', !0);
i(l, u, f, '≍', '\\asymp', !0);
i(l, u, f, '∥', '\\parallel');
i(l, u, f, '⋈', '\\bowtie', !0);
i(l, u, f, '⌣', '\\smile', !0);
i(l, u, f, '⊑', '\\sqsubseteq', !0);
i(l, u, f, '⊒', '\\sqsupseteq', !0);
i(l, u, f, '≐', '\\doteq', !0);
i(l, u, f, '⌢', '\\frown', !0);
i(l, u, f, '∋', '\\ni', !0);
i(l, u, f, '∝', '\\propto', !0);
i(l, u, f, '⊢', '\\vdash', !0);
i(l, u, f, '⊣', '\\dashv', !0);
i(l, u, f, '∋', '\\owns');
i(l, u, qe, '.', '\\ldotp');
i(l, u, qe, '⋅', '\\cdotp');
i(l, u, v, '#', '\\#');
i(k, u, v, '#', '\\#');
i(l, u, v, '&', '\\&');
i(k, u, v, '&', '\\&');
i(l, u, v, 'ℵ', '\\aleph', !0);
i(l, u, v, '∀', '\\forall', !0);
i(l, u, v, 'ℏ', '\\hbar', !0);
i(l, u, v, '∃', '\\exists', !0);
i(l, u, v, '∇', '\\nabla', !0);
i(l, u, v, '♭', '\\flat', !0);
i(l, u, v, '', '\\ell', !0);
i(l, u, v, '♮', '\\natural', !0);
i(l, u, v, '♣', '\\clubsuit', !0);
i(l, u, v, '℘', '\\wp', !0);
i(l, u, v, '♯', '\\sharp', !0);
i(l, u, v, '♢', '\\diamondsuit', !0);
i(l, u, v, '', '\\Re', !0);
i(l, u, v, '♡', '\\heartsuit', !0);
i(l, u, v, '', '\\Im', !0);
i(l, u, v, '♠', '\\spadesuit', !0);
i(l, u, v, '§', '\\S', !0);
i(k, u, v, '§', '\\S');
i(l, u, v, '¶', '\\P', !0);
i(k, u, v, '¶', '\\P');
i(l, u, v, '†', '\\dag');
i(k, u, v, '†', '\\dag');
i(k, u, v, '†', '\\textdagger');
i(l, u, v, '‡', '\\ddag');
i(k, u, v, '‡', '\\ddag');
i(k, u, v, '‡', '\\textdaggerdbl');
i(l, u, i0, '⎱', '\\rmoustache', !0);
i(l, u, h0, '⎰', '\\lmoustache', !0);
i(l, u, i0, '⟯', '\\rgroup', !0);
i(l, u, h0, '⟮', '\\lgroup', !0);
i(l, u, D, '∓', '\\mp', !0);
i(l, u, D, '⊖', '\\ominus', !0);
i(l, u, D, '⊎', '\\uplus', !0);
i(l, u, D, '⊓', '\\sqcap', !0);
i(l, u, D, '', '\\ast');
i(l, u, D, '⊔', '\\sqcup', !0);
i(l, u, D, '◯', '\\bigcirc', !0);
i(l, u, D, '∙', '\\bullet', !0);
i(l, u, D, '‡', '\\ddagger');
i(l, u, D, '≀', '\\wr', !0);
i(l, u, D, '⨿', '\\amalg');
i(l, u, D, '&', '\\And');
i(l, u, f, '⟵', '\\longleftarrow', !0);
i(l, u, f, '⇐', '\\Leftarrow', !0);
i(l, u, f, '⟸', '\\Longleftarrow', !0);
i(l, u, f, '⟶', '\\longrightarrow', !0);
i(l, u, f, '⇒', '\\Rightarrow', !0);
i(l, u, f, '⟹', '\\Longrightarrow', !0);
i(l, u, f, '↔', '\\leftrightarrow', !0);
i(l, u, f, '⟷', '\\longleftrightarrow', !0);
i(l, u, f, '⇔', '\\Leftrightarrow', !0);
i(l, u, f, '⟺', '\\Longleftrightarrow', !0);
i(l, u, f, '↦', '\\mapsto', !0);
i(l, u, f, '⟼', '\\longmapsto', !0);
i(l, u, f, '↗', '\\nearrow', !0);
i(l, u, f, '↩', '\\hookleftarrow', !0);
i(l, u, f, '↪', '\\hookrightarrow', !0);
i(l, u, f, '↘', '\\searrow', !0);
i(l, u, f, '↼', '\\leftharpoonup', !0);
i(l, u, f, '⇀', '\\rightharpoonup', !0);
i(l, u, f, '↙', '\\swarrow', !0);
i(l, u, f, '↽', '\\leftharpoondown', !0);
i(l, u, f, '⇁', '\\rightharpoondown', !0);
i(l, u, f, '↖', '\\nwarrow', !0);
i(l, u, f, '⇌', '\\rightleftharpoons', !0);
i(l, d, f, '≮', '\\nless', !0);
i(l, d, f, '', '\\@nleqslant');
i(l, d, f, '', '\\@nleqq');
i(l, d, f, '⪇', '\\lneq', !0);
i(l, d, f, '≨', '\\lneqq', !0);
i(l, d, f, '', '\\@lvertneqq');
i(l, d, f, '⋦', '\\lnsim', !0);
i(l, d, f, '⪉', '\\lnapprox', !0);
i(l, d, f, '⊀', '\\nprec', !0);
i(l, d, f, '⋠', '\\npreceq', !0);
i(l, d, f, '⋨', '\\precnsim', !0);
i(l, d, f, '⪹', '\\precnapprox', !0);
i(l, d, f, '≁', '\\nsim', !0);
i(l, d, f, '', '\\@nshortmid');
i(l, d, f, '∤', '\\nmid', !0);
i(l, d, f, '⊬', '\\nvdash', !0);
i(l, d, f, '⊭', '\\nvDash', !0);
i(l, d, f, '⋪', '\\ntriangleleft');
i(l, d, f, '⋬', '\\ntrianglelefteq', !0);
i(l, d, f, '⊊', '\\subsetneq', !0);
i(l, d, f, '', '\\@varsubsetneq');
i(l, d, f, '⫋', '\\subsetneqq', !0);
i(l, d, f, '', '\\@varsubsetneqq');
i(l, d, f, '≯', '\\ngtr', !0);
i(l, d, f, '', '\\@ngeqslant');
i(l, d, f, '', '\\@ngeqq');
i(l, d, f, '⪈', '\\gneq', !0);
i(l, d, f, '≩', '\\gneqq', !0);
i(l, d, f, '', '\\@gvertneqq');
i(l, d, f, '⋧', '\\gnsim', !0);
i(l, d, f, '⪊', '\\gnapprox', !0);
i(l, d, f, '⊁', '\\nsucc', !0);
i(l, d, f, '⋡', '\\nsucceq', !0);
i(l, d, f, '⋩', '\\succnsim', !0);
i(l, d, f, '⪺', '\\succnapprox', !0);
i(l, d, f, '≆', '\\ncong', !0);
i(l, d, f, '', '\\@nshortparallel');
i(l, d, f, '∦', '\\nparallel', !0);
i(l, d, f, '⊯', '\\nVDash', !0);
i(l, d, f, '⋫', '\\ntriangleright');
i(l, d, f, '⋭', '\\ntrianglerighteq', !0);
i(l, d, f, '', '\\@nsupseteqq');
i(l, d, f, '⊋', '\\supsetneq', !0);
i(l, d, f, '', '\\@varsupsetneq');
i(l, d, f, '⫌', '\\supsetneqq', !0);
i(l, d, f, '', '\\@varsupsetneqq');
i(l, d, f, '⊮', '\\nVdash', !0);
i(l, d, f, '⪵', '\\precneqq', !0);
i(l, d, f, '⪶', '\\succneqq', !0);
i(l, d, f, '', '\\@nsubseteqq');
i(l, d, D, '⊴', '\\unlhd');
i(l, d, D, '⊵', '\\unrhd');
i(l, d, f, '↚', '\\nleftarrow', !0);
i(l, d, f, '↛', '\\nrightarrow', !0);
i(l, d, f, '⇍', '\\nLeftarrow', !0);
i(l, d, f, '⇏', '\\nRightarrow', !0);
i(l, d, f, '↮', '\\nleftrightarrow', !0);
i(l, d, f, '⇎', '\\nLeftrightarrow', !0);
i(l, d, f, '△', '\\vartriangle');
i(l, d, v, 'ℏ', '\\hslash');
i(l, d, v, '▽', '\\triangledown');
i(l, d, v, '◊', '\\lozenge');
i(l, d, v, 'Ⓢ', '\\circledS');
i(l, d, v, '®', '\\circledR');
i(k, d, v, '®', '\\circledR');
i(l, d, v, '∡', '\\measuredangle', !0);
i(l, d, v, '∄', '\\nexists');
i(l, d, v, '℧', '\\mho');
i(l, d, v, 'Ⅎ', '\\Finv', !0);
i(l, d, v, '⅁', '\\Game', !0);
i(l, d, v, '', '\\backprime');
i(l, d, v, '▲', '\\blacktriangle');
i(l, d, v, '▼', '\\blacktriangledown');
i(l, d, v, '■', '\\blacksquare');
i(l, d, v, '⧫', '\\blacklozenge');
i(l, d, v, '★', '\\bigstar');
i(l, d, v, '∢', '\\sphericalangle', !0);
i(l, d, v, '∁', '\\complement', !0);
i(l, d, v, 'ð', '\\eth', !0);
i(k, u, v, 'ð', 'ð');
i(l, d, v, '', '\\diagup');
i(l, d, v, '╲', '\\diagdown');
i(l, d, v, '□', '\\square');
i(l, d, v, '□', '\\Box');
i(l, d, v, '◊', '\\Diamond');
i(l, d, v, '¥', '\\yen', !0);
i(k, d, v, '¥', '\\yen', !0);
i(l, d, v, '✓', '\\checkmark', !0);
i(k, d, v, '✓', '\\checkmark');
i(l, d, v, 'ℶ', '\\beth', !0);
i(l, d, v, 'ℸ', '\\daleth', !0);
i(l, d, v, 'ℷ', '\\gimel', !0);
i(l, d, v, 'ϝ', '\\digamma', !0);
i(l, d, v, 'ϰ', '\\varkappa');
i(l, d, h0, '┌', '\\@ulcorner', !0);
i(l, d, i0, '┐', '\\@urcorner', !0);
i(l, d, h0, '└', '\\@llcorner', !0);
i(l, d, i0, '┘', '\\@lrcorner', !0);
i(l, d, f, '≦', '\\leqq', !0);
i(l, d, f, '⩽', '\\leqslant', !0);
i(l, d, f, '⪕', '\\eqslantless', !0);
i(l, d, f, '≲', '\\lesssim', !0);
i(l, d, f, '⪅', '\\lessapprox', !0);
i(l, d, f, '≊', '\\approxeq', !0);
i(l, d, D, '⋖', '\\lessdot');
i(l, d, f, '⋘', '\\lll', !0);
i(l, d, f, '≶', '\\lessgtr', !0);
i(l, d, f, '⋚', '\\lesseqgtr', !0);
i(l, d, f, '⪋', '\\lesseqqgtr', !0);
i(l, d, f, '≑', '\\doteqdot');
i(l, d, f, '≓', '\\risingdotseq', !0);
i(l, d, f, '≒', '\\fallingdotseq', !0);
i(l, d, f, '∽', '\\backsim', !0);
i(l, d, f, '⋍', '\\backsimeq', !0);
i(l, d, f, '⫅', '\\subseteqq', !0);
i(l, d, f, '⋐', '\\Subset', !0);
i(l, d, f, '⊏', '\\sqsubset', !0);
i(l, d, f, '≼', '\\preccurlyeq', !0);
i(l, d, f, '⋞', '\\curlyeqprec', !0);
i(l, d, f, '≾', '\\precsim', !0);
i(l, d, f, '⪷', '\\precapprox', !0);
i(l, d, f, '⊲', '\\vartriangleleft');
i(l, d, f, '⊴', '\\trianglelefteq');
i(l, d, f, '⊨', '\\vDash', !0);
i(l, d, f, '⊪', '\\Vvdash', !0);
i(l, d, f, '⌣', '\\smallsmile');
i(l, d, f, '⌢', '\\smallfrown');
i(l, d, f, '≏', '\\bumpeq', !0);
i(l, d, f, '≎', '\\Bumpeq', !0);
i(l, d, f, '≧', '\\geqq', !0);
i(l, d, f, '⩾', '\\geqslant', !0);
i(l, d, f, '⪖', '\\eqslantgtr', !0);
i(l, d, f, '≳', '\\gtrsim', !0);
i(l, d, f, '⪆', '\\gtrapprox', !0);
i(l, d, D, '⋗', '\\gtrdot');
i(l, d, f, '⋙', '\\ggg', !0);
i(l, d, f, '≷', '\\gtrless', !0);
i(l, d, f, '⋛', '\\gtreqless', !0);
i(l, d, f, '⪌', '\\gtreqqless', !0);
i(l, d, f, '≖', '\\eqcirc', !0);
i(l, d, f, '≗', '\\circeq', !0);
i(l, d, f, '≜', '\\triangleq', !0);
i(l, d, f, '', '\\thicksim');
i(l, d, f, '≈', '\\thickapprox');
i(l, d, f, '⫆', '\\supseteqq', !0);
i(l, d, f, '⋑', '\\Supset', !0);
i(l, d, f, '⊐', '\\sqsupset', !0);
i(l, d, f, '≽', '\\succcurlyeq', !0);
i(l, d, f, '⋟', '\\curlyeqsucc', !0);
i(l, d, f, '≿', '\\succsim', !0);
i(l, d, f, '⪸', '\\succapprox', !0);
i(l, d, f, '⊳', '\\vartriangleright');
i(l, d, f, '⊵', '\\trianglerighteq');
i(l, d, f, '⊩', '\\Vdash', !0);
i(l, d, f, '', '\\shortmid');
i(l, d, f, '∥', '\\shortparallel');
i(l, d, f, '≬', '\\between', !0);
i(l, d, f, '⋔', '\\pitchfork', !0);
i(l, d, f, '∝', '\\varpropto');
i(l, d, f, '◀', '\\blacktriangleleft');
i(l, d, f, '∴', '\\therefore', !0);
i(l, d, f, '∍', '\\backepsilon');
i(l, d, f, '▶', '\\blacktriangleright');
i(l, d, f, '∵', '\\because', !0);
i(l, d, f, '⋘', '\\llless');
i(l, d, f, '⋙', '\\gggtr');
i(l, d, D, '⊲', '\\lhd');
i(l, d, D, '⊳', '\\rhd');
i(l, d, f, '≂', '\\eqsim', !0);
i(l, u, f, '⋈', '\\Join');
i(l, d, f, '≑', '\\Doteq', !0);
i(l, d, D, '∔', '\\dotplus', !0);
i(l, d, D, '', '\\smallsetminus');
i(l, d, D, '⋒', '\\Cap', !0);
i(l, d, D, '⋓', '\\Cup', !0);
i(l, d, D, '⩞', '\\doublebarwedge', !0);
i(l, d, D, '⊟', '\\boxminus', !0);
i(l, d, D, '⊞', '\\boxplus', !0);
i(l, d, D, '⋇', '\\divideontimes', !0);
i(l, d, D, '⋉', '\\ltimes', !0);
i(l, d, D, '⋊', '\\rtimes', !0);
i(l, d, D, '⋋', '\\leftthreetimes', !0);
i(l, d, D, '⋌', '\\rightthreetimes', !0);
i(l, d, D, '⋏', '\\curlywedge', !0);
i(l, d, D, '⋎', '\\curlyvee', !0);
i(l, d, D, '⊝', '\\circleddash', !0);
i(l, d, D, '⊛', '\\circledast', !0);
i(l, d, D, '⋅', '\\centerdot');
i(l, d, D, '⊺', '\\intercal', !0);
i(l, d, D, '⋒', '\\doublecap');
i(l, d, D, '⋓', '\\doublecup');
i(l, d, D, '⊠', '\\boxtimes', !0);
i(l, d, f, '⇢', '\\dashrightarrow', !0);
i(l, d, f, '⇠', '\\dashleftarrow', !0);
i(l, d, f, '⇇', '\\leftleftarrows', !0);
i(l, d, f, '⇆', '\\leftrightarrows', !0);
i(l, d, f, '⇚', '\\Lleftarrow', !0);
i(l, d, f, '↞', '\\twoheadleftarrow', !0);
i(l, d, f, '↢', '\\leftarrowtail', !0);
i(l, d, f, '↫', '\\looparrowleft', !0);
i(l, d, f, '⇋', '\\leftrightharpoons', !0);
i(l, d, f, '↶', '\\curvearrowleft', !0);
i(l, d, f, '↺', '\\circlearrowleft', !0);
i(l, d, f, '↰', '\\Lsh', !0);
i(l, d, f, '⇈', '\\upuparrows', !0);
i(l, d, f, '↿', '\\upharpoonleft', !0);
i(l, d, f, '⇃', '\\downharpoonleft', !0);
i(l, u, f, '⊶', '\\origof', !0);
i(l, u, f, '⊷', '\\imageof', !0);
i(l, d, f, '⊸', '\\multimap', !0);
i(l, d, f, '↭', '\\leftrightsquigarrow', !0);
i(l, d, f, '⇉', '\\rightrightarrows', !0);
i(l, d, f, '⇄', '\\rightleftarrows', !0);
i(l, d, f, '↠', '\\twoheadrightarrow', !0);
i(l, d, f, '↣', '\\rightarrowtail', !0);
i(l, d, f, '↬', '\\looparrowright', !0);
i(l, d, f, '↷', '\\curvearrowright', !0);
i(l, d, f, '↻', '\\circlearrowright', !0);
i(l, d, f, '↱', '\\Rsh', !0);
i(l, d, f, '⇊', '\\downdownarrows', !0);
i(l, d, f, '↾', '\\upharpoonright', !0);
i(l, d, f, '⇂', '\\downharpoonright', !0);
i(l, d, f, '⇝', '\\rightsquigarrow', !0);
i(l, d, f, '⇝', '\\leadsto');
i(l, d, f, '⇛', '\\Rrightarrow', !0);
i(l, d, f, '↾', '\\restriction');
i(l, u, v, '', '`');
i(l, u, v, '$', '\\$');
i(k, u, v, '$', '\\$');
i(k, u, v, '$', '\\textdollar');
i(l, u, v, '%', '\\%');
i(k, u, v, '%', '\\%');
i(l, u, v, '_', '\\_');
i(k, u, v, '_', '\\_');
i(k, u, v, '_', '\\textunderscore');
i(l, u, v, '∠', '\\angle', !0);
i(l, u, v, '∞', '\\infty', !0);
i(l, u, v, '', '\\prime');
i(l, u, v, '△', '\\triangle');
i(l, u, v, 'Γ', '\\Gamma', !0);
i(l, u, v, 'Δ', '\\Delta', !0);
i(l, u, v, 'Θ', '\\Theta', !0);
i(l, u, v, 'Λ', '\\Lambda', !0);
i(l, u, v, 'Ξ', '\\Xi', !0);
i(l, u, v, 'Π', '\\Pi', !0);
i(l, u, v, 'Σ', '\\Sigma', !0);
i(l, u, v, 'Υ', '\\Upsilon', !0);
i(l, u, v, 'Φ', '\\Phi', !0);
i(l, u, v, 'Ψ', '\\Psi', !0);
i(l, u, v, 'Ω', '\\Omega', !0);
i(l, u, v, 'A', 'Α');
i(l, u, v, 'B', 'Β');
i(l, u, v, 'E', 'Ε');
i(l, u, v, 'Z', 'Ζ');
i(l, u, v, 'H', 'Η');
i(l, u, v, 'I', 'Ι');
i(l, u, v, 'K', 'Κ');
i(l, u, v, 'M', 'Μ');
i(l, u, v, 'N', 'Ν');
i(l, u, v, 'O', 'Ο');
i(l, u, v, 'P', 'Ρ');
i(l, u, v, 'T', 'Τ');
i(l, u, v, 'X', 'Χ');
i(l, u, v, '¬', '\\neg', !0);
i(l, u, v, '¬', '\\lnot');
i(l, u, v, '', '\\top');
i(l, u, v, '⊥', '\\bot');
i(l, u, v, '∅', '\\emptyset');
i(l, d, v, '∅', '\\varnothing');
i(l, u, E, 'α', '\\alpha', !0);
i(l, u, E, 'β', '\\beta', !0);
i(l, u, E, 'γ', '\\gamma', !0);
i(l, u, E, 'δ', '\\delta', !0);
i(l, u, E, 'ϵ', '\\epsilon', !0);
i(l, u, E, 'ζ', '\\zeta', !0);
i(l, u, E, 'η', '\\eta', !0);
i(l, u, E, 'θ', '\\theta', !0);
i(l, u, E, 'ι', '\\iota', !0);
i(l, u, E, 'κ', '\\kappa', !0);
i(l, u, E, 'λ', '\\lambda', !0);
i(l, u, E, 'μ', '\\mu', !0);
i(l, u, E, 'ν', '\\nu', !0);
i(l, u, E, 'ξ', '\\xi', !0);
i(l, u, E, 'ο', '\\omicron', !0);
i(l, u, E, 'π', '\\pi', !0);
i(l, u, E, 'ρ', '\\rho', !0);
i(l, u, E, 'σ', '\\sigma', !0);
i(l, u, E, 'τ', '\\tau', !0);
i(l, u, E, 'υ', '\\upsilon', !0);
i(l, u, E, 'ϕ', '\\phi', !0);
i(l, u, E, 'χ', '\\chi', !0);
i(l, u, E, 'ψ', '\\psi', !0);
i(l, u, E, 'ω', '\\omega', !0);
i(l, u, E, 'ε', '\\varepsilon', !0);
i(l, u, E, 'ϑ', '\\vartheta', !0);
i(l, u, E, 'ϖ', '\\varpi', !0);
i(l, u, E, 'ϱ', '\\varrho', !0);
i(l, u, E, 'ς', '\\varsigma', !0);
i(l, u, E, 'φ', '\\varphi', !0);
i(l, u, D, '', '*', !0);
i(l, u, D, '+', '+');
i(l, u, D, '', '-', !0);
i(l, u, D, '⋅', '\\cdot', !0);
i(l, u, D, '∘', '\\circ', !0);
i(l, u, D, '÷', '\\div', !0);
i(l, u, D, '±', '\\pm', !0);
i(l, u, D, '×', '\\times', !0);
i(l, u, D, '∩', '\\cap', !0);
i(l, u, D, '', '\\cup', !0);
i(l, u, D, '', '\\setminus', !0);
i(l, u, D, '∧', '\\land');
i(l, u, D, '', '\\lor');
i(l, u, D, '∧', '\\wedge', !0);
i(l, u, D, '', '\\vee', !0);
i(l, u, v, '√', '\\surd');
i(l, u, h0, '⟨', '\\langle', !0);
i(l, u, h0, '', '\\lvert');
i(l, u, h0, '∥', '\\lVert');
i(l, u, i0, '?', '?');
i(l, u, i0, '!', '!');
i(l, u, i0, '⟩', '\\rangle', !0);
i(l, u, i0, '', '\\rvert');
i(l, u, i0, '∥', '\\rVert');
i(l, u, f, '=', '=');
i(l, u, f, ':', ':');
i(l, u, f, '≈', '\\approx', !0);
i(l, u, f, '≅', '\\cong', !0);
i(l, u, f, '≥', '\\ge');
i(l, u, f, '≥', '\\geq', !0);
i(l, u, f, '←', '\\gets');
i(l, u, f, '>', '\\gt', !0);
i(l, u, f, '∈', '\\in', !0);
i(l, u, f, '', '\\@not');
i(l, u, f, '⊂', '\\subset', !0);
i(l, u, f, '⊃', '\\supset', !0);
i(l, u, f, '⊆', '\\subseteq', !0);
i(l, u, f, '⊇', '\\supseteq', !0);
i(l, d, f, '⊈', '\\nsubseteq', !0);
i(l, d, f, '⊉', '\\nsupseteq', !0);
i(l, u, f, '⊨', '\\models');
i(l, u, f, '←', '\\leftarrow', !0);
i(l, u, f, '≤', '\\le');
i(l, u, f, '≤', '\\leq', !0);
i(l, u, f, '<', '\\lt', !0);
i(l, u, f, '→', '\\rightarrow', !0);
i(l, u, f, '→', '\\to');
i(l, d, f, '≱', '\\ngeq', !0);
i(l, d, f, '≰', '\\nleq', !0);
i(l, u, q0, ' ', '\\ ');
i(l, u, q0, ' ', '\\space');
i(l, u, q0, ' ', '\\nobreakspace');
i(k, u, q0, ' ', '\\ ');
i(k, u, q0, ' ', ' ');
i(k, u, q0, ' ', '\\space');
i(k, u, q0, ' ', '\\nobreakspace');
i(l, u, q0, null, '\\nobreak');
i(l, u, q0, null, '\\allowbreak');
i(l, u, qe, ',', ',');
i(l, u, qe, ';', ';');
i(l, d, D, '⊼', '\\barwedge', !0);
i(l, d, D, '⊻', '\\veebar', !0);
i(l, u, D, '⊙', '\\odot', !0);
i(l, u, D, '⊕', '\\oplus', !0);
i(l, u, D, '⊗', '\\otimes', !0);
i(l, u, v, '∂', '\\partial', !0);
i(l, u, D, '⊘', '\\oslash', !0);
i(l, d, D, '⊚', '\\circledcirc', !0);
i(l, d, D, '⊡', '\\boxdot', !0);
i(l, u, D, '△', '\\bigtriangleup');
i(l, u, D, '▽', '\\bigtriangledown');
i(l, u, D, '†', '\\dagger');
i(l, u, D, '⋄', '\\diamond');
i(l, u, D, '⋆', '\\star');
i(l, u, D, '◃', '\\triangleleft');
i(l, u, D, '▹', '\\triangleright');
i(l, u, h0, '{', '\\{');
i(k, u, v, '{', '\\{');
i(k, u, v, '{', '\\textbraceleft');
i(l, u, i0, '}', '\\}');
i(k, u, v, '}', '\\}');
i(k, u, v, '}', '\\textbraceright');
i(l, u, h0, '{', '\\lbrace');
i(l, u, i0, '}', '\\rbrace');
i(l, u, h0, '[', '\\lbrack', !0);
i(k, u, v, '[', '\\lbrack', !0);
i(l, u, i0, ']', '\\rbrack', !0);
i(k, u, v, ']', '\\rbrack', !0);
i(l, u, h0, '(', '\\lparen', !0);
i(l, u, i0, ')', '\\rparen', !0);
i(k, u, v, '<', '\\textless', !0);
i(k, u, v, '>', '\\textgreater', !0);
i(l, u, h0, '⌊', '\\lfloor', !0);
i(l, u, i0, '⌋', '\\rfloor', !0);
i(l, u, h0, '⌈', '\\lceil', !0);
i(l, u, i0, '⌉', '\\rceil', !0);
i(l, u, v, '\\', '\\backslash');
i(l, u, v, '', '|');
i(l, u, v, '', '\\vert');
i(k, u, v, '|', '\\textbar', !0);
i(l, u, v, '∥', '\\|');
i(l, u, v, '∥', '\\Vert');
i(k, u, v, '∥', '\\textbardbl');
i(k, u, v, '~', '\\textasciitilde');
i(k, u, v, '\\', '\\textbackslash');
i(k, u, v, '^', '\\textasciicircum');
i(l, u, f, '↑', '\\uparrow', !0);
i(l, u, f, '⇑', '\\Uparrow', !0);
i(l, u, f, '↓', '\\downarrow', !0);
i(l, u, f, '⇓', '\\Downarrow', !0);
i(l, u, f, '↕', '\\updownarrow', !0);
i(l, u, f, '⇕', '\\Updownarrow', !0);
i(l, u, _, '∐', '\\coprod');
i(l, u, _, '', '\\bigvee');
i(l, u, _, '⋀', '\\bigwedge');
i(l, u, _, '⨄', '\\biguplus');
i(l, u, _, '⋂', '\\bigcap');
i(l, u, _, '', '\\bigcup');
i(l, u, _, '∫', '\\int');
i(l, u, _, '∫', '\\intop');
i(l, u, _, '∬', '\\iint');
i(l, u, _, '∭', '\\iiint');
i(l, u, _, '∏', '\\prod');
i(l, u, _, '∑', '\\sum');
i(l, u, _, '⨂', '\\bigotimes');
i(l, u, _, '⨁', '\\bigoplus');
i(l, u, _, '⨀', '\\bigodot');
i(l, u, _, '∮', '\\oint');
i(l, u, _, '∯', '\\oiint');
i(l, u, _, '∰', '\\oiiint');
i(l, u, _, '⨆', '\\bigsqcup');
i(l, u, _, '∫', '\\smallint');
i(k, u, te, '…', '\\textellipsis');
i(l, u, te, '…', '\\mathellipsis');
i(k, u, te, '…', '\\ldots', !0);
i(l, u, te, '…', '\\ldots', !0);
i(l, u, te, '⋯', '\\@cdots', !0);
i(l, u, te, '⋱', '\\ddots', !0);
i(l, u, v, '⋮', '\\varvdots');
i(l, u, W, 'ˊ', '\\acute');
i(l, u, W, 'ˋ', '\\grave');
i(l, u, W, '¨', '\\ddot');
i(l, u, W, '~', '\\tilde');
i(l, u, W, 'ˉ', '\\bar');
i(l, u, W, '˘', '\\breve');
i(l, u, W, 'ˇ', '\\check');
i(l, u, W, '^', '\\hat');
i(l, u, W, '⃗', '\\vec');
i(l, u, W, '˙', '\\dot');
i(l, u, W, '˚', '\\mathring');
i(l, u, E, '', '\\@imath');
i(l, u, E, '', '\\@jmath');
i(l, u, v, 'ı', 'ı');
i(l, u, v, 'ȷ', 'ȷ');
i(k, u, v, 'ı', '\\i', !0);
i(k, u, v, 'ȷ', '\\j', !0);
i(k, u, v, 'ß', '\\ss', !0);
i(k, u, v, 'æ', '\\ae', !0);
i(k, u, v, 'œ', '\\oe', !0);
i(k, u, v, 'ø', '\\o', !0);
i(k, u, v, 'Æ', '\\AE', !0);
i(k, u, v, 'Œ', '\\OE', !0);
i(k, u, v, 'Ø', '\\O', !0);
i(k, u, W, 'ˊ', "\\'");
i(k, u, W, 'ˋ', '\\`');
i(k, u, W, 'ˆ', '\\^');
i(k, u, W, '˜', '\\~');
i(k, u, W, 'ˉ', '\\=');
i(k, u, W, '˘', '\\u');
i(k, u, W, '˙', '\\.');
i(k, u, W, '¸', '\\c');
i(k, u, W, '˚', '\\r');
i(k, u, W, 'ˇ', '\\v');
i(k, u, W, '¨', '\\"');
i(k, u, W, '˝', '\\H');
i(k, u, W, '◯', '\\textcircled');
var wr = { '--': !0, '---': !0, '``': !0, "''": !0 };
i(k, u, v, '', '--', !0);
i(k, u, v, '', '\\textendash');
i(k, u, v, '—', '---', !0);
i(k, u, v, '—', '\\textemdash');
i(k, u, v, '', '`', !0);
i(k, u, v, '', '\\textquoteleft');
i(k, u, v, '', "'", !0);
i(k, u, v, '', '\\textquoteright');
i(k, u, v, '“', '``', !0);
i(k, u, v, '“', '\\textquotedblleft');
i(k, u, v, '”', "''", !0);
i(k, u, v, '”', '\\textquotedblright');
i(l, u, v, '°', '\\degree', !0);
i(k, u, v, '°', '\\degree');
i(k, u, v, '°', '\\textdegree', !0);
i(l, u, v, '£', '\\pounds');
i(l, u, v, '£', '\\mathsterling', !0);
i(k, u, v, '£', '\\pounds');
i(k, u, v, '£', '\\textsterling', !0);
i(l, d, v, '✠', '\\maltese');
i(k, d, v, '✠', '\\maltese');
var Pt = '0123456789/@."';
for (var Ye = 0; Ye < Pt.length; Ye++) {
var Gt = Pt.charAt(Ye);
i(l, u, v, Gt, Gt);
}
var Vt = '0123456789!@*()-=+";:?/.,';
for (var Xe = 0; Xe < Vt.length; Xe++) {
var Ut = Vt.charAt(Xe);
i(k, u, v, Ut, Ut);
}
var Be = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
for (var $e = 0; $e < Be.length; $e++) {
var ge = Be.charAt($e);
i(l, u, E, ge, ge), i(k, u, v, ge, ge);
}
i(l, d, v, 'C', '');
i(k, d, v, 'C', '');
i(l, d, v, 'H', '');
i(k, d, v, 'H', '');
i(l, d, v, 'N', '');
i(k, d, v, 'N', '');
i(l, d, v, 'P', '');
i(k, d, v, 'P', '');
i(l, d, v, 'Q', '');
i(k, d, v, 'Q', '');
i(l, d, v, 'R', '');
i(k, d, v, 'R', '');
i(l, d, v, 'Z', '');
i(k, d, v, 'Z', '');
i(l, u, E, 'h', '');
i(k, u, E, 'h', '');
var I = '';
for (var a0 = 0; a0 < Be.length; a0++) {
var J = Be.charAt(a0);
(I = String.fromCharCode(55349, 56320 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56372 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56424 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56580 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56684 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56736 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56788 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56840 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56944 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
a0 < 26 &&
((I = String.fromCharCode(55349, 56632 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I),
(I = String.fromCharCode(55349, 56476 + a0)),
i(l, u, E, J, I),
i(k, u, v, J, I));
}
I = String.fromCharCode(55349, 56668);
i(l, u, E, 'k', I);
i(k, u, v, 'k', I);
for (var Y0 = 0; Y0 < 10; Y0++) {
var H0 = Y0.toString();
(I = String.fromCharCode(55349, 57294 + Y0)),
i(l, u, E, H0, I),
i(k, u, v, H0, I),
(I = String.fromCharCode(55349, 57314 + Y0)),
i(l, u, E, H0, I),
i(k, u, v, H0, I),
(I = String.fromCharCode(55349, 57324 + Y0)),
i(l, u, E, H0, I),
i(k, u, v, H0, I),
(I = String.fromCharCode(55349, 57334 + Y0)),
i(l, u, E, H0, I),
i(k, u, v, H0, I);
}
var st = 'ÐÞþ';
for (var We = 0; We < st.length; We++) {
var be = st.charAt(We);
i(l, u, E, be, be), i(k, u, v, be, be);
}
var ye = [
['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'],
],
Yt = [
['mathbf', 'textbf', 'Main-Bold'],
['', '', ''],
['mathsf', 'textsf', 'SansSerif-Regular'],
['mathboldsf', 'textboldsf', 'SansSerif-Bold'],
['mathtt', 'texttt', 'Typewriter-Regular'],
],
Ka = function (e, t) {
var a = e.charCodeAt(0),
n = e.charCodeAt(1),
s = (a - 55296) * 1024 + (n - 56320) + 65536,
o = t === 'math' ? 0 : 1;
if (119808 <= s && s < 120484) {
var h = Math.floor((s - 119808) / 26);
return [ye[h][2], ye[h][o]];
} else if (120782 <= s && s <= 120831) {
var c = Math.floor((s - 120782) / 10);
return [Yt[c][2], Yt[c][o]];
} else {
if (s === 120485 || s === 120486) return [ye[0][2], ye[0][o]];
if (120486 < s && s < 120782) return ['', ''];
throw new M('Unsupported character: ' + e);
}
},
Ee = function (e, t, a) {
return $[a][e] && $[a][e].replace && (e = $[a][e].replace), { value: e, metrics: ft(e, t, a) };
},
b0 = function (e, t, a, n, s) {
var o = Ee(e, t, a),
h = o.metrics;
e = o.value;
var c;
if (h) {
var p = h.italic;
(a === 'text' || (n && n.font === 'mathit')) && (p = 0), (c = new p0(e, h.height, h.depth, p, h.skew, h.width, s));
} else
typeof console < 'u' && console.warn('No character metrics ' + ("for '" + e + "' in style '" + t + "' and mode '" + a + "'")),
(c = new p0(e, 0, 0, 0, 0, 0, s));
if (n) {
(c.maxFontSize = n.sizeMultiplier), n.style.isTight() && c.classes.push('mtight');
var g = n.getColor();
g && (c.style.color = g);
}
return c;
},
Ja = function (e, t, a, n) {
return (
n === void 0 && (n = []),
a.font === 'boldsymbol' && Ee(e, 'Main-Bold', t).metrics
? b0(e, 'Main-Bold', t, a, n.concat(['mathbf']))
: e === '\\' || $[t][e].font === 'main'
? b0(e, 'Main-Regular', t, a, n)
: b0(e, 'AMS-Regular', t, a, n.concat(['amsrm']))
);
},
Qa = function (e, t, a, n, s) {
return s !== 'textord' && Ee(e, 'Math-BoldItalic', t).metrics
? { fontName: 'Math-BoldItalic', fontClass: 'boldsymbol' }
: { fontName: 'Main-Bold', fontClass: 'mathbf' };
},
_a = function (e, t, a) {
var n = e.mode,
s = e.text,
o = ['mord'],
h = n === 'math' || (n === 'text' && t.font),
c = h ? t.font : t.fontFamily,
p = '',
g = '';
if ((s.charCodeAt(0) === 55349 && ([p, g] = Ka(s, n)), p.length > 0)) return b0(s, p, n, t, o.concat(g));
if (c) {
var y, w;
if (c === 'boldsymbol') {
var x = Qa(s, n, t, o, a);
(y = x.fontName), (w = [x.fontClass]);
} else h ? ((y = Mr[c].fontName), (w = [c])) : ((y = xe(c, t.fontWeight, t.fontShape)), (w = [c, t.fontWeight, t.fontShape]));
if (Ee(s, y, n).metrics) return b0(s, y, n, t, o.concat(w));
if (wr.hasOwnProperty(s) && y.slice(0, 10) === 'Typewriter') {
for (var z = [], T = 0; T < s.length; T++) z.push(b0(s[T], y, n, t, o.concat(w)));
return Sr(z);
}
}
if (a === 'mathord') return b0(s, 'Math-Italic', n, t, o.concat(['mathnormal']));
if (a === 'textord') {
var C = $[n][s] && $[n][s].font;
if (C === 'ams') {
var N = xe('amsrm', t.fontWeight, t.fontShape);
return b0(s, N, n, t, o.concat('amsrm', t.fontWeight, t.fontShape));
} else if (C === 'main' || !C) {
var O = xe('textrm', t.fontWeight, t.fontShape);
return b0(s, O, n, t, o.concat(t.fontWeight, t.fontShape));
} else {
var H = xe(C, t.fontWeight, t.fontShape);
return b0(s, H, n, t, o.concat(H, t.fontWeight, t.fontShape));
}
} else throw new Error('unexpected type: ' + a + ' in makeOrd');
},
e1 = (r, e) => {
if (L0(r.classes) !== L0(e.classes) || r.skew !== e.skew || r.maxFontSize !== e.maxFontSize) 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 n in e.style) if (e.style.hasOwnProperty(n) && r.style[n] !== e.style[n]) return !1;
return !0;
},
t1 = (r) => {
for (var e = 0; e < r.length - 1; e++) {
var t = r[e],
a = r[e + 1];
t instanceof p0 &&
a instanceof p0 &&
e1(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;
},
vt = function (e) {
for (var t = 0, a = 0, n = 0, s = 0; s < e.children.length; s++) {
var o = e.children[s];
o.height > t && (t = o.height), o.depth > a && (a = o.depth), o.maxFontSize > n && (n = o.maxFontSize);
}
(e.height = t), (e.depth = a), (e.maxFontSize = n);
},
l0 = function (e, t, a, n) {
var s = new he(e, t, a, n);
return vt(s), s;
},
kr = (r, e, t, a) => new he(r, e, t, a),
r1 = function (e, t, a) {
var n = l0([e], [], t);
return (
(n.height = Math.max(a || t.fontMetrics().defaultRuleThickness, t.minRuleThickness)),
(n.style.borderBottomWidth = A(n.height)),
(n.maxFontSize = 1),
n
);
},
a1 = function (e, t, a, n) {
var s = new pt(e, t, a, n);
return vt(s), s;
},
Sr = function (e) {
var t = new ue(e);
return vt(t), t;
},
n1 = function (e, t) {
return e instanceof ue ? l0([], [e], t) : e;
},
i1 = function (e) {
if (e.positionType === 'individualShift') {
for (var t = e.children, a = [t[0]], n = -t[0].shift - t[0].elem.depth, s = n, o = 1; o < t.length; o++) {
var h = -t[o].shift - s - t[o].elem.depth,
c = h - (t[o - 1].elem.height + t[o - 1].elem.depth);
(s = s + h), a.push({ type: 'kern', size: c }), a.push(t[o]);
}
return { children: a, depth: n };
}
var p;
if (e.positionType === 'top') {
for (var g = e.positionData, y = 0; y < e.children.length; y++) {
var w = e.children[y];
g -= w.type === 'kern' ? w.size : w.elem.height + w.elem.depth;
}
p = g;
} else if (e.positionType === 'bottom') p = -e.positionData;
else {
var x = e.children[0];
if (x.type !== 'elem') throw new Error('First child must have type "elem".');
if (e.positionType === 'shift') p = -x.elem.depth - e.positionData;
else if (e.positionType === 'firstBaseline') p = -x.elem.depth;
else throw new Error('Invalid positionType ' + e.positionType + '.');
}
return { children: e.children, depth: p };
},
s1 = function (e, t) {
for (var { children: a, depth: n } = i1(e), s = 0, o = 0; o < a.length; o++) {
var h = a[o];
if (h.type === 'elem') {
var c = h.elem;
s = Math.max(s, c.maxFontSize, c.height);
}
}
s += 2;
var p = l0(['pstrut'], []);
p.style.height = A(s);
for (var g = [], y = n, w = n, x = n, z = 0; z < a.length; z++) {
var T = a[z];
if (T.type === 'kern') x += T.size;
else {
var C = T.elem,
N = T.wrapperClasses || [],
O = T.wrapperStyle || {},
H = l0(N, [p, C], void 0, O);
(H.style.top = A(-s - x - C.depth)),
T.marginLeft && (H.style.marginLeft = T.marginLeft),
T.marginRight && (H.style.marginRight = T.marginRight),
g.push(H),
(x += C.height + C.depth);
}
(y = Math.min(y, x)), (w = Math.max(w, x));
}
var V = l0(['vlist'], g);
V.style.height = A(w);
var L;
if (y < 0) {
var U = l0([], []),
G = l0(['vlist'], [U]);
G.style.height = A(-y);
var j = l0(['vlist-s'], [new p0('')]);
L = [l0(['vlist-r'], [V, j]), l0(['vlist-r'], [G])];
} else L = [l0(['vlist-r'], [V])];
var Y = l0(['vlist-t'], L);
return L.length === 2 && Y.classes.push('vlist-t2'), (Y.height = w), (Y.depth = -y), Y;
},
l1 = (r, e) => {
var t = l0(['mspace'], [], e),
a = K(r, e);
return (t.style.marginRight = A(a)), t;
},
xe = function (e, t, a) {
var n = '';
switch (e) {
case 'amsrm':
n = 'AMS';
break;
case 'textrm':
n = 'Main';
break;
case 'textsf':
n = 'SansSerif';
break;
case 'texttt':
n = 'Typewriter';
break;
default:
n = e;
}
var s;
return (
t === 'textbf' && a === 'textit' ? (s = 'BoldItalic') : t === 'textbf' ? (s = 'Bold') : t === 'textit' ? (s = 'Italic') : (s = 'Regular'),
n + '-' + s
);
},
Mr = {
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' },
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' },
},
zr = {
vec: ['vec', 0.471, 0.714],
oiintSize1: ['oiintSize1', 0.957, 0.499],
oiintSize2: ['oiintSize2', 1.472, 0.659],
oiiintSize1: ['oiiintSize1', 1.304, 0.499],
oiiintSize2: ['oiiintSize2', 1.98, 0.659],
},
o1 = function (e, t) {
var [a, n, s] = zr[e],
o = new P0(a),
h = new D0([o], {
width: A(n),
height: A(s),
style: 'width:' + A(n),
viewBox: '0 0 ' + 1e3 * n + ' ' + 1e3 * s,
preserveAspectRatio: 'xMinYMin',
}),
c = kr(['overlay'], [h], t);
return (c.height = s), (c.style.height = A(s)), (c.style.width = A(n)), c;
},
b = {
fontMap: Mr,
makeSymbol: b0,
mathsym: Ja,
makeSpan: l0,
makeSvgSpan: kr,
makeLineSpan: r1,
makeAnchor: a1,
makeFragment: Sr,
wrapFragment: n1,
makeVList: s1,
makeOrd: _a,
makeGlue: l1,
staticSvg: o1,
svgData: zr,
tryCombineChars: t1,
},
Z = { number: 3, unit: 'mu' },
X0 = { number: 4, unit: 'mu' },
z0 = { number: 5, unit: 'mu' },
u1 = {
mord: { mop: Z, mbin: X0, mrel: z0, minner: Z },
mop: { mord: Z, mop: Z, mrel: z0, minner: Z },
mbin: { mord: X0, mop: X0, mopen: X0, minner: X0 },
mrel: { mord: z0, mop: z0, mopen: z0, minner: z0 },
mopen: {},
mclose: { mop: Z, mbin: X0, mrel: z0, minner: Z },
mpunct: { mord: Z, mop: Z, mrel: z0, mopen: Z, mclose: Z, mpunct: Z, minner: Z },
minner: { mord: Z, mop: Z, mbin: X0, mrel: z0, mopen: Z, mpunct: Z, minner: Z },
},
h1 = { mord: { mop: Z }, mop: { mord: Z, mop: Z }, mbin: {}, mrel: {}, mopen: {}, mclose: { mop: Z }, mpunct: {}, minner: { mop: Z } },
Ar = {},
De = {},
Ce = {};
function B(r) {
for (
var { type: e, names: t, props: a, handler: n, htmlBuilder: s, mathmlBuilder: o } = r,
h = {
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: n,
},
c = 0;
c < t.length;
++c
)
Ar[t[c]] = h;
e && (s && (De[e] = s), o && (Ce[e] = o));
}
function $0(r) {
var { type: e, htmlBuilder: t, mathmlBuilder: a } = r;
B({
type: e,
names: [],
props: { numArgs: 0 },
handler() {
throw new Error('Should never be called.');
},
htmlBuilder: t,
mathmlBuilder: a,
});
}
var Ne = function (e) {
return e.type === 'ordgroup' && e.body.length === 1 ? e.body[0] : e;
},
Q = function (e) {
return e.type === 'ordgroup' ? e.body : [e];
},
C0 = b.makeSpan,
m1 = ['leftmost', 'mbin', 'mopen', 'mrel', 'mop', 'mpunct'],
c1 = ['rightmost', 'mrel', 'mclose', 'mpunct'],
d1 = { display: R.DISPLAY, text: R.TEXT, script: R.SCRIPT, scriptscript: R.SCRIPTSCRIPT },
f1 = { mord: 'mord', mop: 'mop', mbin: 'mbin', mrel: 'mrel', mopen: 'mopen', mclose: 'mclose', mpunct: 'mpunct', minner: 'minner' },
t0 = function (e, t, a, n) {
n === void 0 && (n = [null, null]);
for (var s = [], o = 0; o < e.length; o++) {
var h = P(e[o], t);
if (h instanceof ue) {
var c = h.children;
s.push(...c);
} else s.push(h);
}
if ((b.tryCombineChars(s), !a)) return s;
var p = t;
if (e.length === 1) {
var g = e[0];
g.type === 'sizing' ? (p = t.havingSize(g.size)) : g.type === 'styling' && (p = t.havingStyle(d1[g.style]));
}
var y = C0([n[0] || 'leftmost'], [], t),
w = C0([n[1] || 'rightmost'], [], t),
x = a === 'root';
return (
Xt(
s,
(z, T) => {
var C = T.classes[0],
N = z.classes[0];
C === 'mbin' && q.contains(c1, N) ? (T.classes[0] = 'mord') : N === 'mbin' && q.contains(m1, C) && (z.classes[0] = 'mord');
},
{ node: y },
w,
x
),
Xt(
s,
(z, T) => {
var C = lt(T),
N = lt(z),
O = C && N ? (z.hasClass('mtight') ? h1[C][N] : u1[C][N]) : null;
if (O) return b.makeGlue(O, p);
},
{ node: y },
w,
x
),
s
);
},
Xt = function r(e, t, a, n, s) {
n && e.push(n);
for (var o = 0; o < e.length; o++) {
var h = e[o],
c = Tr(h);
if (c) {
r(c.children, t, a, null, s);
continue;
}
var p = !h.hasClass('mspace');
if (p) {
var g = t(h, a.node);
g && (a.insertAfter ? a.insertAfter(g) : (e.unshift(g), o++));
}
p ? (a.node = h) : s && h.hasClass('newline') && (a.node = C0(['leftmost'])),
(a.insertAfter = ((y) => (w) => {
e.splice(y + 1, 0, w), o++;
})(o));
}
n && e.pop();
},
Tr = function (e) {
return e instanceof ue || e instanceof pt || (e instanceof he && e.hasClass('enclosing')) ? e : null;
},
p1 = function r(e, t) {
var a = Tr(e);
if (a) {
var n = a.children;
if (n.length) {
if (t === 'right') return r(n[n.length - 1], 'right');
if (t === 'left') return r(n[0], 'left');
}
}
return e;
},
lt = function (e, t) {
return e ? (t && (e = p1(e, t)), f1[e.classes[0]] || null) : null;
},
oe = function (e, t) {
var a = ['nulldelimiter'].concat(e.baseSizingClasses());
return C0(t.concat(a));
},
P = function (e, t, a) {
if (!e) return C0();
if (De[e.type]) {
var n = De[e.type](e, t);
if (a && t.size !== a.size) {
n = C0(t.sizingClasses(a), [n], t);
var s = t.sizeMultiplier / a.sizeMultiplier;
(n.height *= s), (n.depth *= s);
}
return n;
} else throw new M("Got group of unknown type: '" + e.type + "'");
};
function we(r, e) {
var t = C0(['base'], r, e),
a = C0(['strut']);
return (a.style.height = A(t.height + t.depth)), t.depth && (a.style.verticalAlign = A(-t.depth)), t.children.unshift(a), t;
}
function ot(r, e) {
var t = null;
r.length === 1 && r[0].type === 'tag' && ((t = r[0].tag), (r = r[0].body));
var a = t0(r, e, 'root'),
n;
a.length === 2 && a[1].hasClass('tag') && (n = a.pop());
for (var s = [], o = [], h = 0; h < a.length; h++)
if ((o.push(a[h]), a[h].hasClass('mbin') || a[h].hasClass('mrel') || a[h].hasClass('allowbreak'))) {
for (var c = !1; h < a.length - 1 && a[h + 1].hasClass('mspace') && !a[h + 1].hasClass('newline'); )
h++, o.push(a[h]), a[h].hasClass('nobreak') && (c = !0);
c || (s.push(we(o, e)), (o = []));
} else a[h].hasClass('newline') && (o.pop(), o.length > 0 && (s.push(we(o, e)), (o = [])), s.push(a[h]));
o.length > 0 && s.push(we(o, e));
var p;
t ? ((p = we(t0(t, e, !0))), (p.classes = ['tag']), s.push(p)) : n && s.push(n);
var g = C0(['katex-html'], s);
if ((g.setAttribute('aria-hidden', 'true'), p)) {
var y = p.children[0];
(y.style.height = A(g.height + g.depth)), g.depth && (y.style.verticalAlign = A(-g.depth));
}
return g;
}
function Br(r) {
return new ue(r);
}
class c0 {
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 = L0(this.classes));
for (var a = 0; a < this.children.length; a++) 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 += q.escape(this.attributes[t])), (e += '"'));
this.classes.length > 0 && (e += ' class ="' + q.escape(L0(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 ie {
constructor(e) {
(this.text = void 0), (this.text = e);
}
toNode() {
return document.createTextNode(this.text);
}
toMarkup() {
return q.escape(this.toText());
}
toText() {
return this.text;
}
}
class v1 {
constructor(e) {
(this.width = void 0),
(this.character = void 0),
(this.width = e),
e >= 0.05555 && e <= 0.05556
? (this.character = '')
: e >= 0.1666 && e <= 0.1667
? (this.character = '')
: e >= 0.2222 && e <= 0.2223
? (this.character = '')
: e >= 0.2777 && e <= 0.2778
? (this.character = '')
: e >= -0.05556 && e <= -0.05555
? (this.character = '')
: e >= -0.1667 && e <= -0.1666
? (this.character = '')
: e >= -0.2223 && e <= -0.2222
? (this.character = '')
: e >= -0.2778 && e <= -0.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', A(this.width)), e;
}
toMarkup() {
return this.character ? '<mtext>' + this.character + '</mtext>' : '<mspace width="' + A(this.width) + '"/>';
}
toText() {
return this.character ? this.character : ' ';
}
}
var S = { MathNode: c0, TextNode: ie, SpaceNode: v1, newDocumentFragment: Br },
v0 = function (e, t, a) {
return (
$[t][e] &&
$[t][e].replace &&
e.charCodeAt(0) !== 55349 &&
!(wr.hasOwnProperty(e) && a && ((a.fontFamily && a.fontFamily.slice(4, 6) === 'tt') || (a.font && a.font.slice(4, 6) === 'tt'))) &&
(e = $[t][e].replace),
new S.TextNode(e)
);
},
gt = function (e) {
return e.length === 1 ? e[0] : new S.MathNode('mrow', e);
},
bt = 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 n = 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 === 'mathfrak') return 'fraktur';
if (a === 'mathscr' || a === 'mathcal') return 'script';
if (a === 'mathsf') return 'sans-serif';
if (a === 'mathtt') return 'monospace';
var s = e.text;
if (q.contains(['\\imath', '\\jmath'], s)) return null;
$[n][s] && $[n][s].replace && (s = $[n][s].replace);
var o = b.fontMap[a].fontName;
return ft(s, o, n) ? b.fontMap[a].variant : null;
},
o0 = function (e, t, a) {
if (e.length === 1) {
var n = X(e[0], t);
return a && n instanceof c0 && n.type === 'mo' && (n.setAttribute('lspace', '0em'), n.setAttribute('rspace', '0em')), [n];
}
for (var s = [], o, h = 0; h < e.length; h++) {
var c = X(e[h], t);
if (c instanceof c0 && o instanceof c0) {
if (c.type === 'mtext' && o.type === 'mtext' && c.getAttribute('mathvariant') === o.getAttribute('mathvariant')) {
o.children.push(...c.children);
continue;
} else if (c.type === 'mn' && o.type === 'mn') {
o.children.push(...c.children);
continue;
} else if (c.type === 'mi' && c.children.length === 1 && o.type === 'mn') {
var p = c.children[0];
if (p instanceof ie && p.text === '.') {
o.children.push(...c.children);
continue;
}
} else if (o.type === 'mi' && o.children.length === 1) {
var g = o.children[0];
if (g instanceof ie && g.text === '̸' && (c.type === 'mo' || c.type === 'mi' || c.type === 'mn')) {
var y = c.children[0];
y instanceof ie && y.text.length > 0 && ((y.text = y.text.slice(0, 1) + '̸' + y.text.slice(1)), s.pop());
}
}
}
s.push(c), (o = c);
}
return s;
},
G0 = function (e, t, a) {
return gt(o0(e, t, a));
},
X = function (e, t) {
if (!e) return new S.MathNode('mrow');
if (Ce[e.type]) {
var a = Ce[e.type](e, t);
return a;
} else throw new M("Got group of unknown type: '" + e.type + "'");
};
function $t(r, e, t, a, n) {
var s = o0(r, t),
o;
s.length === 1 && s[0] instanceof c0 && q.contains(['mrow', 'mtable'], s[0].type) ? (o = s[0]) : (o = new S.MathNode('mrow', s));
var h = new S.MathNode('annotation', [new S.TextNode(e)]);
h.setAttribute('encoding', 'application/x-tex');
var c = new S.MathNode('semantics', [o, h]),
p = new S.MathNode('math', [c]);
p.setAttribute('xmlns', 'http://www.w3.org/1998/Math/MathML'), a && p.setAttribute('display', 'block');
var g = n ? 'katex' : 'katex-mathml';
return b.makeSpan([g], [p]);
}
var Dr = function (e) {
return new A0({ style: e.displayMode ? R.DISPLAY : R.TEXT, maxSize: e.maxSize, minRuleThickness: e.minRuleThickness });
},
Cr = function (e, t) {
if (t.displayMode) {
var a = ['katex-display'];
t.leqno && a.push('leqno'), t.fleqn && a.push('fleqn'), (e = b.makeSpan(a, [e]));
}
return e;
},
g1 = function (e, t, a) {
var n = Dr(a),
s;
if (a.output === 'mathml') return $t(e, t, n, a.displayMode, !0);
if (a.output === 'html') {
var o = ot(e, n);
s = b.makeSpan(['katex'], [o]);
} else {
var h = $t(e, t, n, a.displayMode, !1),
c = ot(e, n);
s = b.makeSpan(['katex'], [h, c]);
}
return Cr(s, a);
},
b1 = function (e, t, a) {
var n = Dr(a),
s = ot(e, n),
o = b.makeSpan(['katex'], [s]);
return Cr(o, a);
},
y1 = {
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': '=',
},
x1 = function (e) {
var t = new S.MathNode('mo', [new S.TextNode(y1[e.replace(/^\\/, '')])]);
return t.setAttribute('stretchy', 'true'), t;
},
w1 = {
overrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
overleftarrow: [['leftarrow'], 0.888, 522, 'xMinYMin'],
underrightarrow: [['rightarrow'], 0.888, 522, 'xMaxYMin'],
underleftarrow: [['leftarrow'], 0.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'], 0.888, 560, 'xMaxYMin'],
xRightarrow: [['doublerightarrow'], 1.526, 560, 'xMaxYMin'],
xLeftarrow: [['doubleleftarrow'], 1.526, 560, 'xMinYMin'],
overleftharpoon: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
xleftharpoonup: [['leftharpoon'], 0.888, 522, 'xMinYMin'],
xleftharpoondown: [['leftharpoondown'], 0.888, 522, 'xMinYMin'],
overrightharpoon: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
xrightharpoonup: [['rightharpoon'], 0.888, 522, 'xMaxYMin'],
xrightharpoondown: [['rightharpoondown'], 0.888, 522, 'xMaxYMin'],
xlongequal: [['longequal'], 0.888, 334, 'xMinYMin'],
'\\cdlongequal': [['longequal'], 3, 334, 'xMinYMin'],
xtwoheadleftarrow: [['twoheadleftarrow'], 0.888, 334, 'xMinYMin'],
xtwoheadrightarrow: [['twoheadrightarrow'], 0.888, 334, 'xMaxYMin'],
overleftrightarrow: [['leftarrow', 'rightarrow'], 0.888, 522],
overbrace: [['leftbrace', 'midbrace', 'rightbrace'], 1.6, 548],
underbrace: [['leftbraceunder', 'midbraceunder', 'rightbraceunder'], 1.6, 548],
underleftrightarrow: [['leftarrow', 'rightarrow'], 0.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'], 0.888, 522],
underlinesegment: [['leftlinesegment', 'rightlinesegment'], 0.888, 522],
overgroup: [['leftgroup', 'rightgroup'], 0.888, 342],
undergroup: [['leftgroupunder', 'rightgroupunder'], 0.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],
},
k1 = function (e) {
return e.type === 'ordgroup' ? e.body.length : 1;
},
S1 = function (e, t) {
function a() {
var h = 4e5,
c = e.label.slice(1);
if (q.contains(['widehat', 'widecheck', 'widetilde', 'utilde'], c)) {
var p = e,
g = k1(p.base),
y,
w,
x;
if (g > 5)
c === 'widehat' || c === 'widecheck'
? ((y = 420), (h = 2364), (x = 0.42), (w = c + '4'))
: ((y = 312), (h = 2340), (x = 0.34), (w = 'tilde4'));
else {
var z = [1, 1, 2, 2, 3, 3][g];
c === 'widehat' || c === 'widecheck'
? ((h = [0, 1062, 2364, 2364, 2364][z]), (y = [0, 239, 300, 360, 420][z]), (x = [0, 0.24, 0.3, 0.3, 0.36, 0.42][z]), (w = c + z))
: ((h = [0, 600, 1033, 2339, 2340][z]), (y = [0, 260, 286, 306, 312][z]), (x = [0, 0.26, 0.286, 0.3, 0.306, 0.34][z]), (w = 'tilde' + z));
}
var T = new P0(w),
C = new D0([T], { width: '100%', height: A(x), viewBox: '0 0 ' + h + ' ' + y, preserveAspectRatio: 'none' });
return { span: b.makeSvgSpan([], [C], t), minWidth: 0, height: x };
} else {
var N = [],
O = w1[c],
[H, V, L] = O,
U = L / 1e3,
G = H.length,
j,
Y;
if (G === 1) {
var M0 = O[3];
(j = ['hide-tail']), (Y = [M0]);
} else if (G === 2) (j = ['halfarrow-left', 'halfarrow-right']), (Y = ['xMinYMin', 'xMaxYMin']);
else if (G === 3) (j = ['brace-left', 'brace-center', 'brace-right']), (Y = ['xMinYMin', 'xMidYMin', 'xMaxYMin']);
else
throw new Error(
`Correct katexImagesData or update code here to support
` +
G +
' children.'
);
for (var r0 = 0; r0 < G; r0++) {
var e0 = new P0(H[r0]),
U0 = new D0([e0], { width: '400em', height: A(U), viewBox: '0 0 ' + h + ' ' + L, preserveAspectRatio: Y[r0] + ' slice' }),
s0 = b.makeSvgSpan([j[r0]], [U0], t);
if (G === 1) return { span: s0, minWidth: V, height: U };
(s0.style.height = A(U)), N.push(s0);
}
return { span: b.makeSpan(['stretchy'], N, t), minWidth: V, height: U };
}
}
var { span: n, minWidth: s, height: o } = a();
return (n.height = o), (n.style.height = A(o)), s > 0 && (n.style.minWidth = A(s)), n;
},
M1 = function (e, t, a, n, s) {
var o,
h = e.height + e.depth + a + n;
if (/fbox|color|angl/.test(t)) {
if (((o = b.makeSpan(['stretchy', t], [], s)), t === 'fbox')) {
var c = s.color && s.getColor();
c && (o.style.borderColor = c);
}
} else {
var p = [];
/^[bx]cancel$/.test(t) && p.push(new it({ x1: '0', y1: '0', x2: '100%', y2: '100%', 'stroke-width': '0.046em' })),
/^x?cancel$/.test(t) && p.push(new it({ x1: '0', y1: '100%', x2: '100%', y2: '0', 'stroke-width': '0.046em' }));
var g = new D0(p, { width: '100%', height: A(h) });
o = b.makeSvgSpan([], [g], s);
}
return (o.height = h), (o.style.height = A(h)), o;
},
N0 = { encloseSpan: M1, mathMLnode: x1, svgSpan: S1 };
function F(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 yt(r) {
var e = Re(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 Re(r) {
return r && (r.type === 'atom' || Za.hasOwnProperty(r.type)) ? r : null;
}
var xt = (r, e) => {
var t, a, n;
r && r.type === 'supsub'
? ((a = F(r.base, 'accent')), (t = a.base), (r.base = t), (n = Wa(P(r, e))), (r.base = a))
: ((a = F(r, 'accent')), (t = a.base));
var s = P(t, e.havingCrampedStyle()),
o = a.isShifty && q.isCharacterBox(t),
h = 0;
if (o) {
var c = q.getBaseElem(t),
p = P(c, e.havingCrampedStyle());
h = Lt(p).skew;
}
var g = a.label === '\\c',
y = g ? s.height + s.depth : Math.min(s.height, e.fontMetrics().xHeight),
w;
if (a.isStretchy)
(w = N0.svgSpan(a, e)),
(w = b.makeVList(
{
positionType: 'firstBaseline',
children: [
{ type: 'elem', elem: s },
{
type: 'elem',
elem: w,
wrapperClasses: ['svg-align'],
wrapperStyle: h > 0 ? { width: 'calc(100% - ' + A(2 * h) + ')', marginLeft: A(2 * h) } : void 0,
},
],
},
e
));
else {
var x, z;
a.label === '\\vec'
? ((x = b.staticSvg('vec', e)), (z = b.svgData.vec[1]))
: ((x = b.makeOrd({ mode: a.mode, text: a.label }, e, 'textord')), (x = Lt(x)), (x.italic = 0), (z = x.width), g && (y += x.depth)),
(w = b.makeSpan(['accent-body'], [x]));
var T = a.label === '\\textcircled';
T && (w.classes.push('accent-full'), (y = s.height));
var C = h;
T || (C -= z / 2),
(w.style.left = A(C)),
a.label === '\\textcircled' && (w.style.top = '.2em'),
(w = b.makeVList(
{
positionType: 'firstBaseline',
children: [
{ type: 'elem', elem: s },
{ type: 'kern', size: -y },
{ type: 'elem', elem: w },
],
},
e
));
}
var N = b.makeSpan(['mord', 'accent'], [w], e);
return n ? ((n.children[0] = N), (n.height = Math.max(N.height, n.height)), (n.classes[0] = 'mord'), n) : N;
},
Nr = (r, e) => {
var t = r.isStretchy ? N0.mathMLnode(r.label) : new S.MathNode('mo', [v0(r.label, r.mode)]),
a = new S.MathNode('mover', [X(r.base, e), t]);
return a.setAttribute('accent', 'true'), a;
},
z1 = new RegExp(
['\\acute', '\\grave', '\\ddot', '\\tilde', '\\bar', '\\breve', '\\check', '\\hat', '\\vec', '\\dot', '\\mathring'].map((r) => '\\' + r).join('|')
);
B({
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 = Ne(e[0]),
a = !z1.test(r.funcName),
n = !a || r.funcName === '\\widehat' || r.funcName === '\\widetilde' || r.funcName === '\\widecheck';
return { type: 'accent', mode: r.parser.mode, label: r.funcName, isStretchy: a, isShifty: n, base: t };
},
htmlBuilder: xt,
mathmlBuilder: Nr,
});
B({
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: xt,
mathmlBuilder: Nr,
});
B({
type: 'accentUnder',
names: ['\\underleftarrow', '\\underrightarrow', '\\underleftrightarrow', '\\undergroup', '\\underlinesegment', '\\utilde'],
props: { numArgs: 1 },
handler: (r, e) => {
var { parser: t, funcName: a } = r,
n = e[0];
return { type: 'accentUnder', mode: t.mode, label: a, base: n };
},
htmlBuilder: (r, e) => {
var t = P(r.base, e),
a = N0.svgSpan(r, e),
n = r.label === '\\utilde' ? 0.12 : 0,
s = b.makeVList(
{
positionType: 'top',
positionData: t.height,
children: [
{ type: 'elem', elem: a, wrapperClasses: ['svg-align'] },
{ type: 'kern', size: n },
{ type: 'elem', elem: t },
],
},
e
);
return b.makeSpan(['mord', 'accentunder'], [s], e);
},
mathmlBuilder: (r, e) => {
var t = N0.mathMLnode(r.label),
a = new S.MathNode('munder', [X(r.base, e), t]);
return a.setAttribute('accentunder', 'true'), a;
},
});
var ke = (r) => {
var e = new S.MathNode('mpadded', r ? [r] : []);
return e.setAttribute('width', '+0.6em'), e.setAttribute('lspace', '0.3em'), e;
};
B({
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: n } = r;
return { type: 'xArrow', mode: a.mode, label: n, body: e[0], below: t[0] };
},
htmlBuilder(r, e) {
var t = e.style,
a = e.havingStyle(t.sup()),
n = b.wrapFragment(P(r.body, a, e), e),
s = r.label.slice(0, 2) === '\\x' ? 'x' : 'cd';
n.classes.push(s + '-arrow-pad');
var o;
r.below && ((a = e.havingStyle(t.sub())), (o = b.wrapFragment(P(r.below, a, e), e)), o.classes.push(s + '-arrow-pad'));
var h = N0.svgSpan(r, e),
c = -e.fontMetrics().axisHeight + 0.5 * h.height,
p = -e.fontMetrics().axisHeight - 0.5 * h.height - 0.111;
(n.depth > 0.25 || r.label === '\\xleftequilibrium') && (p -= n.depth);
var g;
if (o) {
var y = -e.fontMetrics().axisHeight + o.height + 0.5 * h.height + 0.111;
g = b.makeVList(
{
positionType: 'individualShift',
children: [
{ type: 'elem', elem: n, shift: p },
{ type: 'elem', elem: h, shift: c },
{ type: 'elem', elem: o, shift: y },
],
},
e
);
} else
g = b.makeVList(
{
positionType: 'individualShift',
children: [
{ type: 'elem', elem: n, shift: p },
{ type: 'elem', elem: h, shift: c },
],
},
e
);
return g.children[0].children[0].children[1].classes.push('svg-align'), b.makeSpan(['mrel', 'x-arrow'], [g], e);
},
mathmlBuilder(r, e) {
var t = N0.mathMLnode(r.label);
t.setAttribute('minsize', r.label.charAt(0) === 'x' ? '1.75em' : '3.0em');
var a;
if (r.body) {
var n = ke(X(r.body, e));
if (r.below) {
var s = ke(X(r.below, e));
a = new S.MathNode('munderover', [t, s, n]);
} else a = new S.MathNode('mover', [t, n]);
} else if (r.below) {
var o = ke(X(r.below, e));
a = new S.MathNode('munder', [t, o]);
} else (a = ke()), (a = new S.MathNode('mover', [t, a]));
return a;
},
});
var A1 = b.makeSpan;
function qr(r, e) {
var t = t0(r.body, e, !0);
return A1([r.mclass], t, e);
}
function Er(r, e) {
var t,
a = o0(r.body, e);
return (
r.mclass === 'minner'
? (t = new S.MathNode('mpadded', a))
: r.mclass === 'mord'
? r.isCharacterBox
? ((t = a[0]), (t.type = 'mi'))
: (t = new S.MathNode('mi', a))
: (r.isCharacterBox ? ((t = a[0]), (t.type = 'mo')) : (t = new S.MathNode('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
);
}
B({
type: 'mclass',
names: ['\\mathord', '\\mathbin', '\\mathrel', '\\mathopen', '\\mathclose', '\\mathpunct', '\\mathinner'],
props: { numArgs: 1, primitive: !0 },
handler(r, e) {
var { parser: t, funcName: a } = r,
n = e[0];
return { type: 'mclass', mode: t.mode, mclass: 'm' + a.slice(5), body: Q(n), isCharacterBox: q.isCharacterBox(n) };
},
htmlBuilder: qr,
mathmlBuilder: Er,
});
var Ie = (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';
};
B({
type: 'mclass',
names: ['\\@binrel'],
props: { numArgs: 2 },
handler(r, e) {
var { parser: t } = r;
return { type: 'mclass', mode: t.mode, mclass: Ie(e[0]), body: Q(e[1]), isCharacterBox: q.isCharacterBox(e[1]) };
},
});
B({
type: 'mclass',
names: ['\\stackrel', '\\overset', '\\underset'],
props: { numArgs: 2 },
handler(r, e) {
var { parser: t, funcName: a } = r,
n = e[1],
s = e[0],
o;
a !== '\\stackrel' ? (o = Ie(n)) : (o = 'mrel');
var h = {
type: 'op',
mode: n.mode,
limits: !0,
alwaysHandleSupSub: !0,
parentIsSupSub: !1,
symbol: !1,
suppressBaseShift: a !== '\\stackrel',
body: Q(n),
},
c = { type: 'supsub', mode: s.mode, base: h, sup: a === '\\underset' ? null : s, sub: a === '\\underset' ? s : null };
return { type: 'mclass', mode: t.mode, mclass: o, body: [c], isCharacterBox: q.isCharacterBox(c) };
},
htmlBuilder: qr,
mathmlBuilder: Er,
});
B({
type: 'pmb',
names: ['\\pmb'],
props: { numArgs: 1, allowedInText: !0 },
handler(r, e) {
var { parser: t } = r;
return { type: 'pmb', mode: t.mode, mclass: Ie(e[0]), body: Q(e[0]) };
},
htmlBuilder(r, e) {
var t = t0(r.body, e, !0),
a = b.makeSpan([r.mclass], t, e);
return (a.style.textShadow = '0.02em 0.01em 0.04px'), a;
},
mathmlBuilder(r, e) {
var t = o0(r.body, e),
a = new S.MathNode('mstyle', t);
return a.setAttribute('style', 'text-shadow: 0.02em 0.01em 0.04px'), a;
},
});
var T1 = {
'>': '\\\\cdrightarrow',
'<': '\\\\cdleftarrow',
'=': '\\\\cdlongequal',
A: '\\uparrow',
V: '\\downarrow',
'|': '\\Vert',
'.': 'no arrow',
},
Wt = () => ({ type: 'styling', body: [], mode: 'math', style: 'display' }),
jt = (r) => r.type === 'textord' && r.text === '@',
B1 = (r, e) => (r.type === 'mathord' || r.type === 'atom') && r.text === e;
function D1(r, e, t) {
var a = T1[r];
switch (a) {
case '\\\\cdrightarrow':
case '\\\\cdleftarrow':
return t.callFunction(a, [e[0]], [e[1]]);
case '\\uparrow':
case '\\downarrow': {
var n = t.callFunction('\\\\cdleft', [e[0]], []),
s = { type: 'atom', text: a, mode: 'math', family: 'rel' },
o = t.callFunction('\\Big', [s], []),
h = t.callFunction('\\\\cdright', [e[1]], []),
c = { type: 'ordgroup', mode: 'math', body: [n, o, h] };
return t.callFunction('\\\\cdparent', [c], []);
}
case '\\\\cdlongequal':
return t.callFunction('\\\\cdlongequal', [], []);
case '\\Vert': {
var p = { type: 'textord', text: '\\Vert', mode: 'math' };
return t.callFunction('\\Big', [p], []);
}
default:
return { type: 'textord', text: ' ', mode: 'math' };
}
}
function C1(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 M('Expected \\\\ or \\cr or \\end', r.nextToken);
}
for (var a = [], n = [a], s = 0; s < e.length; s++) {
for (var o = e[s], h = Wt(), c = 0; c < o.length; c++)
if (!jt(o[c])) h.body.push(o[c]);
else {
a.push(h), (c += 1);
var p = yt(o[c]).text,
g = new Array(2);
if (((g[0] = { type: 'ordgroup', mode: 'math', body: [] }), (g[1] = { type: 'ordgroup', mode: 'math', body: [] }), !('=|.'.indexOf(p) > -1)))
if ('<>AV'.indexOf(p) > -1)
for (var y = 0; y < 2; y++) {
for (var w = !0, x = c + 1; x < o.length; x++) {
if (B1(o[x], p)) {
(w = !1), (c = x);
break;
}
if (jt(o[x])) throw new M('Missing a ' + p + ' character to complete a CD arrow.', o[x]);
g[y].body.push(o[x]);
}
if (w) throw new M('Missing a ' + p + ' character to complete a CD arrow.', o[c]);
}
else throw new M('Expected one of "<>AV=|." after @', o[c]);
var z = D1(p, g, r),
T = { type: 'styling', body: [z], mode: 'math', style: 'display' };
a.push(T), (h = Wt());
}
s % 2 === 0 ? a.push(h) : a.shift(), (a = []), n.push(a);
}
r.gullet.endGroup(), r.gullet.endGroup();
var C = new Array(n[0].length).fill({ type: 'align', align: 'c', pregap: 0.25, postgap: 0.25 });
return {
type: 'array',
mode: 'math',
body: n,
arraystretch: 1,
addJot: !0,
rowGaps: [null],
cols: C,
colSeparationType: 'CD',
hLinesBeforeRow: new Array(n.length + 1).fill([]),
};
}
B({
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 = b.wrapFragment(P(r.label, t, e), e);
return a.classes.push('cd-label-' + r.side), (a.style.bottom = A(0.8 - a.depth)), (a.height = 0), (a.depth = 0), a;
},
mathmlBuilder(r, e) {
var t = new S.MathNode('mrow', [X(r.label, e)]);
return (
(t = new S.MathNode('mpadded', [t])),
t.setAttribute('width', '0'),
r.side === 'left' && t.setAttribute('lspace', '-1width'),
t.setAttribute('voffset', '0.7em'),
(t = new S.MathNode('mstyle', [t])),
t.setAttribute('displaystyle', 'false'),
t.setAttribute('scriptlevel', '1'),
t
);
},
});
B({
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 = b.wrapFragment(P(r.fragment, e), e);
return t.classes.push('cd-vert-arrow'), t;
},
mathmlBuilder(r, e) {
return new S.MathNode('mrow', [X(r.fragment, e)]);
},
});
B({
type: 'textord',
names: ['\\@char'],
props: { numArgs: 1, allowedInText: !0 },
handler(r, e) {
for (var { parser: t } = r, a = F(e[0], 'ordgroup'), n = a.body, s = '', o = 0; o < n.length; o++) {
var h = F(n[o], 'textord');
s += h.text;
}
var c = parseInt(s),
p;
if (isNaN(c)) throw new M('\\@char has non-numeric argument ' + s);
if (c < 0 || c >= 1114111) throw new M('\\@char with invalid code point ' + s);
return (
c <= 65535 ? (p = String.fromCharCode(c)) : ((c -= 65536), (p = String.fromCharCode((c >> 10) + 55296, (c & 1023) + 56320))),
{ type: 'textord', mode: t.mode, text: p }
);
},
});
var Rr = (r, e) => {
var t = t0(r.body, e.withColor(r.color), !1);
return b.makeFragment(t);
},
Ir = (r, e) => {
var t = o0(r.body, e.withColor(r.color)),
a = new S.MathNode('mstyle', t);
return a.setAttribute('mathcolor', r.color), a;
};
B({
type: 'color',
names: ['\\textcolor'],
props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'original'] },
handler(r, e) {
var { parser: t } = r,
a = F(e[0], 'color-token').color,
n = e[1];
return { type: 'color', mode: t.mode, color: a, body: Q(n) };
},
htmlBuilder: Rr,
mathmlBuilder: Ir,
});
B({
type: 'color',
names: ['\\color'],
props: { numArgs: 1, allowedInText: !0, argTypes: ['color'] },
handler(r, e) {
var { parser: t, breakOnTokenText: a } = r,
n = F(e[0], 'color-token').color;
t.gullet.macros.set('\\current@color', n);
var s = t.parseExpression(!0, a);
return { type: 'color', mode: t.mode, color: n, body: s };
},
htmlBuilder: Rr,
mathmlBuilder: Ir,
});
B({
type: 'cr',
names: ['\\\\'],
props: { numArgs: 0, numOptionalArgs: 0, allowedInText: !0 },
handler(r, e, t) {
var { parser: a } = r,
n = a.gullet.future().text === '[' ? a.parseSizeGroup(!0) : null,
s =
!a.settings.displayMode || !a.settings.useStrictBehavior('newLineInDisplayMode', 'In LaTeX, \\\\ or \\newline does nothing in display mode');
return { type: 'cr', mode: a.mode, newLine: s, size: n && F(n, 'size').value };
},
htmlBuilder(r, e) {
var t = b.makeSpan(['mspace'], [], e);
return r.newLine && (t.classes.push('newline'), r.size && (t.style.marginTop = A(K(r.size, e)))), t;
},
mathmlBuilder(r, e) {
var t = new S.MathNode('mspace');
return r.newLine && (t.setAttribute('linebreak', 'newline'), r.size && t.setAttribute('height', A(K(r.size, e)))), t;
},
});
var ut = {
'\\global': '\\global',
'\\long': '\\\\globallong',
'\\\\globallong': '\\\\globallong',
'\\def': '\\gdef',
'\\gdef': '\\gdef',
'\\edef': '\\xdef',
'\\xdef': '\\xdef',
'\\let': '\\\\globallet',
'\\futurelet': '\\\\globalfuture',
},
Or = (r) => {
var e = r.text;
if (/^(?:[\\{}$&#^_]|EOF)$/.test(e)) throw new M('Expected a control sequence', r);
return e;
},
N1 = (r) => {
var e = r.gullet.popToken();
return e.text === '=' && ((e = r.gullet.popToken()), e.text === ' ' && (e = r.gullet.popToken())), e;
},
Hr = (r, e, t, a) => {
var n = r.gullet.macros.get(t.text);
n == null && ((t.noexpand = !0), (n = { tokens: [t], numArgs: 0, unexpandable: !r.gullet.isExpandable(t.text) })), r.gullet.macros.set(e, n, a);
};
B({
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 (ut[a.text]) return (t === '\\global' || t === '\\\\globallong') && (a.text = ut[a.text]), F(e.parseFunction(), 'internal');
throw new M('Invalid token after macro prefix', a);
},
});
B({
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(),
n = a.text;
if (/^(?:[\\{}$&#^_]|EOF)$/.test(n)) throw new M('Expected a control sequence', a);
for (var s = 0, o, h = [[]]; e.gullet.future().text !== '{'; )
if (((a = e.gullet.popToken()), a.text === '#')) {
if (e.gullet.future().text === '{') {
(o = e.gullet.future()), h[s].push('{');
break;
}
if (((a = e.gullet.popToken()), !/^[1-9]$/.test(a.text))) throw new M('Invalid argument number "' + a.text + '"');
if (parseInt(a.text) !== s + 1) throw new M('Argument number "' + a.text + '" out of order');
s++, h.push([]);
} else {
if (a.text === 'EOF') throw new M('Expected a macro definition');
h[s].push(a.text);
}
var { tokens: c } = e.gullet.consumeArg();
return (
o && c.unshift(o),
(t === '\\edef' || t === '\\xdef') && ((c = e.gullet.expandTokens(c)), c.reverse()),
e.gullet.macros.set(n, { tokens: c, numArgs: s, delimiters: h }, t === ut[t]),
{ type: 'internal', mode: e.mode }
);
},
});
B({
type: 'internal',
names: ['\\let', '\\\\globallet'],
props: { numArgs: 0, allowedInText: !0, primitive: !0 },
handler(r) {
var { parser: e, funcName: t } = r,
a = Or(e.gullet.popToken());
e.gullet.consumeSpaces();
var n = N1(e);
return Hr(e, a, n, t === '\\\\globallet'), { type: 'internal', mode: e.mode };
},
});
B({
type: 'internal',
names: ['\\futurelet', '\\\\globalfuture'],
props: { numArgs: 0, allowedInText: !0, primitive: !0 },
handler(r) {
var { parser: e, funcName: t } = r,
a = Or(e.gullet.popToken()),
n = e.gullet.popToken(),
s = e.gullet.popToken();
return Hr(e, a, s, t === '\\\\globalfuture'), e.gullet.pushToken(s), e.gullet.pushToken(n), { type: 'internal', mode: e.mode };
},
});
var ne = function (e, t, a) {
var n = $.math[e] && $.math[e].replace,
s = ft(n || e, t, a);
if (!s) throw new Error('Unsupported symbol ' + e + ' and font size ' + t + '.');
return s;
},
wt = function (e, t, a, n) {
var s = a.havingBaseStyle(t),
o = b.makeSpan(n.concat(s.sizingClasses(a)), [e], a),
h = s.sizeMultiplier / a.sizeMultiplier;
return (o.height *= h), (o.depth *= h), (o.maxFontSize = s.sizeMultiplier), o;
},
Fr = function (e, t, a) {
var n = t.havingBaseStyle(a),
s = (1 - t.sizeMultiplier / n.sizeMultiplier) * t.fontMetrics().axisHeight;
e.classes.push('delimcenter'), (e.style.top = A(s)), (e.height -= s), (e.depth += s);
},
q1 = function (e, t, a, n, s, o) {
var h = b.makeSymbol(e, 'Main-Regular', s, n),
c = wt(h, t, n, o);
return a && Fr(c, n, t), c;
},
E1 = function (e, t, a, n) {
return b.makeSymbol(e, 'Size' + t + '-Regular', a, n);
},
Lr = function (e, t, a, n, s, o) {
var h = E1(e, t, s, n),
c = wt(b.makeSpan(['delimsizing', 'size' + t], [h], n), R.TEXT, n, o);
return a && Fr(c, n, R.TEXT), c;
},
je = function (e, t, a) {
var n;
t === 'Size1-Regular' ? (n = 'delim-size1') : (n = 'delim-size4');
var s = b.makeSpan(['delimsizinginner', n], [b.makeSpan([], [b.makeSymbol(e, t, a)])]);
return { type: 'elem', elem: s };
},
Ze = function (e, t, a) {
var n = x0['Size4-Regular'][e.charCodeAt(0)] ? x0['Size4-Regular'][e.charCodeAt(0)][4] : x0['Size1-Regular'][e.charCodeAt(0)][4],
s = new P0('inner', La(e, Math.round(1e3 * t))),
o = new D0([s], {
width: A(n),
height: A(t),
style: 'width:' + A(n),
viewBox: '0 0 ' + 1e3 * n + ' ' + Math.round(1e3 * t),
preserveAspectRatio: 'xMinYMin',
}),
h = b.makeSvgSpan([], [o], a);
return (h.height = t), (h.style.height = A(t)), (h.style.width = A(n)), { type: 'elem', elem: h };
},
ht = 0.008,
Se = { type: 'kern', size: -1 * ht },
R1 = ['|', '\\lvert', '\\rvert', '\\vert'],
I1 = ['\\|', '\\lVert', '\\rVert', '\\Vert'],
Pr = function (e, t, a, n, s, o) {
var h,
c,
p,
g,
y = '',
w = 0;
(h = p = g = e), (c = null);
var x = 'Size1-Regular';
e === '\\uparrow'
? (p = g = '⏐')
: e === '\\Uparrow'
? (p = g = '‖')
: e === '\\downarrow'
? (h = p = '⏐')
: e === '\\Downarrow'
? (h = p = '‖')
: e === '\\updownarrow'
? ((h = '\\uparrow'), (p = '⏐'), (g = '\\downarrow'))
: e === '\\Updownarrow'
? ((h = '\\Uparrow'), (p = '‖'), (g = '\\Downarrow'))
: q.contains(R1, e)
? ((p = ''), (y = 'vert'), (w = 333))
: q.contains(I1, e)
? ((p = '∥'), (y = 'doublevert'), (w = 556))
: e === '[' || e === '\\lbrack'
? ((h = '⎡'), (p = '⎢'), (g = '⎣'), (x = 'Size4-Regular'), (y = 'lbrack'), (w = 667))
: e === ']' || e === '\\rbrack'
? ((h = '⎤'), (p = '⎥'), (g = '⎦'), (x = 'Size4-Regular'), (y = 'rbrack'), (w = 667))
: e === '\\lfloor' || e === '⌊'
? ((p = h = '⎢'), (g = '⎣'), (x = 'Size4-Regular'), (y = 'lfloor'), (w = 667))
: e === '\\lceil' || e === '⌈'
? ((h = '⎡'), (p = g = '⎢'), (x = 'Size4-Regular'), (y = 'lceil'), (w = 667))
: e === '\\rfloor' || e === '⌋'
? ((p = h = '⎥'), (g = '⎦'), (x = 'Size4-Regular'), (y = 'rfloor'), (w = 667))
: e === '\\rceil' || e === '⌉'
? ((h = '⎤'), (p = g = '⎥'), (x = 'Size4-Regular'), (y = 'rceil'), (w = 667))
: e === '(' || e === '\\lparen'
? ((h = '⎛'), (p = '⎜'), (g = '⎝'), (x = 'Size4-Regular'), (y = 'lparen'), (w = 875))
: e === ')' || e === '\\rparen'
? ((h = '⎞'), (p = '⎟'), (g = '⎠'), (x = 'Size4-Regular'), (y = 'rparen'), (w = 875))
: e === '\\{' || e === '\\lbrace'
? ((h = '⎧'), (c = '⎨'), (g = '⎩'), (p = '⎪'), (x = 'Size4-Regular'))
: e === '\\}' || e === '\\rbrace'
? ((h = '⎫'), (c = '⎬'), (g = '⎭'), (p = '⎪'), (x = 'Size4-Regular'))
: e === '\\lgroup' || e === '⟮'
? ((h = '⎧'), (g = '⎩'), (p = '⎪'), (x = 'Size4-Regular'))
: e === '\\rgroup' || e === '⟯'
? ((h = '⎫'), (g = '⎭'), (p = '⎪'), (x = 'Size4-Regular'))
: e === '\\lmoustache' || e === '⎰'
? ((h = '⎧'), (g = '⎭'), (p = '⎪'), (x = 'Size4-Regular'))
: (e === '\\rmoustache' || e === '⎱') && ((h = '⎫'), (g = '⎩'), (p = '⎪'), (x = 'Size4-Regular'));
var z = ne(h, x, s),
T = z.height + z.depth,
C = ne(p, x, s),
N = C.height + C.depth,
O = ne(g, x, s),
H = O.height + O.depth,
V = 0,
L = 1;
if (c !== null) {
var U = ne(c, x, s);
(V = U.height + U.depth), (L = 2);
}
var G = T + H + V,
j = Math.max(0, Math.ceil((t - G) / (L * N))),
Y = G + j * L * N,
M0 = n.fontMetrics().axisHeight;
a && (M0 *= n.sizeMultiplier);
var r0 = Y / 2 - M0,
e0 = [];
if (y.length > 0) {
var U0 = Y - T - H,
s0 = Math.round(Y * 1e3),
g0 = Pa(y, Math.round(U0 * 1e3)),
E0 = new P0(y, g0),
W0 = (w / 1e3).toFixed(3) + 'em',
j0 = (s0 / 1e3).toFixed(3) + 'em',
Le = new D0([E0], { width: W0, height: j0, viewBox: '0 0 ' + w + ' ' + s0 }),
R0 = b.makeSvgSpan([], [Le], n);
(R0.height = s0 / 1e3), (R0.style.width = W0), (R0.style.height = j0), e0.push({ type: 'elem', elem: R0 });
} else {
if ((e0.push(je(g, x, s)), e0.push(Se), c === null)) {
var I0 = Y - T - H + 2 * ht;
e0.push(Ze(p, I0, n));
} else {
var m0 = (Y - T - H - V) / 2 + 2 * ht;
e0.push(Ze(p, m0, n)), e0.push(Se), e0.push(je(c, x, s)), e0.push(Se), e0.push(Ze(p, m0, n));
}
e0.push(Se), e0.push(je(h, x, s));
}
var ae = n.havingBaseStyle(R.TEXT),
Pe = b.makeVList({ positionType: 'bottom', positionData: r0, children: e0 }, ae);
return wt(b.makeSpan(['delimsizing', 'mult'], [Pe], ae), R.TEXT, n, o);
},
Ke = 80,
Je = 0.08,
Qe = function (e, t, a, n, s) {
var o = Fa(e, n, a),
h = new P0(e, o),
c = new D0([h], { width: '400em', height: A(t), viewBox: '0 0 400000 ' + a, preserveAspectRatio: 'xMinYMin slice' });
return b.makeSvgSpan(['hide-tail'], [c], s);
},
O1 = function (e, t) {
var a = t.havingBaseSizing(),
n = Yr('\\surd', e * a.sizeMultiplier, Ur, a),
s = a.sizeMultiplier,
o = Math.max(0, t.minRuleThickness - t.fontMetrics().sqrtRuleThickness),
h,
c = 0,
p = 0,
g = 0,
y;
return (
n.type === 'small'
? ((g = 1e3 + 1e3 * o + Ke),
e < 1 ? (s = 1) : e < 1.4 && (s = 0.7),
(c = (1 + o + Je) / s),
(p = (1 + o) / s),
(h = Qe('sqrtMain', c, g, o, t)),
(h.style.minWidth = '0.853em'),
(y = 0.833 / s))
: n.type === 'large'
? ((g = (1e3 + Ke) * se[n.size]),
(p = (se[n.size] + o) / s),
(c = (se[n.size] + o + Je) / s),
(h = Qe('sqrtSize' + n.size, c, g, o, t)),
(h.style.minWidth = '1.02em'),
(y = 1 / s))
: ((c = e + o + Je),
(p = e + o),
(g = Math.floor(1e3 * e + o) + Ke),
(h = Qe('sqrtTall', c, g, o, t)),
(h.style.minWidth = '0.742em'),
(y = 1.056)),
(h.height = p),
(h.style.height = A(c)),
{ span: h, advanceWidth: y, ruleWidth: (t.fontMetrics().sqrtRuleThickness + o) * s }
);
},
Gr = [
'(',
'\\lparen',
')',
'\\rparen',
'[',
'\\lbrack',
']',
'\\rbrack',
'\\{',
'\\lbrace',
'\\}',
'\\rbrace',
'\\lfloor',
'\\rfloor',
'⌊',
'⌋',
'\\lceil',
'\\rceil',
'⌈',
'⌉',
'\\surd',
],
H1 = [
'\\uparrow',
'\\downarrow',
'\\updownarrow',
'\\Uparrow',
'\\Downarrow',
'\\Updownarrow',
'|',
'\\|',
'\\vert',
'\\Vert',
'\\lvert',
'\\rvert',
'\\lVert',
'\\rVert',
'\\lgroup',
'\\rgroup',
'⟮',
'⟯',
'\\lmoustache',
'\\rmoustache',
'⎰',
'⎱',
],
Vr = ['<', '>', '\\langle', '\\rangle', '/', '\\backslash', '\\lt', '\\gt'],
se = [0, 1.2, 1.8, 2.4, 3],
F1 = function (e, t, a, n, s) {
if (
(e === '<' || e === '\\lt' || e === '⟨' ? (e = '\\langle') : (e === '>' || e === '\\gt' || e === '⟩') && (e = '\\rangle'),
q.contains(Gr, e) || q.contains(Vr, e))
)
return Lr(e, t, !1, a, n, s);
if (q.contains(H1, e)) return Pr(e, se[t], !1, a, n, s);
throw new M("Illegal delimiter: '" + e + "'");
},
L1 = [
{ type: 'small', style: R.SCRIPTSCRIPT },
{ type: 'small', style: R.SCRIPT },
{ type: 'small', style: R.TEXT },
{ type: 'large', size: 1 },
{ type: 'large', size: 2 },
{ type: 'large', size: 3 },
{ type: 'large', size: 4 },
],
P1 = [{ type: 'small', style: R.SCRIPTSCRIPT }, { type: 'small', style: R.SCRIPT }, { type: 'small', style: R.TEXT }, { type: 'stack' }],
Ur = [
{ type: 'small', style: R.SCRIPTSCRIPT },
{ type: 'small', style: R.SCRIPT },
{ type: 'small', style: R.TEXT },
{ type: 'large', size: 1 },
{ type: 'large', size: 2 },
{ type: 'large', size: 3 },
{ type: 'large', size: 4 },
{ type: 'stack' },
],
G1 = 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.");
},
Yr = function (e, t, a, n) {
for (var s = Math.min(2, 3 - n.style.size), o = s; o < a.length && a[o].type !== 'stack'; o++) {
var h = ne(e, G1(a[o]), 'math'),
c = h.height + h.depth;
if (a[o].type === 'small') {
var p = n.havingBaseStyle(a[o].style);
c *= p.sizeMultiplier;
}
if (c > t) return a[o];
}
return a[a.length - 1];
},
Xr = function (e, t, a, n, s, o) {
e === '<' || e === '\\lt' || e === '⟨' ? (e = '\\langle') : (e === '>' || e === '\\gt' || e === '⟩') && (e = '\\rangle');
var h;
q.contains(Vr, e) ? (h = L1) : q.contains(Gr, e) ? (h = Ur) : (h = P1);
var c = Yr(e, t, h, n);
return c.type === 'small' ? q1(e, c.style, a, n, s, o) : c.type === 'large' ? Lr(e, c.size, a, n, s, o) : Pr(e, t, a, n, s, o);
},
V1 = function (e, t, a, n, s, o) {
var h = n.fontMetrics().axisHeight * n.sizeMultiplier,
c = 901,
p = 5 / n.fontMetrics().ptPerEm,
g = Math.max(t - h, a + h),
y = Math.max((g / 500) * c, 2 * g - p);
return Xr(e, y, !0, n, s, o);
},
B0 = { sqrtImage: O1, sizedDelim: F1, sizeToMaxHeight: se, customSizedDelim: Xr, leftRightDelim: V1 },
Zt = {
'\\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 },
},
U1 = [
'(',
'\\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 Oe(r, e) {
var t = Re(r);
if (t && q.contains(U1, t.text)) return t;
throw t ? new M("Invalid delimiter '" + t.text + "' after '" + e.funcName + "'", r) : new M("Invalid delimiter type '" + r.type + "'", r);
}
B({
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 = Oe(e[0], r);
return { type: 'delimsizing', mode: r.parser.mode, size: Zt[r.funcName].size, mclass: Zt[r.funcName].mclass, delim: t.text };
},
htmlBuilder: (r, e) => (r.delim === '.' ? b.makeSpan([r.mclass]) : B0.sizedDelim(r.delim, r.size, e, r.mode, [r.mclass])),
mathmlBuilder: (r) => {
var e = [];
r.delim !== '.' && e.push(v0(r.delim, r.mode));
var t = new S.MathNode('mo', e);
r.mclass === 'mopen' || r.mclass === 'mclose' ? t.setAttribute('fence', 'true') : t.setAttribute('fence', 'false'),
t.setAttribute('stretchy', 'true');
var a = A(B0.sizeToMaxHeight[r.size]);
return t.setAttribute('minsize', a), t.setAttribute('maxsize', a), t;
},
});
function Kt(r) {
if (!r.body) throw new Error("Bug: The leftright ParseNode wasn't fully parsed.");
}
B({
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 M('\\current@color set to non-string in \\right');
return { type: 'leftright-right', mode: r.parser.mode, delim: Oe(e[0], r).text, color: t };
},
});
B({
type: 'leftright',
names: ['\\left'],
props: { numArgs: 1, primitive: !0 },
handler: (r, e) => {
var t = Oe(e[0], r),
a = r.parser;
++a.leftrightDepth;
var n = a.parseExpression(!1);
--a.leftrightDepth, a.expect('\\right', !1);
var s = F(a.parseFunction(), 'leftright-right');
return { type: 'leftright', mode: a.mode, body: n, left: t.text, right: s.delim, rightColor: s.color };
},
htmlBuilder: (r, e) => {
Kt(r);
for (var t = t0(r.body, e, !0, ['mopen', 'mclose']), a = 0, n = 0, s = !1, o = 0; o < t.length; o++)
t[o].isMiddle ? (s = !0) : ((a = Math.max(t[o].height, a)), (n = Math.max(t[o].depth, n)));
(a *= e.sizeMultiplier), (n *= e.sizeMultiplier);
var h;
if ((r.left === '.' ? (h = oe(e, ['mopen'])) : (h = B0.leftRightDelim(r.left, a, n, e, r.mode, ['mopen'])), t.unshift(h), s))
for (var c = 1; c < t.length; c++) {
var p = t[c],
g = p.isMiddle;
g && (t[c] = B0.leftRightDelim(g.delim, a, n, g.options, r.mode, []));
}
var y;
if (r.right === '.') y = oe(e, ['mclose']);
else {
var w = r.rightColor ? e.withColor(r.rightColor) : e;
y = B0.leftRightDelim(r.right, a, n, w, r.mode, ['mclose']);
}
return t.push(y), b.makeSpan(['minner'], t, e);
},
mathmlBuilder: (r, e) => {
Kt(r);
var t = o0(r.body, e);
if (r.left !== '.') {
var a = new S.MathNode('mo', [v0(r.left, r.mode)]);
a.setAttribute('fence', 'true'), t.unshift(a);
}
if (r.right !== '.') {
var n = new S.MathNode('mo', [v0(r.right, r.mode)]);
n.setAttribute('fence', 'true'), r.rightColor && n.setAttribute('mathcolor', r.rightColor), t.push(n);
}
return gt(t);
},
});
B({
type: 'middle',
names: ['\\middle'],
props: { numArgs: 1, primitive: !0 },
handler: (r, e) => {
var t = Oe(e[0], r);
if (!r.parser.leftrightDepth) throw new M('\\middle without preceding \\left', t);
return { type: 'middle', mode: r.parser.mode, delim: t.text };
},
htmlBuilder: (r, e) => {
var t;
if (r.delim === '.') t = oe(e, []);
else {
t = B0.sizedDelim(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 === '|' ? v0('|', 'text') : v0(r.delim, r.mode),
a = new S.MathNode('mo', [t]);
return a.setAttribute('fence', 'true'), a.setAttribute('lspace', '0.05em'), a.setAttribute('rspace', '0.05em'), a;
},
});
var kt = (r, e) => {
var t = b.wrapFragment(P(r.body, e), e),
a = r.label.slice(1),
n = e.sizeMultiplier,
s,
o = 0,
h = q.isCharacterBox(r.body);
if (a === 'sout')
(s = b.makeSpan(['stretchy', 'sout'])), (s.height = e.fontMetrics().defaultRuleThickness / n), (o = -0.5 * e.fontMetrics().xHeight);
else if (a === 'phase') {
var c = K({ number: 0.6, unit: 'pt' }, e),
p = K({ number: 0.35, unit: 'ex' }, e),
g = e.havingBaseSizing();
n = n / g.sizeMultiplier;
var y = t.height + t.depth + c + p;
t.style.paddingLeft = A(y / 2 + c);
var w = Math.floor(1e3 * y * n),
x = Oa(w),
z = new D0([new P0('phase', x)], { width: '400em', height: A(w / 1e3), viewBox: '0 0 400000 ' + w, preserveAspectRatio: 'xMinYMin slice' });
(s = b.makeSvgSpan(['hide-tail'], [z], e)), (s.style.height = A(y)), (o = t.depth + c + p);
} else {
/cancel/.test(a) ? h || t.classes.push('cancel-pad') : a === 'angl' ? t.classes.push('anglpad') : t.classes.push('boxpad');
var T = 0,
C = 0,
N = 0;
/box/.test(a)
? ((N = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness)), (T = e.fontMetrics().fboxsep + (a === 'colorbox' ? 0 : N)), (C = T))
: a === 'angl'
? ((N = Math.max(e.fontMetrics().defaultRuleThickness, e.minRuleThickness)), (T = 4 * N), (C = Math.max(0, 0.25 - t.depth)))
: ((T = h ? 0.2 : 0), (C = T)),
(s = N0.encloseSpan(t, a, T, C, e)),
/fbox|boxed|fcolorbox/.test(a)
? ((s.style.borderStyle = 'solid'), (s.style.borderWidth = A(N)))
: a === 'angl' && N !== 0.049 && ((s.style.borderTopWidth = A(N)), (s.style.borderRightWidth = A(N))),
(o = t.depth + C),
r.backgroundColor && ((s.style.backgroundColor = r.backgroundColor), r.borderColor && (s.style.borderColor = r.borderColor));
}
var O;
if (r.backgroundColor)
O = b.makeVList(
{
positionType: 'individualShift',
children: [
{ type: 'elem', elem: s, shift: o },
{ type: 'elem', elem: t, shift: 0 },
],
},
e
);
else {
var H = /cancel|phase/.test(a) ? ['svg-align'] : [];
O = b.makeVList(
{
positionType: 'individualShift',
children: [
{ type: 'elem', elem: t, shift: 0 },
{ type: 'elem', elem: s, shift: o, wrapperClasses: H },
],
},
e
);
}
return (
/cancel/.test(a) && ((O.height = t.height), (O.depth = t.depth)),
/cancel/.test(a) && !h ? b.makeSpan(['mord', 'cancel-lap'], [O], e) : b.makeSpan(['mord'], [O], e)
);
},
St = (r, e) => {
var t = 0,
a = new S.MathNode(r.label.indexOf('colorbox') > -1 ? 'mpadded' : 'menclose', [X(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 n = Math.max(e.fontMetrics().fboxrule, e.minRuleThickness);
a.setAttribute('style', 'border: ' + n + 'em solid ' + String(r.borderColor));
}
break;
case '\\xcancel':
a.setAttribute('notation', 'updiagonalstrike downdiagonalstrike');
break;
}
return r.backgroundColor && a.setAttribute('mathbackground', r.backgroundColor), a;
};
B({
type: 'enclose',
names: ['\\colorbox'],
props: { numArgs: 2, allowedInText: !0, argTypes: ['color', 'text'] },
handler(r, e, t) {
var { parser: a, funcName: n } = r,
s = F(e[0], 'color-token').color,
o = e[1];
return { type: 'enclose', mode: a.mode, label: n, backgroundColor: s, body: o };
},
htmlBuilder: kt,
mathmlBuilder: St,
});
B({
type: 'enclose',
names: ['\\fcolorbox'],
props: { numArgs: 3, allowedInText: !0, argTypes: ['color', 'color', 'text'] },
handler(r, e, t) {
var { parser: a, funcName: n } = r,
s = F(e[0], 'color-token').color,
o = F(e[1], 'color-token').color,
h = e[2];
return { type: 'enclose', mode: a.mode, label: n, backgroundColor: o, borderColor: s, body: h };
},
htmlBuilder: kt,
mathmlBuilder: St,
});
B({
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] };
},
});
B({
type: 'enclose',
names: ['\\cancel', '\\bcancel', '\\xcancel', '\\sout', '\\phase'],
props: { numArgs: 1 },
handler(r, e) {
var { parser: t, funcName: a } = r,
n = e[0];
return { type: 'enclose', mode: t.mode, label: a, body: n };
},
htmlBuilder: kt,
mathmlBuilder: St,
});
B({
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 $r = {};
function w0(r) {
for (
var { type: e, names: t, props: a, handler: n, htmlBuilder: s, mathmlBuilder: o } = r,
h = { type: e, numArgs: a.numArgs || 0, allowedInText: !1, numOptionalArgs: 0, handler: n },
c = 0;
c < t.length;
++c
)
$r[t[c]] = h;
s && (De[e] = s), o && (Ce[e] = o);
}
var Wr = {};
function m(r, e) {
Wr[r] = e;
}
function Jt(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 He = (r) => {
var e = r.parser.settings;
if (!e.displayMode) throw new M('{' + r.envName + '} can be used only in display mode.');
};
function Mt(r) {
if (r.indexOf('ed') === -1) return r.indexOf('*') === -1;
}
function V0(r, e, t) {
var {
hskipBeforeAndAfter: a,
addJot: n,
cols: s,
arraystretch: o,
colSeparationType: h,
autoTag: c,
singleRow: p,
emptySingleRow: g,
maxNumCols: y,
leqno: w,
} = e;
if ((r.gullet.beginGroup(), p || r.gullet.macros.set('\\cr', '\\\\\\relax'), !o)) {
var x = r.gullet.expandMacroAsText('\\arraystretch');
if (x == null) o = 1;
else if (((o = parseFloat(x)), !o || o < 0)) throw new M('Invalid \\arraystretch: ' + x);
}
r.gullet.beginGroup();
var z = [],
T = [z],
C = [],
N = [],
O = c != null ? [] : void 0;
function H() {
c && r.gullet.macros.set('\\@eqnsw', '1', !0);
}
function V() {
O &&
(r.gullet.macros.get('\\df@tag')
? (O.push(r.subparse([new f0('\\df@tag')])), r.gullet.macros.set('\\df@tag', void 0, !0))
: O.push(!!c && r.gullet.macros.get('\\@eqnsw') === '1'));
}
for (H(), N.push(Jt(r)); ; ) {
var L = r.parseExpression(!1, p ? '\\end' : '\\\\');
r.gullet.endGroup(),
r.gullet.beginGroup(),
(L = { type: 'ordgroup', mode: r.mode, body: L }),
t && (L = { type: 'styling', mode: r.mode, style: t, body: [L] }),
z.push(L);
var U = r.fetch().text;
if (U === '&') {
if (y && z.length === y) {
if (p || h) throw new M('Too many tab characters: &', r.nextToken);
r.settings.reportNonstrict('textEnv', 'Too few columns specified in the {array} column argument.');
}
r.consume();
} else if (U === '\\end') {
V(),
z.length === 1 && L.type === 'styling' && L.body[0].body.length === 0 && (T.length > 1 || !g) && T.pop(),
N.length < T.length + 1 && N.push([]);
break;
} else if (U === '\\\\') {
r.consume();
var G = void 0;
r.gullet.future().text !== ' ' && (G = r.parseSizeGroup(!0)), C.push(G ? G.value : null), V(), N.push(Jt(r)), (z = []), T.push(z), H();
} else throw new M('Expected & or \\\\ or \\cr or \\end', r.nextToken);
}
return (
r.gullet.endGroup(),
r.gullet.endGroup(),
{
type: 'array',
mode: r.mode,
addJot: n,
arraystretch: o,
body: T,
cols: s,
rowGaps: C,
hskipBeforeAndAfter: a,
hLinesBeforeRow: N,
colSeparationType: h,
tags: O,
leqno: w,
}
);
}
function zt(r) {
return r.slice(0, 1) === 'd' ? 'display' : 'text';
}
var k0 = function (e, t) {
var a,
n,
s = e.body.length,
o = e.hLinesBeforeRow,
h = 0,
c = new Array(s),
p = [],
g = Math.max(t.fontMetrics().arrayRuleWidth, t.minRuleThickness),
y = 1 / t.fontMetrics().ptPerEm,
w = 5 * y;
if (e.colSeparationType && e.colSeparationType === 'small') {
var x = t.havingStyle(R.SCRIPT).sizeMultiplier;
w = 0.2778 * (x / t.sizeMultiplier);
}
var z = e.colSeparationType === 'CD' ? K({ number: 3, unit: 'ex' }, t) : 12 * y,
T = 3 * y,
C = e.arraystretch * z,
N = 0.7 * C,
O = 0.3 * C,
H = 0;
function V(fe) {
for (var pe = 0; pe < fe.length; ++pe) pe > 0 && (H += 0.25), p.push({ pos: H, isDashed: fe[pe] });
}
for (V(o[0]), a = 0; a < e.body.length; ++a) {
var L = e.body[a],
U = N,
G = O;
h < L.length && (h = L.length);
var j = new Array(L.length);
for (n = 0; n < L.length; ++n) {
var Y = P(L[n], t);
G < Y.depth && (G = Y.depth), U < Y.height && (U = Y.height), (j[n] = Y);
}
var M0 = e.rowGaps[a],
r0 = 0;
M0 && ((r0 = K(M0, t)), r0 > 0 && ((r0 += O), G < r0 && (G = r0), (r0 = 0))),
e.addJot && (G += T),
(j.height = U),
(j.depth = G),
(H += U),
(j.pos = H),
(H += G + r0),
(c[a] = j),
V(o[a + 1]);
}
var e0 = H / 2 + t.fontMetrics().axisHeight,
U0 = e.cols || [],
s0 = [],
g0,
E0,
W0 = [];
if (e.tags && e.tags.some((fe) => fe))
for (a = 0; a < s; ++a) {
var j0 = c[a],
Le = j0.pos - e0,
R0 = e.tags[a],
I0 = void 0;
R0 === !0 ? (I0 = b.makeSpan(['eqn-num'], [], t)) : R0 === !1 ? (I0 = b.makeSpan([], [], t)) : (I0 = b.makeSpan([], t0(R0, t, !0), t)),
(I0.depth = j0.depth),
(I0.height = j0.height),
W0.push({ type: 'elem', elem: I0, shift: Le });
}
for (n = 0, E0 = 0; n < h || E0 < U0.length; ++n, ++E0) {
for (var m0 = U0[E0] || {}, ae = !0; m0.type === 'separator'; ) {
if (
(ae || ((g0 = b.makeSpan(['arraycolsep'], [])), (g0.style.width = A(t.fontMetrics().doubleRuleSep)), s0.push(g0)),
m0.separator === '|' || m0.separator === ':')
) {
var Pe = m0.separator === '|' ? 'solid' : 'dashed',
Z0 = b.makeSpan(['vertical-separator'], [], t);
(Z0.style.height = A(H)), (Z0.style.borderRightWidth = A(g)), (Z0.style.borderRightStyle = Pe), (Z0.style.margin = '0 ' + A(-g / 2));
var qt = H - e0;
qt && (Z0.style.verticalAlign = A(-qt)), s0.push(Z0);
} else throw new M('Invalid separator type: ' + m0.separator);
E0++, (m0 = U0[E0] || {}), (ae = !1);
}
if (!(n >= h)) {
var K0 = void 0;
(n > 0 || e.hskipBeforeAndAfter) &&
((K0 = q.deflt(m0.pregap, w)), K0 !== 0 && ((g0 = b.makeSpan(['arraycolsep'], [])), (g0.style.width = A(K0)), s0.push(g0)));
var J0 = [];
for (a = 0; a < s; ++a) {
var ce = c[a],
de = ce[n];
if (de) {
var ha = ce.pos - e0;
(de.depth = ce.depth), (de.height = ce.height), J0.push({ type: 'elem', elem: de, shift: ha });
}
}
(J0 = b.makeVList({ positionType: 'individualShift', children: J0 }, t)),
(J0 = b.makeSpan(['col-align-' + (m0.align || 'c')], [J0])),
s0.push(J0),
(n < h - 1 || e.hskipBeforeAndAfter) &&
((K0 = q.deflt(m0.postgap, w)), K0 !== 0 && ((g0 = b.makeSpan(['arraycolsep'], [])), (g0.style.width = A(K0)), s0.push(g0)));
}
}
if (((c = b.makeSpan(['mtable'], s0)), p.length > 0)) {
for (
var ma = b.makeLineSpan('hline', t, g), ca = b.makeLineSpan('hdashline', t, g), Ge = [{ type: 'elem', elem: c, shift: 0 }];
p.length > 0;
) {
var Et = p.pop(),
Rt = Et.pos - e0;
Et.isDashed ? Ge.push({ type: 'elem', elem: ca, shift: Rt }) : Ge.push({ type: 'elem', elem: ma, shift: Rt });
}
c = b.makeVList({ positionType: 'individualShift', children: Ge }, t);
}
if (W0.length === 0) return b.makeSpan(['mord'], [c], t);
var Ve = b.makeVList({ positionType: 'individualShift', children: W0 }, t);
return (Ve = b.makeSpan(['tag'], [Ve], t)), b.makeFragment([c, Ve]);
},
Y1 = { c: 'center ', l: 'left ', r: 'right ' },
S0 = function (e, t) {
for (var a = [], n = new S.MathNode('mtd', [], ['mtr-glue']), s = new S.MathNode('mtd', [], ['mml-eqn-num']), o = 0; o < e.body.length; o++) {
for (var h = e.body[o], c = [], p = 0; p < h.length; p++) c.push(new S.MathNode('mtd', [X(h[p], t)]));
e.tags && e.tags[o] && (c.unshift(n), c.push(n), e.leqno ? c.unshift(s) : c.push(s)), a.push(new S.MathNode('mtr', c));
}
var g = new S.MathNode('mtable', a),
y = e.arraystretch === 0.5 ? 0.1 : 0.16 + e.arraystretch - 1 + (e.addJot ? 0.09 : 0);
g.setAttribute('rowspacing', A(y));
var w = '',
x = '';
if (e.cols && e.cols.length > 0) {
var z = e.cols,
T = '',
C = !1,
N = 0,
O = z.length;
z[0].type === 'separator' && ((w += 'top '), (N = 1)), z[z.length - 1].type === 'separator' && ((w += 'bottom '), (O -= 1));
for (var H = N; H < O; H++)
z[H].type === 'align'
? ((x += Y1[z[H].align]), C && (T += 'none '), (C = !0))
: z[H].type === 'separator' && C && ((T += z[H].separator === '|' ? 'solid ' : 'dashed '), (C = !1));
g.setAttribute('columnalign', x.trim()), /[sd]/.test(T) && g.setAttribute('columnlines', T.trim());
}
if (e.colSeparationType === 'align') {
for (var V = e.cols || [], L = '', U = 1; U < V.length; U++) L += U % 2 ? '0em ' : '1em ';
g.setAttribute('columnspacing', L.trim());
} else
e.colSeparationType === 'alignat' || e.colSeparationType === 'gather'
? g.setAttribute('columnspacing', '0em')
: e.colSeparationType === 'small'
? g.setAttribute('columnspacing', '0.2778em')
: e.colSeparationType === 'CD'
? g.setAttribute('columnspacing', '0.5em')
: g.setAttribute('columnspacing', '1em');
var G = '',
j = e.hLinesBeforeRow;
(w += j[0].length > 0 ? 'left ' : ''), (w += j[j.length - 1].length > 0 ? 'right ' : '');
for (var Y = 1; Y < j.length - 1; Y++) G += j[Y].length === 0 ? 'none ' : j[Y][0] ? 'dashed ' : 'solid ';
return (
/[sd]/.test(G) && g.setAttribute('rowlines', G.trim()),
w !== '' && ((g = new S.MathNode('menclose', [g])), g.setAttribute('notation', w.trim())),
e.arraystretch && e.arraystretch < 1 && ((g = new S.MathNode('mstyle', [g])), g.setAttribute('scriptlevel', '1')),
g
);
},
jr = function (e, t) {
e.envName.indexOf('ed') === -1 && He(e);
var a = [],
n = e.envName.indexOf('at') > -1 ? 'alignat' : 'align',
s = e.envName === 'split',
o = V0(
e.parser,
{
cols: a,
addJot: !0,
autoTag: s ? void 0 : Mt(e.envName),
emptySingleRow: !0,
colSeparationType: n,
maxNumCols: s ? 2 : void 0,
leqno: e.parser.settings.leqno,
},
'display'
),
h,
c = 0,
p = { type: 'ordgroup', mode: e.mode, body: [] };
if (t[0] && t[0].type === 'ordgroup') {
for (var g = '', y = 0; y < t[0].body.length; y++) {
var w = F(t[0].body[y], 'textord');
g += w.text;
}
(h = Number(g)), (c = h * 2);
}
var x = !c;
o.body.forEach(function (N) {
for (var O = 1; O < N.length; O += 2) {
var H = F(N[O], 'styling'),
V = F(H.body[0], 'ordgroup');
V.body.unshift(p);
}
if (x) c < N.length && (c = N.length);
else {
var L = N.length / 2;
if (h < L) throw new M('Too many math in a row: ' + ('expected ' + h + ', but got ' + L), N[0]);
}
});
for (var z = 0; z < c; ++z) {
var T = 'r',
C = 0;
z % 2 === 1 ? (T = 'l') : z > 0 && x && (C = 1), (a[z] = { type: 'align', align: T, pregap: C, postgap: 0 });
}
return (o.colSeparationType = x ? 'align' : 'alignat'), o;
};
w0({
type: 'array',
names: ['array', 'darray'],
props: { numArgs: 1 },
handler(r, e) {
var t = Re(e[0]),
a = t ? [e[0]] : F(e[0], 'ordgroup').body,
n = a.map(function (o) {
var h = yt(o),
c = h.text;
if ('lcr'.indexOf(c) !== -1) return { type: 'align', align: c };
if (c === '|') return { type: 'separator', separator: '|' };
if (c === ':') return { type: 'separator', separator: ':' };
throw new M('Unknown column alignment: ' + c, o);
}),
s = { cols: n, hskipBeforeAndAfter: !0, maxNumCols: n.length };
return V0(r.parser, s, zt(r.envName));
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
w0({
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 n = r.parser;
if ((n.consumeSpaces(), n.fetch().text === '[')) {
if ((n.consume(), n.consumeSpaces(), (t = n.fetch().text), 'lcr'.indexOf(t) === -1)) throw new M('Expected l or c or r', n.nextToken);
n.consume(), n.consumeSpaces(), n.expect(']'), n.consume(), (a.cols = [{ type: 'align', align: t }]);
}
}
var s = V0(r.parser, a, zt(r.envName)),
o = Math.max(0, ...s.body.map((h) => h.length));
return (
(s.cols = new Array(o).fill({ type: 'align', align: t })),
e ? { type: 'leftright', mode: r.mode, body: [s], left: e[0], right: e[1], rightColor: void 0 } : s
);
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
w0({
type: 'array',
names: ['smallmatrix'],
props: { numArgs: 0 },
handler(r) {
var e = { arraystretch: 0.5 },
t = V0(r.parser, e, 'script');
return (t.colSeparationType = 'small'), t;
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
w0({
type: 'array',
names: ['subarray'],
props: { numArgs: 1 },
handler(r, e) {
var t = Re(e[0]),
a = t ? [e[0]] : F(e[0], 'ordgroup').body,
n = a.map(function (o) {
var h = yt(o),
c = h.text;
if ('lc'.indexOf(c) !== -1) return { type: 'align', align: c };
throw new M('Unknown column alignment: ' + c, o);
});
if (n.length > 1) throw new M('{subarray} can contain only one column');
var s = { cols: n, hskipBeforeAndAfter: !1, arraystretch: 0.5 };
if (((s = V0(r.parser, s, 'script')), s.body.length > 0 && s.body[0].length > 1)) throw new M('{subarray} can contain only one column');
return s;
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
w0({
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 = V0(r.parser, e, zt(r.envName));
return {
type: 'leftright',
mode: r.mode,
body: [t],
left: r.envName.indexOf('r') > -1 ? '.' : '\\{',
right: r.envName.indexOf('r') > -1 ? '\\}' : '.',
rightColor: void 0,
};
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
w0({ type: 'array', names: ['align', 'align*', 'aligned', 'split'], props: { numArgs: 0 }, handler: jr, htmlBuilder: k0, mathmlBuilder: S0 });
w0({
type: 'array',
names: ['gathered', 'gather', 'gather*'],
props: { numArgs: 0 },
handler(r) {
q.contains(['gather', 'gather*'], r.envName) && He(r);
var e = {
cols: [{ type: 'align', align: 'c' }],
addJot: !0,
colSeparationType: 'gather',
autoTag: Mt(r.envName),
emptySingleRow: !0,
leqno: r.parser.settings.leqno,
};
return V0(r.parser, e, 'display');
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
w0({ type: 'array', names: ['alignat', 'alignat*', 'alignedat'], props: { numArgs: 1 }, handler: jr, htmlBuilder: k0, mathmlBuilder: S0 });
w0({
type: 'array',
names: ['equation', 'equation*'],
props: { numArgs: 0 },
handler(r) {
He(r);
var e = { autoTag: Mt(r.envName), emptySingleRow: !0, singleRow: !0, maxNumCols: 1, leqno: r.parser.settings.leqno };
return V0(r.parser, e, 'display');
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
w0({
type: 'array',
names: ['CD'],
props: { numArgs: 0 },
handler(r) {
return He(r), C1(r.parser);
},
htmlBuilder: k0,
mathmlBuilder: S0,
});
m('\\nonumber', '\\gdef\\@eqnsw{0}');
m('\\notag', '\\nonumber');
B({
type: 'text',
names: ['\\hline', '\\hdashline'],
props: { numArgs: 0, allowedInText: !0, allowedInMath: !0 },
handler(r, e) {
throw new M(r.funcName + ' valid only within array environment');
},
});
var Qt = $r;
B({
type: 'environment',
names: ['\\begin', '\\end'],
props: { numArgs: 1, argTypes: ['text'] },
handler(r, e) {
var { parser: t, funcName: a } = r,
n = e[0];
if (n.type !== 'ordgroup') throw new M('Invalid environment name', n);
for (var s = '', o = 0; o < n.body.length; ++o) s += F(n.body[o], 'textord').text;
if (a === '\\begin') {
if (!Qt.hasOwnProperty(s)) throw new M('No such environment: ' + s, n);
var h = Qt[s],
{ args: c, optArgs: p } = t.parseArguments('\\begin{' + s + '}', h),
g = { mode: t.mode, envName: s, parser: t },
y = h.handler(g, c, p);
t.expect('\\end', !1);
var w = t.nextToken,
x = F(t.parseFunction(), 'environment');
if (x.name !== s) throw new M('Mismatch: \\begin{' + s + '} matched by \\end{' + x.name + '}', w);
return y;
}
return { type: 'environment', mode: t.mode, name: s, nameGroup: n };
},
});
var Zr = (r, e) => {
var t = r.font,
a = e.withFont(t);
return P(r.body, a);
},
Kr = (r, e) => {
var t = r.font,
a = e.withFont(t);
return X(r.body, a);
},
_t = { '\\Bbb': '\\mathbb', '\\bold': '\\mathbf', '\\frak': '\\mathfrak', '\\bm': '\\boldsymbol' };
B({
type: 'font',
names: [
'\\mathrm',
'\\mathit',
'\\mathbf',
'\\mathnormal',
'\\mathbb',
'\\mathcal',
'\\mathfrak',
'\\mathscr',
'\\mathsf',
'\\mathtt',
'\\Bbb',
'\\bold',
'\\frak',
],
props: { numArgs: 1, allowedInArgument: !0 },
handler: (r, e) => {
var { parser: t, funcName: a } = r,
n = Ne(e[0]),
s = a;
return s in _t && (s = _t[s]), { type: 'font', mode: t.mode, font: s.slice(1), body: n };
},
htmlBuilder: Zr,
mathmlBuilder: Kr,
});
B({
type: 'mclass',
names: ['\\boldsymbol', '\\bm'],
props: { numArgs: 1 },
handler: (r, e) => {
var { parser: t } = r,
a = e[0],
n = q.isCharacterBox(a);
return { type: 'mclass', mode: t.mode, mclass: Ie(a), body: [{ type: 'font', mode: t.mode, font: 'boldsymbol', body: a }], isCharacterBox: n };
},
});
B({
type: 'font',
names: ['\\rm', '\\sf', '\\tt', '\\bf', '\\it', '\\cal'],
props: { numArgs: 0, allowedInText: !0 },
handler: (r, e) => {
var { parser: t, funcName: a, breakOnTokenText: n } = r,
{ mode: s } = t,
o = t.parseExpression(!0, n),
h = 'math' + a.slice(1);
return { type: 'font', mode: s, font: h, body: { type: 'ordgroup', mode: t.mode, body: o } };
},
htmlBuilder: Zr,
mathmlBuilder: Kr,
});
var Jr = (r, e) => {
var t = e;
return (
r === 'display'
? (t = t.id >= R.SCRIPT.id ? t.text() : R.DISPLAY)
: r === 'text' && t.size === R.DISPLAY.size
? (t = R.TEXT)
: r === 'script'
? (t = R.SCRIPT)
: r === 'scriptscript' && (t = R.SCRIPTSCRIPT),
t
);
},
At = (r, e) => {
var t = Jr(r.size, e.style),
a = t.fracNum(),
n = t.fracDen(),
s;
s = e.havingStyle(a);
var o = P(r.numer, s, e);
if (r.continued) {
var h = 8.5 / e.fontMetrics().ptPerEm,
c = 3.5 / e.fontMetrics().ptPerEm;
(o.height = o.height < h ? h : o.height), (o.depth = o.depth < c ? c : o.depth);
}
s = e.havingStyle(n);
var p = P(r.denom, s, e),
g,
y,
w;
r.hasBarLine
? (r.barSize ? ((y = K(r.barSize, e)), (g = b.makeLineSpan('frac-line', e, y))) : (g = b.makeLineSpan('frac-line', e)),
(y = g.height),
(w = g.height))
: ((g = null), (y = 0), (w = e.fontMetrics().defaultRuleThickness));
var x, z, T;
t.size === R.DISPLAY.size || r.size === 'display'
? ((x = e.fontMetrics().num1), y > 0 ? (z = 3 * w) : (z = 7 * w), (T = e.fontMetrics().denom1))
: (y > 0 ? ((x = e.fontMetrics().num2), (z = w)) : ((x = e.fontMetrics().num3), (z = 3 * w)), (T = e.fontMetrics().denom2));
var C;
if (g) {
var O = e.fontMetrics().axisHeight;
x - o.depth - (O + 0.5 * y) < z && (x += z - (x - o.depth - (O + 0.5 * y))),
O - 0.5 * y - (p.height - T) < z && (T += z - (O - 0.5 * y - (p.height - T)));
var H = -(O - 0.5 * y);
C = b.makeVList(
{
positionType: 'individualShift',
children: [
{ type: 'elem', elem: p, shift: T },
{ type: 'elem', elem: g, shift: H },
{ type: 'elem', elem: o, shift: -x },
],
},
e
);
} else {
var N = x - o.depth - (p.height - T);
N < z && ((x += 0.5 * (z - N)), (T += 0.5 * (z - N))),
(C = b.makeVList(
{
positionType: 'individualShift',
children: [
{ type: 'elem', elem: p, shift: T },
{ type: 'elem', elem: o, shift: -x },
],
},
e
));
}
(s = e.havingStyle(t)), (C.height *= s.sizeMultiplier / e.sizeMultiplier), (C.depth *= s.sizeMultiplier / e.sizeMultiplier);
var V;
t.size === R.DISPLAY.size
? (V = e.fontMetrics().delim1)
: t.size === R.SCRIPTSCRIPT.size
? (V = e.havingStyle(R.SCRIPT).fontMetrics().delim2)
: (V = e.fontMetrics().delim2);
var L, U;
return (
r.leftDelim == null ? (L = oe(e, ['mopen'])) : (L = B0.customSizedDelim(r.leftDelim, V, !0, e.havingStyle(t), r.mode, ['mopen'])),
r.continued
? (U = b.makeSpan([]))
: r.rightDelim == null
? (U = oe(e, ['mclose']))
: (U = B0.customSizedDelim(r.rightDelim, V, !0, e.havingStyle(t), r.mode, ['mclose'])),
b.makeSpan(['mord'].concat(s.sizingClasses(e)), [L, b.makeSpan(['mfrac'], [C]), U], e)
);
},
Tt = (r, e) => {
var t = new S.MathNode('mfrac', [X(r.numer, e), X(r.denom, e)]);
if (!r.hasBarLine) t.setAttribute('linethickness', '0px');
else if (r.barSize) {
var a = K(r.barSize, e);
t.setAttribute('linethickness', A(a));
}
var n = Jr(r.size, e.style);
if (n.size !== e.style.size) {
t = new S.MathNode('mstyle', [t]);
var s = n.size === R.DISPLAY.size ? 'true' : 'false';
t.setAttribute('displaystyle', s), t.setAttribute('scriptlevel', '0');
}
if (r.leftDelim != null || r.rightDelim != null) {
var o = [];
if (r.leftDelim != null) {
var h = new S.MathNode('mo', [new S.TextNode(r.leftDelim.replace('\\', ''))]);
h.setAttribute('fence', 'true'), o.push(h);
}
if ((o.push(t), r.rightDelim != null)) {
var c = new S.MathNode('mo', [new S.TextNode(r.rightDelim.replace('\\', ''))]);
c.setAttribute('fence', 'true'), o.push(c);
}
return gt(o);
}
return t;
};
B({
type: 'genfrac',
names: ['\\dfrac', '\\frac', '\\tfrac', '\\dbinom', '\\binom', '\\tbinom', '\\\\atopfrac', '\\\\bracefrac', '\\\\brackfrac'],
props: { numArgs: 2, allowedInArgument: !0 },
handler: (r, e) => {
var { parser: t, funcName: a } = r,
n = e[0],
s = e[1],
o,
h = null,
c = null,
p = 'auto';
switch (a) {
case '\\dfrac':
case '\\frac':
case '\\tfrac':
o = !0;
break;
case '\\\\atopfrac':
o = !1;
break;
case '\\dbinom':
case '\\binom':
case '\\tbinom':
(o = !1), (h = '('), (c = ')');
break;
case '\\\\bracefrac':
(o = !1), (h = '\\{'), (c = '\\}');
break;
case '\\\\brackfrac':
(o = !1), (h = '['), (c = ']');
break;
default:
throw new Error('Unrecognized genfrac command');
}
switch (a) {
case '\\dfrac':
case '\\dbinom':
p = 'display';
break;
case '\\tfrac':
case '\\tbinom':
p = 'text';
break;
}
return { type: 'genfrac', mode: t.mode, continued: !1, numer: n, denom: s, hasBarLine: o, leftDelim: h, rightDelim: c, size: p, barSize: null };
},
htmlBuilder: At,
mathmlBuilder: Tt,
});
B({
type: 'genfrac',
names: ['\\cfrac'],
props: { numArgs: 2 },
handler: (r, e) => {
var { parser: t, funcName: a } = r,
n = e[0],
s = e[1];
return {
type: 'genfrac',
mode: t.mode,
continued: !0,
numer: n,
denom: s,
hasBarLine: !0,
leftDelim: null,
rightDelim: null,
size: 'display',
barSize: null,
};
},
});
B({
type: 'infix',
names: ['\\over', '\\choose', '\\atop', '\\brace', '\\brack'],
props: { numArgs: 0, infix: !0 },
handler(r) {
var { parser: e, funcName: t, token: a } = r,
n;
switch (t) {
case '\\over':
n = '\\frac';
break;
case '\\choose':
n = '\\binom';
break;
case '\\atop':
n = '\\\\atopfrac';
break;
case '\\brace':
n = '\\\\bracefrac';
break;
case '\\brack':
n = '\\\\brackfrac';
break;
default:
throw new Error('Unrecognized infix genfrac command');
}
return { type: 'infix', mode: e.mode, replaceWith: n, token: a };
},
});
var er = ['display', 'text', 'script', 'scriptscript'],
tr = function (e) {
var t = null;
return e.length > 0 && ((t = e), (t = t === '.' ? null : t)), t;
};
B({
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],
n = e[5],
s = Ne(e[0]),
o = s.type === 'atom' && s.family === 'open' ? tr(s.text) : null,
h = Ne(e[1]),
c = h.type === 'atom' && h.family === 'close' ? tr(h.text) : null,
p = F(e[2], 'size'),
g,
y = null;
p.isBlank ? (g = !0) : ((y = p.value), (g = y.number > 0));
var w = 'auto',
x = e[3];
if (x.type === 'ordgroup') {
if (x.body.length > 0) {
var z = F(x.body[0], 'textord');
w = er[Number(z.text)];
}
} else (x = F(x, 'textord')), (w = er[Number(x.text)]);
return { type: 'genfrac', mode: t.mode, numer: a, denom: n, continued: !1, hasBarLine: g, barSize: y, leftDelim: o, rightDelim: c, size: w };
},
htmlBuilder: At,
mathmlBuilder: Tt,
});
B({
type: 'infix',
names: ['\\above'],
props: { numArgs: 1, argTypes: ['size'], infix: !0 },
handler(r, e) {
var { parser: t, funcName: a, token: n } = r;
return { type: 'infix', mode: t.mode, replaceWith: '\\\\abovefrac', size: F(e[0], 'size').value, token: n };
},
});
B({
type: 'genfrac',
names: ['\\\\abovefrac'],
props: { numArgs: 3, argTypes: ['math', 'size', 'math'] },
handler: (r, e) => {
var { parser: t, funcName: a } = r,
n = e[0],
s = wa(F(e[1], 'infix').size),
o = e[2],
h = s.number > 0;
return {
type: 'genfrac',
mode: t.mode,
numer: n,
denom: o,
continued: !1,
hasBarLine: h,
barSize: s,
leftDelim: null,
rightDelim: null,
size: 'auto',
};
},
htmlBuilder: At,
mathmlBuilder: Tt,
});
var Qr = (r, e) => {
var t = e.style,
a,
n;
r.type === 'supsub'
? ((a = r.sup ? P(r.sup, e.havingStyle(t.sup()), e) : P(r.sub, e.havingStyle(t.sub()), e)), (n = F(r.base, 'horizBrace')))
: (n = F(r, 'horizBrace'));
var s = P(n.base, e.havingBaseStyle(R.DISPLAY)),
o = N0.svgSpan(n, e),
h;
if (
(n.isOver
? ((h = b.makeVList(
{
positionType: 'firstBaseline',
children: [
{ type: 'elem', elem: s },
{ type: 'kern', size: 0.1 },
{ type: 'elem', elem: o },
],
},
e
)),
h.children[0].children[0].children[1].classes.push('svg-align'))
: ((h = b.makeVList(
{
positionType: 'bottom',
positionData: s.depth + 0.1 + o.height,
children: [
{ type: 'elem', elem: o },
{ type: 'kern', size: 0.1 },
{ type: 'elem', elem: s },
],
},
e
)),
h.children[0].children[0].children[0].classes.push('svg-align')),
a)
) {
var c = b.makeSpan(['mord', n.isOver ? 'mover' : 'munder'], [h], e);
n.isOver
? (h = b.makeVList(
{
positionType: 'firstBaseline',
children: [
{ type: 'elem', elem: c },
{ type: 'kern', size: 0.2 },
{ type: 'elem', elem: a },
],
},
e
))
: (h = b.makeVList(
{
positionType: 'bottom',
positionData: c.depth + 0.2 + a.height + a.depth,
children: [
{ type: 'elem', elem: a },
{ type: 'kern', size: 0.2 },
{ type: 'elem', elem: c },
],
},
e
));
}
return b.makeSpan(['mord', n.isOver ? 'mover' : 'munder'], [h], e);
},
X1 = (r, e) => {
var t = N0.mathMLnode(r.label);
return new S.MathNode(r.isOver ? 'mover' : 'munder', [X(r.base, e), t]);
};
B({
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: Qr,
mathmlBuilder: X1,
});
B({
type: 'href',
names: ['\\href'],
props: { numArgs: 2, argTypes: ['url', 'original'], allowedInText: !0 },
handler: (r, e) => {
var { parser: t } = r,
a = e[1],
n = F(e[0], 'url').url;
return t.settings.isTrusted({ command: '\\href', url: n })
? { type: 'href', mode: t.mode, href: n, body: Q(a) }
: t.formatUnsupportedCmd('\\href');
},
htmlBuilder: (r, e) => {
var t = t0(r.body, e, !1);
return b.makeAnchor(r.href, [], t, e);
},
mathmlBuilder: (r, e) => {
var t = G0(r.body, e);
return t instanceof c0 || (t = new c0('mrow', [t])), t.setAttribute('href', r.href), t;
},
});
B({
type: 'href',
names: ['\\url'],
props: { numArgs: 1, argTypes: ['url'], allowedInText: !0 },
handler: (r, e) => {
var { parser: t } = r,
a = F(e[0], 'url').url;
if (!t.settings.isTrusted({ command: '\\url', url: a })) return t.formatUnsupportedCmd('\\url');
for (var n = [], s = 0; s < a.length; s++) {
var o = a[s];
o === '~' && (o = '\\textasciitilde'), n.push({ type: 'textord', mode: 'text', text: o });
}
var h = { type: 'text', mode: t.mode, font: '\\texttt', body: n };
return { type: 'href', mode: t.mode, href: a, body: Q(h) };
},
});
B({
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: Q(e[0]) };
},
htmlBuilder(r, e) {
var t = t0(r.body, e, !1);
return b.makeFragment(t);
},
mathmlBuilder(r, e) {
return new S.MathNode('mrow', o0(r.body, e));
},
});
B({
type: 'html',
names: ['\\htmlClass', '\\htmlId', '\\htmlStyle', '\\htmlData'],
props: { numArgs: 2, argTypes: ['raw', 'original'], allowedInText: !0 },
handler: (r, e) => {
var { parser: t, funcName: a, token: n } = r,
s = F(e[0], 'raw').string,
o = e[1];
t.settings.strict && t.settings.reportNonstrict('htmlExtension', 'HTML extension is disabled on strict mode');
var h,
c = {};
switch (a) {
case '\\htmlClass':
(c.class = s), (h = { command: '\\htmlClass', class: s });
break;
case '\\htmlId':
(c.id = s), (h = { command: '\\htmlId', id: s });
break;
case '\\htmlStyle':
(c.style = s), (h = { command: '\\htmlStyle', style: s });
break;
case '\\htmlData': {
for (var p = s.split(','), g = 0; g < p.length; g++) {
var y = p[g].split('=');
if (y.length !== 2) throw new M('Error parsing key-value for \\htmlData');
c['data-' + y[0].trim()] = y[1].trim();
}
h = { command: '\\htmlData', attributes: c };
break;
}
default:
throw new Error('Unrecognized html command');
}
return t.settings.isTrusted(h) ? { type: 'html', mode: t.mode, attributes: c, body: Q(o) } : t.formatUnsupportedCmd(a);
},
htmlBuilder: (r, e) => {
var t = t0(r.body, e, !1),
a = ['enclosing'];
r.attributes.class && a.push(...r.attributes.class.trim().split(/\s+/));
var n = b.makeSpan(a, t, e);
for (var s in r.attributes) s !== 'class' && r.attributes.hasOwnProperty(s) && n.setAttribute(s, r.attributes[s]);
return n;
},
mathmlBuilder: (r, e) => G0(r.body, e),
});
B({
type: 'htmlmathml',
names: ['\\html@mathml'],
props: { numArgs: 2, allowedInText: !0 },
handler: (r, e) => {
var { parser: t } = r;
return { type: 'htmlmathml', mode: t.mode, html: Q(e[0]), mathml: Q(e[1]) };
},
htmlBuilder: (r, e) => {
var t = t0(r.html, e, !1);
return b.makeFragment(t);
},
mathmlBuilder: (r, e) => G0(r.mathml, e),
});
var _e = 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 M("Invalid size: '" + e + "' in \\includegraphics");
var a = { number: +(t[1] + t[2]), unit: t[3] };
if (!gr(a)) throw new M("Invalid unit: '" + a.unit + "' in \\includegraphics.");
return a;
};
B({
type: 'includegraphics',
names: ['\\includegraphics'],
props: { numArgs: 1, numOptionalArgs: 1, argTypes: ['raw', 'url'], allowedInText: !1 },
handler: (r, e, t) => {
var { parser: a } = r,
n = { number: 0, unit: 'em' },
s = { number: 0.9, unit: 'em' },
o = { number: 0, unit: 'em' },
h = '';
if (t[0])
for (var c = F(t[0], 'raw').string, p = c.split(','), g = 0; g < p.length; g++) {
var y = p[g].split('=');
if (y.length === 2) {
var w = y[1].trim();
switch (y[0].trim()) {
case 'alt':
h = w;
break;
case 'width':
n = _e(w);
break;
case 'height':
s = _e(w);
break;
case 'totalheight':
o = _e(w);
break;
default:
throw new M("Invalid key: '" + y[0] + "' in \\includegraphics.");
}
}
}
var x = F(e[0], 'url').url;
return (
h === '' && ((h = x), (h = h.replace(/^.*[\\/]/, '')), (h = h.substring(0, h.lastIndexOf('.')))),
a.settings.isTrusted({ command: '\\includegraphics', url: x })
? { type: 'includegraphics', mode: a.mode, alt: h, width: n, height: s, totalheight: o, src: x }
: a.formatUnsupportedCmd('\\includegraphics')
);
},
htmlBuilder: (r, e) => {
var t = K(r.height, e),
a = 0;
r.totalheight.number > 0 && (a = K(r.totalheight, e) - t);
var n = 0;
r.width.number > 0 && (n = K(r.width, e));
var s = { height: A(t + a) };
n > 0 && (s.width = A(n)), a > 0 && (s.verticalAlign = A(-a));
var o = new Xa(r.src, r.alt, s);
return (o.height = t), (o.depth = a), o;
},
mathmlBuilder: (r, e) => {
var t = new S.MathNode('mglyph', []);
t.setAttribute('alt', r.alt);
var a = K(r.height, e),
n = 0;
if (
(r.totalheight.number > 0 && ((n = K(r.totalheight, e) - a), t.setAttribute('valign', A(-n))),
t.setAttribute('height', A(a + n)),
r.width.number > 0)
) {
var s = K(r.width, e);
t.setAttribute('width', A(s));
}
return t.setAttribute('src', r.src), t;
},
});
B({
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,
n = F(e[0], 'size');
if (t.settings.strict) {
var s = a[1] === 'm',
o = n.value.unit === 'mu';
s
? (o || t.settings.reportNonstrict('mathVsTextUnits', "LaTeX's " + a + ' supports only mu units, ' + ('not ' + n.value.unit + ' units')),
t.mode !== 'math' && t.settings.reportNonstrict('mathVsTextUnits', "LaTeX's " + a + ' works only in math mode'))
: o && t.settings.reportNonstrict('mathVsTextUnits', "LaTeX's " + a + " doesn't support mu units");
}
return { type: 'kern', mode: t.mode, dimension: n.value };
},
htmlBuilder(r, e) {
return b.makeGlue(r.dimension, e);
},
mathmlBuilder(r, e) {
var t = K(r.dimension, e);
return new S.SpaceNode(t);
},
});
B({
type: 'lap',
names: ['\\mathllap', '\\mathrlap', '\\mathclap'],
props: { numArgs: 1, allowedInText: !0 },
handler: (r, e) => {
var { parser: t, funcName: a } = r,
n = e[0];
return { type: 'lap', mode: t.mode, alignment: a.slice(5), body: n };
},
htmlBuilder: (r, e) => {
var t;
r.alignment === 'clap'
? ((t = b.makeSpan([], [P(r.body, e)])), (t = b.makeSpan(['inner'], [t], e)))
: (t = b.makeSpan(['inner'], [P(r.body, e)]));
var a = b.makeSpan(['fix'], []),
n = b.makeSpan([r.alignment], [t, a], e),
s = b.makeSpan(['strut']);
return (
(s.style.height = A(n.height + n.depth)),
n.depth && (s.style.verticalAlign = A(-n.depth)),
n.children.unshift(s),
(n = b.makeSpan(['thinbox'], [n], e)),
b.makeSpan(['mord', 'vbox'], [n], e)
);
},
mathmlBuilder: (r, e) => {
var t = new S.MathNode('mpadded', [X(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;
},
});
B({
type: 'styling',
names: ['\\(', '$'],
props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
handler(r, e) {
var { funcName: t, parser: a } = r,
n = a.mode;
a.switchMode('math');
var s = t === '\\(' ? '\\)' : '$',
o = a.parseExpression(!1, s);
return a.expect(s), a.switchMode(n), { type: 'styling', mode: a.mode, style: 'text', body: o };
},
});
B({
type: 'text',
names: ['\\)', '\\]'],
props: { numArgs: 0, allowedInText: !0, allowedInMath: !1 },
handler(r, e) {
throw new M('Mismatched ' + r.funcName);
},
});
var rr = (r, e) => {
switch (e.style.size) {
case R.DISPLAY.size:
return r.display;
case R.TEXT.size:
return r.text;
case R.SCRIPT.size:
return r.script;
case R.SCRIPTSCRIPT.size:
return r.scriptscript;
default:
return r.text;
}
};
B({
type: 'mathchoice',
names: ['\\mathchoice'],
props: { numArgs: 4, primitive: !0 },
handler: (r, e) => {
var { parser: t } = r;
return { type: 'mathchoice', mode: t.mode, display: Q(e[0]), text: Q(e[1]), script: Q(e[2]), scriptscript: Q(e[3]) };
},
htmlBuilder: (r, e) => {
var t = rr(r, e),
a = t0(t, e, !1);
return b.makeFragment(a);
},
mathmlBuilder: (r, e) => {
var t = rr(r, e);
return G0(t, e);
},
});
var _r = (r, e, t, a, n, s, o) => {
r = b.makeSpan([], [r]);
var h = t && q.isCharacterBox(t),
c,
p;
if (e) {
var g = P(e, a.havingStyle(n.sup()), a);
p = { elem: g, kern: Math.max(a.fontMetrics().bigOpSpacing1, a.fontMetrics().bigOpSpacing3 - g.depth) };
}
if (t) {
var y = P(t, a.havingStyle(n.sub()), a);
c = { elem: y, kern: Math.max(a.fontMetrics().bigOpSpacing2, a.fontMetrics().bigOpSpacing4 - y.height) };
}
var w;
if (p && c) {
var x = a.fontMetrics().bigOpSpacing5 + c.elem.height + c.elem.depth + c.kern + r.depth + o;
w = b.makeVList(
{
positionType: 'bottom',
positionData: x,
children: [
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
{ type: 'elem', elem: c.elem, marginLeft: A(-s) },
{ type: 'kern', size: c.kern },
{ type: 'elem', elem: r },
{ type: 'kern', size: p.kern },
{ type: 'elem', elem: p.elem, marginLeft: A(s) },
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
],
},
a
);
} else if (c) {
var z = r.height - o;
w = b.makeVList(
{
positionType: 'top',
positionData: z,
children: [
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
{ type: 'elem', elem: c.elem, marginLeft: A(-s) },
{ type: 'kern', size: c.kern },
{ type: 'elem', elem: r },
],
},
a
);
} else if (p) {
var T = r.depth + o;
w = b.makeVList(
{
positionType: 'bottom',
positionData: T,
children: [
{ type: 'elem', elem: r },
{ type: 'kern', size: p.kern },
{ type: 'elem', elem: p.elem, marginLeft: A(s) },
{ type: 'kern', size: a.fontMetrics().bigOpSpacing5 },
],
},
a
);
} else return r;
var C = [w];
if (c && s !== 0 && !h) {
var N = b.makeSpan(['mspace'], [], a);
(N.style.marginRight = A(s)), C.unshift(N);
}
return b.makeSpan(['mop', 'op-limits'], C, a);
},
ea = ['\\smallint'],
re = (r, e) => {
var t,
a,
n = !1,
s;
r.type === 'supsub' ? ((t = r.sup), (a = r.sub), (s = F(r.base, 'op')), (n = !0)) : (s = F(r, 'op'));
var o = e.style,
h = !1;
o.size === R.DISPLAY.size && s.symbol && !q.contains(ea, s.name) && (h = !0);
var c;
if (s.symbol) {
var p = h ? 'Size2-Regular' : 'Size1-Regular',
g = '';
if (
((s.name === '\\oiint' || s.name === '\\oiiint') && ((g = s.name.slice(1)), (s.name = g === 'oiint' ? '\\iint' : '\\iiint')),
(c = b.makeSymbol(s.name, p, 'math', e, ['mop', 'op-symbol', h ? 'large-op' : 'small-op'])),
g.length > 0)
) {
var y = c.italic,
w = b.staticSvg(g + 'Size' + (h ? '2' : '1'), e);
(c = b.makeVList(
{
positionType: 'individualShift',
children: [
{ type: 'elem', elem: c, shift: 0 },
{ type: 'elem', elem: w, shift: h ? 0.08 : 0 },
],
},
e
)),
(s.name = '\\' + g),
c.classes.unshift('mop'),
(c.italic = y);
}
} else if (s.body) {
var x = t0(s.body, e, !0);
x.length === 1 && x[0] instanceof p0 ? ((c = x[0]), (c.classes[0] = 'mop')) : (c = b.makeSpan(['mop'], x, e));
} else {
for (var z = [], T = 1; T < s.name.length; T++) z.push(b.mathsym(s.name[T], s.mode, e));
c = b.makeSpan(['mop'], z, e);
}
var C = 0,
N = 0;
return (
(c instanceof p0 || s.name === '\\oiint' || s.name === '\\oiiint') &&
!s.suppressBaseShift &&
((C = (c.height - c.depth) / 2 - e.fontMetrics().axisHeight), (N = c.italic)),
n ? _r(c, t, a, e, o, N, C) : (C && ((c.style.position = 'relative'), (c.style.top = A(C))), c)
);
},
me = (r, e) => {
var t;
if (r.symbol) (t = new c0('mo', [v0(r.name, r.mode)])), q.contains(ea, r.name) && t.setAttribute('largeop', 'false');
else if (r.body) t = new c0('mo', o0(r.body, e));
else {
t = new c0('mi', [new ie(r.name.slice(1))]);
var a = new c0('mo', [v0('', 'text')]);
r.parentIsSupSub ? (t = new c0('mrow', [t, a])) : (t = Br([t, a]));
}
return t;
},
$1 = {
'∏': '\\prod',
'∐': '\\coprod',
'∑': '\\sum',
'⋀': '\\bigwedge',
'': '\\bigvee',
'⋂': '\\bigcap',
'': '\\bigcup',
'⨀': '\\bigodot',
'⨁': '\\bigoplus',
'⨂': '\\bigotimes',
'⨄': '\\biguplus',
'⨆': '\\bigsqcup',
};
B({
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,
n = a;
return n.length === 1 && (n = $1[n]), { type: 'op', mode: t.mode, limits: !0, parentIsSupSub: !1, symbol: !0, name: n };
},
htmlBuilder: re,
mathmlBuilder: me,
});
B({
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: Q(a) };
},
htmlBuilder: re,
mathmlBuilder: me,
});
var W1 = { '∫': '\\int', '∬': '\\iint', '∭': '\\iiint', '∮': '\\oint', '∯': '\\oiint', '∰': '\\oiiint' };
B({
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: re,
mathmlBuilder: me,
});
B({
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: re,
mathmlBuilder: me,
});
B({
type: 'op',
names: ['\\int', '\\iint', '\\iiint', '\\oint', '\\oiint', '\\oiiint', '∫', '∬', '∭', '∮', '∯', '∰'],
props: { numArgs: 0 },
handler(r) {
var { parser: e, funcName: t } = r,
a = t;
return a.length === 1 && (a = W1[a]), { type: 'op', mode: e.mode, limits: !1, parentIsSupSub: !1, symbol: !0, name: a };
},
htmlBuilder: re,
mathmlBuilder: me,
});
var ta = (r, e) => {
var t,
a,
n = !1,
s;
r.type === 'supsub' ? ((t = r.sup), (a = r.sub), (s = F(r.base, 'operatorname')), (n = !0)) : (s = F(r, 'operatorname'));
var o;
if (s.body.length > 0) {
for (
var h = s.body.map((y) => {
var w = y.text;
return typeof w == 'string' ? { type: 'textord', mode: y.mode, text: w } : y;
}),
c = t0(h, e.withFont('mathrm'), !0),
p = 0;
p < c.length;
p++
) {
var g = c[p];
g instanceof p0 && (g.text = g.text.replace(/\u2212/, '-').replace(/\u2217/, '*'));
}
o = b.makeSpan(['mop'], c, e);
} else o = b.makeSpan(['mop'], [], e);
return n ? _r(o, t, a, e, e.style, 0, 0) : o;
},
j1 = (r, e) => {
for (var t = o0(r.body, e.withFont('mathrm')), a = !0, n = 0; n < t.length; n++) {
var s = t[n];
if (!(s instanceof S.SpaceNode))
if (s instanceof S.MathNode)
switch (s.type) {
case 'mi':
case 'mn':
case 'ms':
case 'mspace':
case 'mtext':
break;
case 'mo': {
var o = s.children[0];
s.children.length === 1 && o instanceof S.TextNode ? (o.text = o.text.replace(/\u2212/, '-').replace(/\u2217/, '*')) : (a = !1);
break;
}
default:
a = !1;
}
else a = !1;
}
if (a) {
var h = t.map((g) => g.toText()).join('');
t = [new S.TextNode(h)];
}
var c = new S.MathNode('mi', t);
c.setAttribute('mathvariant', 'normal');
var p = new S.MathNode('mo', [v0('', 'text')]);
return r.parentIsSupSub ? new S.MathNode('mrow', [c, p]) : S.newDocumentFragment([c, p]);
};
B({
type: 'operatorname',
names: ['\\operatorname@', '\\operatornamewithlimits'],
props: { numArgs: 1 },
handler: (r, e) => {
var { parser: t, funcName: a } = r,
n = e[0];
return { type: 'operatorname', mode: t.mode, body: Q(n), alwaysHandleSupSub: a === '\\operatornamewithlimits', limits: !1, parentIsSupSub: !1 };
},
htmlBuilder: ta,
mathmlBuilder: j1,
});
m('\\operatorname', '\\@ifstar\\operatornamewithlimits\\operatorname@');
$0({
type: 'ordgroup',
htmlBuilder(r, e) {
return r.semisimple ? b.makeFragment(t0(r.body, e, !1)) : b.makeSpan(['mord'], t0(r.body, e, !0), e);
},
mathmlBuilder(r, e) {
return G0(r.body, e, !0);
},
});
B({
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 = P(r.body, e.havingCrampedStyle()),
a = b.makeLineSpan('overline-line', e),
n = e.fontMetrics().defaultRuleThickness,
s = b.makeVList(
{
positionType: 'firstBaseline',
children: [
{ type: 'elem', elem: t },
{ type: 'kern', size: 3 * n },
{ type: 'elem', elem: a },
{ type: 'kern', size: n },
],
},
e
);
return b.makeSpan(['mord', 'overline'], [s], e);
},
mathmlBuilder(r, e) {
var t = new S.MathNode('mo', [new S.TextNode('‾')]);
t.setAttribute('stretchy', 'true');
var a = new S.MathNode('mover', [X(r.body, e), t]);
return a.setAttribute('accent', 'true'), a;
},
});
B({
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: Q(a) };
},
htmlBuilder: (r, e) => {
var t = t0(r.body, e.withPhantom(), !1);
return b.makeFragment(t);
},
mathmlBuilder: (r, e) => {
var t = o0(r.body, e);
return new S.MathNode('mphantom', t);
},
});
B({
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 = b.makeSpan([], [P(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 = b.makeVList({ positionType: 'firstBaseline', children: [{ type: 'elem', elem: t }] }, e)), b.makeSpan(['mord'], [t], e);
},
mathmlBuilder: (r, e) => {
var t = o0(Q(r.body), e),
a = new S.MathNode('mphantom', t),
n = new S.MathNode('mpadded', [a]);
return n.setAttribute('height', '0px'), n.setAttribute('depth', '0px'), n;
},
});
B({
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 = b.makeSpan(['inner'], [P(r.body, e.withPhantom())]),
a = b.makeSpan(['fix'], []);
return b.makeSpan(['mord', 'rlap'], [t, a], e);
},
mathmlBuilder: (r, e) => {
var t = o0(Q(r.body), e),
a = new S.MathNode('mphantom', t),
n = new S.MathNode('mpadded', [a]);
return n.setAttribute('width', '0px'), n;
},
});
B({
type: 'raisebox',
names: ['\\raisebox'],
props: { numArgs: 2, argTypes: ['size', 'hbox'], allowedInText: !0 },
handler(r, e) {
var { parser: t } = r,
a = F(e[0], 'size').value,
n = e[1];
return { type: 'raisebox', mode: t.mode, dy: a, body: n };
},
htmlBuilder(r, e) {
var t = P(r.body, e),
a = K(r.dy, e);
return b.makeVList({ positionType: 'shift', positionData: -a, children: [{ type: 'elem', elem: t }] }, e);
},
mathmlBuilder(r, e) {
var t = new S.MathNode('mpadded', [X(r.body, e)]),
a = r.dy.number + r.dy.unit;
return t.setAttribute('voffset', a), t;
},
});
B({
type: 'internal',
names: ['\\relax'],
props: { numArgs: 0, allowedInText: !0 },
handler(r) {
var { parser: e } = r;
return { type: 'internal', mode: e.mode };
},
});
B({
type: 'rule',
names: ['\\rule'],
props: { numArgs: 2, numOptionalArgs: 1, argTypes: ['size', 'size', 'size'] },
handler(r, e, t) {
var { parser: a } = r,
n = t[0],
s = F(e[0], 'size'),
o = F(e[1], 'size');
return { type: 'rule', mode: a.mode, shift: n && F(n, 'size').value, width: s.value, height: o.value };
},
htmlBuilder(r, e) {
var t = b.makeSpan(['mord', 'rule'], [], e),
a = K(r.width, e),
n = K(r.height, e),
s = r.shift ? K(r.shift, e) : 0;
return (
(t.style.borderRightWidth = A(a)),
(t.style.borderTopWidth = A(n)),
(t.style.bottom = A(s)),
(t.width = a),
(t.height = n + s),
(t.depth = -s),
(t.maxFontSize = n * 1.125 * e.sizeMultiplier),
t
);
},
mathmlBuilder(r, e) {
var t = K(r.width, e),
a = K(r.height, e),
n = r.shift ? K(r.shift, e) : 0,
s = (e.color && e.getColor()) || 'black',
o = new S.MathNode('mspace');
o.setAttribute('mathbackground', s), o.setAttribute('width', A(t)), o.setAttribute('height', A(a));
var h = new S.MathNode('mpadded', [o]);
return (
n >= 0 ? h.setAttribute('height', A(n)) : (h.setAttribute('height', A(n)), h.setAttribute('depth', A(-n))), h.setAttribute('voffset', A(n)), h
);
},
});
function ra(r, e, t) {
for (var a = t0(r, e, !1), n = e.sizeMultiplier / t.sizeMultiplier, s = 0; s < a.length; s++) {
var o = a[s].classes.indexOf('sizing');
o < 0
? Array.prototype.push.apply(a[s].classes, e.sizingClasses(t))
: a[s].classes[o + 1] === 'reset-size' + e.size && (a[s].classes[o + 1] = 'reset-size' + t.size),
(a[s].height *= n),
(a[s].depth *= n);
}
return b.makeFragment(a);
}
var ar = ['\\tiny', '\\sixptsize', '\\scriptsize', '\\footnotesize', '\\small', '\\normalsize', '\\large', '\\Large', '\\LARGE', '\\huge', '\\Huge'],
Z1 = (r, e) => {
var t = e.havingSize(r.size);
return ra(r.body, t, e);
};
B({
type: 'sizing',
names: ar,
props: { numArgs: 0, allowedInText: !0 },
handler: (r, e) => {
var { breakOnTokenText: t, funcName: a, parser: n } = r,
s = n.parseExpression(!1, t);
return { type: 'sizing', mode: n.mode, size: ar.indexOf(a) + 1, body: s };
},
htmlBuilder: Z1,
mathmlBuilder: (r, e) => {
var t = e.havingSize(r.size),
a = o0(r.body, t),
n = new S.MathNode('mstyle', a);
return n.setAttribute('mathsize', A(t.sizeMultiplier)), n;
},
});
B({
type: 'smash',
names: ['\\smash'],
props: { numArgs: 1, numOptionalArgs: 1, allowedInText: !0 },
handler: (r, e, t) => {
var { parser: a } = r,
n = !1,
s = !1,
o = t[0] && F(t[0], 'ordgroup');
if (o)
for (var h = '', c = 0; c < o.body.length; ++c) {
var p = o.body[c];
if (((h = p.text), h === 't')) n = !0;
else if (h === 'b') s = !0;
else {
(n = !1), (s = !1);
break;
}
}
else (n = !0), (s = !0);
var g = e[0];
return { type: 'smash', mode: a.mode, body: g, smashHeight: n, smashDepth: s };
},
htmlBuilder: (r, e) => {
var t = b.makeSpan([], [P(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 n = 0; n < t.children.length; n++) t.children[n].depth = 0;
var s = b.makeVList({ positionType: 'firstBaseline', children: [{ type: 'elem', elem: t }] }, e);
return b.makeSpan(['mord'], [s], e);
},
mathmlBuilder: (r, e) => {
var t = new S.MathNode('mpadded', [X(r.body, e)]);
return r.smashHeight && t.setAttribute('height', '0px'), r.smashDepth && t.setAttribute('depth', '0px'), t;
},
});
B({
type: 'sqrt',
names: ['\\sqrt'],
props: { numArgs: 1, numOptionalArgs: 1 },
handler(r, e, t) {
var { parser: a } = r,
n = t[0],
s = e[0];
return { type: 'sqrt', mode: a.mode, body: s, index: n };
},
htmlBuilder(r, e) {
var t = P(r.body, e.havingCrampedStyle());
t.height === 0 && (t.height = e.fontMetrics().xHeight), (t = b.wrapFragment(t, e));
var a = e.fontMetrics(),
n = a.defaultRuleThickness,
s = n;
e.style.id < R.TEXT.id && (s = e.fontMetrics().xHeight);
var o = n + s / 4,
h = t.height + t.depth + o + n,
{ span: c, ruleWidth: p, advanceWidth: g } = B0.sqrtImage(h, e),
y = c.height - p;
y > t.height + t.depth + o && (o = (o + y - t.height - t.depth) / 2);
var w = c.height - t.height - o - p;
t.style.paddingLeft = A(g);
var x = b.makeVList(
{
positionType: 'firstBaseline',
children: [
{ type: 'elem', elem: t, wrapperClasses: ['svg-align'] },
{ type: 'kern', size: -(t.height + w) },
{ type: 'elem', elem: c },
{ type: 'kern', size: p },
],
},
e
);
if (r.index) {
var z = e.havingStyle(R.SCRIPTSCRIPT),
T = P(r.index, z, e),
C = 0.6 * (x.height - x.depth),
N = b.makeVList({ positionType: 'shift', positionData: -C, children: [{ type: 'elem', elem: T }] }, e),
O = b.makeSpan(['root'], [N]);
return b.makeSpan(['mord', 'sqrt'], [O, x], e);
} else return b.makeSpan(['mord', 'sqrt'], [x], e);
},
mathmlBuilder(r, e) {
var { body: t, index: a } = r;
return a ? new S.MathNode('mroot', [X(t, e), X(a, e)]) : new S.MathNode('msqrt', [X(t, e)]);
},
});
var nr = { display: R.DISPLAY, text: R.TEXT, script: R.SCRIPT, scriptscript: R.SCRIPTSCRIPT };
B({
type: 'styling',
names: ['\\displaystyle', '\\textstyle', '\\scriptstyle', '\\scriptscriptstyle'],
props: { numArgs: 0, allowedInText: !0, primitive: !0 },
handler(r, e) {
var { breakOnTokenText: t, funcName: a, parser: n } = r,
s = n.parseExpression(!0, t),
o = a.slice(1, a.length - 5);
return { type: 'styling', mode: n.mode, style: o, body: s };
},
htmlBuilder(r, e) {
var t = nr[r.style],
a = e.havingStyle(t).withFont('');
return ra(r.body, a, e);
},
mathmlBuilder(r, e) {
var t = nr[r.style],
a = e.havingStyle(t),
n = o0(r.body, a),
s = new S.MathNode('mstyle', n),
o = { display: ['0', 'true'], text: ['0', 'false'], script: ['1', 'false'], scriptscript: ['2', 'false'] },
h = o[r.style];
return s.setAttribute('scriptlevel', h[0]), s.setAttribute('displaystyle', h[1]), s;
},
});
var K1 = function (e, t) {
var a = e.base;
if (a)
if (a.type === 'op') {
var n = a.limits && (t.style.size === R.DISPLAY.size || a.alwaysHandleSupSub);
return n ? re : null;
} else if (a.type === 'operatorname') {
var s = a.alwaysHandleSupSub && (t.style.size === R.DISPLAY.size || a.limits);
return s ? ta : null;
} else {
if (a.type === 'accent') return q.isCharacterBox(a.base) ? xt : null;
if (a.type === 'horizBrace') {
var o = !e.sub;
return o === a.isOver ? Qr : null;
} else return null;
}
else return null;
};
$0({
type: 'supsub',
htmlBuilder(r, e) {
var t = K1(r, e);
if (t) return t(r, e);
var { base: a, sup: n, sub: s } = r,
o = P(a, e),
h,
c,
p = e.fontMetrics(),
g = 0,
y = 0,
w = a && q.isCharacterBox(a);
if (n) {
var x = e.havingStyle(e.style.sup());
(h = P(n, x, e)), w || (g = o.height - (x.fontMetrics().supDrop * x.sizeMultiplier) / e.sizeMultiplier);
}
if (s) {
var z = e.havingStyle(e.style.sub());
(c = P(s, z, e)), w || (y = o.depth + (z.fontMetrics().subDrop * z.sizeMultiplier) / e.sizeMultiplier);
}
var T;
e.style === R.DISPLAY ? (T = p.sup1) : e.style.cramped ? (T = p.sup3) : (T = p.sup2);
var C = e.sizeMultiplier,
N = A(0.5 / p.ptPerEm / C),
O = null;
if (c) {
var H = r.base && r.base.type === 'op' && r.base.name && (r.base.name === '\\oiint' || r.base.name === '\\oiiint');
(o instanceof p0 || H) && (O = A(-o.italic));
}
var V;
if (h && c) {
(g = Math.max(g, T, h.depth + 0.25 * p.xHeight)), (y = Math.max(y, p.sub2));
var L = p.defaultRuleThickness,
U = 4 * L;
if (g - h.depth - (c.height - y) < U) {
y = U - (g - h.depth) + c.height;
var G = 0.8 * p.xHeight - (g - h.depth);
G > 0 && ((g += G), (y -= G));
}
var j = [
{ type: 'elem', elem: c, shift: y, marginRight: N, marginLeft: O },
{ type: 'elem', elem: h, shift: -g, marginRight: N },
];
V = b.makeVList({ positionType: 'individualShift', children: j }, e);
} else if (c) {
y = Math.max(y, p.sub1, c.height - 0.8 * p.xHeight);
var Y = [{ type: 'elem', elem: c, marginLeft: O, marginRight: N }];
V = b.makeVList({ positionType: 'shift', positionData: y, children: Y }, e);
} else if (h)
(g = Math.max(g, T, h.depth + 0.25 * p.xHeight)),
(V = b.makeVList({ positionType: 'shift', positionData: -g, children: [{ type: 'elem', elem: h, marginRight: N }] }, e));
else throw new Error('supsub must have either sup or sub.');
var M0 = lt(o, 'right') || 'mord';
return b.makeSpan([M0], [o, b.makeSpan(['msupsub'], [V])], e);
},
mathmlBuilder(r, e) {
var t = !1,
a,
n;
r.base && r.base.type === 'horizBrace' && ((n = !!r.sup), n === r.base.isOver && ((t = !0), (a = r.base.isOver))),
r.base && (r.base.type === 'op' || r.base.type === 'operatorname') && (r.base.parentIsSupSub = !0);
var s = [X(r.base, e)];
r.sub && s.push(X(r.sub, e)), r.sup && s.push(X(r.sup, e));
var o;
if (t) o = a ? 'mover' : 'munder';
else if (r.sub)
if (r.sup) {
var p = r.base;
(p && p.type === 'op' && p.limits && e.style === R.DISPLAY) ||
(p && p.type === 'operatorname' && p.alwaysHandleSupSub && (e.style === R.DISPLAY || p.limits))
? (o = 'munderover')
: (o = 'msubsup');
} else {
var c = r.base;
(c && c.type === 'op' && c.limits && (e.style === R.DISPLAY || c.alwaysHandleSupSub)) ||
(c && c.type === 'operatorname' && c.alwaysHandleSupSub && (c.limits || e.style === R.DISPLAY))
? (o = 'munder')
: (o = 'msub');
}
else {
var h = r.base;
(h && h.type === 'op' && h.limits && (e.style === R.DISPLAY || h.alwaysHandleSupSub)) ||
(h && h.type === 'operatorname' && h.alwaysHandleSupSub && (h.limits || e.style === R.DISPLAY))
? (o = 'mover')
: (o = 'msup');
}
return new S.MathNode(o, s);
},
});
$0({
type: 'atom',
htmlBuilder(r, e) {
return b.mathsym(r.text, r.mode, e, ['m' + r.family]);
},
mathmlBuilder(r, e) {
var t = new S.MathNode('mo', [v0(r.text, r.mode)]);
if (r.family === 'bin') {
var a = bt(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 aa = { mi: 'italic', mn: 'normal', mtext: 'normal' };
$0({
type: 'mathord',
htmlBuilder(r, e) {
return b.makeOrd(r, e, 'mathord');
},
mathmlBuilder(r, e) {
var t = new S.MathNode('mi', [v0(r.text, r.mode, e)]),
a = bt(r, e) || 'italic';
return a !== aa[t.type] && t.setAttribute('mathvariant', a), t;
},
});
$0({
type: 'textord',
htmlBuilder(r, e) {
return b.makeOrd(r, e, 'textord');
},
mathmlBuilder(r, e) {
var t = v0(r.text, r.mode, e),
a = bt(r, e) || 'normal',
n;
return (
r.mode === 'text'
? (n = new S.MathNode('mtext', [t]))
: /[0-9]/.test(r.text)
? (n = new S.MathNode('mn', [t]))
: r.text === '\\prime'
? (n = new S.MathNode('mo', [t]))
: (n = new S.MathNode('mi', [t])),
a !== aa[n.type] && n.setAttribute('mathvariant', a),
n
);
},
});
var et = { '\\nobreak': 'nobreak', '\\allowbreak': 'allowbreak' },
tt = { ' ': {}, '\\ ': {}, '~': { className: 'nobreak' }, '\\space': {}, '\\nobreakspace': { className: 'nobreak' } };
$0({
type: 'spacing',
htmlBuilder(r, e) {
if (tt.hasOwnProperty(r.text)) {
var t = tt[r.text].className || '';
if (r.mode === 'text') {
var a = b.makeOrd(r, e, 'textord');
return a.classes.push(t), a;
} else return b.makeSpan(['mspace', t], [b.mathsym(r.text, r.mode, e)], e);
} else {
if (et.hasOwnProperty(r.text)) return b.makeSpan(['mspace', et[r.text]], [], e);
throw new M('Unknown type of space "' + r.text + '"');
}
},
mathmlBuilder(r, e) {
var t;
if (tt.hasOwnProperty(r.text)) t = new S.MathNode('mtext', [new S.TextNode(' ')]);
else {
if (et.hasOwnProperty(r.text)) return new S.MathNode('mspace');
throw new M('Unknown type of space "' + r.text + '"');
}
return t;
},
});
var ir = () => {
var r = new S.MathNode('mtd', []);
return r.setAttribute('width', '50%'), r;
};
$0({
type: 'tag',
mathmlBuilder(r, e) {
var t = new S.MathNode('mtable', [
new S.MathNode('mtr', [ir(), new S.MathNode('mtd', [G0(r.body, e)]), ir(), new S.MathNode('mtd', [G0(r.tag, e)])]),
]);
return t.setAttribute('width', '100%'), t;
},
});
var sr = { '\\text': void 0, '\\textrm': 'textrm', '\\textsf': 'textsf', '\\texttt': 'texttt', '\\textnormal': 'textrm' },
lr = { '\\textbf': 'textbf', '\\textmd': 'textmd' },
J1 = { '\\textit': 'textit', '\\textup': 'textup' },
or = (r, e) => {
var t = r.font;
return t ? (sr[t] ? e.withTextFontFamily(sr[t]) : lr[t] ? e.withTextFontWeight(lr[t]) : e.withTextFontShape(J1[t])) : e;
};
B({
type: 'text',
names: ['\\text', '\\textrm', '\\textsf', '\\texttt', '\\textnormal', '\\textbf', '\\textmd', '\\textit', '\\textup'],
props: { numArgs: 1, argTypes: ['text'], allowedInArgument: !0, allowedInText: !0 },
handler(r, e) {
var { parser: t, funcName: a } = r,
n = e[0];
return { type: 'text', mode: t.mode, body: Q(n), font: a };
},
htmlBuilder(r, e) {
var t = or(r, e),
a = t0(r.body, t, !0);
return b.makeSpan(['mord', 'text'], a, t);
},
mathmlBuilder(r, e) {
var t = or(r, e);
return G0(r.body, t);
},
});
B({
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 = P(r.body, e),
a = b.makeLineSpan('underline-line', e),
n = e.fontMetrics().defaultRuleThickness,
s = b.makeVList(
{
positionType: 'top',
positionData: t.height,
children: [
{ type: 'kern', size: n },
{ type: 'elem', elem: a },
{ type: 'kern', size: 3 * n },
{ type: 'elem', elem: t },
],
},
e
);
return b.makeSpan(['mord', 'underline'], [s], e);
},
mathmlBuilder(r, e) {
var t = new S.MathNode('mo', [new S.TextNode('‾')]);
t.setAttribute('stretchy', 'true');
var a = new S.MathNode('munder', [X(r.body, e), t]);
return a.setAttribute('accentunder', 'true'), a;
},
});
B({
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 = P(r.body, e),
a = e.fontMetrics().axisHeight,
n = 0.5 * (t.height - a - (t.depth + a));
return b.makeVList({ positionType: 'shift', positionData: n, children: [{ type: 'elem', elem: t }] }, e);
},
mathmlBuilder(r, e) {
return new S.MathNode('mpadded', [X(r.body, e)], ['vcenter']);
},
});
B({
type: 'verb',
names: ['\\verb'],
props: { numArgs: 0, allowedInText: !0 },
handler(r, e, t) {
throw new M('\\verb ended by end of line instead of matching delimiter');
},
htmlBuilder(r, e) {
for (var t = ur(r), a = [], n = e.havingStyle(e.style.text()), s = 0; s < t.length; s++) {
var o = t[s];
o === '~' && (o = '\\textasciitilde'), a.push(b.makeSymbol(o, 'Typewriter-Regular', r.mode, n, ['mord', 'texttt']));
}
return b.makeSpan(['mord', 'text'].concat(n.sizingClasses(e)), b.tryCombineChars(a), n);
},
mathmlBuilder(r, e) {
var t = new S.TextNode(ur(r)),
a = new S.MathNode('mtext', [t]);
return a.setAttribute('mathvariant', 'monospace'), a;
},
});
var ur = (r) => r.body.replace(/ /g, r.star ? '␣' : ' '),
F0 = Ar,
na = `[ \r
]`,
Q1 = '\\\\[a-zA-Z@]+',
_1 = '\\\\[^\uD800-\uDFFF]',
e4 = '(' + Q1 + ')' + na + '*',
t4 = `\\\\(
|[ \r ]+
?)[ \r ]*`,
mt = '[̀-ͯ]',
r4 = new RegExp(mt + '+$'),
a4 =
'(' +
na +
'+)|' +
(t4 + '|') +
'([!-\\[\\]-‧‪-퟿豈-￿]' +
(mt + '*') +
'|[\uD800-\uDBFF][\uDC00-\uDFFF]' +
(mt + '*') +
'|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5' +
('|' + e4) +
('|' + _1 + ')');
class hr {
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(a4, '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 f0('EOF', new u0(this, t, t));
var a = this.tokenRegex.exec(e);
if (a === null || a.index !== t) throw new M("Unexpected character: '" + e[t] + "'", new f0(e[t], new u0(this, t, t + 1)));
var n = a[6] || a[3] || (a[2] ? '\\ ' : ' ');
if (this.catcodes[n] === 14) {
var s = e.indexOf(
`
`,
this.tokenRegex.lastIndex
);
return (
s === -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 = s + 1),
this.lex()
);
}
return new f0(n, new u0(this, t, this.tokenRegex.lastIndex));
}
}
class n4 {
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 M('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 n = 0; n < this.undefStack.length; n++) delete this.undefStack[n][e];
this.undefStack.length > 0 && (this.undefStack[this.undefStack.length - 1][e] = t);
} else {
var s = this.undefStack[this.undefStack.length - 1];
s && !s.hasOwnProperty(e) && (s[e] = this.current[e]);
}
t == null ? delete this.current[e] : (this.current[e] = t);
}
}
var i4 = Wr;
m('\\noexpand', function (r) {
var e = r.popToken();
return r.isExpandable(e.text) && ((e.noexpand = !0), (e.treatAsRelax = !0)), { tokens: [e], numArgs: 0 };
});
m('\\expandafter', function (r) {
var e = r.popToken();
return r.expandOnce(!0), { tokens: [e], numArgs: 0 };
});
m('\\@firstoftwo', function (r) {
var e = r.consumeArgs(2);
return { tokens: e[0], numArgs: 0 };
});
m('\\@secondoftwo', function (r) {
var e = r.consumeArgs(2);
return { tokens: e[1], numArgs: 0 };
});
m('\\@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 };
});
m('\\@ifstar', '\\@ifnextchar *{\\@firstoftwo{#1}}');
m('\\TextOrMath', function (r) {
var e = r.consumeArgs(2);
return r.mode === 'text' ? { tokens: e[0], numArgs: 0 } : { tokens: e[1], numArgs: 0 };
});
var mr = {
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,
};
m('\\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 M('\\char` missing argument');
a = e.text.charCodeAt(0);
}
else t = 10;
if (t) {
if (((a = mr[e.text]), a == null || a >= t)) throw new M('Invalid base-' + t + ' digit ' + e.text);
for (var n; (n = mr[r.future().text]) != null && n < t; ) (a *= t), (a += n), r.popToken();
}
return '\\@char{' + a + '}';
});
var Bt = (r, e, t) => {
var a = r.consumeArg().tokens;
if (a.length !== 1) throw new M("\\newcommand's first argument must be a macro name");
var n = a[0].text,
s = r.isDefined(n);
if (s && !e) throw new M('\\newcommand{' + n + '} attempting to redefine ' + (n + '; use \\renewcommand'));
if (!s && !t) throw new M('\\renewcommand{' + n + '} when command ' + n + ' does not yet exist; use \\newcommand');
var o = 0;
if (((a = r.consumeArg().tokens), a.length === 1 && a[0].text === '[')) {
for (var h = '', c = r.expandNextToken(); c.text !== ']' && c.text !== 'EOF'; ) (h += c.text), (c = r.expandNextToken());
if (!h.match(/^\s*[0-9]+\s*$/)) throw new M('Invalid number of arguments: ' + h);
(o = parseInt(h)), (a = r.consumeArg().tokens);
}
return r.macros.set(n, { tokens: a, numArgs: o }), '';
};
m('\\newcommand', (r) => Bt(r, !1, !0));
m('\\renewcommand', (r) => Bt(r, !0, !1));
m('\\providecommand', (r) => Bt(r, !0, !0));
m('\\message', (r) => {
var e = r.consumeArgs(1)[0];
return (
console.log(
e
.reverse()
.map((t) => t.text)
.join('')
),
''
);
});
m('\\errmessage', (r) => {
var e = r.consumeArgs(1)[0];
return (
console.error(
e
.reverse()
.map((t) => t.text)
.join('')
),
''
);
});
m('\\show', (r) => {
var e = r.popToken(),
t = e.text;
return console.log(e, r.macros.get(t), F0[t], $.math[t], $.text[t]), '';
});
m('\\bgroup', '{');
m('\\egroup', '}');
m('~', '\\nobreakspace');
m('\\lq', '`');
m('\\rq', "'");
m('\\aa', '\\r a');
m('\\AA', '\\r A');
m('\\textcopyright', '\\html@mathml{\\textcircled{c}}{\\char`©}');
m('\\copyright', '\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}');
m('\\textregistered', '\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}');
m('', '\\mathscr{B}');
m('', '\\mathscr{E}');
m('', '\\mathscr{F}');
m('', '\\mathscr{H}');
m('', '\\mathscr{I}');
m('', '\\mathscr{L}');
m('', '\\mathscr{M}');
m('', '\\mathscr{R}');
m('', '\\mathfrak{C}');
m('', '\\mathfrak{H}');
m('', '\\mathfrak{Z}');
m('\\Bbbk', '\\Bbb{k}');
m('·', '\\cdotp');
m('\\llap', '\\mathllap{\\textrm{#1}}');
m('\\rlap', '\\mathrlap{\\textrm{#1}}');
m('\\clap', '\\mathclap{\\textrm{#1}}');
m('\\mathstrut', '\\vphantom{(}');
m('\\underbar', '\\underline{\\text{#1}}');
m('\\not', '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}');
m('\\neq', '\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}');
m('\\ne', '\\neq');
m('≠', '\\neq');
m('\\notin', '\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`∉}}');
m('∉', '\\notin');
m('≘', '\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`≘}}');
m('≙', '\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`≘}}');
m('≚', '\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`≚}}');
m('≛', '\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`≛}}');
m('≝', '\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`≝}}');
m('≞', '\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`≞}}');
m('≟', '\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`≟}}');
m('⟂', '\\perp');
m('‼', '\\mathclose{!\\mkern-0.8mu!}');
m('∌', '\\notni');
m('⌜', '\\ulcorner');
m('⌝', '\\urcorner');
m('⌞', '\\llcorner');
m('⌟', '\\lrcorner');
m('©', '\\copyright');
m('®', '\\textregistered');
m('', '\\textregistered');
m('\\ulcorner', '\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');
m('\\urcorner', '\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');
m('\\llcorner', '\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');
m('\\lrcorner', '\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');
m('\\vdots', '\\mathord{\\varvdots\\rule{0pt}{15pt}}');
m('⋮', '\\vdots');
m('\\varGamma', '\\mathit{\\Gamma}');
m('\\varDelta', '\\mathit{\\Delta}');
m('\\varTheta', '\\mathit{\\Theta}');
m('\\varLambda', '\\mathit{\\Lambda}');
m('\\varXi', '\\mathit{\\Xi}');
m('\\varPi', '\\mathit{\\Pi}');
m('\\varSigma', '\\mathit{\\Sigma}');
m('\\varUpsilon', '\\mathit{\\Upsilon}');
m('\\varPhi', '\\mathit{\\Phi}');
m('\\varPsi', '\\mathit{\\Psi}');
m('\\varOmega', '\\mathit{\\Omega}');
m('\\substack', '\\begin{subarray}{c}#1\\end{subarray}');
m('\\colon', '\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax');
m('\\boxed', '\\fbox{$\\displaystyle{#1}$}');
m('\\iff', '\\DOTSB\\;\\Longleftrightarrow\\;');
m('\\implies', '\\DOTSB\\;\\Longrightarrow\\;');
m('\\impliedby', '\\DOTSB\\;\\Longleftarrow\\;');
var cr = {
',': '\\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',
};
m('\\dots', function (r) {
var e = '\\dotso',
t = r.expandAfterFuture().text;
return t in cr ? (e = cr[t]) : (t.slice(0, 4) === '\\not' || (t in $.math && q.contains(['bin', 'rel'], $.math[t].group))) && (e = '\\dotsb'), e;
});
var Dt = {
')': !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,
};
m('\\dotso', function (r) {
var e = r.future().text;
return e in Dt ? '\\ldots\\,' : '\\ldots';
});
m('\\dotsc', function (r) {
var e = r.future().text;
return e in Dt && e !== ',' ? '\\ldots\\,' : '\\ldots';
});
m('\\cdots', function (r) {
var e = r.future().text;
return e in Dt ? '\\@cdots\\,' : '\\@cdots';
});
m('\\dotsb', '\\cdots');
m('\\dotsm', '\\cdots');
m('\\dotsi', '\\!\\cdots');
m('\\dotsx', '\\ldots\\,');
m('\\DOTSI', '\\relax');
m('\\DOTSB', '\\relax');
m('\\DOTSX', '\\relax');
m('\\tmspace', '\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax');
m('\\,', '\\tmspace+{3mu}{.1667em}');
m('\\thinspace', '\\,');
m('\\>', '\\mskip{4mu}');
m('\\:', '\\tmspace+{4mu}{.2222em}');
m('\\medspace', '\\:');
m('\\;', '\\tmspace+{5mu}{.2777em}');
m('\\thickspace', '\\;');
m('\\!', '\\tmspace-{3mu}{.1667em}');
m('\\negthinspace', '\\!');
m('\\negmedspace', '\\tmspace-{4mu}{.2222em}');
m('\\negthickspace', '\\tmspace-{5mu}{.277em}');
m('\\enspace', '\\kern.5em ');
m('\\enskip', '\\hskip.5em\\relax');
m('\\quad', '\\hskip1em\\relax');
m('\\qquad', '\\hskip2em\\relax');
m('\\tag', '\\@ifstar\\tag@literal\\tag@paren');
m('\\tag@paren', '\\tag@literal{({#1})}');
m('\\tag@literal', (r) => {
if (r.macros.get('\\df@tag')) throw new M('Multiple \\tag');
return '\\gdef\\df@tag{\\text{#1}}';
});
m(
'\\bmod',
'\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}'
);
m('\\pod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)');
m('\\pmod', '\\pod{{\\rm mod}\\mkern6mu#1}');
m('\\mod', '\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1');
m('\\newline', '\\\\\\relax');
m('\\TeX', '\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}');
var ia = A(x0['Main-Regular']['T'.charCodeAt(0)][1] - 0.7 * x0['Main-Regular']['A'.charCodeAt(0)][1]);
m('\\LaTeX', '\\textrm{\\html@mathml{' + ('L\\kern-.36em\\raisebox{' + ia + '}{\\scriptstyle A}') + '\\kern-.15em\\TeX}{LaTeX}}');
m('\\KaTeX', '\\textrm{\\html@mathml{' + ('K\\kern-.17em\\raisebox{' + ia + '}{\\scriptstyle A}') + '\\kern-.15em\\TeX}{KaTeX}}');
m('\\hspace', '\\@ifstar\\@hspacer\\@hspace');
m('\\@hspace', '\\hskip #1\\relax');
m('\\@hspacer', '\\rule{0pt}{0pt}\\hskip #1\\relax');
m('\\ordinarycolon', ':');
m('\\vcentcolon', '\\mathrel{\\mathop\\ordinarycolon}');
m('\\dblcolon', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');
m('\\coloneqq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');
m('\\Coloneqq', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');
m('\\coloneq', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');
m('\\Coloneq', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');
m('\\eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');
m('\\Eqqcolon', '\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');
m('\\eqcolon', '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');
m('\\Eqcolon', '\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');
m('\\colonapprox', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');
m('\\Colonapprox', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');
m('\\colonsim', '\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');
m('\\Colonsim', '\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');
m('∷', '\\dblcolon');
m('∹', '\\eqcolon');
m('≔', '\\coloneqq');
m('≕', '\\eqqcolon');
m('⩴', '\\Coloneqq');
m('\\ratio', '\\vcentcolon');
m('\\coloncolon', '\\dblcolon');
m('\\colonequals', '\\coloneqq');
m('\\coloncolonequals', '\\Coloneqq');
m('\\equalscolon', '\\eqqcolon');
m('\\equalscoloncolon', '\\Eqqcolon');
m('\\colonminus', '\\coloneq');
m('\\coloncolonminus', '\\Coloneq');
m('\\minuscolon', '\\eqcolon');
m('\\minuscoloncolon', '\\Eqcolon');
m('\\coloncolonapprox', '\\Colonapprox');
m('\\coloncolonsim', '\\Colonsim');
m('\\simcolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
m('\\simcoloncolon', '\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}');
m('\\approxcolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}');
m('\\approxcoloncolon', '\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}');
m('\\notni', '\\html@mathml{\\not\\ni}{\\mathrel{\\char`∌}}');
m('\\limsup', '\\DOTSB\\operatorname*{lim\\,sup}');
m('\\liminf', '\\DOTSB\\operatorname*{lim\\,inf}');
m('\\injlim', '\\DOTSB\\operatorname*{inj\\,lim}');
m('\\projlim', '\\DOTSB\\operatorname*{proj\\,lim}');
m('\\varlimsup', '\\DOTSB\\operatorname*{\\overline{lim}}');
m('\\varliminf', '\\DOTSB\\operatorname*{\\underline{lim}}');
m('\\varinjlim', '\\DOTSB\\operatorname*{\\underrightarrow{lim}}');
m('\\varprojlim', '\\DOTSB\\operatorname*{\\underleftarrow{lim}}');
m('\\gvertneqq', '\\html@mathml{\\@gvertneqq}{≩}');
m('\\lvertneqq', '\\html@mathml{\\@lvertneqq}{≨}');
m('\\ngeqq', '\\html@mathml{\\@ngeqq}{≱}');
m('\\ngeqslant', '\\html@mathml{\\@ngeqslant}{≱}');
m('\\nleqq', '\\html@mathml{\\@nleqq}{≰}');
m('\\nleqslant', '\\html@mathml{\\@nleqslant}{≰}');
m('\\nshortmid', '\\html@mathml{\\@nshortmid}{∤}');
m('\\nshortparallel', '\\html@mathml{\\@nshortparallel}{∦}');
m('\\nsubseteqq', '\\html@mathml{\\@nsubseteqq}{⊈}');
m('\\nsupseteqq', '\\html@mathml{\\@nsupseteqq}{⊉}');
m('\\varsubsetneq', '\\html@mathml{\\@varsubsetneq}{⊊}');
m('\\varsubsetneqq', '\\html@mathml{\\@varsubsetneqq}{⫋}');
m('\\varsupsetneq', '\\html@mathml{\\@varsupsetneq}{⊋}');
m('\\varsupsetneqq', '\\html@mathml{\\@varsupsetneqq}{⫌}');
m('\\imath', '\\html@mathml{\\@imath}{ı}');
m('\\jmath', '\\html@mathml{\\@jmath}{ȷ}');
m('\\llbracket', '\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`⟦}}');
m('\\rrbracket', '\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`⟧}}');
m('⟦', '\\llbracket');
m('⟧', '\\rrbracket');
m('\\lBrace', '\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`⦃}}');
m('\\rBrace', '\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`⦄}}');
m('⦃', '\\lBrace');
m('⦄', '\\rBrace');
m(
'\\minuso',
'\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`⦵}}'
);
m('⦵', '\\minuso');
m('\\darr', '\\downarrow');
m('\\dArr', '\\Downarrow');
m('\\Darr', '\\Downarrow');
m('\\lang', '\\langle');
m('\\rang', '\\rangle');
m('\\uarr', '\\uparrow');
m('\\uArr', '\\Uparrow');
m('\\Uarr', '\\Uparrow');
m('\\N', '\\mathbb{N}');
m('\\R', '\\mathbb{R}');
m('\\Z', '\\mathbb{Z}');
m('\\alef', '\\aleph');
m('\\alefsym', '\\aleph');
m('\\Alpha', '\\mathrm{A}');
m('\\Beta', '\\mathrm{B}');
m('\\bull', '\\bullet');
m('\\Chi', '\\mathrm{X}');
m('\\clubs', '\\clubsuit');
m('\\cnums', '\\mathbb{C}');
m('\\Complex', '\\mathbb{C}');
m('\\Dagger', '\\ddagger');
m('\\diamonds', '\\diamondsuit');
m('\\empty', '\\emptyset');
m('\\Epsilon', '\\mathrm{E}');
m('\\Eta', '\\mathrm{H}');
m('\\exist', '\\exists');
m('\\harr', '\\leftrightarrow');
m('\\hArr', '\\Leftrightarrow');
m('\\Harr', '\\Leftrightarrow');
m('\\hearts', '\\heartsuit');
m('\\image', '\\Im');
m('\\infin', '\\infty');
m('\\Iota', '\\mathrm{I}');
m('\\isin', '\\in');
m('\\Kappa', '\\mathrm{K}');
m('\\larr', '\\leftarrow');
m('\\lArr', '\\Leftarrow');
m('\\Larr', '\\Leftarrow');
m('\\lrarr', '\\leftrightarrow');
m('\\lrArr', '\\Leftrightarrow');
m('\\Lrarr', '\\Leftrightarrow');
m('\\Mu', '\\mathrm{M}');
m('\\natnums', '\\mathbb{N}');
m('\\Nu', '\\mathrm{N}');
m('\\Omicron', '\\mathrm{O}');
m('\\plusmn', '\\pm');
m('\\rarr', '\\rightarrow');
m('\\rArr', '\\Rightarrow');
m('\\Rarr', '\\Rightarrow');
m('\\real', '\\Re');
m('\\reals', '\\mathbb{R}');
m('\\Reals', '\\mathbb{R}');
m('\\Rho', '\\mathrm{P}');
m('\\sdot', '\\cdot');
m('\\sect', '\\S');
m('\\spades', '\\spadesuit');
m('\\sub', '\\subset');
m('\\sube', '\\subseteq');
m('\\supe', '\\supseteq');
m('\\Tau', '\\mathrm{T}');
m('\\thetasym', '\\vartheta');
m('\\weierp', '\\wp');
m('\\Zeta', '\\mathrm{Z}');
m('\\argmin', '\\DOTSB\\operatorname*{arg\\,min}');
m('\\argmax', '\\DOTSB\\operatorname*{arg\\,max}');
m('\\plim', '\\DOTSB\\mathop{\\operatorname{plim}}\\limits');
m('\\bra', '\\mathinner{\\langle{#1}|}');
m('\\ket', '\\mathinner{|{#1}\\rangle}');
m('\\braket', '\\mathinner{\\langle{#1}\\rangle}');
m('\\Bra', '\\left\\langle#1\\right|');
m('\\Ket', '\\left|#1\\right\\rangle');
var sa = (r) => (e) => {
var t = e.consumeArg().tokens,
a = e.consumeArg().tokens,
n = e.consumeArg().tokens,
s = e.consumeArg().tokens,
o = e.macros.get('|'),
h = e.macros.get('\\|');
e.macros.beginGroup();
var c = (y) => (w) => {
r && (w.macros.set('|', o), n.length && w.macros.set('\\|', h));
var x = y;
if (!y && n.length) {
var z = w.future();
z.text === '|' && (w.popToken(), (x = !0));
}
return { tokens: x ? n : a, numArgs: 0 };
};
e.macros.set('|', c(!1)), n.length && e.macros.set('\\|', c(!0));
var p = e.consumeArg().tokens,
g = e.expandTokens([...s, ...p, ...t]);
return e.macros.endGroup(), { tokens: g.reverse(), numArgs: 0 };
};
m('\\bra@ket', sa(!1));
m('\\bra@set', sa(!0));
m('\\Braket', '\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}');
m('\\Set', '\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}');
m('\\set', '\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}');
m('\\angln', '{\\angl n}');
m('\\blue', '\\textcolor{##6495ed}{#1}');
m('\\orange', '\\textcolor{##ffa500}{#1}');
m('\\pink', '\\textcolor{##ff00af}{#1}');
m('\\red', '\\textcolor{##df0030}{#1}');
m('\\green', '\\textcolor{##28ae7b}{#1}');
m('\\gray', '\\textcolor{gray}{#1}');
m('\\purple', '\\textcolor{##9d38bd}{#1}');
m('\\blueA', '\\textcolor{##ccfaff}{#1}');
m('\\blueB', '\\textcolor{##80f6ff}{#1}');
m('\\blueC', '\\textcolor{##63d9ea}{#1}');
m('\\blueD', '\\textcolor{##11accd}{#1}');
m('\\blueE', '\\textcolor{##0c7f99}{#1}');
m('\\tealA', '\\textcolor{##94fff5}{#1}');
m('\\tealB', '\\textcolor{##26edd5}{#1}');
m('\\tealC', '\\textcolor{##01d1c1}{#1}');
m('\\tealD', '\\textcolor{##01a995}{#1}');
m('\\tealE', '\\textcolor{##208170}{#1}');
m('\\greenA', '\\textcolor{##b6ffb0}{#1}');
m('\\greenB', '\\textcolor{##8af281}{#1}');
m('\\greenC', '\\textcolor{##74cf70}{#1}');
m('\\greenD', '\\textcolor{##1fab54}{#1}');
m('\\greenE', '\\textcolor{##0d923f}{#1}');
m('\\goldA', '\\textcolor{##ffd0a9}{#1}');
m('\\goldB', '\\textcolor{##ffbb71}{#1}');
m('\\goldC', '\\textcolor{##ff9c39}{#1}');
m('\\goldD', '\\textcolor{##e07d10}{#1}');
m('\\goldE', '\\textcolor{##a75a05}{#1}');
m('\\redA', '\\textcolor{##fca9a9}{#1}');
m('\\redB', '\\textcolor{##ff8482}{#1}');
m('\\redC', '\\textcolor{##f9685d}{#1}');
m('\\redD', '\\textcolor{##e84d39}{#1}');
m('\\redE', '\\textcolor{##bc2612}{#1}');
m('\\maroonA', '\\textcolor{##ffbde0}{#1}');
m('\\maroonB', '\\textcolor{##ff92c6}{#1}');
m('\\maroonC', '\\textcolor{##ed5fa6}{#1}');
m('\\maroonD', '\\textcolor{##ca337c}{#1}');
m('\\maroonE', '\\textcolor{##9e034e}{#1}');
m('\\purpleA', '\\textcolor{##ddd7ff}{#1}');
m('\\purpleB', '\\textcolor{##c6b9fc}{#1}');
m('\\purpleC', '\\textcolor{##aa87ff}{#1}');
m('\\purpleD', '\\textcolor{##7854ab}{#1}');
m('\\purpleE', '\\textcolor{##543b78}{#1}');
m('\\mintA', '\\textcolor{##f5f9e8}{#1}');
m('\\mintB', '\\textcolor{##edf2df}{#1}');
m('\\mintC', '\\textcolor{##e0e5cc}{#1}');
m('\\grayA', '\\textcolor{##f6f7f7}{#1}');
m('\\grayB', '\\textcolor{##f0f1f2}{#1}');
m('\\grayC', '\\textcolor{##e3e5e6}{#1}');
m('\\grayD', '\\textcolor{##d6d8da}{#1}');
m('\\grayE', '\\textcolor{##babec2}{#1}');
m('\\grayF', '\\textcolor{##888d93}{#1}');
m('\\grayG', '\\textcolor{##626569}{#1}');
m('\\grayH', '\\textcolor{##3b3e40}{#1}');
m('\\grayI', '\\textcolor{##21242c}{#1}');
m('\\kaBlue', '\\textcolor{##314453}{#1}');
m('\\kaGreen', '\\textcolor{##71B307}{#1}');
var la = { '^': !0, _: !0, '\\limits': !0, '\\nolimits': !0 };
class s4 {
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 n4(i4, t.macros)),
(this.mode = a),
(this.stack = []);
}
feed(e) {
this.lexer = new hr(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, n;
if (e) {
if ((this.consumeSpaces(), this.future().text !== '[')) return null;
(t = this.popToken()), ({ tokens: n, end: a } = this.consumeArg([']']));
} else ({ tokens: n, start: t, end: a } = this.consumeArg());
return this.pushToken(new f0('EOF', a.loc)), this.pushTokens(n), t.range(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 n = this.future(),
s,
o = 0,
h = 0;
do {
if (((s = this.popToken()), t.push(s), s.text === '{')) ++o;
else if (s.text === '}') {
if ((--o, o === -1)) throw new M('Extra }', s);
} else if (s.text === 'EOF') throw new M("Unexpected end of input in a macro argument, expected '" + (e && a ? e[h] : '}') + "'", s);
if (e && a)
if ((o === 0 || (o === 1 && e[h] === '{')) && s.text === e[h]) {
if ((++h, h === e.length)) {
t.splice(-h, h);
break;
}
} else h = 0;
} while (o !== 0 || a);
return n.text === '{' && t[t.length - 1].text === '}' && (t.pop(), t.shift()), t.reverse(), { tokens: t, start: n, end: s };
}
consumeArgs(e, t) {
if (t) {
if (t.length !== e + 1) throw new M("The length of delimiters doesn't match the number of args!");
for (var a = t[0], n = 0; n < a.length; n++) {
var s = this.popToken();
if (a[n] !== s.text) throw new M("Use of the macro doesn't match its definition", s);
}
}
for (var o = [], h = 0; h < e; h++) o.push(this.consumeArg(t && t[h + 1]).tokens);
return o;
}
countExpansion(e) {
if (((this.expansionCount += e), this.expansionCount > this.settings.maxExpand))
throw new M('Too many expansions: infinite loop or need to increase maxExpand setting');
}
expandOnce(e) {
var t = this.popToken(),
a = t.text,
n = t.noexpand ? null : this._getExpansion(a);
if (n == null || (e && n.unexpandable)) {
if (e && n == null && a[0] === '\\' && !this.isDefined(a)) throw new M('Undefined control sequence: ' + a);
return this.pushToken(t), !1;
}
this.countExpansion(1);
var s = n.tokens,
o = this.consumeArgs(n.numArgs, n.delimiters);
if (n.numArgs) {
s = s.slice();
for (var h = s.length - 1; h >= 0; --h) {
var c = s[h];
if (c.text === '#') {
if (h === 0) throw new M('Incomplete placeholder at end of macro body', c);
if (((c = s[--h]), c.text === '#')) s.splice(h + 1, 1);
else if (/^[1-9]$/.test(c.text)) s.splice(h, 2, ...o[+c.text - 1]);
else throw new M('Not a valid argument number', c);
}
}
}
return this.pushTokens(s), s.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 f0(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 n = this.stack.pop();
n.treatAsRelax && ((n.noexpand = !1), (n.treatAsRelax = !1)), t.push(n);
}
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 n = typeof t == 'function' ? t(this) : t;
if (typeof n == 'string') {
var s = 0;
if (n.indexOf('#') !== -1) for (var o = n.replace(/##/g, ''); o.indexOf('#' + (s + 1)) !== -1; ) ++s;
for (var h = new hr(n, this.settings), c = [], p = h.lex(); p.text !== 'EOF'; ) c.push(p), (p = h.lex());
c.reverse();
var g = { tokens: c, numArgs: s };
return g;
}
return n;
}
isDefined(e) {
return this.macros.has(e) || F0.hasOwnProperty(e) || $.math.hasOwnProperty(e) || $.text.hasOwnProperty(e) || la.hasOwnProperty(e);
}
isExpandable(e) {
var t = this.macros.get(e);
return t != null ? typeof t == 'string' || typeof t == 'function' || !t.unexpandable : F0.hasOwnProperty(e) && !F0[e].primitive;
}
}
var dr = /^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,
Me = 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',
: 'β',
: 'γ',
: 'δ',
: 'ϕ',
: 'χ',
ᶿ: 'θ',
}),
rt = {
'́': { 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' },
},
fr = {
á: 'á',
à: 'à',
ä: 'ä',
ǟ: 'ǟ',
ã: 'ã',
ā: 'ā',
ă: 'ă',
: 'ắ',
: 'ằ',
: 'ẵ',
ǎ: 'ǎ',
â: 'â',
: 'ấ',
: 'ầ',
: 'ẫ',
ȧ: 'ȧ',
ǡ: 'ǡ',
å: 'å',
ǻ: 'ǻ',
: 'ḃ',
ć: 'ć',
: 'ḉ',
č: 'č',
ĉ: 'ĉ',
ċ: 'ċ',
ç: 'ç',
ď: 'ď',
: 'ḋ',
: 'ḑ',
é: 'é',
è: 'è',
ë: 'ë',
: 'ẽ',
ē: 'ē',
: 'ḗ',
: 'ḕ',
ĕ: 'ĕ',
: 'ḝ',
ě: 'ě',
ê: 'ê',
ế: 'ế',
: 'ề',
: 'ễ',
ė: 'ė',
ȩ: 'ȩ',
: 'ḟ',
ǵ: 'ǵ',
: 'ḡ',
ğ: 'ğ',
ǧ: 'ǧ',
ĝ: 'ĝ',
ġ: 'ġ',
ģ: 'ģ',
: 'ḧ',
ȟ: 'ȟ',
ĥ: 'ĥ',
: 'ḣ',
: 'ḩ',
í: 'í',
ì: 'ì',
ï: 'ï',
: 'ḯ',
ĩ: 'ĩ',
ī: 'ī',
ĭ: 'ĭ',
ǐ: 'ǐ',
î: 'î',
ǰ: 'ǰ',
ĵ: 'ĵ',
: 'ḱ',
ǩ: 'ǩ',
ķ: 'ķ',
ĺ: 'ĺ',
ľ: 'ľ',
ļ: 'ļ',
ḿ: 'ḿ',
: 'ṁ',
ń: 'ń',
ǹ: 'ǹ',
ñ: 'ñ',
ň: 'ň',
: 'ṅ',
ņ: 'ņ',
ó: 'ó',
ò: 'ò',
ö: 'ö',
ȫ: 'ȫ',
õ: 'õ',
: 'ṍ',
: 'ṏ',
ȭ: 'ȭ',
ō: 'ō',
: 'ṓ',
: 'ṑ',
ŏ: 'ŏ',
ǒ: 'ǒ',
ô: 'ô',
: 'ố',
: 'ồ',
: 'ỗ',
ȯ: 'ȯ',
ȱ: 'ȱ',
ő: 'ő',
: 'ṕ',
: 'ṗ',
ŕ: 'ŕ',
ř: 'ř',
: 'ṙ',
ŗ: 'ŗ',
ś: 'ś',
: 'ṥ',
š: 'š',
: 'ṧ',
ŝ: 'ŝ',
: 'ṡ',
ş: 'ş',
: 'ẗ',
ť: 'ť',
: 'ṫ',
ţ: 'ţ',
ú: 'ú',
ù: 'ù',
ü: 'ü',
ǘ: 'ǘ',
ǜ: 'ǜ',
ǖ: 'ǖ',
ǚ: 'ǚ',
ũ: 'ũ',
: 'ṹ',
ū: 'ū',
: 'ṻ',
ŭ: 'ŭ',
ǔ: 'ǔ',
û: 'û',
ů: 'ů',
ű: 'ű',
: 'ṽ',
: 'ẃ',
: 'ẁ',
: 'ẅ',
ŵ: 'ŵ',
: 'ẇ',
: 'ẘ',
: 'ẍ',
: 'ẋ',
ý: 'ý',
: 'ỳ',
ÿ: 'ÿ',
: 'ỹ',
ȳ: 'ȳ',
ŷ: 'ŷ',
: 'ẏ',
: 'ẙ',
ź: 'ź',
ž: 'ž',
: 'ẑ',
ż: 'ż',
Á: 'Á',
À: 'À',
Ä: 'Ä',
Ǟ: 'Ǟ',
Ã: 'Ã',
Ā: 'Ā',
Ă: 'Ă',
: 'Ắ',
: 'Ằ',
: 'Ẵ',
Ǎ: 'Ǎ',
Â: 'Â',
: 'Ấ',
: 'Ầ',
: 'Ẫ',
Ȧ: 'Ȧ',
Ǡ: 'Ǡ',
Å: 'Å',
Ǻ: 'Ǻ',
: 'Ḃ',
Ć: 'Ć',
: 'Ḉ',
Č: 'Č',
Ĉ: 'Ĉ',
Ċ: 'Ċ',
Ç: 'Ç',
Ď: 'Ď',
: 'Ḋ',
: 'Ḑ',
É: 'É',
È: 'È',
Ë: 'Ë',
: 'Ẽ',
Ē: 'Ē',
: 'Ḗ',
: 'Ḕ',
Ĕ: 'Ĕ',
: 'Ḝ',
Ě: 'Ě',
Ê: 'Ê',
: 'Ế',
: 'Ề',
: 'Ễ',
Ė: 'Ė',
Ȩ: 'Ȩ',
: 'Ḟ',
Ǵ: 'Ǵ',
: 'Ḡ',
Ğ: 'Ğ',
Ǧ: 'Ǧ',
Ĝ: 'Ĝ',
Ġ: 'Ġ',
Ģ: 'Ģ',
: 'Ḧ',
Ȟ: 'Ȟ',
Ĥ: 'Ĥ',
: 'Ḣ',
: 'Ḩ',
Í: 'Í',
Ì: 'Ì',
Ï: 'Ï',
: 'Ḯ',
Ĩ: 'Ĩ',
Ī: 'Ī',
Ĭ: 'Ĭ',
Ǐ: 'Ǐ',
Î: 'Î',
İ: 'İ',
Ĵ: 'Ĵ',
: 'Ḱ',
Ǩ: 'Ǩ',
Ķ: 'Ķ',
Ĺ: 'Ĺ',
Ľ: 'Ľ',
Ļ: 'Ļ',
: 'Ḿ',
: 'Ṁ',
Ń: 'Ń',
Ǹ: 'Ǹ',
Ñ: 'Ñ',
Ň: 'Ň',
: 'Ṅ',
Ņ: 'Ņ',
Ó: 'Ó',
Ò: 'Ò',
Ö: 'Ö',
Ȫ: 'Ȫ',
Õ: 'Õ',
: 'Ṍ',
: 'Ṏ',
Ȭ: 'Ȭ',
Ō: 'Ō',
: 'Ṓ',
: 'Ṑ',
Ŏ: 'Ŏ',
Ǒ: 'Ǒ',
Ô: 'Ô',
: 'Ố',
: 'Ồ',
: 'Ỗ',
Ȯ: 'Ȯ',
Ȱ: 'Ȱ',
Ő: 'Ő',
: 'Ṕ',
: 'Ṗ',
Ŕ: 'Ŕ',
Ř: 'Ř',
: 'Ṙ',
Ŗ: 'Ŗ',
Ś: 'Ś',
: 'Ṥ',
Š: 'Š',
: 'Ṧ',
Ŝ: 'Ŝ',
: 'Ṡ',
Ş: 'Ş',
Ť: 'Ť',
: 'Ṫ',
Ţ: 'Ţ',
Ú: 'Ú',
Ù: 'Ù',
Ü: 'Ü',
Ǘ: 'Ǘ',
Ǜ: 'Ǜ',
Ǖ: 'Ǖ',
Ǚ: 'Ǚ',
Ũ: 'Ũ',
: 'Ṹ',
Ū: 'Ū',
: 'Ṻ',
Ŭ: 'Ŭ',
Ǔ: 'Ǔ',
Û: 'Û',
Ů: 'Ů',
Ű: 'Ű',
: 'Ṽ',
: 'Ẃ',
: 'Ẁ',
: 'Ẅ',
Ŵ: 'Ŵ',
: 'Ẇ',
: 'Ẍ',
: 'Ẋ',
Ý: 'Ý',
: 'Ỳ',
Ÿ: 'Ÿ',
: 'Ỹ',
Ȳ: 'Ȳ',
Ŷ: 'Ŷ',
: 'Ẏ',
Ź: 'Ź',
Ž: 'Ž',
: 'Ẑ',
Ż: 'Ż',
ά: 'ά',
: 'ὰ',
: 'ᾱ',
: 'ᾰ',
έ: 'έ',
: 'ὲ',
ή: 'ή',
: 'ὴ',
ί: 'ί',
: 'ὶ',
ϊ: 'ϊ',
ΐ: 'ΐ',
: 'ῒ',
: 'ῑ',
: 'ῐ',
ό: 'ό',
: 'ὸ',
ύ: 'ύ',
: 'ὺ',
ϋ: 'ϋ',
ΰ: 'ΰ',
: 'ῢ',
: 'ῡ',
: 'ῠ',
ώ: 'ώ',
: 'ὼ',
Ύ: 'Ύ',
: 'Ὺ',
Ϋ: 'Ϋ',
: 'Ῡ',
: 'Ῠ',
Ώ: 'Ώ',
: 'Ὼ',
};
class Fe {
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 s4(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 M("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 f0('}')), 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 n = this.fetch();
if (Fe.endOfExpression.indexOf(n.text) !== -1 || (t && n.text === t) || (e && F0[n.text] && F0[n.text].infix)) break;
var s = this.parseAtom(t);
if (s) {
if (s.type === 'internal') continue;
} else break;
a.push(s);
}
return this.mode === 'text' && this.formLigatures(a), this.handleInfixNodes(a);
}
handleInfixNodes(e) {
for (var t = -1, a, n = 0; n < e.length; n++)
if (e[n].type === 'infix') {
if (t !== -1) throw new M('only one infix operator per group', e[n].token);
(t = n), (a = e[n].replaceWith);
}
if (t !== -1 && a) {
var s,
o,
h = e.slice(0, t),
c = e.slice(t + 1);
h.length === 1 && h[0].type === 'ordgroup' ? (s = h[0]) : (s = { type: 'ordgroup', mode: this.mode, body: h }),
c.length === 1 && c[0].type === 'ordgroup' ? (o = c[0]) : (o = { type: 'ordgroup', mode: this.mode, body: c });
var p;
return a === '\\\\abovefrac' ? (p = this.callFunction(a, [s, e[t], o], [])) : (p = this.callFunction(a, [s, o], [])), [p];
} else return e;
}
handleSupSubscript(e) {
var t = this.fetch(),
a = t.text;
this.consume(), this.consumeSpaces();
var n = this.parseGroup(e);
if (!n) throw new M("Expected group after '" + a + "'", t);
return n;
}
formatUnsupportedCmd(e) {
for (var t = [], a = 0; a < e.length; a++) t.push({ type: 'textord', mode: 'text', text: e[a] });
var n = { type: 'text', mode: this.mode, body: t },
s = { type: 'color', mode: this.mode, color: this.settings.errorColor, body: [n] };
return s;
}
parseAtom(e) {
var t = this.parseGroup('atom', e);
if (this.mode === 'text') return t;
for (var a, n; ; ) {
this.consumeSpaces();
var s = this.fetch();
if (s.text === '\\limits' || s.text === '\\nolimits') {
if (t && t.type === 'op') {
var o = s.text === '\\limits';
(t.limits = o), (t.alwaysHandleSupSub = !0);
} else if (t && t.type === 'operatorname') t.alwaysHandleSupSub && (t.limits = s.text === '\\limits');
else throw new M('Limit controls must follow a math operator', s);
this.consume();
} else if (s.text === '^') {
if (a) throw new M('Double superscript', s);
a = this.handleSupSubscript('superscript');
} else if (s.text === '_') {
if (n) throw new M('Double subscript', s);
n = this.handleSupSubscript('subscript');
} else if (s.text === "'") {
if (a) throw new M('Double superscript', s);
var h = { type: 'textord', mode: this.mode, text: '\\prime' },
c = [h];
for (this.consume(); this.fetch().text === "'"; ) c.push(h), this.consume();
this.fetch().text === '^' && c.push(this.handleSupSubscript('superscript')), (a = { type: 'ordgroup', mode: this.mode, body: c });
} else if (Me[s.text]) {
var p = dr.test(s.text),
g = [];
for (g.push(new f0(Me[s.text])), this.consume(); ; ) {
var y = this.fetch().text;
if (!Me[y] || dr.test(y) !== p) break;
g.unshift(new f0(Me[y])), this.consume();
}
var w = this.subparse(g);
p ? (n = { type: 'ordgroup', mode: 'math', body: w }) : (a = { type: 'ordgroup', mode: 'math', body: w });
} else break;
}
return a || n ? { type: 'supsub', mode: this.mode, base: t, sup: a, sub: n } : t;
}
parseFunction(e, t) {
var a = this.fetch(),
n = a.text,
s = F0[n];
if (!s) return null;
if ((this.consume(), t && t !== 'atom' && !s.allowedInArgument))
throw new M("Got function '" + n + "' with no arguments" + (t ? ' as ' + t : ''), a);
if (this.mode === 'text' && !s.allowedInText) throw new M("Can't use function '" + n + "' in text mode", a);
if (this.mode === 'math' && s.allowedInMath === !1) throw new M("Can't use function '" + n + "' in math mode", a);
var { args: o, optArgs: h } = this.parseArguments(n, s);
return this.callFunction(n, o, h, a, e);
}
callFunction(e, t, a, n, s) {
var o = { funcName: e, parser: this, token: n, breakOnTokenText: s },
h = F0[e];
if (h && h.handler) return h.handler(o, t, a);
throw new M('No function handler for ' + e);
}
parseArguments(e, t) {
var a = t.numArgs + t.numOptionalArgs;
if (a === 0) return { args: [], optArgs: [] };
for (var n = [], s = [], o = 0; o < a; o++) {
var h = t.argTypes && t.argTypes[o],
c = o < t.numOptionalArgs;
((t.primitive && h == null) || (t.type === 'sqrt' && o === 1 && s[0] == null)) && (h = 'primitive');
var p = this.parseGroupOfType("argument to '" + e + "'", h, c);
if (c) s.push(p);
else if (p != null) n.push(p);
else throw new M('Null argument, please report this as a bug');
}
return { args: n, optArgs: s };
}
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 n = this.parseArgumentGroup(a, 'text');
return n != null ? { type: 'styling', mode: n.mode, body: [n], style: 'text' } : null;
}
case 'raw': {
var s = this.parseStringGroup('raw', a);
return s != null ? { type: 'raw', mode: 'text', string: s.text } : null;
}
case 'primitive': {
if (a) throw new M('A primitive argument cannot be optional');
var o = this.parseGroup(e);
if (o == null) throw new M('Expected group as ' + e, this.fetch());
return o;
}
case 'original':
case null:
case void 0:
return this.parseArgumentGroup(a);
default:
throw new M('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 n = '', s; (s = this.fetch()).text !== 'EOF'; ) (n += s.text), this.consume();
return this.consume(), (a.text = n), a;
}
parseRegexGroup(e, t) {
for (var a = this.fetch(), n = a, s = '', o; (o = this.fetch()).text !== 'EOF' && e.test(s + o.text); ) (n = o), (s += n.text), this.consume();
if (s === '') throw new M('Invalid ' + t + ": '" + a.text + "'", a);
return a.range(n, s);
}
parseColorGroup(e) {
var t = this.parseStringGroup('color', e);
if (t == null) return null;
var a = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(t.text);
if (!a) throw new M("Invalid color: '" + t.text + "'", t);
var n = a[0];
return /^[0-9a-f]{6}$/i.test(n) && (n = '#' + n), { type: 'color-token', mode: this.mode, color: n };
}
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 n = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(t.text);
if (!n) throw new M("Invalid size: '" + t.text + "'", t);
var s = { number: +(n[1] + n[2]), unit: n[3] };
if (!gr(s)) throw new M("Invalid unit: '" + s.unit + "'", t);
return { type: 'size', mode: this.mode, value: s, 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 n = this.mode;
t && this.switchMode(t), this.gullet.beginGroup();
var s = this.parseExpression(!1, 'EOF');
this.expect('EOF'), this.gullet.endGroup();
var o = { type: 'ordgroup', mode: this.mode, loc: a.loc, body: s };
return t && this.switchMode(n), o;
}
parseGroup(e, t) {
var a = this.fetch(),
n = a.text,
s;
if (n === '{' || n === '\\begingroup') {
this.consume();
var o = n === '{' ? '}' : '\\endgroup';
this.gullet.beginGroup();
var h = this.parseExpression(!1, o),
c = this.fetch();
this.expect(o),
this.gullet.endGroup(),
(s = { type: 'ordgroup', mode: this.mode, loc: u0.range(a, c), body: h, semisimple: n === '\\begingroup' || void 0 });
} else if (((s = this.parseFunction(t, e) || this.parseSymbol()), s == null && n[0] === '\\' && !la.hasOwnProperty(n))) {
if (this.settings.throwOnError) throw new M('Undefined control sequence: ' + n, a);
(s = this.formatUnsupportedCmd(n)), this.consume();
}
return s;
}
formLigatures(e) {
for (var t = e.length - 1, a = 0; a < t; ++a) {
var n = e[a],
s = n.text;
s === '-' &&
e[a + 1].text === '-' &&
(a + 1 < t && e[a + 2].text === '-'
? (e.splice(a, 3, { type: 'textord', mode: 'text', loc: u0.range(n, e[a + 2]), text: '---' }), (t -= 2))
: (e.splice(a, 2, { type: 'textord', mode: 'text', loc: u0.range(n, e[a + 1]), text: '--' }), (t -= 1))),
(s === "'" || s === '`') &&
e[a + 1].text === s &&
(e.splice(a, 2, { type: 'textord', mode: 'text', loc: u0.range(n, e[a + 1]), text: s + s }), (t -= 1));
}
}
parseSymbol() {
var e = this.fetch(),
t = e.text;
if (/^\\verb[^a-zA-Z]/.test(t)) {
this.consume();
var a = t.slice(5),
n = a.charAt(0) === '*';
if ((n && (a = a.slice(1)), a.length < 2 || a.charAt(0) !== a.slice(-1)))
throw new M(`\\verb assertion failed --
please report what input caused this bug`);
return (a = a.slice(1, -1)), { type: 'verb', mode: 'text', body: a, star: n };
}
fr.hasOwnProperty(t[0]) &&
!$[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 = fr[t[0]] + t.slice(1)));
var s = r4.exec(t);
s && ((t = t.substring(0, s.index)), t === 'i' ? (t = 'ı') : t === 'j' && (t = 'ȷ'));
var o;
if ($[this.mode][t]) {
this.settings.strict &&
this.mode === 'math' &&
st.indexOf(t) >= 0 &&
this.settings.reportNonstrict('unicodeTextInMathMode', 'Latin-1/Unicode text character "' + t[0] + '" used in math mode', e);
var h = $[this.mode][t].group,
c = u0.range(e),
p;
if (ja.hasOwnProperty(h)) {
var g = h;
p = { type: 'atom', mode: this.mode, family: g, loc: c, text: t };
} else p = { type: h, mode: this.mode, loc: c, text: t };
o = p;
} else if (t.charCodeAt(0) >= 128)
this.settings.strict &&
(vr(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)),
(o = { type: 'textord', mode: 'text', loc: u0.range(e), text: t });
else return null;
if ((this.consume(), s))
for (var y = 0; y < s[0].length; y++) {
var w = s[0][y];
if (!rt[w]) throw new M("Unknown accent ' " + w + "'", e);
var x = rt[w][this.mode] || rt[w].text;
if (!x) throw new M('Accent ' + w + ' unsupported in ' + this.mode + ' mode', e);
o = { type: 'accent', mode: this.mode, loc: u0.range(e), label: x, isStretchy: !1, isShifty: !0, base: o };
}
return o;
}
}
Fe.endOfExpression = ['}', '\\endgroup', '\\end', '\\right', '&'];
var Ct = function (e, t) {
if (!(typeof e == 'string' || e instanceof String)) throw new TypeError('KaTeX can only parse string typed expression');
var a = new Fe(e, t);
delete a.gullet.macros.current['\\df@tag'];
var n = 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 M('\\tag works only in display equations');
n = [{ type: 'tag', mode: 'text', body: n, tag: a.subparse([new f0('\\df@tag')]) }];
}
return n;
},
oa = function (e, t, a) {
t.textContent = '';
var n = Nt(e, a).toNode();
t.appendChild(n);
};
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."),
(oa = function () {
throw new M("KaTeX doesn't work in quirks mode.");
}));
var l4 = function (e, t) {
var a = Nt(e, t).toMarkup();
return a;
},
o4 = function (e, t) {
var a = new ct(t);
return Ct(e, a);
},
ua = function (e, t, a) {
if (a.throwOnError || !(e instanceof M)) throw e;
var n = b.makeSpan(['katex-error'], [new p0(t)]);
return n.setAttribute('title', e.toString()), n.setAttribute('style', 'color:' + a.errorColor), n;
},
Nt = function (e, t) {
var a = new ct(t);
try {
var n = Ct(e, a);
return g1(n, e, a);
} catch (s) {
return ua(s, e, a);
}
},
u4 = function (e, t) {
var a = new ct(t);
try {
var n = Ct(e, a);
return b1(n, e, a);
} catch (s) {
return ua(s, e, a);
}
},
h4 = {
version: '0.16.10',
render: oa,
renderToString: l4,
ParseError: M,
SETTINGS_SCHEMA: ze,
__parse: o4,
__renderToDomTree: Nt,
__renderToHTMLTree: u4,
__setFontMetrics: Ga,
__defineSymbol: i,
__defineFunction: B,
__defineMacro: m,
__domTree: { Span: he, Anchor: pt, SymbolNode: p0, SvgNode: D0, PathNode: P0, LineNode: it },
};
export { h4 as default };