From 371a86092b049182a50982dc4d7889e4cdb8ff8a Mon Sep 17 00:00:00 2001 From: Maxime LETEMPLE Date: Tue, 27 Aug 2024 18:39:48 +0200 Subject: [PATCH 1/2] Add Katex support for displaying math --- static/auto-render.js | 339 + static/katex.css | 1011 ++ static/katex.js | 17425 +++++++++++++++++++++++++++++++++ templates/partials/head.html | 16 + 4 files changed, 18791 insertions(+) create mode 100644 static/auto-render.js create mode 100644 static/katex.css create mode 100644 static/katex.js diff --git a/static/auto-render.js b/static/auto-render.js new file mode 100644 index 0000000..d31cc7c --- /dev/null +++ b/static/auto-render.js @@ -0,0 +1,339 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(require("katex")); + else if(typeof define === 'function' && define.amd) + define(["katex"], factory); + else if(typeof exports === 'object') + exports["renderMathInElement"] = factory(require("katex")); + else + root["renderMathInElement"] = factory(root["katex"]); +})((typeof self !== 'undefined' ? self : this), function(__WEBPACK_EXTERNAL_MODULE__0__) { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports) { + +module.exports = __WEBPACK_EXTERNAL_MODULE__0__; + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: external "katex" +var external_katex_ = __webpack_require__(0); +var external_katex_default = /*#__PURE__*/__webpack_require__.n(external_katex_); + +// CONCATENATED MODULE: ./contrib/auto-render/splitAtDelimiters.js +/* eslint no-constant-condition:0 */ +var findEndOfMath = function findEndOfMath(delimiter, text, startIndex) { + // Adapted from + // https://github.com/Khan/perseus/blob/master/src/perseus-markdown.jsx + var index = startIndex; + var braceLevel = 0; + var delimLength = delimiter.length; + + while (index < text.length) { + var character = text[index]; + + if (braceLevel <= 0 && text.slice(index, index + delimLength) === delimiter) { + return index; + } else if (character === "\\") { + index++; + } else if (character === "{") { + braceLevel++; + } else if (character === "}") { + braceLevel--; + } + + index++; + } + + return -1; +}; + +var splitAtDelimiters = function splitAtDelimiters(startData, leftDelim, rightDelim, display) { + var finalData = []; + + for (var i = 0; i < startData.length; i++) { + if (startData[i].type === "text") { + var text = startData[i].data; + var lookingForLeft = true; + var currIndex = 0; + var nextIndex = void 0; + nextIndex = text.indexOf(leftDelim); + + if (nextIndex !== -1) { + currIndex = nextIndex; + finalData.push({ + type: "text", + data: text.slice(0, currIndex) + }); + lookingForLeft = false; + } + + while (true) { + if (lookingForLeft) { + nextIndex = text.indexOf(leftDelim, currIndex); + + if (nextIndex === -1) { + break; + } + + finalData.push({ + type: "text", + data: text.slice(currIndex, nextIndex) + }); + currIndex = nextIndex; + } else { + nextIndex = findEndOfMath(rightDelim, text, currIndex + leftDelim.length); + + if (nextIndex === -1) { + break; + } + + finalData.push({ + type: "math", + data: text.slice(currIndex + leftDelim.length, nextIndex), + rawData: text.slice(currIndex, nextIndex + rightDelim.length), + display: display + }); + currIndex = nextIndex + rightDelim.length; + } + + lookingForLeft = !lookingForLeft; + } + + finalData.push({ + type: "text", + data: text.slice(currIndex) + }); + } else { + finalData.push(startData[i]); + } + } + + return finalData; +}; + +/* harmony default export */ var auto_render_splitAtDelimiters = (splitAtDelimiters); +// CONCATENATED MODULE: ./contrib/auto-render/auto-render.js +/* eslint no-console:0 */ + + + +var auto_render_splitWithDelimiters = function splitWithDelimiters(text, delimiters) { + var data = [{ + type: "text", + data: text + }]; + + for (var i = 0; i < delimiters.length; i++) { + var delimiter = delimiters[i]; + data = auto_render_splitAtDelimiters(data, delimiter.left, delimiter.right, delimiter.display || false); + } + + return data; +}; +/* Note: optionsCopy is mutated by this method. If it is ever exposed in the + * API, we should copy it before mutating. + */ + + +var auto_render_renderMathInText = function renderMathInText(text, optionsCopy) { + var data = auto_render_splitWithDelimiters(text, optionsCopy.delimiters); + var fragment = document.createDocumentFragment(); + + for (var i = 0; i < data.length; i++) { + if (data[i].type === "text") { + fragment.appendChild(document.createTextNode(data[i].data)); + } else { + var span = document.createElement("span"); + var math = data[i].data; // Override any display mode defined in the settings with that + // defined by the text itself + + optionsCopy.displayMode = data[i].display; + + try { + if (optionsCopy.preProcess) { + math = optionsCopy.preProcess(math); + } + + external_katex_default.a.render(math, span, optionsCopy); + } catch (e) { + if (!(e instanceof external_katex_default.a.ParseError)) { + throw e; + } + + optionsCopy.errorCallback("KaTeX auto-render: Failed to parse `" + data[i].data + "` with ", e); + fragment.appendChild(document.createTextNode(data[i].rawData)); + continue; + } + + fragment.appendChild(span); + } + } + + return fragment; +}; + +var renderElem = function renderElem(elem, optionsCopy) { + for (var i = 0; i < elem.childNodes.length; i++) { + var childNode = elem.childNodes[i]; + + if (childNode.nodeType === 3) { + // Text node + var frag = auto_render_renderMathInText(childNode.textContent, optionsCopy); + i += frag.childNodes.length - 1; + elem.replaceChild(frag, childNode); + } else if (childNode.nodeType === 1) { + (function () { + // Element node + var className = ' ' + childNode.className + ' '; + var shouldRender = optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase()) === -1 && optionsCopy.ignoredClasses.every(function (x) { + return className.indexOf(' ' + x + ' ') === -1; + }); + + if (shouldRender) { + renderElem(childNode, optionsCopy); + } + })(); + } // Otherwise, it's something else, and ignore it. + + } +}; + +var renderMathInElement = function renderMathInElement(elem, options) { + if (!elem) { + throw new Error("No element provided to render"); + } + + var optionsCopy = {}; // Object.assign(optionsCopy, option) + + for (var option in options) { + if (options.hasOwnProperty(option)) { + optionsCopy[option] = options[option]; + } + } // default options + + + optionsCopy.delimiters = optionsCopy.delimiters || [{ + left: "$$", + right: "$$", + display: true + }, { + left: "\\(", + right: "\\)", + display: false + }, // LaTeX uses $…$, but it ruins the display of normal `$` in text: + // {left: "$", right: "$", display: false}, + // \[…\] must come last in this array. Otherwise, renderMathInElement + // will search for \[ before it searches for $$ or \( + // That makes it susceptible to finding a \\[0.3em] row delimiter and + // treating it as if it were the start of a KaTeX math zone. + { + left: "\\[", + right: "\\]", + display: true + }]; + optionsCopy.ignoredTags = optionsCopy.ignoredTags || ["script", "noscript", "style", "textarea", "pre", "code"]; + optionsCopy.ignoredClasses = optionsCopy.ignoredClasses || []; + optionsCopy.errorCallback = optionsCopy.errorCallback || console.error; // Enable sharing of global macros defined via `\gdef` between different + // math elements within a single call to `renderMathInElement`. + + optionsCopy.macros = optionsCopy.macros || {}; + renderElem(elem, optionsCopy); +}; + +/* harmony default export */ var auto_render = __webpack_exports__["default"] = (renderMathInElement); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/static/katex.css b/static/katex.css new file mode 100644 index 0000000..18381ef --- /dev/null +++ b/static/katex.css @@ -0,0 +1,1011 @@ +/* stylelint-disable font-family-no-missing-generic-family-keyword */ +@font-face { + font-family: 'KaTeX_AMS'; + src: url(/fonts/katex/KaTeX_AMS-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_AMS-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_AMS-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Caligraphic'; + src: url(/fonts/katex/KaTeX_Caligraphic-Bold.woff2) format('woff2'), url(/fonts/katex/KaTeX_Caligraphic-Bold.woff) format('woff'), url(/fonts/katex/KaTeX_Caligraphic-Bold.ttf) format('truetype'); + font-weight: bold; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Caligraphic'; + src: url(/fonts/katex/KaTeX_Caligraphic-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Caligraphic-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Caligraphic-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Fraktur'; + src: url(/fonts/katex/KaTeX_Fraktur-Bold.woff2) format('woff2'), url(/fonts/katex/KaTeX_Fraktur-Bold.woff) format('woff'), url(/fonts/katex/KaTeX_Fraktur-Bold.ttf) format('truetype'); + font-weight: bold; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Fraktur'; + src: url(/fonts/katex/KaTeX_Fraktur-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Fraktur-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Fraktur-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Main'; + src: url(/fonts/katex/KaTeX_Main-Bold.woff2) format('woff2'), url(/fonts/katex/KaTeX_Main-Bold.woff) format('woff'), url(/fonts/katex/KaTeX_Main-Bold.ttf) format('truetype'); + font-weight: bold; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Main'; + src: url(/fonts/katex/KaTeX_Main-BoldItalic.woff2) format('woff2'), url(/fonts/katex/KaTeX_Main-BoldItalic.woff) format('woff'), url(/fonts/katex/KaTeX_Main-BoldItalic.ttf) format('truetype'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: 'KaTeX_Main'; + src: url(/fonts/katex/KaTeX_Main-Italic.woff2) format('woff2'), url(/fonts/katex/KaTeX_Main-Italic.woff) format('woff'), url(/fonts/katex/KaTeX_Main-Italic.ttf) format('truetype'); + font-weight: normal; + font-style: italic; +} +@font-face { + font-family: 'KaTeX_Main'; + src: url(/fonts/katex/KaTeX_Main-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Main-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Main-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Math'; + src: url(/fonts/katex/KaTeX_Math-BoldItalic.woff2) format('woff2'), url(/fonts/katex/KaTeX_Math-BoldItalic.woff) format('woff'), url(/fonts/katex/KaTeX_Math-BoldItalic.ttf) format('truetype'); + font-weight: bold; + font-style: italic; +} +@font-face { + font-family: 'KaTeX_Math'; + src: url(/fonts/katex/KaTeX_Math-Italic.woff2) format('woff2'), url(/fonts/katex/KaTeX_Math-Italic.woff) format('woff'), url(/fonts/katex/KaTeX_Math-Italic.ttf) format('truetype'); + font-weight: normal; + font-style: italic; +} +@font-face { + font-family: 'KaTeX_SansSerif'; + src: url(/fonts/katex/KaTeX_SansSerif-Bold.woff2) format('woff2'), url(/fonts/katex/KaTeX_SansSerif-Bold.woff) format('woff'), url(/fonts/katex/KaTeX_SansSerif-Bold.ttf) format('truetype'); + font-weight: bold; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_SansSerif'; + src: url(/fonts/katex/KaTeX_SansSerif-Italic.woff2) format('woff2'), url(/fonts/katex/KaTeX_SansSerif-Italic.woff) format('woff'), url(/fonts/katex/KaTeX_SansSerif-Italic.ttf) format('truetype'); + font-weight: normal; + font-style: italic; +} +@font-face { + font-family: 'KaTeX_SansSerif'; + src: url(/fonts/katex/KaTeX_SansSerif-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_SansSerif-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_SansSerif-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Script'; + src: url(/fonts/katex/KaTeX_Script-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Script-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Script-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Size1'; + src: url(/fonts/katex/KaTeX_Size1-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Size1-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Size1-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Size2'; + src: url(/fonts/katex/KaTeX_Size2-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Size2-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Size2-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Size3'; + src: url(/fonts/katex/KaTeX_Size3-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Size3-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Size3-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Size4'; + src: url(/fonts/katex/KaTeX_Size4-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Size4-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Size4-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +@font-face { + font-family: 'KaTeX_Typewriter'; + src: url(/fonts/katex/KaTeX_Typewriter-Regular.woff2) format('woff2'), url(/fonts/katex/KaTeX_Typewriter-Regular.woff) format('woff'), url(/fonts/katex/KaTeX_Typewriter-Regular.ttf) format('truetype'); + font-weight: normal; + font-style: normal; +} +.katex { + font: normal 1.21em KaTeX_Main, Times New Roman, serif; + line-height: 1.2; + text-indent: 0; + text-rendering: auto; +} +.katex * { + -ms-high-contrast-adjust: none !important; +} +.katex .katex-version::after { + content: "0.11.1"; +} +.katex .katex-mathml { + position: absolute; + clip: rect(1px, 1px, 1px, 1px); + padding: 0; + border: 0; + height: 1px; + width: 1px; + overflow: hidden; +} +.katex .katex-html { + /* \newline is an empty block at top level, between .base elements */ +} +.katex .katex-html > .newline { + display: block; +} +.katex .base { + position: relative; + display: inline-block; + white-space: nowrap; + width: min-content; +} +.katex .strut { + display: inline-block; +} +.katex .textbf { + font-weight: bold; +} +.katex .textit { + font-style: italic; +} +.katex .textrm { + font-family: KaTeX_Main; +} +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .texttt { + font-family: KaTeX_Typewriter; +} +.katex .mathdefault { + font-family: KaTeX_Math; + font-style: italic; +} +.katex .mathit { + font-family: KaTeX_Main; + font-style: italic; +} +.katex .mathrm { + font-style: normal; +} +.katex .mathbf { + font-family: KaTeX_Main; + font-weight: bold; +} +.katex .boldsymbol { + font-family: KaTeX_Math; + font-weight: bold; + font-style: italic; +} +.katex .amsrm { + font-family: KaTeX_AMS; +} +.katex .mathbb, +.katex .textbb { + font-family: KaTeX_AMS; +} +.katex .mathcal { + font-family: KaTeX_Caligraphic; +} +.katex .mathfrak, +.katex .textfrak { + font-family: KaTeX_Fraktur; +} +.katex .mathtt { + font-family: KaTeX_Typewriter; +} +.katex .mathscr, +.katex .textscr { + font-family: KaTeX_Script; +} +.katex .mathsf, +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .mathboldsf, +.katex .textboldsf { + font-family: KaTeX_SansSerif; + font-weight: bold; +} +.katex .mathitsf, +.katex .textitsf { + font-family: KaTeX_SansSerif; + font-style: italic; +} +.katex .mainrm { + font-family: KaTeX_Main; + font-style: normal; +} +.katex .vlist-t { + display: inline-table; + table-layout: fixed; +} +.katex .vlist-r { + display: table-row; +} +.katex .vlist { + display: table-cell; + vertical-align: bottom; + position: relative; +} +.katex .vlist > span { + display: block; + height: 0; + position: relative; +} +.katex .vlist > span > span { + display: inline-block; +} +.katex .vlist > span > .pstrut { + overflow: hidden; + width: 0; +} +.katex .vlist-t2 { + margin-right: -2px; +} +.katex .vlist-s { + display: table-cell; + vertical-align: bottom; + font-size: 1px; + width: 2px; + min-width: 2px; +} +.katex .msupsub { + text-align: left; +} +.katex .mfrac > span > span { + text-align: center; +} +.katex .mfrac .frac-line { + display: inline-block; + width: 100%; + border-bottom-style: solid; +} +.katex .mfrac .frac-line, +.katex .overline .overline-line, +.katex .underline .underline-line, +.katex .hline, +.katex .hdashline, +.katex .rule { + min-height: 1px; +} +.katex .mspace { + display: inline-block; +} +.katex .llap, +.katex .rlap, +.katex .clap { + width: 0; + position: relative; +} +.katex .llap > .inner, +.katex .rlap > .inner, +.katex .clap > .inner { + position: absolute; +} +.katex .llap > .fix, +.katex .rlap > .fix, +.katex .clap > .fix { + display: inline-block; +} +.katex .llap > .inner { + right: 0; +} +.katex .rlap > .inner, +.katex .clap > .inner { + left: 0; +} +.katex .clap > .inner > span { + margin-left: -50%; + margin-right: 50%; +} +.katex .rule { + display: inline-block; + border: solid 0; + position: relative; +} +.katex .overline .overline-line, +.katex .underline .underline-line, +.katex .hline { + display: inline-block; + width: 100%; + border-bottom-style: solid; +} +.katex .hdashline { + display: inline-block; + width: 100%; + border-bottom-style: dashed; +} +.katex .sqrt > .root { + margin-left: 0.27777778em; + margin-right: -0.55555556em; +} +.katex .sizing.reset-size1.size1, +.katex .fontsize-ensurer.reset-size1.size1 { + font-size: 1em; +} +.katex .sizing.reset-size1.size2, +.katex .fontsize-ensurer.reset-size1.size2 { + font-size: 1.2em; +} +.katex .sizing.reset-size1.size3, +.katex .fontsize-ensurer.reset-size1.size3 { + font-size: 1.4em; +} +.katex .sizing.reset-size1.size4, +.katex .fontsize-ensurer.reset-size1.size4 { + font-size: 1.6em; +} +.katex .sizing.reset-size1.size5, +.katex .fontsize-ensurer.reset-size1.size5 { + font-size: 1.8em; +} +.katex .sizing.reset-size1.size6, +.katex .fontsize-ensurer.reset-size1.size6 { + font-size: 2em; +} +.katex .sizing.reset-size1.size7, +.katex .fontsize-ensurer.reset-size1.size7 { + font-size: 2.4em; +} +.katex .sizing.reset-size1.size8, +.katex .fontsize-ensurer.reset-size1.size8 { + font-size: 2.88em; +} +.katex .sizing.reset-size1.size9, +.katex .fontsize-ensurer.reset-size1.size9 { + font-size: 3.456em; +} +.katex .sizing.reset-size1.size10, +.katex .fontsize-ensurer.reset-size1.size10 { + font-size: 4.148em; +} +.katex .sizing.reset-size1.size11, +.katex .fontsize-ensurer.reset-size1.size11 { + font-size: 4.976em; +} +.katex .sizing.reset-size2.size1, +.katex .fontsize-ensurer.reset-size2.size1 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size2.size2, +.katex .fontsize-ensurer.reset-size2.size2 { + font-size: 1em; +} +.katex .sizing.reset-size2.size3, +.katex .fontsize-ensurer.reset-size2.size3 { + font-size: 1.16666667em; +} +.katex .sizing.reset-size2.size4, +.katex .fontsize-ensurer.reset-size2.size4 { + font-size: 1.33333333em; +} +.katex .sizing.reset-size2.size5, +.katex .fontsize-ensurer.reset-size2.size5 { + font-size: 1.5em; +} +.katex .sizing.reset-size2.size6, +.katex .fontsize-ensurer.reset-size2.size6 { + font-size: 1.66666667em; +} +.katex .sizing.reset-size2.size7, +.katex .fontsize-ensurer.reset-size2.size7 { + font-size: 2em; +} +.katex .sizing.reset-size2.size8, +.katex .fontsize-ensurer.reset-size2.size8 { + font-size: 2.4em; +} +.katex .sizing.reset-size2.size9, +.katex .fontsize-ensurer.reset-size2.size9 { + font-size: 2.88em; +} +.katex .sizing.reset-size2.size10, +.katex .fontsize-ensurer.reset-size2.size10 { + font-size: 3.45666667em; +} +.katex .sizing.reset-size2.size11, +.katex .fontsize-ensurer.reset-size2.size11 { + font-size: 4.14666667em; +} +.katex .sizing.reset-size3.size1, +.katex .fontsize-ensurer.reset-size3.size1 { + font-size: 0.71428571em; +} +.katex .sizing.reset-size3.size2, +.katex .fontsize-ensurer.reset-size3.size2 { + font-size: 0.85714286em; +} +.katex .sizing.reset-size3.size3, +.katex .fontsize-ensurer.reset-size3.size3 { + font-size: 1em; +} +.katex .sizing.reset-size3.size4, +.katex .fontsize-ensurer.reset-size3.size4 { + font-size: 1.14285714em; +} +.katex .sizing.reset-size3.size5, +.katex .fontsize-ensurer.reset-size3.size5 { + font-size: 1.28571429em; +} +.katex .sizing.reset-size3.size6, +.katex .fontsize-ensurer.reset-size3.size6 { + font-size: 1.42857143em; +} +.katex .sizing.reset-size3.size7, +.katex .fontsize-ensurer.reset-size3.size7 { + font-size: 1.71428571em; +} +.katex .sizing.reset-size3.size8, +.katex .fontsize-ensurer.reset-size3.size8 { + font-size: 2.05714286em; +} +.katex .sizing.reset-size3.size9, +.katex .fontsize-ensurer.reset-size3.size9 { + font-size: 2.46857143em; +} +.katex .sizing.reset-size3.size10, +.katex .fontsize-ensurer.reset-size3.size10 { + font-size: 2.96285714em; +} +.katex .sizing.reset-size3.size11, +.katex .fontsize-ensurer.reset-size3.size11 { + font-size: 3.55428571em; +} +.katex .sizing.reset-size4.size1, +.katex .fontsize-ensurer.reset-size4.size1 { + font-size: 0.625em; +} +.katex .sizing.reset-size4.size2, +.katex .fontsize-ensurer.reset-size4.size2 { + font-size: 0.75em; +} +.katex .sizing.reset-size4.size3, +.katex .fontsize-ensurer.reset-size4.size3 { + font-size: 0.875em; +} +.katex .sizing.reset-size4.size4, +.katex .fontsize-ensurer.reset-size4.size4 { + font-size: 1em; +} +.katex .sizing.reset-size4.size5, +.katex .fontsize-ensurer.reset-size4.size5 { + font-size: 1.125em; +} +.katex .sizing.reset-size4.size6, +.katex .fontsize-ensurer.reset-size4.size6 { + font-size: 1.25em; +} +.katex .sizing.reset-size4.size7, +.katex .fontsize-ensurer.reset-size4.size7 { + font-size: 1.5em; +} +.katex .sizing.reset-size4.size8, +.katex .fontsize-ensurer.reset-size4.size8 { + font-size: 1.8em; +} +.katex .sizing.reset-size4.size9, +.katex .fontsize-ensurer.reset-size4.size9 { + font-size: 2.16em; +} +.katex .sizing.reset-size4.size10, +.katex .fontsize-ensurer.reset-size4.size10 { + font-size: 2.5925em; +} +.katex .sizing.reset-size4.size11, +.katex .fontsize-ensurer.reset-size4.size11 { + font-size: 3.11em; +} +.katex .sizing.reset-size5.size1, +.katex .fontsize-ensurer.reset-size5.size1 { + font-size: 0.55555556em; +} +.katex .sizing.reset-size5.size2, +.katex .fontsize-ensurer.reset-size5.size2 { + font-size: 0.66666667em; +} +.katex .sizing.reset-size5.size3, +.katex .fontsize-ensurer.reset-size5.size3 { + font-size: 0.77777778em; +} +.katex .sizing.reset-size5.size4, +.katex .fontsize-ensurer.reset-size5.size4 { + font-size: 0.88888889em; +} +.katex .sizing.reset-size5.size5, +.katex .fontsize-ensurer.reset-size5.size5 { + font-size: 1em; +} +.katex .sizing.reset-size5.size6, +.katex .fontsize-ensurer.reset-size5.size6 { + font-size: 1.11111111em; +} +.katex .sizing.reset-size5.size7, +.katex .fontsize-ensurer.reset-size5.size7 { + font-size: 1.33333333em; +} +.katex .sizing.reset-size5.size8, +.katex .fontsize-ensurer.reset-size5.size8 { + font-size: 1.6em; +} +.katex .sizing.reset-size5.size9, +.katex .fontsize-ensurer.reset-size5.size9 { + font-size: 1.92em; +} +.katex .sizing.reset-size5.size10, +.katex .fontsize-ensurer.reset-size5.size10 { + font-size: 2.30444444em; +} +.katex .sizing.reset-size5.size11, +.katex .fontsize-ensurer.reset-size5.size11 { + font-size: 2.76444444em; +} +.katex .sizing.reset-size6.size1, +.katex .fontsize-ensurer.reset-size6.size1 { + font-size: 0.5em; +} +.katex .sizing.reset-size6.size2, +.katex .fontsize-ensurer.reset-size6.size2 { + font-size: 0.6em; +} +.katex .sizing.reset-size6.size3, +.katex .fontsize-ensurer.reset-size6.size3 { + font-size: 0.7em; +} +.katex .sizing.reset-size6.size4, +.katex .fontsize-ensurer.reset-size6.size4 { + font-size: 0.8em; +} +.katex .sizing.reset-size6.size5, +.katex .fontsize-ensurer.reset-size6.size5 { + font-size: 0.9em; +} +.katex .sizing.reset-size6.size6, +.katex .fontsize-ensurer.reset-size6.size6 { + font-size: 1em; +} +.katex .sizing.reset-size6.size7, +.katex .fontsize-ensurer.reset-size6.size7 { + font-size: 1.2em; +} +.katex .sizing.reset-size6.size8, +.katex .fontsize-ensurer.reset-size6.size8 { + font-size: 1.44em; +} +.katex .sizing.reset-size6.size9, +.katex .fontsize-ensurer.reset-size6.size9 { + font-size: 1.728em; +} +.katex .sizing.reset-size6.size10, +.katex .fontsize-ensurer.reset-size6.size10 { + font-size: 2.074em; +} +.katex .sizing.reset-size6.size11, +.katex .fontsize-ensurer.reset-size6.size11 { + font-size: 2.488em; +} +.katex .sizing.reset-size7.size1, +.katex .fontsize-ensurer.reset-size7.size1 { + font-size: 0.41666667em; +} +.katex .sizing.reset-size7.size2, +.katex .fontsize-ensurer.reset-size7.size2 { + font-size: 0.5em; +} +.katex .sizing.reset-size7.size3, +.katex .fontsize-ensurer.reset-size7.size3 { + font-size: 0.58333333em; +} +.katex .sizing.reset-size7.size4, +.katex .fontsize-ensurer.reset-size7.size4 { + font-size: 0.66666667em; +} +.katex .sizing.reset-size7.size5, +.katex .fontsize-ensurer.reset-size7.size5 { + font-size: 0.75em; +} +.katex .sizing.reset-size7.size6, +.katex .fontsize-ensurer.reset-size7.size6 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size7.size7, +.katex .fontsize-ensurer.reset-size7.size7 { + font-size: 1em; +} +.katex .sizing.reset-size7.size8, +.katex .fontsize-ensurer.reset-size7.size8 { + font-size: 1.2em; +} +.katex .sizing.reset-size7.size9, +.katex .fontsize-ensurer.reset-size7.size9 { + font-size: 1.44em; +} +.katex .sizing.reset-size7.size10, +.katex .fontsize-ensurer.reset-size7.size10 { + font-size: 1.72833333em; +} +.katex .sizing.reset-size7.size11, +.katex .fontsize-ensurer.reset-size7.size11 { + font-size: 2.07333333em; +} +.katex .sizing.reset-size8.size1, +.katex .fontsize-ensurer.reset-size8.size1 { + font-size: 0.34722222em; +} +.katex .sizing.reset-size8.size2, +.katex .fontsize-ensurer.reset-size8.size2 { + font-size: 0.41666667em; +} +.katex .sizing.reset-size8.size3, +.katex .fontsize-ensurer.reset-size8.size3 { + font-size: 0.48611111em; +} +.katex .sizing.reset-size8.size4, +.katex .fontsize-ensurer.reset-size8.size4 { + font-size: 0.55555556em; +} +.katex .sizing.reset-size8.size5, +.katex .fontsize-ensurer.reset-size8.size5 { + font-size: 0.625em; +} +.katex .sizing.reset-size8.size6, +.katex .fontsize-ensurer.reset-size8.size6 { + font-size: 0.69444444em; +} +.katex .sizing.reset-size8.size7, +.katex .fontsize-ensurer.reset-size8.size7 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size8.size8, +.katex .fontsize-ensurer.reset-size8.size8 { + font-size: 1em; +} +.katex .sizing.reset-size8.size9, +.katex .fontsize-ensurer.reset-size8.size9 { + font-size: 1.2em; +} +.katex .sizing.reset-size8.size10, +.katex .fontsize-ensurer.reset-size8.size10 { + font-size: 1.44027778em; +} +.katex .sizing.reset-size8.size11, +.katex .fontsize-ensurer.reset-size8.size11 { + font-size: 1.72777778em; +} +.katex .sizing.reset-size9.size1, +.katex .fontsize-ensurer.reset-size9.size1 { + font-size: 0.28935185em; +} +.katex .sizing.reset-size9.size2, +.katex .fontsize-ensurer.reset-size9.size2 { + font-size: 0.34722222em; +} +.katex .sizing.reset-size9.size3, +.katex .fontsize-ensurer.reset-size9.size3 { + font-size: 0.40509259em; +} +.katex .sizing.reset-size9.size4, +.katex .fontsize-ensurer.reset-size9.size4 { + font-size: 0.46296296em; +} +.katex .sizing.reset-size9.size5, +.katex .fontsize-ensurer.reset-size9.size5 { + font-size: 0.52083333em; +} +.katex .sizing.reset-size9.size6, +.katex .fontsize-ensurer.reset-size9.size6 { + font-size: 0.5787037em; +} +.katex .sizing.reset-size9.size7, +.katex .fontsize-ensurer.reset-size9.size7 { + font-size: 0.69444444em; +} +.katex .sizing.reset-size9.size8, +.katex .fontsize-ensurer.reset-size9.size8 { + font-size: 0.83333333em; +} +.katex .sizing.reset-size9.size9, +.katex .fontsize-ensurer.reset-size9.size9 { + font-size: 1em; +} +.katex .sizing.reset-size9.size10, +.katex .fontsize-ensurer.reset-size9.size10 { + font-size: 1.20023148em; +} +.katex .sizing.reset-size9.size11, +.katex .fontsize-ensurer.reset-size9.size11 { + font-size: 1.43981481em; +} +.katex .sizing.reset-size10.size1, +.katex .fontsize-ensurer.reset-size10.size1 { + font-size: 0.24108004em; +} +.katex .sizing.reset-size10.size2, +.katex .fontsize-ensurer.reset-size10.size2 { + font-size: 0.28929605em; +} +.katex .sizing.reset-size10.size3, +.katex .fontsize-ensurer.reset-size10.size3 { + font-size: 0.33751205em; +} +.katex .sizing.reset-size10.size4, +.katex .fontsize-ensurer.reset-size10.size4 { + font-size: 0.38572806em; +} +.katex .sizing.reset-size10.size5, +.katex .fontsize-ensurer.reset-size10.size5 { + font-size: 0.43394407em; +} +.katex .sizing.reset-size10.size6, +.katex .fontsize-ensurer.reset-size10.size6 { + font-size: 0.48216008em; +} +.katex .sizing.reset-size10.size7, +.katex .fontsize-ensurer.reset-size10.size7 { + font-size: 0.57859209em; +} +.katex .sizing.reset-size10.size8, +.katex .fontsize-ensurer.reset-size10.size8 { + font-size: 0.69431051em; +} +.katex .sizing.reset-size10.size9, +.katex .fontsize-ensurer.reset-size10.size9 { + font-size: 0.83317261em; +} +.katex .sizing.reset-size10.size10, +.katex .fontsize-ensurer.reset-size10.size10 { + font-size: 1em; +} +.katex .sizing.reset-size10.size11, +.katex .fontsize-ensurer.reset-size10.size11 { + font-size: 1.19961427em; +} +.katex .sizing.reset-size11.size1, +.katex .fontsize-ensurer.reset-size11.size1 { + font-size: 0.20096463em; +} +.katex .sizing.reset-size11.size2, +.katex .fontsize-ensurer.reset-size11.size2 { + font-size: 0.24115756em; +} +.katex .sizing.reset-size11.size3, +.katex .fontsize-ensurer.reset-size11.size3 { + font-size: 0.28135048em; +} +.katex .sizing.reset-size11.size4, +.katex .fontsize-ensurer.reset-size11.size4 { + font-size: 0.32154341em; +} +.katex .sizing.reset-size11.size5, +.katex .fontsize-ensurer.reset-size11.size5 { + font-size: 0.36173633em; +} +.katex .sizing.reset-size11.size6, +.katex .fontsize-ensurer.reset-size11.size6 { + font-size: 0.40192926em; +} +.katex .sizing.reset-size11.size7, +.katex .fontsize-ensurer.reset-size11.size7 { + font-size: 0.48231511em; +} +.katex .sizing.reset-size11.size8, +.katex .fontsize-ensurer.reset-size11.size8 { + font-size: 0.57877814em; +} +.katex .sizing.reset-size11.size9, +.katex .fontsize-ensurer.reset-size11.size9 { + font-size: 0.69453376em; +} +.katex .sizing.reset-size11.size10, +.katex .fontsize-ensurer.reset-size11.size10 { + font-size: 0.83360129em; +} +.katex .sizing.reset-size11.size11, +.katex .fontsize-ensurer.reset-size11.size11 { + font-size: 1em; +} +.katex .delimsizing.size1 { + font-family: KaTeX_Size1; +} +.katex .delimsizing.size2 { + font-family: KaTeX_Size2; +} +.katex .delimsizing.size3 { + font-family: KaTeX_Size3; +} +.katex .delimsizing.size4 { + font-family: KaTeX_Size4; +} +.katex .delimsizing.mult .delim-size1 > span { + font-family: KaTeX_Size1; +} +.katex .delimsizing.mult .delim-size4 > span { + font-family: KaTeX_Size4; +} +.katex .nulldelimiter { + display: inline-block; + width: 0.12em; +} +.katex .delimcenter { + position: relative; +} +.katex .op-symbol { + position: relative; +} +.katex .op-symbol.small-op { + font-family: KaTeX_Size1; +} +.katex .op-symbol.large-op { + font-family: KaTeX_Size2; +} +.katex .op-limits > .vlist-t { + text-align: center; +} +.katex .accent > .vlist-t { + text-align: center; +} +.katex .accent .accent-body { + position: relative; +} +.katex .accent .accent-body:not(.accent-full) { + width: 0; +} +.katex .overlay { + display: block; +} +.katex .mtable .vertical-separator { + display: inline-block; + min-width: 1px; +} +.katex .mtable .arraycolsep { + display: inline-block; +} +.katex .mtable .col-align-c > .vlist-t { + text-align: center; +} +.katex .mtable .col-align-l > .vlist-t { + text-align: left; +} +.katex .mtable .col-align-r > .vlist-t { + text-align: right; +} +.katex .svg-align { + text-align: left; +} +.katex svg { + display: block; + position: absolute; + width: 100%; + height: inherit; + fill: currentColor; + stroke: currentColor; + fill-rule: nonzero; + fill-opacity: 1; + stroke-width: 1; + stroke-linecap: butt; + stroke-linejoin: miter; + stroke-miterlimit: 4; + stroke-dasharray: none; + stroke-dashoffset: 0; + stroke-opacity: 1; +} +.katex svg path { + stroke: none; +} +.katex img { + border-style: none; + min-width: 0; + min-height: 0; + max-width: none; + max-height: none; +} +.katex .stretchy { + width: 100%; + display: block; + position: relative; + overflow: hidden; +} +.katex .stretchy::before, +.katex .stretchy::after { + content: ""; +} +.katex .hide-tail { + width: 100%; + position: relative; + overflow: hidden; +} +.katex .halfarrow-left { + position: absolute; + left: 0; + width: 50.2%; + overflow: hidden; +} +.katex .halfarrow-right { + position: absolute; + right: 0; + width: 50.2%; + overflow: hidden; +} +.katex .brace-left { + position: absolute; + left: 0; + width: 25.1%; + overflow: hidden; +} +.katex .brace-center { + position: absolute; + left: 25%; + width: 50%; + overflow: hidden; +} +.katex .brace-right { + position: absolute; + right: 0; + width: 25.1%; + overflow: hidden; +} +.katex .x-arrow-pad { + padding: 0 0.5em; +} +.katex .x-arrow, +.katex .mover, +.katex .munder { + text-align: center; +} +.katex .boxpad { + padding: 0 0.3em 0 0.3em; +} +.katex .fbox, +.katex .fcolorbox { + box-sizing: border-box; + border: 0.04em solid; +} +.katex .cancel-pad { + padding: 0 0.2em 0 0.2em; +} +.katex .cancel-lap { + margin-left: -0.2em; + margin-right: -0.2em; +} +.katex .sout { + border-bottom-style: solid; + border-bottom-width: 0.08em; +} +.katex-display { + display: block; + margin: 1em 0; + text-align: center; +} +.katex-display > .katex { + display: block; + text-align: center; + white-space: nowrap; +} +.katex-display > .katex > .katex-html { + display: block; + position: relative; +} +.katex-display > .katex > .katex-html > .tag { + position: absolute; + right: 0; +} +.katex-display.leqno > .katex > .katex-html > .tag { + left: 0; + right: auto; +} +.katex-display.fleqn > .katex { + text-align: left; +} diff --git a/static/katex.js b/static/katex.js new file mode 100644 index 0000000..2aa2c91 --- /dev/null +++ b/static/katex.js @@ -0,0 +1,17425 @@ +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define([], factory); + else if(typeof exports === 'object') + exports["katex"] = factory(); + else + root["katex"] = factory(); +})((typeof self !== 'undefined' ? self : this), function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) { +/******/ return installedModules[moduleId].exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // define getter function for harmony exports +/******/ __webpack_require__.d = function(exports, name, getter) { +/******/ if(!__webpack_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); +/******/ } +/******/ }; +/******/ +/******/ // define __esModule on exports +/******/ __webpack_require__.r = function(exports) { +/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { +/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); +/******/ } +/******/ Object.defineProperty(exports, '__esModule', { value: true }); +/******/ }; +/******/ +/******/ // create a fake namespace object +/******/ // mode & 1: value is a module id, require it +/******/ // mode & 2: merge all properties of value into the ns +/******/ // mode & 4: return value when already ns object +/******/ // mode & 8|1: behave like require +/******/ __webpack_require__.t = function(value, mode) { +/******/ if(mode & 1) value = __webpack_require__(value); +/******/ if(mode & 8) return value; +/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; +/******/ var ns = Object.create(null); +/******/ __webpack_require__.r(ns); +/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); +/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); +/******/ return ns; +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __webpack_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __webpack_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(__webpack_require__.s = 1); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __webpack_require__) { + +// extracted by mini-css-extract-plugin + +/***/ }), +/* 1 */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); + +// EXTERNAL MODULE: ./src/katex.less +var katex = __webpack_require__(0); + +// CONCATENATED MODULE: ./src/SourceLocation.js +/** + * Lexing or parsing positional information for error reporting. + * This object is immutable. + */ +var SourceLocation = +/*#__PURE__*/ +function () { + // The + prefix indicates that these fields aren't writeable + // Lexer holding the input string. + // Start offset, zero-based inclusive. + // End offset, zero-based exclusive. + function SourceLocation(lexer, start, end) { + this.lexer = void 0; + this.start = void 0; + this.end = void 0; + this.lexer = lexer; + this.start = start; + this.end = end; + } + /** + * Merges two `SourceLocation`s from location providers, given they are + * provided in order of appearance. + * - Returns the first one's location if only the first is provided. + * - Returns a merged range of the first and the last if both are provided + * and their lexers match. + * - Otherwise, returns null. + */ + + + SourceLocation.range = function range(first, second) { + if (!second) { + return first && first.loc; + } else if (!first || !first.loc || !second.loc || first.loc.lexer !== second.loc.lexer) { + return null; + } else { + return new SourceLocation(first.loc.lexer, first.loc.start, second.loc.end); + } + }; + + return SourceLocation; +}(); + + +// CONCATENATED MODULE: ./src/Token.js + +/** + * Interface required to break circular dependency between Token, Lexer, and + * ParseError. + */ + +/** + * The resulting token returned from `lex`. + * + * It consists of the token text plus some position information. + * The position information is essentially a range in an input string, + * but instead of referencing the bare input string, we refer to the lexer. + * That way it is possible to attach extra metadata to the input string, + * like for example a file name or similar. + * + * The position information is optional, so it is OK to construct synthetic + * tokens if appropriate. Not providing available position information may + * lead to degraded error reporting, though. + */ +var Token_Token = +/*#__PURE__*/ +function () { + function Token(text, // the text of this token + loc) { + this.text = void 0; + this.loc = void 0; + this.text = text; + this.loc = loc; + } + /** + * Given a pair of tokens (this and endToken), compute a `Token` encompassing + * the whole input range enclosed by these two. + */ + + + var _proto = Token.prototype; + + _proto.range = function range(endToken, // last token of the range, inclusive + text) // the text of the newly constructed token + { + return new Token(text, SourceLocation.range(this, endToken)); + }; + + return Token; +}(); +// CONCATENATED MODULE: ./src/ParseError.js + + +/** + * This is the ParseError class, which is the main error thrown by KaTeX + * functions when something has gone wrong. This is used to distinguish internal + * errors from errors in the expression that the user provided. + * + * If possible, a caller should provide a Token or ParseNode with information + * about where in the source string the problem occurred. + */ +var ParseError = // Error position based on passed-in Token or ParseNode. +function ParseError(message, // The error message +token) // An object providing position information +{ + this.position = void 0; + var error = "KaTeX parse error: " + message; + var start; + var loc = token && token.loc; + + if (loc && loc.start <= loc.end) { + // If we have the input and a position, make the error a bit fancier + // Get the input + var input = loc.lexer.input; // Prepend some information + + start = loc.start; + var end = loc.end; + + if (start === input.length) { + error += " at end of input: "; + } else { + error += " at position " + (start + 1) + ": "; + } // Underline token in question using combining underscores + + + var underlined = input.slice(start, end).replace(/[^]/g, "$&\u0332"); // Extract some context from the input and add it to the error + + var left; + + if (start > 15) { + left = "…" + input.slice(start - 15, start); + } else { + left = input.slice(0, start); + } + + var right; + + if (end + 15 < input.length) { + right = input.slice(end, end + 15) + "…"; + } else { + right = input.slice(end); + } + + error += left + underlined + right; + } // Some hackery to make ParseError a prototype of Error + // See http://stackoverflow.com/a/8460753 + + + var self = new Error(error); + self.name = "ParseError"; // $FlowFixMe + + self.__proto__ = ParseError.prototype; // $FlowFixMe + + self.position = start; + return self; +}; // $FlowFixMe More hackery + + +ParseError.prototype.__proto__ = Error.prototype; +/* harmony default export */ var src_ParseError = (ParseError); +// CONCATENATED MODULE: ./src/utils.js +/** + * This file contains a list of utility functions which are useful in other + * files. + */ + +/** + * Return whether an element is contained in a list + */ +var contains = function contains(list, elem) { + return list.indexOf(elem) !== -1; +}; +/** + * Provide a default value if a setting is undefined + * NOTE: Couldn't use `T` as the output type due to facebook/flow#5022. + */ + + +var deflt = function deflt(setting, defaultIfUndefined) { + return setting === undefined ? defaultIfUndefined : setting; +}; // hyphenate and escape adapted from Facebook's React under Apache 2 license + + +var uppercase = /([A-Z])/g; + +var hyphenate = function hyphenate(str) { + return str.replace(uppercase, "-$1").toLowerCase(); +}; + +var ESCAPE_LOOKUP = { + "&": "&", + ">": ">", + "<": "<", + "\"": """, + "'": "'" +}; +var ESCAPE_REGEX = /[&><"']/g; +/** + * Escapes text to prevent scripting attacks. + */ + +function utils_escape(text) { + return String(text).replace(ESCAPE_REGEX, function (match) { + return ESCAPE_LOOKUP[match]; + }); +} +/** + * Sometimes we want to pull out the innermost element of a group. In most + * cases, this will just be the group itself, but when ordgroups and colors have + * a single element, we want to pull that out. + */ + + +var getBaseElem = function getBaseElem(group) { + if (group.type === "ordgroup") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "color") { + if (group.body.length === 1) { + return getBaseElem(group.body[0]); + } else { + return group; + } + } else if (group.type === "font") { + return getBaseElem(group.body); + } else { + return group; + } +}; +/** + * TeXbook algorithms often reference "character boxes", which are simply groups + * with a single character in them. To decide if something is a character box, + * we find its innermost group, and see if it is a single character. + */ + + +var utils_isCharacterBox = function isCharacterBox(group) { + var baseElem = getBaseElem(group); // These are all they types of groups which hold single characters + + return baseElem.type === "mathord" || baseElem.type === "textord" || baseElem.type === "atom"; +}; + +var assert = function assert(value) { + if (!value) { + throw new Error('Expected non-null, but got ' + String(value)); + } + + return value; +}; +/** + * Return the protocol of a URL, or "_relative" if the URL does not specify a + * protocol (and thus is relative). + */ + +var protocolFromUrl = function protocolFromUrl(url) { + var protocol = /^\s*([^\\/#]*?)(?::|�*58|�*3a)/i.exec(url); + return protocol != null ? protocol[1] : "_relative"; +}; +/* harmony default export */ var utils = ({ + contains: contains, + deflt: deflt, + escape: utils_escape, + hyphenate: hyphenate, + getBaseElem: getBaseElem, + isCharacterBox: utils_isCharacterBox, + protocolFromUrl: protocolFromUrl +}); +// CONCATENATED MODULE: ./src/Settings.js +/* eslint no-console:0 */ + +/** + * This is a module for storing settings passed into KaTeX. It correctly handles + * default settings. + */ + + + + +/** + * The main Settings object + * + * The current options stored are: + * - displayMode: Whether the expression should be typeset as inline math + * (false, the default), meaning that the math starts in + * \textstyle and is placed in an inline-block); or as display + * math (true), meaning that the math starts in \displaystyle + * and is placed in a block with vertical margin. + */ +var Settings_Settings = +/*#__PURE__*/ +function () { + function Settings(options) { + 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; + // allow null options + options = options || {}; + this.displayMode = utils.deflt(options.displayMode, false); + this.output = utils.deflt(options.output, "htmlAndMathml"); + this.leqno = utils.deflt(options.leqno, false); + this.fleqn = utils.deflt(options.fleqn, false); + this.throwOnError = utils.deflt(options.throwOnError, true); + this.errorColor = utils.deflt(options.errorColor, "#cc0000"); + this.macros = options.macros || {}; + this.minRuleThickness = Math.max(0, utils.deflt(options.minRuleThickness, 0)); + this.colorIsTextColor = utils.deflt(options.colorIsTextColor, false); + this.strict = utils.deflt(options.strict, "warn"); + this.trust = utils.deflt(options.trust, false); + this.maxSize = Math.max(0, utils.deflt(options.maxSize, Infinity)); + this.maxExpand = Math.max(0, utils.deflt(options.maxExpand, 1000)); + } + /** + * Report nonstrict (non-LaTeX-compatible) input. + * Can safely not be called if `this.strict` is false in JavaScript. + */ + + + var _proto = Settings.prototype; + + _proto.reportNonstrict = function reportNonstrict(errorCode, errorMsg, token) { + var strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + strict = strict(errorCode, errorMsg, token); + } + + if (!strict || strict === "ignore") { + return; + } else if (strict === true || strict === "error") { + throw new src_ParseError("LaTeX-incompatible input and strict mode is set to 'error': " + (errorMsg + " [" + errorCode + "]"), token); + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (errorMsg + " [" + errorCode + "]")); + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized '" + strict + "': " + errorMsg + " [" + errorCode + "]")); + } + } + /** + * Check whether to apply strict (LaTeX-adhering) behavior for unusual + * input (like `\\`). Unlike `nonstrict`, will not throw an error; + * instead, "error" translates to a return value of `true`, while "ignore" + * translates to a return value of `false`. May still print a warning: + * "warn" prints a warning and returns `false`. + * This is for the second category of `errorCode`s listed in the README. + */ + ; + + _proto.useStrictBehavior = function useStrictBehavior(errorCode, errorMsg, token) { + var strict = this.strict; + + if (typeof strict === "function") { + // Allow return value of strict function to be boolean or string + // (or null/undefined, meaning no further processing). + // But catch any exceptions thrown by function, treating them + // like "error". + try { + strict = strict(errorCode, errorMsg, token); + } catch (error) { + strict = "error"; + } + } + + if (!strict || strict === "ignore") { + return false; + } else if (strict === true || strict === "error") { + return true; + } else if (strict === "warn") { + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to 'warn': " + (errorMsg + " [" + errorCode + "]")); + return false; + } else { + // won't happen in type-safe code + typeof console !== "undefined" && console.warn("LaTeX-incompatible input and strict mode is set to " + ("unrecognized '" + strict + "': " + errorMsg + " [" + errorCode + "]")); + return false; + } + } + /** + * Check whether to test potentially dangerous input, and return + * `true` (trusted) or `false` (untrusted). The sole argument `context` + * should be an object with `command` field specifying the relevant LaTeX + * command (as a string starting with `\`), and any other arguments, etc. + * If `context` has a `url` field, a `protocol` field will automatically + * get added by this function (changing the specified object). + */ + ; + + _proto.isTrusted = function isTrusted(context) { + if (context.url && !context.protocol) { + context.protocol = utils.protocolFromUrl(context.url); + } + + var trust = typeof this.trust === "function" ? this.trust(context) : this.trust; + return Boolean(trust); + }; + + return Settings; +}(); + + +// CONCATENATED MODULE: ./src/Style.js +/** + * This file contains information and classes for the various kinds of styles + * used in TeX. It provides a generic `Style` class, which holds information + * about a specific style. It then provides instances of all the different kinds + * of styles possible, and provides functions to move between them and get + * information about them. + */ + +/** + * The main style class. Contains a unique id for the style, a size (which is + * the same for cramped and uncramped version of a style), and a cramped flag. + */ +var Style = +/*#__PURE__*/ +function () { + function Style(id, size, cramped) { + this.id = void 0; + this.size = void 0; + this.cramped = void 0; + this.id = id; + this.size = size; + this.cramped = cramped; + } + /** + * Get the style of a superscript given a base in the current style. + */ + + + var _proto = Style.prototype; + + _proto.sup = function sup() { + return Style_styles[_sup[this.id]]; + } + /** + * Get the style of a subscript given a base in the current style. + */ + ; + + _proto.sub = function sub() { + return Style_styles[_sub[this.id]]; + } + /** + * Get the style of a fraction numerator given the fraction in the current + * style. + */ + ; + + _proto.fracNum = function fracNum() { + return Style_styles[_fracNum[this.id]]; + } + /** + * Get the style of a fraction denominator given the fraction in the current + * style. + */ + ; + + _proto.fracDen = function fracDen() { + return Style_styles[_fracDen[this.id]]; + } + /** + * Get the cramped version of a style (in particular, cramping a cramped style + * doesn't change the style). + */ + ; + + _proto.cramp = function cramp() { + return Style_styles[_cramp[this.id]]; + } + /** + * Get a text or display version of this style. + */ + ; + + _proto.text = function text() { + return Style_styles[_text[this.id]]; + } + /** + * Return true if this style is tightly spaced (scriptstyle/scriptscriptstyle) + */ + ; + + _proto.isTight = function isTight() { + return this.size >= 2; + }; + + return Style; +}(); // Export an interface for type checking, but don't expose the implementation. +// This way, no more styles can be generated. + + +// IDs of the different styles +var D = 0; +var Dc = 1; +var T = 2; +var Tc = 3; +var S = 4; +var Sc = 5; +var SS = 6; +var SSc = 7; // Instances of the different styles + +var Style_styles = [new Style(D, 0, false), new Style(Dc, 0, true), new Style(T, 1, false), new Style(Tc, 1, true), new Style(S, 2, false), new Style(Sc, 2, true), new Style(SS, 3, false), new Style(SSc, 3, true)]; // Lookup tables for switching from one style to another + +var _sup = [S, Sc, S, Sc, SS, SSc, SS, SSc]; +var _sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc]; +var _fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc]; +var _fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc]; +var _cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc]; +var _text = [D, Dc, T, Tc, T, Tc, T, Tc]; // We only export some of the styles. + +/* harmony default export */ var src_Style = ({ + DISPLAY: Style_styles[D], + TEXT: Style_styles[T], + SCRIPT: Style_styles[S], + SCRIPTSCRIPT: Style_styles[SS] +}); +// CONCATENATED MODULE: ./src/unicodeScripts.js +/* + * This file defines the Unicode scripts and script families that we + * support. To add new scripts or families, just add a new entry to the + * scriptData array below. Adding scripts to the scriptData array allows + * characters from that script to appear in \text{} environments. + */ + +/** + * Each script or script family has a name and an array of blocks. + * Each block is an array of two numbers which specify the start and + * end points (inclusive) of a block of Unicode codepoints. + */ + +/** + * Unicode block data for the families of scripts we support in \text{}. + * Scripts only need to appear here if they do not have font metrics. + */ +var scriptData = [{ + // Latin characters beyond the Latin-1 characters we have metrics for. + // Needed for Czech, Hungarian and Turkish text, for example. + name: 'latin', + blocks: [[0x0100, 0x024f], // Latin Extended-A and Latin Extended-B + [0x0300, 0x036f]] +}, { + // The Cyrillic script used by Russian and related languages. + // A Cyrillic subset used to be supported as explicitly defined + // symbols in symbols.js + name: 'cyrillic', + blocks: [[0x0400, 0x04ff]] +}, { + // The Brahmic scripts of South and Southeast Asia + // Devanagari (0900–097F) + // Bengali (0980–09FF) + // Gurmukhi (0A00–0A7F) + // Gujarati (0A80–0AFF) + // Oriya (0B00–0B7F) + // Tamil (0B80–0BFF) + // Telugu (0C00–0C7F) + // Kannada (0C80–0CFF) + // Malayalam (0D00–0D7F) + // Sinhala (0D80–0DFF) + // Thai (0E00–0E7F) + // Lao (0E80–0EFF) + // Tibetan (0F00–0FFF) + // Myanmar (1000–109F) + name: 'brahmic', + blocks: [[0x0900, 0x109F]] +}, { + name: 'georgian', + blocks: [[0x10A0, 0x10ff]] +}, { + // Chinese and Japanese. + // The "k" in cjk is for Korean, but we've separated Korean out + name: "cjk", + blocks: [[0x3000, 0x30FF], // CJK symbols and punctuation, Hiragana, Katakana + [0x4E00, 0x9FAF], // CJK ideograms + [0xFF00, 0xFF60]] +}, { + // Korean + name: 'hangul', + blocks: [[0xAC00, 0xD7AF]] +}]; +/** + * Given a codepoint, return the name of the script or script family + * it is from, or null if it is not part of a known block + */ + +function scriptFromCodepoint(codepoint) { + for (var i = 0; i < scriptData.length; i++) { + var script = scriptData[i]; + + for (var _i = 0; _i < script.blocks.length; _i++) { + var block = script.blocks[_i]; + + if (codepoint >= block[0] && codepoint <= block[1]) { + return script.name; + } + } + } + + return null; +} +/** + * A flattened version of all the supported blocks in a single array. + * This is an optimization to make supportedCodepoint() fast. + */ + +var allBlocks = []; +scriptData.forEach(function (s) { + return s.blocks.forEach(function (b) { + return allBlocks.push.apply(allBlocks, b); + }); +}); +/** + * Given a codepoint, return true if it falls within one of the + * scripts or script families defined above and false otherwise. + * + * Micro benchmarks shows that this is faster than + * /[\u3000-\u30FF\u4E00-\u9FAF\uFF00-\uFF60\uAC00-\uD7AF\u0900-\u109F]/.test() + * in Firefox, Chrome and Node. + */ + +function supportedCodepoint(codepoint) { + for (var i = 0; i < allBlocks.length; i += 2) { + if (codepoint >= allBlocks[i] && codepoint <= allBlocks[i + 1]) { + return true; + } + } + + return false; +} +// CONCATENATED MODULE: ./src/svgGeometry.js +/** + * This file provides support to domTree.js and delimiter.js. + * It's a storehouse of path geometry for SVG images. + */ +// In all paths below, the viewBox-to-em scale is 1000:1. +var hLinePad = 80; // padding above a sqrt viniculum. Prevents image cropping. +// The viniculum of a \sqrt can be made thicker by a KaTeX rendering option. +// Think of variable extraViniculum as two detours in the SVG path. +// The detour begins at the lower left of the area labeled extraViniculum below. +// The detour proceeds one extraViniculum distance up and slightly to the right, +// displacing the radiused corner between surd and viniculum. The radius is +// traversed as usual, then the detour resumes. It goes right, to the end of +// the very long viniculumn, then down one extraViniculum distance, +// after which it resumes regular path geometry for the radical. + +/* viniculum + / + /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraViniculum + / █████████████████████←0.04em (40 unit) std viniculum thickness + / / + / / + / /\ + / / surd +*/ + +var sqrtMain = function sqrtMain(extraViniculum, hLinePad) { + // sqrtMain path geometry is from glyph U221A in the font KaTeX Main + return "M95," + (622 + extraViniculum + hLinePad) + "\nc-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14\nc0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54\nc44.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\ns173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429\nc69,-144,104.5,-217.7,106.5,-221\nl" + extraViniculum / 2.075 + " -" + extraViniculum + "\nc5.3,-9.3,12,-14,20,-14\nH400000v" + (40 + extraViniculum) + "H845.2724\ns-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7\nc-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z\nM" + (834 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize1 = function sqrtSize1(extraViniculum, hLinePad) { + // size1 is from glyph U221A in the font KaTeX_Size1-Regular + return "M263," + (601 + extraViniculum + hLinePad) + "c0.7,0,18,39.7,52,119\nc34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120\nc340,-704.7,510.7,-1060.3,512,-1067\nl" + extraViniculum / 2.084 + " -" + extraViniculum + "\nc4.7,-7.3,11,-11,19,-11\nH40000v" + (40 + extraViniculum) + "H1012.3\ns-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232\nc-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1\ns-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26\nc-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize2 = function sqrtSize2(extraViniculum, hLinePad) { + // size2 is from glyph U221A in the font KaTeX_Size2-Regular + return "M983 " + (10 + extraViniculum + hLinePad) + "\nl" + extraViniculum / 3.13 + " -" + extraViniculum + "\nc4,-6.7,10,-10,18,-10 H400000v" + (40 + extraViniculum) + "\nH1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7\ns-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744\nc-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30\nc26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722\nc56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5\nc53.7,-170.3,84.5,-266.8,92.5,-289.5z\nM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize3 = function sqrtSize3(extraViniculum, hLinePad) { + // size3 is from glyph U221A in the font KaTeX_Size3-Regular + return "M424," + (2398 + extraViniculum + hLinePad) + "\nc-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514\nc0,-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\ns-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121\ns209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081\nl" + extraViniculum / 4.223 + " -" + extraViniculum + "c4,-6.7,10,-10,18,-10 H400000\nv" + (40 + extraViniculum) + "H1014.6\ns-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185\nc-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2z M" + (1001 + extraViniculum) + " " + hLinePad + "\nh400000v" + (40 + extraViniculum) + "h-400000z"; +}; + +var sqrtSize4 = function sqrtSize4(extraViniculum, hLinePad) { + // size4 is from glyph U221A in the font KaTeX_Size4-Regular + return "M473," + (2713 + extraViniculum + hLinePad) + "\nc339.3,-1799.3,509.3,-2700,510,-2702 l" + extraViniculum / 5.298 + " -" + extraViniculum + "\nc3.3,-7.3,9.3,-11,18,-11 H400000v" + (40 + extraViniculum) + "H1017.7\ns-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9\nc-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200\nc0,-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\ns76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104,\n606zM" + (1001 + extraViniculum) + " " + hLinePad + "h400000v" + (40 + extraViniculum) + "H1017.7z"; +}; + +var sqrtTall = function sqrtTall(extraViniculum, hLinePad, viewBoxHeight) { + // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular + // One path edge has a variable length. It runs vertically from the viniculumn + // to a point near (14 units) the bottom of the surd. The viniculum + // is normally 40 units thick. So the length of the line in question is: + var vertSegment = viewBoxHeight - 54 - hLinePad - extraViniculum; + return "M702 " + (extraViniculum + hLinePad) + "H400000" + (40 + extraViniculum) + "\nH742v" + vertSegment + "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\nh-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170\nc-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667\n219 661 l218 661zM702 " + hLinePad + "H400000v" + (40 + extraViniculum) + "H742z"; +}; + +var sqrtPath = function sqrtPath(size, extraViniculum, viewBoxHeight) { + extraViniculum = 1000 * extraViniculum; // Convert from document ems to viewBox. + + var path = ""; + + switch (size) { + case "sqrtMain": + path = sqrtMain(extraViniculum, hLinePad); + break; + + case "sqrtSize1": + path = sqrtSize1(extraViniculum, hLinePad); + break; + + case "sqrtSize2": + path = sqrtSize2(extraViniculum, hLinePad); + break; + + case "sqrtSize3": + path = sqrtSize3(extraViniculum, hLinePad); + break; + + case "sqrtSize4": + path = sqrtSize4(extraViniculum, hLinePad); + break; + + case "sqrtTall": + path = sqrtTall(extraViniculum, hLinePad, viewBoxHeight); + } + + return path; +}; +var svgGeometry_path = { + // The doubleleftarrow geometry is from glyph U+21D0 in the font KaTeX Main + doubleleftarrow: "M262 157\nl10-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\n 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\n 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\nc2 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\n 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\n-86-123l-10-10h399738v-40H218c328 0 0 0 0 0l-10-8c-26.7-20-65.7-43-117-69 2.7\n-2 6-3.7 10-5 36.7-16 72.3-37.3 107-64l10-8h399782v-40z\nm8 0v40h399730v-40zm0 194v40h399730v-40z", + // doublerightarrow is from glyph U+21D2 in font KaTeX Main + doublerightarrow: "M399738 392l\n-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\n 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\n-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\n-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\n-13h-6c-12 .7-18 4-18 10 0 2 1.7 7 5 15 23.3 46 52 87 86 123l10 10H0v40h399782\nc-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\n-107 64l-10 8H0v40zM0 157v40h399730v-40zm0 194v40h399730v-40z", + // leftarrow is from glyph U+2190 in font KaTeX Main + leftarrow: "M400000 241H110l3-3c68.7-52.7 113.7-120\n 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\n-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\nc-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\n 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\n 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\n l-3-3h399890zM100 241v40h399900v-40z", + // overbrace is from glyphs U+23A9/23A8/23A7 in font KaTeX_Size4-Regular + leftbrace: "M6 548l-6-6v-35l6-11c56-104 135.3-181.3 238-232 57.3-28.7 117\n-45 179-50h399577v120H403c-43.3 7-81 15-113 26-100.7 33-179.7 91-237 174-2.7\n 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\n 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\n 0 2 .3 4 1 18.688 2.7 76 4.3 172 5h399450v120H429l-6-1c-124.688-8-235-61.7\n-331-161C60.687 138.7 32.312 99.3 7 54L0 41V6z", + // overgroup is from the MnSymbol package (public domain) + leftgroup: "M400000 80\nH435C64 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\n 435 0h399565z", + leftgroupunder: "M400000 262\nH435C64 262 168.3 112.6 21 82c-5.9-1.2-18 0-18 0-2 0-3 1-3 3v38c76 158 257 219\n 435 219h399565z", + // Harpoons are from glyph U+21BD in font KaTeX Main + leftharpoon: "M0 267c.7 5.3 3 10 7 14h399993v-40H93c3.3\n-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\n-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\n-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\n 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\n-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\n-10.7 8-12 10-1.3 2-2 5.7-2 11zm100-26v40h399900v-40zM0 435v40h400000v-40z\nm0 0v40h400000v-40z", + leftharpoondown: "M7 241c-4 4-6.333 8.667-7 14 0 5.333.667 9 2 11s5.333\n 5.333 12 10c90.667 54 156 130 196 228 3.333 10.667 6.333 16.333 9 17 2 .667 5\n 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\n-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\n 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\n-2 18-6 2-2.7 1-9.7-3-21-32-87.3-82.7-157.7-152-211l-3-3h399907v-40H7zm93 0\nv40h399900v-40zM0 241v40h399900v-40zm0 0v40h399900v-40z", + // hook is from glyph U+21A9 in font KaTeX Main + lefthook: "M400000 281 H103s-33-11.2-61-33.5S0 197.3 0 164s14.2-61.2 42.5\n-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\n-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\n 71.5 23h399859zM103 281v-40h399897v40z", + leftlinesegment: "M40 281 V428 H0 V94 H40 V241 H400000 v40z\nM40 281 V428 H0 V94 H40 V241 H400000 v40z", + leftmapsto: "M40 281 V448H0V74H40V241H400000v40z\nM40 281 V448H0V74H40V241H400000v40z", + // tofrom is from glyph U+21C4 in font KaTeX AMS Regular + leftToFrom: "M0 147h400000v40H0zm0 214c68 40 115.7 95.7 143 167h22c15.3 0 23\n-.3 23-1 0-1.3-5.3-13.7-16-37-18-35.3-41.3-69-70-101l-7-8h399905v-40H95l7-8\nc28.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\n 68 321 0 361zm0-174v-40h399900v40zm100 154v40h399900v-40z", + longequal: "M0 50 h400000 v40H0z m0 194h40000v40H0z\nM0 50 h400000 v40H0z m0 194h40000v40H0z", + midbrace: "M200428 334\nc-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\n-53.3 86.7-123.7 153-211 199-66.7 36-137.3 56.3-212 62H0V214h199568c178.3-11.7\n 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\n 12 44.7 59.3 101.3 106.3 170 141s145.3 54.3 229 60h199572v120z", + midbraceunder: "M199572 214\nc100.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\n 53.3-86.7 123.7-153 211-199 66.7-36 137.3-56.3 212-62h199568v120H200432c-178.3\n 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\n-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\n-320.3 177.6S193.1 320.6 193.1 249.8c0-71.4 46.9-178.2 319.5-178.2z\nm368.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\n60.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\n-451.1 228.8-386.3 0-452.7-137.5-452.7-228.8 0-92.4 66.4-230 452.7-230z\nm502.4 230c0-111.2-82.4-277.2-502.4-277.2s-504 166-504 277.2\nc0 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\n-480.5 177.6S202.1 320.6 202.1 249.8c0-71.4 70.5-178.2 479.3-178.2z\nm525.8 178.2c0-86.4-86.8-215.4-525.7-215.4-437.9 0-524.7 129-524.7 215.4 0\n85.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\n-707.8 275.8-606 0-710.2-165.8-710.2-275.8C311 218.8 415.2 53 1021.2 53z\nm770.4 277.1c0-131.2-126.4-327.6-770.5-327.6S248.4 198.9 248.4 330.1\nc0 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\n-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\n 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\n 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\n-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\n-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\n 151.7 139 205zm0 0v40h399900v-40z", + rightbrace: "M400000 542l\n-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\ns-117.2-55.8-184.5-66.5c-.7 0-2-.3-4-1-18.7-2.7-76-4.3-172-5H0V214h399571l6 1\nc124.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\n 28.7-117 45-179 50H-300V214h399897c43.3-7 81-15 113-26 100.7-33 179.7-91 237\n-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\n 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\n 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\n-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\n-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\n 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\n-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\n 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\nm0 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\n 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\n-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\n-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\n 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\n 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\n-64.7 57-92 95-27.3 38-48.7 77.7-64 119-3.3 8.7-5 14-5 16zM0 435v40h399900v-40z\nm0-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\n 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\n-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\n 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\nM399960 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\n 1 0 1.3 5.3 13.7 16 37 18 35.3 41.3 69 70 101l7 8H0v40h399905l-7 8c-28.7 32\n-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\n-167z M100 147v40h399900v-40zM0 341v40h399900v-40z", + // twoheadleftarrow is from glyph U+219E in font KaTeX AMS Regular + twoheadleftarrow: "M0 167c68 40\n 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\n-70-101l-7-8h125l9 7c50.7 39.3 85 86 103 140h46c0-4.7-6.3-18.7-19-42-18-35.3\n-40-67.3-66-96l-9-9h399716v-40H284l9-9c26-28.7 48-60.7 66-96 12.7-23.333 19\n-37.333 19-42h-46c-18 54-52.3 100.7-103 140l-9 7H95l7-8c28.7-32 52-65.7 70-101\n 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\nc-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\n 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\n 18 35.3 40 67.3 66 96l9 9H0v40h399716l-9 9c-26 28.7-48 60.7-66 96-12.7 23.333\n-19 37.333-19 42h46c18-54 52.3-100.7 103-140l9-7h125l-7 8c-28.7 32-52 65.7-70\n 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 is a modified version of a glyph from the MnSymbol package + tilde1: "M200 55.538c-77 0-168 73.953-177 73.953-3 0-7\n-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\n 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\n 4.35-2 7.613-5 9.788l-19 13.05c-92 63.077-116.937 75.308-183 76.128\n-68.267.847-113-73.952-191-73.952z", + // ditto tilde2, tilde3, & tilde4 + tilde2: "M344 55.266c-142 0-300.638 81.316-311.5 86.418\n-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\n 31.9 283 0 358 0c148 0 188 122 331 122s314-97 326-97c4 0 8 2 10 7l7 21.114\nc1 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\n 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\n-11-10.37L.15 138c-1-7 3-12 10-13l19.2-6.4C378.4 40.7 634.3 0 804.3 0c337 0\n 411.8 157 746.8 157 328 0 754-112 773-112 5 0 10 3 11 9l1 14.075c1 8.066-.697\n 16.595-6.697 17.492l-21.052 7.31c-367.9 98.146-609.15 122.696-778.15 122.696\n -338 0-409-156.573-744-156.573z", + tilde4: "M786 58C457 58 32 177.487 13 177.487c-6 0-10-3.345\n-11-10.035L.15 143c-1-7 3-12 10-13l22-6.7C381.2 35 637.15 0 807.15 0c337 0 409\n 177 744 177 328 0 754-127 773-127 5 0 10 3 11 9l1 14.794c1 7.805-3 13.38-9\n 14.495l-20.7 5.574c-366.85 99.79-607.3 139.372-776.3 139.372-338 0-409\n -175.236-744-175.236z", + // vec is from glyph U+20D7 in font KaTeX Main + vec: "M377 20c0-5.333 1.833-10 5.5-14S391 0 397 0c4.667 0 8.667 1.667 12 5\n3.333 2.667 6.667 9 10 19 6.667 24.667 20.333 43.667 41 57 7.333 4.667 11\n10.667 11 18 0 6-1 10-3 12s-6.667 5-14 9c-28.667 14.667-53.667 35.667-75 63\n-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\n-7 1c-4.667 0-9.167-1.833-13.5-5.5S337 184 337 178c0-12.667 15.667-32.333 47-59\nH213l-171-1c-8.667-6-13-12.333-13-19 0-4.667 4.333-11.333 13-20h359\nc-16-25.333-24-45-24-59z", + // widehat1 is a modified version of a glyph from the MnSymbol package + widehat1: "M529 0h5l519 115c5 1 9 5 9 10 0 1-1 2-1 3l-4 22\nc-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", + // ditto widehat2, widehat3, & widehat4 + widehat2: "M1181 0h2l1171 176c6 0 10 5 10 11l-2 23c-1 6-5 10\n-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\n-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\n-11 10h-1L1182 67 15 340h-1c-6 0-10-4-11-10l-2-23c-1-6 4-11 10-11z", + // widecheck paths are all inverted versions of widehat + widecheck1: "M529,159h5l519,-115c5,-1,9,-5,9,-10c0,-1,-1,-2,-1,-3l-4,-22c-1,\n-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,\n-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,\n-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,\n-11,-10h-1l-1168,273l-1167,-273h-1c-6,0,-10,4,-11,10l-2,23c-1,6,4,11,10,11z", + // The next ten paths support reaction arrows from the mhchem package. + // Arrows for \ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX + // baraboveleftarrow is mostly from from glyph U+2190 in font KaTeX Main + baraboveleftarrow: "M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202\nc4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5\nc-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\ns-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\n121.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\ns2.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\nc0 -2 -2 -10.3 -6 -25c-20 -79.3 -65 -146.7 -135 -202l-3 -3h399890z\nM100 620v40h399900v-40z M0 241v40h399900v-40zM0 241v40h399900v-40z", + // rightarrowabovebar is mostly from glyph U+2192, KaTeX Main + rightarrowabovebar: "M0 241v40h399891c-47.3 35.3-84 78-110 128-16.7 32\n-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\n13.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\n-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\n-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\n-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\n151.7 139 205zm96 379h399894v40H0zm0 0h399904v40H0z", + // The short left harpoon has 0.5em (i.e. 500 units) kern on the left end. + // Ref from mhchem.sty: \rlap{\raisebox{-.22ex}{$\kern0.5em + baraboveshortleftharpoon: "M507,435c-4,4,-6.3,8.7,-7,14c0,5.3,0.7,9,2,11\nc1.3,2,5.3,5.3,12,10c90.7,54,156,130,196,228c3.3,10.7,6.3,16.3,9,17\nc2,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\nc-32,-87.3,-82.7,-157.7,-152,-211c0,0,-3,-3,-3,-3l399351,0l0,-40\nc-398570,0,-399437,0,-399437,0z M593 435 v40 H399500 v-40z\nM0 281 v-40 H399908 v40z M0 281 v-40 H399908 v40z", + rightharpoonaboveshortbar: "M0,241 l0,40c399126,0,399993,0,399993,0\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM0 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\nc1.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,\n1c0,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,\n-152,-211c0,0,-3,-3,-3,-3l399907,0l0,-40c-399126,0,-399993,0,-399993,0z\nM93 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\nc4.7,-4.7,7,-9.3,7,-14c0,-9.3,-3.7,-15.3,-11,-18c-92.7,-56.7,-159,-133.7,-199,\n-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\nc-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\nM500 241 v40 H399408 v-40z M500 435 v40 H400000 v-40z" +}; +// CONCATENATED MODULE: ./src/tree.js + + +/** + * This node represents a document fragment, which contains elements, but when + * placed into the DOM doesn't have any representation itself. It only contains + * children and doesn't have any DOM node properties. + */ +var tree_DocumentFragment = +/*#__PURE__*/ +function () { + // HtmlDomNode + // Never used; needed for satisfying interface. + function DocumentFragment(children) { + 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 = children; + this.classes = []; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = {}; + } + + var _proto = DocumentFragment.prototype; + + _proto.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + } + /** Convert the fragment into a node. */ + ; + + _proto.toNode = function toNode() { + var frag = document.createDocumentFragment(); + + for (var i = 0; i < this.children.length; i++) { + frag.appendChild(this.children[i].toNode()); + } + + return frag; + } + /** Convert the fragment into HTML markup. */ + ; + + _proto.toMarkup = function toMarkup() { + var markup = ""; // Simply concatenate the markup for the children together. + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + return markup; + } + /** + * Converts the math node into a string, similar to innerText. Applies to + * MathDomNode's only. + */ + ; + + _proto.toText = function toText() { + // To avoid this, we would subclass documentFragment separately for + // MathML, but polyfills for subclassing is expensive per PR 1469. + // $FlowFixMe: Only works for ChildType = MathDomNode. + var toText = function toText(child) { + return child.toText(); + }; + + return this.children.map(toText).join(""); + }; + + return DocumentFragment; +}(); +// CONCATENATED MODULE: ./src/domTree.js +/** + * These objects store the data about the DOM nodes we create, as well as some + * extra data. They can then be transformed into real DOM nodes with the + * `toNode` function or HTML markup using `toMarkup`. They are useful for both + * storing extra properties on the nodes, as well as providing a way to easily + * work with the DOM. + * + * Similar functions for working with MathML nodes exist in mathMLTree.js. + * + * TODO: refactor `span` and `anchor` into common superclass when + * target environments support class inheritance + */ + + + + + +/** + * Create an HTML className based on a list of classes. In addition to joining + * with spaces, we also remove empty classes. + */ +var createClass = function createClass(classes) { + return classes.filter(function (cls) { + return cls; + }).join(" "); +}; + +var initNode = function initNode(classes, options, style) { + this.classes = classes || []; + this.attributes = {}; + this.height = 0; + this.depth = 0; + this.maxFontSize = 0; + this.style = style || {}; + + if (options) { + if (options.style.isTight()) { + this.classes.push("mtight"); + } + + var color = options.getColor(); + + if (color) { + this.style.color = color; + } + } +}; +/** + * Convert into an HTML node + */ + + +var _toNode = function toNode(tagName) { + var node = document.createElement(tagName); // Apply the class + + node.className = createClass(this.classes); // Apply inline styles + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe Flow doesn't seem to understand span.style's type. + node.style[style] = this.style[style]; + } + } // Apply attributes + + + for (var attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } // Append the children, also as HTML nodes + + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; +}; +/** + * Convert into an HTML markup string + */ + + +var _toMarkup = function toMarkup(tagName) { + var markup = "<" + tagName; // Add the class + + if (this.classes.length) { + markup += " class=\"" + utils.escape(createClass(this.classes)) + "\""; + } + + var styles = ""; // Add the styles, after hyphenation + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + markup += " style=\"" + utils.escape(styles) + "\""; + } // Add the attributes + + + for (var attr in this.attributes) { + if (this.attributes.hasOwnProperty(attr)) { + markup += " " + attr + "=\"" + utils.escape(this.attributes[attr]) + "\""; + } + } + + markup += ">"; // Add the markup of the children, also as markup + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. +// This type does not include all CSS properties. Additional properties should +// be added as needed. + + +/** + * This node represents a span node, with a className, a list of children, and + * an inline style. It also contains information about its height, depth, and + * maxFontSize. + * + * Represents two types with different uses: SvgSpan to wrap an SVG and DomSpan + * otherwise. This typesafety is important when HTML builders access a span's + * children. + */ +var domTree_Span = +/*#__PURE__*/ +function () { + function Span(classes, children, options, style) { + 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; + initNode.call(this, classes, options, style); + this.children = children || []; + } + /** + * Sets an arbitrary attribute on the span. Warning: use this wisely. Not + * all browsers support attributes the same, and having too many custom + * attributes is probably bad. + */ + + + var _proto = Span.prototype; + + _proto.setAttribute = function setAttribute(attribute, value) { + this.attributes[attribute] = value; + }; + + _proto.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto.toNode = function toNode() { + return _toNode.call(this, "span"); + }; + + _proto.toMarkup = function toMarkup() { + return _toMarkup.call(this, "span"); + }; + + return Span; +}(); +/** + * This node represents an anchor () element with a hyperlink. See `span` + * for further details. + */ + +var domTree_Anchor = +/*#__PURE__*/ +function () { + function Anchor(href, classes, children, options) { + 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; + initNode.call(this, classes, options); + this.children = children || []; + this.setAttribute('href', href); + } + + var _proto2 = Anchor.prototype; + + _proto2.setAttribute = function setAttribute(attribute, value) { + this.attributes[attribute] = value; + }; + + _proto2.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto2.toNode = function toNode() { + return _toNode.call(this, "a"); + }; + + _proto2.toMarkup = function toMarkup() { + return _toMarkup.call(this, "a"); + }; + + return Anchor; +}(); +/** + * This node represents an image embed () element. + */ + +var domTree_Img = +/*#__PURE__*/ +function () { + function Img(src, alt, style) { + 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 = alt; + this.src = src; + this.classes = ["mord"]; + this.style = style; + } + + var _proto3 = Img.prototype; + + _proto3.hasClass = function hasClass(className) { + return utils.contains(this.classes, className); + }; + + _proto3.toNode = function toNode() { + var node = document.createElement("img"); + node.src = this.src; + node.alt = this.alt; + node.className = "mord"; // Apply inline styles + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + // $FlowFixMe + node.style[style] = this.style[style]; + } + } + + return node; + }; + + _proto3.toMarkup = function toMarkup() { + var markup = "" + this.alt + " 0) { + span = document.createElement("span"); + span.style.marginRight = this.italic + "em"; + } + + if (this.classes.length > 0) { + span = span || document.createElement("span"); + span.className = createClass(this.classes); + } + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + span = span || document.createElement("span"); // $FlowFixMe Flow doesn't seem to understand span.style's type. + + span.style[style] = this.style[style]; + } + } + + if (span) { + span.appendChild(node); + return span; + } else { + return node; + } + } + /** + * Creates markup for a symbol node. + */ + ; + + _proto4.toMarkup = function toMarkup() { + // TODO(alpert): More duplication than I'd like from + // span.prototype.toMarkup and symbolNode.prototype.toNode... + var needsSpan = false; + var markup = " 0) { + styles += "margin-right:" + this.italic + "em;"; + } + + for (var style in this.style) { + if (this.style.hasOwnProperty(style)) { + styles += utils.hyphenate(style) + ":" + this.style[style] + ";"; + } + } + + if (styles) { + needsSpan = true; + markup += " style=\"" + utils.escape(styles) + "\""; + } + + var escaped = utils.escape(this.text); + + if (needsSpan) { + markup += ">"; + markup += escaped; + markup += ""; + return markup; + } else { + return escaped; + } + }; + + return SymbolNode; +}(); +/** + * SVG nodes are used to render stretchy wide elements. + */ + +var SvgNode = +/*#__PURE__*/ +function () { + function SvgNode(children, attributes) { + this.children = void 0; + this.attributes = void 0; + this.children = children || []; + this.attributes = attributes || {}; + } + + var _proto5 = SvgNode.prototype; + + _proto5.toNode = function toNode() { + var svgNS = "http://www.w3.org/2000/svg"; + var node = document.createElementNS(svgNS, "svg"); // Apply attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + }; + + _proto5.toMarkup = function toMarkup() { + var markup = ""; + } else { + return ""; + } + }; + + return PathNode; +}(); +var LineNode = +/*#__PURE__*/ +function () { + function LineNode(attributes) { + this.attributes = void 0; + this.attributes = attributes || {}; + } + + var _proto7 = LineNode.prototype; + + _proto7.toNode = function toNode() { + var svgNS = "http://www.w3.org/2000/svg"; + var node = document.createElementNS(svgNS, "line"); // Apply attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + return node; + }; + + _proto7.toMarkup = function toMarkup() { + var markup = " but got " + String(group) + "."); + } +} +// CONCATENATED MODULE: ./submodules/katex-fonts/fontMetricsData.js +// This file is GENERATED by buildMetrics.sh. DO NOT MODIFY. +/* harmony default export */ var fontMetricsData = ({ + "AMS-Regular": { + "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.0], + "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], + "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.0], + "8603": [-0.13313, 0.36687, 0, 0, 1.0], + "8606": [0.01354, 0.52239, 0, 0, 1.0], + "8608": [0.01354, 0.52239, 0, 0, 1.0], + "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.0], + "8620": [0, 0.54986, 0, 0, 1.0], + "8621": [-0.13313, 0.37788, 0, 0, 1.38889], + "8622": [-0.13313, 0.36687, 0, 0, 1.0], + "8624": [0, 0.69224, 0, 0, 0.5], + "8625": [0, 0.69224, 0, 0, 0.5], + "8630": [0, 0.43056, 0, 0, 1.0], + "8631": [0, 0.43056, 0, 0, 1.0], + "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.0], + "8646": [0.1808, 0.675, 0, 0, 1.0], + "8647": [0.1808, 0.675, 0, 0, 1.0], + "8648": [0.19444, 0.69224, 0, 0, 0.83334], + "8649": [0.1808, 0.675, 0, 0, 1.0], + "8650": [0.19444, 0.69224, 0, 0, 0.83334], + "8651": [0.01354, 0.52239, 0, 0, 1.0], + "8652": [0.01354, 0.52239, 0, 0, 1.0], + "8653": [-0.13313, 0.36687, 0, 0, 1.0], + "8654": [-0.13313, 0.36687, 0, 0, 1.0], + "8655": [-0.13313, 0.36687, 0, 0, 1.0], + "8666": [0.13667, 0.63667, 0, 0, 1.0], + "8667": [0.13667, 0.63667, 0, 0, 1.0], + "8669": [-0.13313, 0.37788, 0, 0, 1.0], + "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": { + "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.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] + }, + "Fraktur-Regular": { + "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], + "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": { + "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], + "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], + "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": { + "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], + "163": [0, 0.69444, 0, 0, 0.86853], + "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": { + "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], + "163": [0, 0.69444, 0, 0, 0.76909], + "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], + "305": [0, 0.43056, 0, 0.02778, 0.32246], + "338": [0, 0.68333, 0.12028, 0, 0.98499], + "339": [0, 0.43056, 0.07514, 0, 0.71555], + "567": [0.19444, 0.43056, 0, 0.08334, 0.38403], + "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], + "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.0], + "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.12, 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.0], + "8593": [0.19444, 0.69444, 0, 0, 0.5], + "8594": [-0.13313, 0.36687, 0, 0, 1.0], + "8595": [0.19444, 0.69444, 0, 0, 0.5], + "8596": [-0.13313, 0.36687, 0, 0, 1.0], + "8597": [0.25, 0.75, 0, 0, 0.5], + "8598": [0.19444, 0.69444, 0, 0, 1.0], + "8599": [0.19444, 0.69444, 0, 0, 1.0], + "8600": [0.19444, 0.69444, 0, 0, 1.0], + "8601": [0.19444, 0.69444, 0, 0, 1.0], + "8614": [0.011, 0.511, 0, 0, 1.0], + "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.0], + "8637": [-0.13313, 0.36687, 0, 0, 1.0], + "8640": [-0.13313, 0.36687, 0, 0, 1.0], + "8641": [-0.13313, 0.36687, 0, 0, 1.0], + "8652": [0.011, 0.671, 0, 0, 1.0], + "8656": [-0.13313, 0.36687, 0, 0, 1.0], + "8657": [0.19444, 0.69444, 0, 0, 0.61111], + "8658": [-0.13313, 0.36687, 0, 0, 1.0], + "8659": [0.19444, 0.69444, 0, 0, 0.61111], + "8660": [-0.13313, 0.36687, 0, 0, 1.0], + "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.0], + "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, 1.0], + "8776": [-0.01688, 0.48312, 0, 0, 0.77778], + "8781": [-0.03625, 0.46375, 0, 0, 0.77778], + "8784": [-0.133, 0.67, 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.0], + "8811": [0.0391, 0.5391, 0, 0, 1.0], + "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.9, 0, 0, 0.278], + "8943": [-0.19, 0.31, 0, 0, 1.172], + "8945": [-0.1, 0.82, 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.0], + "8995": [-0.14236, 0.35764, 0, 0, 1.0], + "9136": [0.244, 0.744, 0, 0, 0.412], + "9137": [0.244, 0.744, 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.0], + "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.744, 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": { + "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], + "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] + }, + "Math-Italic": { + "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], + "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] + }, + "Math-Regular": { + "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], + "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] + }, + "SansSerif-Bold": { + "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], + "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": { + "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], + "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.0], + "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": { + "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], + "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.0], + "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": { + "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] + }, + "Size1-Regular": { + "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], + "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": [-0.00099, 0.601, 0, 0, 0.77778], + "8593": [1e-05, 0.6, 0, 0, 0.66667], + "8595": [1e-05, 0.6, 0, 0, 0.66667], + "8657": [1e-05, 0.6, 0, 0, 0.77778], + "8659": [1e-05, 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.0], + "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": [-0.00099, 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": { + "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], + "710": [0, 0.75, 0, 0, 1.0], + "732": [0, 0.75, 0, 0, 1.0], + "770": [0, 0.75, 0, 0, 1.0], + "771": [0, 0.75, 0, 0, 1.0], + "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.0], + "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": { + "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], + "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.0], + "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": { + "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], + "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.0], + "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-05, 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-05, 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": [-0.00099, 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": [-0.00099, 0.601, 0, 0, 0.66667], + "9126": [0.64502, 1.155, 0, 0, 0.66667], + "9127": [1e-05, 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-05, 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] + } +}); +// CONCATENATED MODULE: ./src/fontMetrics.js + + +/** + * This file contains metrics regarding fonts and individual symbols. The sigma + * and xi variables, as well as the metricMap map contain data extracted from + * TeX, TeX font metrics, and the TTF files. These data are then exposed via the + * `metrics` variable and the getCharacterMetrics function. + */ +// In TeX, there are actually three sets of dimensions, one for each of +// textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4: +// 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are +// provided in the the arrays below, in that order. +// +// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respsectively. +// This was determined by running the following script: +// +// latex -interaction=nonstopmode \ +// '\documentclass{article}\usepackage{amsmath}\begin{document}' \ +// '$a$ \expandafter\show\the\textfont2' \ +// '\expandafter\show\the\scriptfont2' \ +// '\expandafter\show\the\scriptscriptfont2' \ +// '\stop' +// +// The metrics themselves were retreived using the following commands: +// +// tftopl cmsy10 +// tftopl cmsy7 +// tftopl cmsy5 +// +// The output of each of these commands is quite lengthy. The only part we +// care about is the FONTDIMEN section. Each value is measured in EMs. +var sigmasAndXis = { + slant: [0.250, 0.250, 0.250], + // sigma1 + space: [0.000, 0.000, 0.000], + // sigma2 + stretch: [0.000, 0.000, 0.000], + // sigma3 + shrink: [0.000, 0.000, 0.000], + // sigma4 + xHeight: [0.431, 0.431, 0.431], + // sigma5 + quad: [1.000, 1.171, 1.472], + // sigma6 + extraSpace: [0.000, 0.000, 0.000], + // sigma7 + num1: [0.677, 0.732, 0.925], + // sigma8 + num2: [0.394, 0.384, 0.387], + // sigma9 + num3: [0.444, 0.471, 0.504], + // sigma10 + denom1: [0.686, 0.752, 1.025], + // sigma11 + denom2: [0.345, 0.344, 0.532], + // sigma12 + sup1: [0.413, 0.503, 0.504], + // sigma13 + sup2: [0.363, 0.431, 0.404], + // sigma14 + sup3: [0.289, 0.286, 0.294], + // sigma15 + sub1: [0.150, 0.143, 0.200], + // sigma16 + sub2: [0.247, 0.286, 0.400], + // sigma17 + supDrop: [0.386, 0.353, 0.494], + // sigma18 + subDrop: [0.050, 0.071, 0.100], + // sigma19 + delim1: [2.390, 1.700, 1.980], + // sigma20 + delim2: [1.010, 1.157, 1.420], + // sigma21 + axisHeight: [0.250, 0.250, 0.250], + // sigma22 + // These font metrics are extracted from TeX by using tftopl on cmex10.tfm; + // they correspond to the font parameters of the extension fonts (family 3). + // See the TeXbook, page 441. In AMSTeX, the extension fonts scale; to + // match cmex7, we'd use cmex7.tfm values for script and scriptscript + // values. + defaultRuleThickness: [0.04, 0.049, 0.049], + // xi8; cmex7: 0.049 + bigOpSpacing1: [0.111, 0.111, 0.111], + // xi9 + bigOpSpacing2: [0.166, 0.166, 0.166], + // xi10 + bigOpSpacing3: [0.2, 0.2, 0.2], + // xi11 + bigOpSpacing4: [0.6, 0.611, 0.611], + // xi12; cmex7: 0.611 + bigOpSpacing5: [0.1, 0.143, 0.143], + // xi13; cmex7: 0.143 + // The \sqrt rule width is taken from the height of the surd character. + // Since we use the same font at all sizes, this thickness doesn't scale. + sqrtRuleThickness: [0.04, 0.04, 0.04], + // This value determines how large a pt is, for metrics which are defined + // in terms of pts. + // This value is also used in katex.less; if you change it make sure the + // values match. + ptPerEm: [10.0, 10.0, 10.0], + // The space between adjacent `|` columns in an array definition. From + // `\showthe\doublerulesep` in LaTeX. Equals 2.0 / ptPerEm. + doubleRuleSep: [0.2, 0.2, 0.2], + // The width of separator lines in {array} environments. From + // `\showthe\arrayrulewidth` in LaTeX. Equals 0.4 / ptPerEm. + arrayRuleWidth: [0.04, 0.04, 0.04], + // Two values from LaTeX source2e: + fboxsep: [0.3, 0.3, 0.3], + // 3 pt / ptPerEm + fboxrule: [0.04, 0.04, 0.04] // 0.4 pt / ptPerEm + +}; // This map contains a mapping from font name and character code to character +// metrics, including height, depth, italic correction, and skew (kern from the +// character to the corresponding \skewchar) +// This map is generated via `make metrics`. It should not be changed manually. + + // These are very rough approximations. We default to Times New Roman which +// should have Latin-1 and Cyrillic characters, but may not depending on the +// operating system. The metrics do not account for extra height from the +// accents. In the case of Cyrillic characters which have both ascenders and +// descenders we prefer approximations with ascenders, primarily to prevent +// the fraction bar or root line from intersecting the glyph. +// TODO(kevinb) allow union of multiple glyph metrics for better accuracy. + +var extraCharacterMap = { + // Latin-1 + 'Å': 'A', + 'Ç': 'C', + 'Ð': 'D', + 'Þ': 'o', + 'å': 'a', + 'ç': 'c', + 'ð': 'd', + 'þ': 'o', + // Cyrillic + 'А': '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' +}; + +/** + * This function adds new font metrics to default metricMap + * It can also override existing metrics + */ +function setFontMetrics(fontName, metrics) { + fontMetricsData[fontName] = metrics; +} +/** + * This function is a convenience function for looking up information in the + * metricMap table. It takes a character as a string, and a font. + * + * Note: the `width` property may be undefined if fontMetricsData.js wasn't + * built using `Make extended_metrics`. + */ + +function getCharacterMetrics(character, font, mode) { + if (!fontMetricsData[font]) { + throw new Error("Font metrics not found for font: " + font + "."); + } + + var ch = character.charCodeAt(0); + var metrics = fontMetricsData[font][ch]; + + if (!metrics && character[0] in extraCharacterMap) { + ch = extraCharacterMap[character[0]].charCodeAt(0); + metrics = fontMetricsData[font][ch]; + } + + if (!metrics && mode === 'text') { + // We don't typically have font metrics for Asian scripts. + // But since we support them in text mode, we need to return + // some sort of metrics. + // So if the character is in a script we support but we + // don't have metrics for it, just use the metrics for + // the Latin capital letter M. This is close enough because + // we (currently) only care about the height of the glpyh + // not its width. + if (supportedCodepoint(ch)) { + metrics = fontMetricsData[font][77]; // 77 is the charcode for 'M' + } + } + + if (metrics) { + return { + depth: metrics[0], + height: metrics[1], + italic: metrics[2], + skew: metrics[3], + width: metrics[4] + }; + } +} +var fontMetricsBySizeIndex = {}; +/** + * Get the font metrics for a given size. + */ + +function getGlobalMetrics(size) { + var sizeIndex; + + if (size >= 5) { + sizeIndex = 0; + } else if (size >= 3) { + sizeIndex = 1; + } else { + sizeIndex = 2; + } + + if (!fontMetricsBySizeIndex[sizeIndex]) { + var metrics = fontMetricsBySizeIndex[sizeIndex] = { + cssEmPerMu: sigmasAndXis.quad[sizeIndex] / 18 + }; + + for (var key in sigmasAndXis) { + if (sigmasAndXis.hasOwnProperty(key)) { + metrics[key] = sigmasAndXis[key][sizeIndex]; + } + } + } + + return fontMetricsBySizeIndex[sizeIndex]; +} +// CONCATENATED MODULE: ./src/symbols.js +/** + * This file holds a list of all no-argument functions and single-character + * symbols (like 'a' or ';'). + * + * For each of the symbols, there are three properties they can have: + * - font (required): the font to be used for this symbol. Either "main" (the + normal font), or "ams" (the ams fonts). + * - group (required): the ParseNode group type the symbol should have (i.e. + "textord", "mathord", etc). + See https://github.com/KaTeX/KaTeX/wiki/Examining-TeX#group-types + * - replace: the character that this symbol or function should be + * replaced with (i.e. "\phi" has a replace value of "\u03d5", the phi + * character in the main font). + * + * The outermost map in the table indicates what mode the symbols should be + * accepted in (e.g. "math" or "text"). + */ +// Some of these have a "-token" suffix since these are also used as `ParseNode` +// types for raw text tokens, and we want to avoid conflicts with higher-level +// `ParseNode` types. These `ParseNode`s are constructed within `Parser` by +// looking up the `symbols` map. +var ATOMS = { + "bin": 1, + "close": 1, + "inner": 1, + "open": 1, + "punct": 1, + "rel": 1 +}; +var NON_ATOMS = { + "accent-token": 1, + "mathord": 1, + "op-token": 1, + "spacing": 1, + "textord": 1 +}; +var symbols = { + "math": {}, + "text": {} +}; +/* harmony default export */ var src_symbols = (symbols); +/** `acceptUnicodeChar = true` is only applicable if `replace` is set. */ + +function defineSymbol(mode, font, group, replace, name, acceptUnicodeChar) { + symbols[mode][name] = { + font: font, + group: group, + replace: replace + }; + + if (acceptUnicodeChar && replace) { + symbols[mode][replace] = symbols[mode][name]; + } +} // Some abbreviations for commonly used strings. +// This helps minify the code, and also spotting typos using jshint. +// modes: + +var symbols_math = "math"; +var symbols_text = "text"; // fonts: + +var main = "main"; +var ams = "ams"; // groups: + +var symbols_accent = "accent-token"; +var bin = "bin"; +var symbols_close = "close"; +var symbols_inner = "inner"; +var mathord = "mathord"; +var op = "op-token"; +var symbols_open = "open"; +var punct = "punct"; +var rel = "rel"; +var symbols_spacing = "spacing"; +var symbols_textord = "textord"; // Now comes the symbol table +// Relation Symbols + +defineSymbol(symbols_math, main, rel, "\u2261", "\\equiv", true); +defineSymbol(symbols_math, main, rel, "\u227A", "\\prec", true); +defineSymbol(symbols_math, main, rel, "\u227B", "\\succ", true); +defineSymbol(symbols_math, main, rel, "\u223C", "\\sim", true); +defineSymbol(symbols_math, main, rel, "\u22A5", "\\perp"); +defineSymbol(symbols_math, main, rel, "\u2AAF", "\\preceq", true); +defineSymbol(symbols_math, main, rel, "\u2AB0", "\\succeq", true); +defineSymbol(symbols_math, main, rel, "\u2243", "\\simeq", true); +defineSymbol(symbols_math, main, rel, "\u2223", "\\mid", true); +defineSymbol(symbols_math, main, rel, "\u226A", "\\ll", true); +defineSymbol(symbols_math, main, rel, "\u226B", "\\gg", true); +defineSymbol(symbols_math, main, rel, "\u224D", "\\asymp", true); +defineSymbol(symbols_math, main, rel, "\u2225", "\\parallel"); +defineSymbol(symbols_math, main, rel, "\u22C8", "\\bowtie", true); +defineSymbol(symbols_math, main, rel, "\u2323", "\\smile", true); +defineSymbol(symbols_math, main, rel, "\u2291", "\\sqsubseteq", true); +defineSymbol(symbols_math, main, rel, "\u2292", "\\sqsupseteq", true); +defineSymbol(symbols_math, main, rel, "\u2250", "\\doteq", true); +defineSymbol(symbols_math, main, rel, "\u2322", "\\frown", true); +defineSymbol(symbols_math, main, rel, "\u220B", "\\ni", true); +defineSymbol(symbols_math, main, rel, "\u221D", "\\propto", true); +defineSymbol(symbols_math, main, rel, "\u22A2", "\\vdash", true); +defineSymbol(symbols_math, main, rel, "\u22A3", "\\dashv", true); +defineSymbol(symbols_math, main, rel, "\u220B", "\\owns"); // Punctuation + +defineSymbol(symbols_math, main, punct, ".", "\\ldotp"); +defineSymbol(symbols_math, main, punct, "\u22C5", "\\cdotp"); // Misc Symbols + +defineSymbol(symbols_math, main, symbols_textord, "#", "\\#"); +defineSymbol(symbols_text, main, symbols_textord, "#", "\\#"); +defineSymbol(symbols_math, main, symbols_textord, "&", "\\&"); +defineSymbol(symbols_text, main, symbols_textord, "&", "\\&"); +defineSymbol(symbols_math, main, symbols_textord, "\u2135", "\\aleph", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2200", "\\forall", true); +defineSymbol(symbols_math, main, symbols_textord, "\u210F", "\\hbar", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2203", "\\exists", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2207", "\\nabla", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266D", "\\flat", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2113", "\\ell", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266E", "\\natural", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2663", "\\clubsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2118", "\\wp", true); +defineSymbol(symbols_math, main, symbols_textord, "\u266F", "\\sharp", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2662", "\\diamondsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u211C", "\\Re", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2661", "\\heartsuit", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2111", "\\Im", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2660", "\\spadesuit", true); +defineSymbol(symbols_text, main, symbols_textord, "\xA7", "\\S", true); +defineSymbol(symbols_text, main, symbols_textord, "\xB6", "\\P", true); // Math and Text + +defineSymbol(symbols_math, main, symbols_textord, "\u2020", "\\dag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2020", "\\dag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2020", "\\textdagger"); +defineSymbol(symbols_math, main, symbols_textord, "\u2021", "\\ddag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2021", "\\ddag"); +defineSymbol(symbols_text, main, symbols_textord, "\u2021", "\\textdaggerdbl"); // Large Delimiters + +defineSymbol(symbols_math, main, symbols_close, "\u23B1", "\\rmoustache", true); +defineSymbol(symbols_math, main, symbols_open, "\u23B0", "\\lmoustache", true); +defineSymbol(symbols_math, main, symbols_close, "\u27EF", "\\rgroup", true); +defineSymbol(symbols_math, main, symbols_open, "\u27EE", "\\lgroup", true); // Binary Operators + +defineSymbol(symbols_math, main, bin, "\u2213", "\\mp", true); +defineSymbol(symbols_math, main, bin, "\u2296", "\\ominus", true); +defineSymbol(symbols_math, main, bin, "\u228E", "\\uplus", true); +defineSymbol(symbols_math, main, bin, "\u2293", "\\sqcap", true); +defineSymbol(symbols_math, main, bin, "\u2217", "\\ast"); +defineSymbol(symbols_math, main, bin, "\u2294", "\\sqcup", true); +defineSymbol(symbols_math, main, bin, "\u25EF", "\\bigcirc"); +defineSymbol(symbols_math, main, bin, "\u2219", "\\bullet"); +defineSymbol(symbols_math, main, bin, "\u2021", "\\ddagger"); +defineSymbol(symbols_math, main, bin, "\u2240", "\\wr", true); +defineSymbol(symbols_math, main, bin, "\u2A3F", "\\amalg"); +defineSymbol(symbols_math, main, bin, "&", "\\And"); // from amsmath +// Arrow Symbols + +defineSymbol(symbols_math, main, rel, "\u27F5", "\\longleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D0", "\\Leftarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F8", "\\Longleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F6", "\\longrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D2", "\\Rightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F9", "\\Longrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2194", "\\leftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27F7", "\\longleftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D4", "\\Leftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u27FA", "\\Longleftrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u21A6", "\\mapsto", true); +defineSymbol(symbols_math, main, rel, "\u27FC", "\\longmapsto", true); +defineSymbol(symbols_math, main, rel, "\u2197", "\\nearrow", true); +defineSymbol(symbols_math, main, rel, "\u21A9", "\\hookleftarrow", true); +defineSymbol(symbols_math, main, rel, "\u21AA", "\\hookrightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2198", "\\searrow", true); +defineSymbol(symbols_math, main, rel, "\u21BC", "\\leftharpoonup", true); +defineSymbol(symbols_math, main, rel, "\u21C0", "\\rightharpoonup", true); +defineSymbol(symbols_math, main, rel, "\u2199", "\\swarrow", true); +defineSymbol(symbols_math, main, rel, "\u21BD", "\\leftharpoondown", true); +defineSymbol(symbols_math, main, rel, "\u21C1", "\\rightharpoondown", true); +defineSymbol(symbols_math, main, rel, "\u2196", "\\nwarrow", true); +defineSymbol(symbols_math, main, rel, "\u21CC", "\\rightleftharpoons", true); // AMS Negated Binary Relations + +defineSymbol(symbols_math, ams, rel, "\u226E", "\\nless", true); // Symbol names preceeded by "@" each have a corresponding macro. + +defineSymbol(symbols_math, ams, rel, "\uE010", "\\@nleqslant"); +defineSymbol(symbols_math, ams, rel, "\uE011", "\\@nleqq"); +defineSymbol(symbols_math, ams, rel, "\u2A87", "\\lneq", true); +defineSymbol(symbols_math, ams, rel, "\u2268", "\\lneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE00C", "\\@lvertneqq"); +defineSymbol(symbols_math, ams, rel, "\u22E6", "\\lnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A89", "\\lnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2280", "\\nprec", true); // unicode-math maps \u22e0 to \npreccurlyeq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u22E0", "\\npreceq", true); +defineSymbol(symbols_math, ams, rel, "\u22E8", "\\precnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB9", "\\precnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2241", "\\nsim", true); +defineSymbol(symbols_math, ams, rel, "\uE006", "\\@nshortmid"); +defineSymbol(symbols_math, ams, rel, "\u2224", "\\nmid", true); +defineSymbol(symbols_math, ams, rel, "\u22AC", "\\nvdash", true); +defineSymbol(symbols_math, ams, rel, "\u22AD", "\\nvDash", true); +defineSymbol(symbols_math, ams, rel, "\u22EA", "\\ntriangleleft"); +defineSymbol(symbols_math, ams, rel, "\u22EC", "\\ntrianglelefteq", true); +defineSymbol(symbols_math, ams, rel, "\u228A", "\\subsetneq", true); +defineSymbol(symbols_math, ams, rel, "\uE01A", "\\@varsubsetneq"); +defineSymbol(symbols_math, ams, rel, "\u2ACB", "\\subsetneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE017", "\\@varsubsetneqq"); +defineSymbol(symbols_math, ams, rel, "\u226F", "\\ngtr", true); +defineSymbol(symbols_math, ams, rel, "\uE00F", "\\@ngeqslant"); +defineSymbol(symbols_math, ams, rel, "\uE00E", "\\@ngeqq"); +defineSymbol(symbols_math, ams, rel, "\u2A88", "\\gneq", true); +defineSymbol(symbols_math, ams, rel, "\u2269", "\\gneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE00D", "\\@gvertneqq"); +defineSymbol(symbols_math, ams, rel, "\u22E7", "\\gnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A8A", "\\gnapprox", true); +defineSymbol(symbols_math, ams, rel, "\u2281", "\\nsucc", true); // unicode-math maps \u22e1 to \nsucccurlyeq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u22E1", "\\nsucceq", true); +defineSymbol(symbols_math, ams, rel, "\u22E9", "\\succnsim", true); +defineSymbol(symbols_math, ams, rel, "\u2ABA", "\\succnapprox", true); // unicode-math maps \u2246 to \simneqq. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u2246", "\\ncong", true); +defineSymbol(symbols_math, ams, rel, "\uE007", "\\@nshortparallel"); +defineSymbol(symbols_math, ams, rel, "\u2226", "\\nparallel", true); +defineSymbol(symbols_math, ams, rel, "\u22AF", "\\nVDash", true); +defineSymbol(symbols_math, ams, rel, "\u22EB", "\\ntriangleright"); +defineSymbol(symbols_math, ams, rel, "\u22ED", "\\ntrianglerighteq", true); +defineSymbol(symbols_math, ams, rel, "\uE018", "\\@nsupseteqq"); +defineSymbol(symbols_math, ams, rel, "\u228B", "\\supsetneq", true); +defineSymbol(symbols_math, ams, rel, "\uE01B", "\\@varsupsetneq"); +defineSymbol(symbols_math, ams, rel, "\u2ACC", "\\supsetneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE019", "\\@varsupsetneqq"); +defineSymbol(symbols_math, ams, rel, "\u22AE", "\\nVdash", true); +defineSymbol(symbols_math, ams, rel, "\u2AB5", "\\precneqq", true); +defineSymbol(symbols_math, ams, rel, "\u2AB6", "\\succneqq", true); +defineSymbol(symbols_math, ams, rel, "\uE016", "\\@nsubseteqq"); +defineSymbol(symbols_math, ams, bin, "\u22B4", "\\unlhd"); +defineSymbol(symbols_math, ams, bin, "\u22B5", "\\unrhd"); // AMS Negated Arrows + +defineSymbol(symbols_math, ams, rel, "\u219A", "\\nleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u219B", "\\nrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CD", "\\nLeftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CF", "\\nRightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21AE", "\\nleftrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21CE", "\\nLeftrightarrow", true); // AMS Misc + +defineSymbol(symbols_math, ams, rel, "\u25B3", "\\vartriangle"); +defineSymbol(symbols_math, ams, symbols_textord, "\u210F", "\\hslash"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25BD", "\\triangledown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25CA", "\\lozenge"); +defineSymbol(symbols_math, ams, symbols_textord, "\u24C8", "\\circledS"); +defineSymbol(symbols_math, ams, symbols_textord, "\xAE", "\\circledR"); +defineSymbol(symbols_text, ams, symbols_textord, "\xAE", "\\circledR"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2221", "\\measuredangle", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2204", "\\nexists"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2127", "\\mho"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2132", "\\Finv", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2141", "\\Game", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2035", "\\backprime"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25B2", "\\blacktriangle"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25BC", "\\blacktriangledown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A0", "\\blacksquare"); +defineSymbol(symbols_math, ams, symbols_textord, "\u29EB", "\\blacklozenge"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2605", "\\bigstar"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2222", "\\sphericalangle", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2201", "\\complement", true); // unicode-math maps U+F0 (ð) to \matheth. We map to AMS function \eth + +defineSymbol(symbols_math, ams, symbols_textord, "\xF0", "\\eth", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2571", "\\diagup"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2572", "\\diagdown"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A1", "\\square"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25A1", "\\Box"); +defineSymbol(symbols_math, ams, symbols_textord, "\u25CA", "\\Diamond"); // unicode-math maps U+A5 to \mathyen. We map to AMS function \yen + +defineSymbol(symbols_math, ams, symbols_textord, "\xA5", "\\yen", true); +defineSymbol(symbols_text, ams, symbols_textord, "\xA5", "\\yen", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2713", "\\checkmark", true); +defineSymbol(symbols_text, ams, symbols_textord, "\u2713", "\\checkmark"); // AMS Hebrew + +defineSymbol(symbols_math, ams, symbols_textord, "\u2136", "\\beth", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2138", "\\daleth", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2137", "\\gimel", true); // AMS Greek + +defineSymbol(symbols_math, ams, symbols_textord, "\u03DD", "\\digamma", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u03F0", "\\varkappa"); // AMS Delimiters + +defineSymbol(symbols_math, ams, symbols_open, "\u250C", "\\ulcorner", true); +defineSymbol(symbols_math, ams, symbols_close, "\u2510", "\\urcorner", true); +defineSymbol(symbols_math, ams, symbols_open, "\u2514", "\\llcorner", true); +defineSymbol(symbols_math, ams, symbols_close, "\u2518", "\\lrcorner", true); // AMS Binary Relations + +defineSymbol(symbols_math, ams, rel, "\u2266", "\\leqq", true); +defineSymbol(symbols_math, ams, rel, "\u2A7D", "\\leqslant", true); +defineSymbol(symbols_math, ams, rel, "\u2A95", "\\eqslantless", true); +defineSymbol(symbols_math, ams, rel, "\u2272", "\\lesssim", true); +defineSymbol(symbols_math, ams, rel, "\u2A85", "\\lessapprox", true); +defineSymbol(symbols_math, ams, rel, "\u224A", "\\approxeq", true); +defineSymbol(symbols_math, ams, bin, "\u22D6", "\\lessdot"); +defineSymbol(symbols_math, ams, rel, "\u22D8", "\\lll", true); +defineSymbol(symbols_math, ams, rel, "\u2276", "\\lessgtr", true); +defineSymbol(symbols_math, ams, rel, "\u22DA", "\\lesseqgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2A8B", "\\lesseqqgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2251", "\\doteqdot"); +defineSymbol(symbols_math, ams, rel, "\u2253", "\\risingdotseq", true); +defineSymbol(symbols_math, ams, rel, "\u2252", "\\fallingdotseq", true); +defineSymbol(symbols_math, ams, rel, "\u223D", "\\backsim", true); +defineSymbol(symbols_math, ams, rel, "\u22CD", "\\backsimeq", true); +defineSymbol(symbols_math, ams, rel, "\u2AC5", "\\subseteqq", true); +defineSymbol(symbols_math, ams, rel, "\u22D0", "\\Subset", true); +defineSymbol(symbols_math, ams, rel, "\u228F", "\\sqsubset", true); +defineSymbol(symbols_math, ams, rel, "\u227C", "\\preccurlyeq", true); +defineSymbol(symbols_math, ams, rel, "\u22DE", "\\curlyeqprec", true); +defineSymbol(symbols_math, ams, rel, "\u227E", "\\precsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB7", "\\precapprox", true); +defineSymbol(symbols_math, ams, rel, "\u22B2", "\\vartriangleleft"); +defineSymbol(symbols_math, ams, rel, "\u22B4", "\\trianglelefteq"); +defineSymbol(symbols_math, ams, rel, "\u22A8", "\\vDash", true); +defineSymbol(symbols_math, ams, rel, "\u22AA", "\\Vvdash", true); +defineSymbol(symbols_math, ams, rel, "\u2323", "\\smallsmile"); +defineSymbol(symbols_math, ams, rel, "\u2322", "\\smallfrown"); +defineSymbol(symbols_math, ams, rel, "\u224F", "\\bumpeq", true); +defineSymbol(symbols_math, ams, rel, "\u224E", "\\Bumpeq", true); +defineSymbol(symbols_math, ams, rel, "\u2267", "\\geqq", true); +defineSymbol(symbols_math, ams, rel, "\u2A7E", "\\geqslant", true); +defineSymbol(symbols_math, ams, rel, "\u2A96", "\\eqslantgtr", true); +defineSymbol(symbols_math, ams, rel, "\u2273", "\\gtrsim", true); +defineSymbol(symbols_math, ams, rel, "\u2A86", "\\gtrapprox", true); +defineSymbol(symbols_math, ams, bin, "\u22D7", "\\gtrdot"); +defineSymbol(symbols_math, ams, rel, "\u22D9", "\\ggg", true); +defineSymbol(symbols_math, ams, rel, "\u2277", "\\gtrless", true); +defineSymbol(symbols_math, ams, rel, "\u22DB", "\\gtreqless", true); +defineSymbol(symbols_math, ams, rel, "\u2A8C", "\\gtreqqless", true); +defineSymbol(symbols_math, ams, rel, "\u2256", "\\eqcirc", true); +defineSymbol(symbols_math, ams, rel, "\u2257", "\\circeq", true); +defineSymbol(symbols_math, ams, rel, "\u225C", "\\triangleq", true); +defineSymbol(symbols_math, ams, rel, "\u223C", "\\thicksim"); +defineSymbol(symbols_math, ams, rel, "\u2248", "\\thickapprox"); +defineSymbol(symbols_math, ams, rel, "\u2AC6", "\\supseteqq", true); +defineSymbol(symbols_math, ams, rel, "\u22D1", "\\Supset", true); +defineSymbol(symbols_math, ams, rel, "\u2290", "\\sqsupset", true); +defineSymbol(symbols_math, ams, rel, "\u227D", "\\succcurlyeq", true); +defineSymbol(symbols_math, ams, rel, "\u22DF", "\\curlyeqsucc", true); +defineSymbol(symbols_math, ams, rel, "\u227F", "\\succsim", true); +defineSymbol(symbols_math, ams, rel, "\u2AB8", "\\succapprox", true); +defineSymbol(symbols_math, ams, rel, "\u22B3", "\\vartriangleright"); +defineSymbol(symbols_math, ams, rel, "\u22B5", "\\trianglerighteq"); +defineSymbol(symbols_math, ams, rel, "\u22A9", "\\Vdash", true); +defineSymbol(symbols_math, ams, rel, "\u2223", "\\shortmid"); +defineSymbol(symbols_math, ams, rel, "\u2225", "\\shortparallel"); +defineSymbol(symbols_math, ams, rel, "\u226C", "\\between", true); +defineSymbol(symbols_math, ams, rel, "\u22D4", "\\pitchfork", true); +defineSymbol(symbols_math, ams, rel, "\u221D", "\\varpropto"); +defineSymbol(symbols_math, ams, rel, "\u25C0", "\\blacktriangleleft"); // unicode-math says that \therefore is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(symbols_math, ams, rel, "\u2234", "\\therefore", true); +defineSymbol(symbols_math, ams, rel, "\u220D", "\\backepsilon"); +defineSymbol(symbols_math, ams, rel, "\u25B6", "\\blacktriangleright"); // unicode-math says that \because is a mathord atom. +// We kept the amssymb atom type, which is rel. + +defineSymbol(symbols_math, ams, rel, "\u2235", "\\because", true); +defineSymbol(symbols_math, ams, rel, "\u22D8", "\\llless"); +defineSymbol(symbols_math, ams, rel, "\u22D9", "\\gggtr"); +defineSymbol(symbols_math, ams, bin, "\u22B2", "\\lhd"); +defineSymbol(symbols_math, ams, bin, "\u22B3", "\\rhd"); +defineSymbol(symbols_math, ams, rel, "\u2242", "\\eqsim", true); +defineSymbol(symbols_math, main, rel, "\u22C8", "\\Join"); +defineSymbol(symbols_math, ams, rel, "\u2251", "\\Doteq", true); // AMS Binary Operators + +defineSymbol(symbols_math, ams, bin, "\u2214", "\\dotplus", true); +defineSymbol(symbols_math, ams, bin, "\u2216", "\\smallsetminus"); +defineSymbol(symbols_math, ams, bin, "\u22D2", "\\Cap", true); +defineSymbol(symbols_math, ams, bin, "\u22D3", "\\Cup", true); +defineSymbol(symbols_math, ams, bin, "\u2A5E", "\\doublebarwedge", true); +defineSymbol(symbols_math, ams, bin, "\u229F", "\\boxminus", true); +defineSymbol(symbols_math, ams, bin, "\u229E", "\\boxplus", true); +defineSymbol(symbols_math, ams, bin, "\u22C7", "\\divideontimes", true); +defineSymbol(symbols_math, ams, bin, "\u22C9", "\\ltimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CA", "\\rtimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CB", "\\leftthreetimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CC", "\\rightthreetimes", true); +defineSymbol(symbols_math, ams, bin, "\u22CF", "\\curlywedge", true); +defineSymbol(symbols_math, ams, bin, "\u22CE", "\\curlyvee", true); +defineSymbol(symbols_math, ams, bin, "\u229D", "\\circleddash", true); +defineSymbol(symbols_math, ams, bin, "\u229B", "\\circledast", true); +defineSymbol(symbols_math, ams, bin, "\u22C5", "\\centerdot"); +defineSymbol(symbols_math, ams, bin, "\u22BA", "\\intercal", true); +defineSymbol(symbols_math, ams, bin, "\u22D2", "\\doublecap"); +defineSymbol(symbols_math, ams, bin, "\u22D3", "\\doublecup"); +defineSymbol(symbols_math, ams, bin, "\u22A0", "\\boxtimes", true); // AMS Arrows +// Note: unicode-math maps \u21e2 to their own function \rightdasharrow. +// We'll map it to AMS function \dashrightarrow. It produces the same atom. + +defineSymbol(symbols_math, ams, rel, "\u21E2", "\\dashrightarrow", true); // unicode-math maps \u21e0 to \leftdasharrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21E0", "\\dashleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21C7", "\\leftleftarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21C6", "\\leftrightarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21DA", "\\Lleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u219E", "\\twoheadleftarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21A2", "\\leftarrowtail", true); +defineSymbol(symbols_math, ams, rel, "\u21AB", "\\looparrowleft", true); +defineSymbol(symbols_math, ams, rel, "\u21CB", "\\leftrightharpoons", true); +defineSymbol(symbols_math, ams, rel, "\u21B6", "\\curvearrowleft", true); // unicode-math maps \u21ba to \acwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21BA", "\\circlearrowleft", true); +defineSymbol(symbols_math, ams, rel, "\u21B0", "\\Lsh", true); +defineSymbol(symbols_math, ams, rel, "\u21C8", "\\upuparrows", true); +defineSymbol(symbols_math, ams, rel, "\u21BF", "\\upharpoonleft", true); +defineSymbol(symbols_math, ams, rel, "\u21C3", "\\downharpoonleft", true); +defineSymbol(symbols_math, ams, rel, "\u22B8", "\\multimap", true); +defineSymbol(symbols_math, ams, rel, "\u21AD", "\\leftrightsquigarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21C9", "\\rightrightarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21C4", "\\rightleftarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21A0", "\\twoheadrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21A3", "\\rightarrowtail", true); +defineSymbol(symbols_math, ams, rel, "\u21AC", "\\looparrowright", true); +defineSymbol(symbols_math, ams, rel, "\u21B7", "\\curvearrowright", true); // unicode-math maps \u21bb to \cwopencirclearrow. We'll use the AMS synonym. + +defineSymbol(symbols_math, ams, rel, "\u21BB", "\\circlearrowright", true); +defineSymbol(symbols_math, ams, rel, "\u21B1", "\\Rsh", true); +defineSymbol(symbols_math, ams, rel, "\u21CA", "\\downdownarrows", true); +defineSymbol(symbols_math, ams, rel, "\u21BE", "\\upharpoonright", true); +defineSymbol(symbols_math, ams, rel, "\u21C2", "\\downharpoonright", true); +defineSymbol(symbols_math, ams, rel, "\u21DD", "\\rightsquigarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21DD", "\\leadsto"); +defineSymbol(symbols_math, ams, rel, "\u21DB", "\\Rrightarrow", true); +defineSymbol(symbols_math, ams, rel, "\u21BE", "\\restriction"); +defineSymbol(symbols_math, main, symbols_textord, "\u2018", "`"); +defineSymbol(symbols_math, main, symbols_textord, "$", "\\$"); +defineSymbol(symbols_text, main, symbols_textord, "$", "\\$"); +defineSymbol(symbols_text, main, symbols_textord, "$", "\\textdollar"); +defineSymbol(symbols_math, main, symbols_textord, "%", "\\%"); +defineSymbol(symbols_text, main, symbols_textord, "%", "\\%"); +defineSymbol(symbols_math, main, symbols_textord, "_", "\\_"); +defineSymbol(symbols_text, main, symbols_textord, "_", "\\_"); +defineSymbol(symbols_text, main, symbols_textord, "_", "\\textunderscore"); +defineSymbol(symbols_math, main, symbols_textord, "\u2220", "\\angle", true); +defineSymbol(symbols_math, main, symbols_textord, "\u221E", "\\infty", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2032", "\\prime"); +defineSymbol(symbols_math, main, symbols_textord, "\u25B3", "\\triangle"); +defineSymbol(symbols_math, main, symbols_textord, "\u0393", "\\Gamma", true); +defineSymbol(symbols_math, main, symbols_textord, "\u0394", "\\Delta", true); +defineSymbol(symbols_math, main, symbols_textord, "\u0398", "\\Theta", true); +defineSymbol(symbols_math, main, symbols_textord, "\u039B", "\\Lambda", true); +defineSymbol(symbols_math, main, symbols_textord, "\u039E", "\\Xi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A0", "\\Pi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A3", "\\Sigma", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A5", "\\Upsilon", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A6", "\\Phi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A8", "\\Psi", true); +defineSymbol(symbols_math, main, symbols_textord, "\u03A9", "\\Omega", true); +defineSymbol(symbols_math, main, symbols_textord, "A", "\u0391"); +defineSymbol(symbols_math, main, symbols_textord, "B", "\u0392"); +defineSymbol(symbols_math, main, symbols_textord, "E", "\u0395"); +defineSymbol(symbols_math, main, symbols_textord, "Z", "\u0396"); +defineSymbol(symbols_math, main, symbols_textord, "H", "\u0397"); +defineSymbol(symbols_math, main, symbols_textord, "I", "\u0399"); +defineSymbol(symbols_math, main, symbols_textord, "K", "\u039A"); +defineSymbol(symbols_math, main, symbols_textord, "M", "\u039C"); +defineSymbol(symbols_math, main, symbols_textord, "N", "\u039D"); +defineSymbol(symbols_math, main, symbols_textord, "O", "\u039F"); +defineSymbol(symbols_math, main, symbols_textord, "P", "\u03A1"); +defineSymbol(symbols_math, main, symbols_textord, "T", "\u03A4"); +defineSymbol(symbols_math, main, symbols_textord, "X", "\u03A7"); +defineSymbol(symbols_math, main, symbols_textord, "\xAC", "\\neg", true); +defineSymbol(symbols_math, main, symbols_textord, "\xAC", "\\lnot"); +defineSymbol(symbols_math, main, symbols_textord, "\u22A4", "\\top"); +defineSymbol(symbols_math, main, symbols_textord, "\u22A5", "\\bot"); +defineSymbol(symbols_math, main, symbols_textord, "\u2205", "\\emptyset"); +defineSymbol(symbols_math, ams, symbols_textord, "\u2205", "\\varnothing"); +defineSymbol(symbols_math, main, mathord, "\u03B1", "\\alpha", true); +defineSymbol(symbols_math, main, mathord, "\u03B2", "\\beta", true); +defineSymbol(symbols_math, main, mathord, "\u03B3", "\\gamma", true); +defineSymbol(symbols_math, main, mathord, "\u03B4", "\\delta", true); +defineSymbol(symbols_math, main, mathord, "\u03F5", "\\epsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03B6", "\\zeta", true); +defineSymbol(symbols_math, main, mathord, "\u03B7", "\\eta", true); +defineSymbol(symbols_math, main, mathord, "\u03B8", "\\theta", true); +defineSymbol(symbols_math, main, mathord, "\u03B9", "\\iota", true); +defineSymbol(symbols_math, main, mathord, "\u03BA", "\\kappa", true); +defineSymbol(symbols_math, main, mathord, "\u03BB", "\\lambda", true); +defineSymbol(symbols_math, main, mathord, "\u03BC", "\\mu", true); +defineSymbol(symbols_math, main, mathord, "\u03BD", "\\nu", true); +defineSymbol(symbols_math, main, mathord, "\u03BE", "\\xi", true); +defineSymbol(symbols_math, main, mathord, "\u03BF", "\\omicron", true); +defineSymbol(symbols_math, main, mathord, "\u03C0", "\\pi", true); +defineSymbol(symbols_math, main, mathord, "\u03C1", "\\rho", true); +defineSymbol(symbols_math, main, mathord, "\u03C3", "\\sigma", true); +defineSymbol(symbols_math, main, mathord, "\u03C4", "\\tau", true); +defineSymbol(symbols_math, main, mathord, "\u03C5", "\\upsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03D5", "\\phi", true); +defineSymbol(symbols_math, main, mathord, "\u03C7", "\\chi", true); +defineSymbol(symbols_math, main, mathord, "\u03C8", "\\psi", true); +defineSymbol(symbols_math, main, mathord, "\u03C9", "\\omega", true); +defineSymbol(symbols_math, main, mathord, "\u03B5", "\\varepsilon", true); +defineSymbol(symbols_math, main, mathord, "\u03D1", "\\vartheta", true); +defineSymbol(symbols_math, main, mathord, "\u03D6", "\\varpi", true); +defineSymbol(symbols_math, main, mathord, "\u03F1", "\\varrho", true); +defineSymbol(symbols_math, main, mathord, "\u03C2", "\\varsigma", true); +defineSymbol(symbols_math, main, mathord, "\u03C6", "\\varphi", true); +defineSymbol(symbols_math, main, bin, "\u2217", "*"); +defineSymbol(symbols_math, main, bin, "+", "+"); +defineSymbol(symbols_math, main, bin, "\u2212", "-"); +defineSymbol(symbols_math, main, bin, "\u22C5", "\\cdot", true); +defineSymbol(symbols_math, main, bin, "\u2218", "\\circ"); +defineSymbol(symbols_math, main, bin, "\xF7", "\\div", true); +defineSymbol(symbols_math, main, bin, "\xB1", "\\pm", true); +defineSymbol(symbols_math, main, bin, "\xD7", "\\times", true); +defineSymbol(symbols_math, main, bin, "\u2229", "\\cap", true); +defineSymbol(symbols_math, main, bin, "\u222A", "\\cup", true); +defineSymbol(symbols_math, main, bin, "\u2216", "\\setminus"); +defineSymbol(symbols_math, main, bin, "\u2227", "\\land"); +defineSymbol(symbols_math, main, bin, "\u2228", "\\lor"); +defineSymbol(symbols_math, main, bin, "\u2227", "\\wedge", true); +defineSymbol(symbols_math, main, bin, "\u2228", "\\vee", true); +defineSymbol(symbols_math, main, symbols_textord, "\u221A", "\\surd"); +defineSymbol(symbols_math, main, symbols_open, "(", "("); +defineSymbol(symbols_math, main, symbols_open, "[", "["); +defineSymbol(symbols_math, main, symbols_open, "\u27E8", "\\langle", true); +defineSymbol(symbols_math, main, symbols_open, "\u2223", "\\lvert"); +defineSymbol(symbols_math, main, symbols_open, "\u2225", "\\lVert"); +defineSymbol(symbols_math, main, symbols_close, ")", ")"); +defineSymbol(symbols_math, main, symbols_close, "]", "]"); +defineSymbol(symbols_math, main, symbols_close, "?", "?"); +defineSymbol(symbols_math, main, symbols_close, "!", "!"); +defineSymbol(symbols_math, main, symbols_close, "\u27E9", "\\rangle", true); +defineSymbol(symbols_math, main, symbols_close, "\u2223", "\\rvert"); +defineSymbol(symbols_math, main, symbols_close, "\u2225", "\\rVert"); +defineSymbol(symbols_math, main, rel, "=", "="); +defineSymbol(symbols_math, main, rel, "<", "<"); +defineSymbol(symbols_math, main, rel, ">", ">"); +defineSymbol(symbols_math, main, rel, ":", ":"); +defineSymbol(symbols_math, main, rel, "\u2248", "\\approx", true); +defineSymbol(symbols_math, main, rel, "\u2245", "\\cong", true); +defineSymbol(symbols_math, main, rel, "\u2265", "\\ge"); +defineSymbol(symbols_math, main, rel, "\u2265", "\\geq", true); +defineSymbol(symbols_math, main, rel, "\u2190", "\\gets"); +defineSymbol(symbols_math, main, rel, ">", "\\gt"); +defineSymbol(symbols_math, main, rel, "\u2208", "\\in", true); +defineSymbol(symbols_math, main, rel, "\uE020", "\\@not"); +defineSymbol(symbols_math, main, rel, "\u2282", "\\subset", true); +defineSymbol(symbols_math, main, rel, "\u2283", "\\supset", true); +defineSymbol(symbols_math, main, rel, "\u2286", "\\subseteq", true); +defineSymbol(symbols_math, main, rel, "\u2287", "\\supseteq", true); +defineSymbol(symbols_math, ams, rel, "\u2288", "\\nsubseteq", true); +defineSymbol(symbols_math, ams, rel, "\u2289", "\\nsupseteq", true); +defineSymbol(symbols_math, main, rel, "\u22A8", "\\models"); +defineSymbol(symbols_math, main, rel, "\u2190", "\\leftarrow", true); +defineSymbol(symbols_math, main, rel, "\u2264", "\\le"); +defineSymbol(symbols_math, main, rel, "\u2264", "\\leq", true); +defineSymbol(symbols_math, main, rel, "<", "\\lt"); +defineSymbol(symbols_math, main, rel, "\u2192", "\\rightarrow", true); +defineSymbol(symbols_math, main, rel, "\u2192", "\\to"); +defineSymbol(symbols_math, ams, rel, "\u2271", "\\ngeq", true); +defineSymbol(symbols_math, ams, rel, "\u2270", "\\nleq", true); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\ "); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "~"); +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\space"); // Ref: LaTeX Source 2e: \DeclareRobustCommand{\nobreakspace}{% + +defineSymbol(symbols_math, main, symbols_spacing, "\xA0", "\\nobreakspace"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\ "); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "~"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\space"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\nobreakspace"); +defineSymbol(symbols_math, main, symbols_spacing, null, "\\nobreak"); +defineSymbol(symbols_math, main, symbols_spacing, null, "\\allowbreak"); +defineSymbol(symbols_math, main, punct, ",", ","); +defineSymbol(symbols_math, main, punct, ";", ";"); +defineSymbol(symbols_math, ams, bin, "\u22BC", "\\barwedge", true); +defineSymbol(symbols_math, ams, bin, "\u22BB", "\\veebar", true); +defineSymbol(symbols_math, main, bin, "\u2299", "\\odot", true); +defineSymbol(symbols_math, main, bin, "\u2295", "\\oplus", true); +defineSymbol(symbols_math, main, bin, "\u2297", "\\otimes", true); +defineSymbol(symbols_math, main, symbols_textord, "\u2202", "\\partial", true); +defineSymbol(symbols_math, main, bin, "\u2298", "\\oslash", true); +defineSymbol(symbols_math, ams, bin, "\u229A", "\\circledcirc", true); +defineSymbol(symbols_math, ams, bin, "\u22A1", "\\boxdot", true); +defineSymbol(symbols_math, main, bin, "\u25B3", "\\bigtriangleup"); +defineSymbol(symbols_math, main, bin, "\u25BD", "\\bigtriangledown"); +defineSymbol(symbols_math, main, bin, "\u2020", "\\dagger"); +defineSymbol(symbols_math, main, bin, "\u22C4", "\\diamond"); +defineSymbol(symbols_math, main, bin, "\u22C6", "\\star"); +defineSymbol(symbols_math, main, bin, "\u25C3", "\\triangleleft"); +defineSymbol(symbols_math, main, bin, "\u25B9", "\\triangleright"); +defineSymbol(symbols_math, main, symbols_open, "{", "\\{"); +defineSymbol(symbols_text, main, symbols_textord, "{", "\\{"); +defineSymbol(symbols_text, main, symbols_textord, "{", "\\textbraceleft"); +defineSymbol(symbols_math, main, symbols_close, "}", "\\}"); +defineSymbol(symbols_text, main, symbols_textord, "}", "\\}"); +defineSymbol(symbols_text, main, symbols_textord, "}", "\\textbraceright"); +defineSymbol(symbols_math, main, symbols_open, "{", "\\lbrace"); +defineSymbol(symbols_math, main, symbols_close, "}", "\\rbrace"); +defineSymbol(symbols_math, main, symbols_open, "[", "\\lbrack"); +defineSymbol(symbols_text, main, symbols_textord, "[", "\\lbrack"); +defineSymbol(symbols_math, main, symbols_close, "]", "\\rbrack"); +defineSymbol(symbols_text, main, symbols_textord, "]", "\\rbrack"); +defineSymbol(symbols_math, main, symbols_open, "(", "\\lparen"); +defineSymbol(symbols_math, main, symbols_close, ")", "\\rparen"); +defineSymbol(symbols_text, main, symbols_textord, "<", "\\textless"); // in T1 fontenc + +defineSymbol(symbols_text, main, symbols_textord, ">", "\\textgreater"); // in T1 fontenc + +defineSymbol(symbols_math, main, symbols_open, "\u230A", "\\lfloor", true); +defineSymbol(symbols_math, main, symbols_close, "\u230B", "\\rfloor", true); +defineSymbol(symbols_math, main, symbols_open, "\u2308", "\\lceil", true); +defineSymbol(symbols_math, main, symbols_close, "\u2309", "\\rceil", true); +defineSymbol(symbols_math, main, symbols_textord, "\\", "\\backslash"); +defineSymbol(symbols_math, main, symbols_textord, "\u2223", "|"); +defineSymbol(symbols_math, main, symbols_textord, "\u2223", "\\vert"); +defineSymbol(symbols_text, main, symbols_textord, "|", "\\textbar"); // in T1 fontenc + +defineSymbol(symbols_math, main, symbols_textord, "\u2225", "\\|"); +defineSymbol(symbols_math, main, symbols_textord, "\u2225", "\\Vert"); +defineSymbol(symbols_text, main, symbols_textord, "\u2225", "\\textbardbl"); +defineSymbol(symbols_text, main, symbols_textord, "~", "\\textasciitilde"); +defineSymbol(symbols_text, main, symbols_textord, "\\", "\\textbackslash"); +defineSymbol(symbols_text, main, symbols_textord, "^", "\\textasciicircum"); +defineSymbol(symbols_math, main, rel, "\u2191", "\\uparrow", true); +defineSymbol(symbols_math, main, rel, "\u21D1", "\\Uparrow", true); +defineSymbol(symbols_math, main, rel, "\u2193", "\\downarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D3", "\\Downarrow", true); +defineSymbol(symbols_math, main, rel, "\u2195", "\\updownarrow", true); +defineSymbol(symbols_math, main, rel, "\u21D5", "\\Updownarrow", true); +defineSymbol(symbols_math, main, op, "\u2210", "\\coprod"); +defineSymbol(symbols_math, main, op, "\u22C1", "\\bigvee"); +defineSymbol(symbols_math, main, op, "\u22C0", "\\bigwedge"); +defineSymbol(symbols_math, main, op, "\u2A04", "\\biguplus"); +defineSymbol(symbols_math, main, op, "\u22C2", "\\bigcap"); +defineSymbol(symbols_math, main, op, "\u22C3", "\\bigcup"); +defineSymbol(symbols_math, main, op, "\u222B", "\\int"); +defineSymbol(symbols_math, main, op, "\u222B", "\\intop"); +defineSymbol(symbols_math, main, op, "\u222C", "\\iint"); +defineSymbol(symbols_math, main, op, "\u222D", "\\iiint"); +defineSymbol(symbols_math, main, op, "\u220F", "\\prod"); +defineSymbol(symbols_math, main, op, "\u2211", "\\sum"); +defineSymbol(symbols_math, main, op, "\u2A02", "\\bigotimes"); +defineSymbol(symbols_math, main, op, "\u2A01", "\\bigoplus"); +defineSymbol(symbols_math, main, op, "\u2A00", "\\bigodot"); +defineSymbol(symbols_math, main, op, "\u222E", "\\oint"); +defineSymbol(symbols_math, main, op, "\u222F", "\\oiint"); +defineSymbol(symbols_math, main, op, "\u2230", "\\oiiint"); +defineSymbol(symbols_math, main, op, "\u2A06", "\\bigsqcup"); +defineSymbol(symbols_math, main, op, "\u222B", "\\smallint"); +defineSymbol(symbols_text, main, symbols_inner, "\u2026", "\\textellipsis"); +defineSymbol(symbols_math, main, symbols_inner, "\u2026", "\\mathellipsis"); +defineSymbol(symbols_text, main, symbols_inner, "\u2026", "\\ldots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u2026", "\\ldots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u22EF", "\\@cdots", true); +defineSymbol(symbols_math, main, symbols_inner, "\u22F1", "\\ddots", true); +defineSymbol(symbols_math, main, symbols_textord, "\u22EE", "\\varvdots"); // \vdots is a macro + +defineSymbol(symbols_math, main, symbols_accent, "\u02CA", "\\acute"); +defineSymbol(symbols_math, main, symbols_accent, "\u02CB", "\\grave"); +defineSymbol(symbols_math, main, symbols_accent, "\xA8", "\\ddot"); +defineSymbol(symbols_math, main, symbols_accent, "~", "\\tilde"); +defineSymbol(symbols_math, main, symbols_accent, "\u02C9", "\\bar"); +defineSymbol(symbols_math, main, symbols_accent, "\u02D8", "\\breve"); +defineSymbol(symbols_math, main, symbols_accent, "\u02C7", "\\check"); +defineSymbol(symbols_math, main, symbols_accent, "^", "\\hat"); +defineSymbol(symbols_math, main, symbols_accent, "\u20D7", "\\vec"); +defineSymbol(symbols_math, main, symbols_accent, "\u02D9", "\\dot"); +defineSymbol(symbols_math, main, symbols_accent, "\u02DA", "\\mathring"); +defineSymbol(symbols_math, main, mathord, "\u0131", "\\imath", true); +defineSymbol(symbols_math, main, mathord, "\u0237", "\\jmath", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0131", "\\i", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0237", "\\j", true); +defineSymbol(symbols_text, main, symbols_textord, "\xDF", "\\ss", true); +defineSymbol(symbols_text, main, symbols_textord, "\xE6", "\\ae", true); +defineSymbol(symbols_text, main, symbols_textord, "\xE6", "\\ae", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0153", "\\oe", true); +defineSymbol(symbols_text, main, symbols_textord, "\xF8", "\\o", true); +defineSymbol(symbols_text, main, symbols_textord, "\xC6", "\\AE", true); +defineSymbol(symbols_text, main, symbols_textord, "\u0152", "\\OE", true); +defineSymbol(symbols_text, main, symbols_textord, "\xD8", "\\O", true); +defineSymbol(symbols_text, main, symbols_accent, "\u02CA", "\\'"); // acute + +defineSymbol(symbols_text, main, symbols_accent, "\u02CB", "\\`"); // grave + +defineSymbol(symbols_text, main, symbols_accent, "\u02C6", "\\^"); // circumflex + +defineSymbol(symbols_text, main, symbols_accent, "\u02DC", "\\~"); // tilde + +defineSymbol(symbols_text, main, symbols_accent, "\u02C9", "\\="); // macron + +defineSymbol(symbols_text, main, symbols_accent, "\u02D8", "\\u"); // breve + +defineSymbol(symbols_text, main, symbols_accent, "\u02D9", "\\."); // dot above + +defineSymbol(symbols_text, main, symbols_accent, "\u02DA", "\\r"); // ring above + +defineSymbol(symbols_text, main, symbols_accent, "\u02C7", "\\v"); // caron + +defineSymbol(symbols_text, main, symbols_accent, "\xA8", '\\"'); // diaresis + +defineSymbol(symbols_text, main, symbols_accent, "\u02DD", "\\H"); // double acute + +defineSymbol(symbols_text, main, symbols_accent, "\u25EF", "\\textcircled"); // \bigcirc glyph +// These ligatures are detected and created in Parser.js's `formLigatures`. + +var ligatures = { + "--": true, + "---": true, + "``": true, + "''": true +}; +defineSymbol(symbols_text, main, symbols_textord, "\u2013", "--"); +defineSymbol(symbols_text, main, symbols_textord, "\u2013", "\\textendash"); +defineSymbol(symbols_text, main, symbols_textord, "\u2014", "---"); +defineSymbol(symbols_text, main, symbols_textord, "\u2014", "\\textemdash"); +defineSymbol(symbols_text, main, symbols_textord, "\u2018", "`"); +defineSymbol(symbols_text, main, symbols_textord, "\u2018", "\\textquoteleft"); +defineSymbol(symbols_text, main, symbols_textord, "\u2019", "'"); +defineSymbol(symbols_text, main, symbols_textord, "\u2019", "\\textquoteright"); +defineSymbol(symbols_text, main, symbols_textord, "\u201C", "``"); +defineSymbol(symbols_text, main, symbols_textord, "\u201C", "\\textquotedblleft"); +defineSymbol(symbols_text, main, symbols_textord, "\u201D", "''"); +defineSymbol(symbols_text, main, symbols_textord, "\u201D", "\\textquotedblright"); // \degree from gensymb package + +defineSymbol(symbols_math, main, symbols_textord, "\xB0", "\\degree", true); +defineSymbol(symbols_text, main, symbols_textord, "\xB0", "\\degree"); // \textdegree from inputenc package + +defineSymbol(symbols_text, main, symbols_textord, "\xB0", "\\textdegree", true); // TODO: In LaTeX, \pounds can generate a different character in text and math +// mode, but among our fonts, only Main-Italic defines this character "163". + +defineSymbol(symbols_math, main, mathord, "\xA3", "\\pounds"); +defineSymbol(symbols_math, main, mathord, "\xA3", "\\mathsterling", true); +defineSymbol(symbols_text, main, mathord, "\xA3", "\\pounds"); +defineSymbol(symbols_text, main, mathord, "\xA3", "\\textsterling", true); +defineSymbol(symbols_math, ams, symbols_textord, "\u2720", "\\maltese"); +defineSymbol(symbols_text, ams, symbols_textord, "\u2720", "\\maltese"); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "\\ "); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", " "); +defineSymbol(symbols_text, main, symbols_spacing, "\xA0", "~"); // There are lots of symbols which are the same, so we add them in afterwards. +// All of these are textords in math mode + +var mathTextSymbols = "0123456789/@.\""; + +for (var symbols_i = 0; symbols_i < mathTextSymbols.length; symbols_i++) { + var symbols_ch = mathTextSymbols.charAt(symbols_i); + defineSymbol(symbols_math, main, symbols_textord, symbols_ch, symbols_ch); +} // All of these are textords in text mode + + +var textSymbols = "0123456789!@*()-=+[]<>|\";:?/.,"; + +for (var src_symbols_i = 0; src_symbols_i < textSymbols.length; src_symbols_i++) { + var _ch = textSymbols.charAt(src_symbols_i); + + defineSymbol(symbols_text, main, symbols_textord, _ch, _ch); +} // All of these are textords in text mode, and mathords in math mode + + +var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + +for (var symbols_i2 = 0; symbols_i2 < letters.length; symbols_i2++) { + var _ch2 = letters.charAt(symbols_i2); + + defineSymbol(symbols_math, main, mathord, _ch2, _ch2); + defineSymbol(symbols_text, main, symbols_textord, _ch2, _ch2); +} // Blackboard bold and script letters in Unicode range + + +defineSymbol(symbols_math, ams, symbols_textord, "C", "\u2102"); // blackboard bold + +defineSymbol(symbols_text, ams, symbols_textord, "C", "\u2102"); +defineSymbol(symbols_math, ams, symbols_textord, "H", "\u210D"); +defineSymbol(symbols_text, ams, symbols_textord, "H", "\u210D"); +defineSymbol(symbols_math, ams, symbols_textord, "N", "\u2115"); +defineSymbol(symbols_text, ams, symbols_textord, "N", "\u2115"); +defineSymbol(symbols_math, ams, symbols_textord, "P", "\u2119"); +defineSymbol(symbols_text, ams, symbols_textord, "P", "\u2119"); +defineSymbol(symbols_math, ams, symbols_textord, "Q", "\u211A"); +defineSymbol(symbols_text, ams, symbols_textord, "Q", "\u211A"); +defineSymbol(symbols_math, ams, symbols_textord, "R", "\u211D"); +defineSymbol(symbols_text, ams, symbols_textord, "R", "\u211D"); +defineSymbol(symbols_math, ams, symbols_textord, "Z", "\u2124"); +defineSymbol(symbols_text, ams, symbols_textord, "Z", "\u2124"); +defineSymbol(symbols_math, main, mathord, "h", "\u210E"); // italic h, Planck constant + +defineSymbol(symbols_text, main, mathord, "h", "\u210E"); // The next loop loads wide (surrogate pair) characters. +// We support some letters in the Unicode range U+1D400 to U+1D7FF, +// Mathematical Alphanumeric Symbols. +// Some editors do not deal well with wide characters. So don't write the +// string into this file. Instead, create the string from the surrogate pair. + +var symbols_wideChar = ""; + +for (var symbols_i3 = 0; symbols_i3 < letters.length; symbols_i3++) { + var _ch3 = letters.charAt(symbols_i3); // The hex numbers in the next line are a surrogate pair. + // 0xD835 is the high surrogate for all letters in the range we support. + // 0xDC00 is the low surrogate for bold A. + + + symbols_wideChar = String.fromCharCode(0xD835, 0xDC00 + symbols_i3); // A-Z a-z bold + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC34 + symbols_i3); // A-Z a-z italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC68 + symbols_i3); // A-Z a-z bold italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDD04 + symbols_i3); // A-Z a-z Fractur + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDDA0 + symbols_i3); // A-Z a-z sans-serif + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDDD4 + symbols_i3); // A-Z a-z sans bold + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDE08 + symbols_i3); // A-Z a-z sans italic + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDE70 + symbols_i3); // A-Z a-z monospace + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + + if (symbols_i3 < 26) { + // KaTeX fonts have only capital letters for blackboard bold and script. + // See exception for k below. + symbols_wideChar = String.fromCharCode(0xD835, 0xDD38 + symbols_i3); // A-Z double struck + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDC9C + symbols_i3); // A-Z script + + defineSymbol(symbols_math, main, mathord, _ch3, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch3, symbols_wideChar); + } // TODO: Add bold script when it is supported by a KaTeX font. + +} // "k" is the only double struck lower case letter in the KaTeX fonts. + + +symbols_wideChar = String.fromCharCode(0xD835, 0xDD5C); // k double struck + +defineSymbol(symbols_math, main, mathord, "k", symbols_wideChar); +defineSymbol(symbols_text, main, symbols_textord, "k", symbols_wideChar); // Next, some wide character numerals + +for (var symbols_i4 = 0; symbols_i4 < 10; symbols_i4++) { + var _ch4 = symbols_i4.toString(); + + symbols_wideChar = String.fromCharCode(0xD835, 0xDFCE + symbols_i4); // 0-9 bold + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFE2 + symbols_i4); // 0-9 sans serif + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFEC + symbols_i4); // 0-9 bold sans + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); + symbols_wideChar = String.fromCharCode(0xD835, 0xDFF6 + symbols_i4); // 0-9 monospace + + defineSymbol(symbols_math, main, mathord, _ch4, symbols_wideChar); + defineSymbol(symbols_text, main, symbols_textord, _ch4, symbols_wideChar); +} // We add these Latin-1 letters as symbols for backwards-compatibility, +// but they are not actually in the font, nor are they supported by the +// Unicode accent mechanism, so they fall back to Times font and look ugly. +// TODO(edemaine): Fix this. + + +var extraLatin = "ÇÐÞçþ"; + +for (var _i5 = 0; _i5 < extraLatin.length; _i5++) { + var _ch5 = extraLatin.charAt(_i5); + + defineSymbol(symbols_math, main, mathord, _ch5, _ch5); + defineSymbol(symbols_text, main, symbols_textord, _ch5, _ch5); +} + +defineSymbol(symbols_text, main, symbols_textord, "ð", "ð"); // Unicode versions of existing characters + +defineSymbol(symbols_text, main, symbols_textord, "\u2013", "–"); +defineSymbol(symbols_text, main, symbols_textord, "\u2014", "—"); +defineSymbol(symbols_text, main, symbols_textord, "\u2018", "‘"); +defineSymbol(symbols_text, main, symbols_textord, "\u2019", "’"); +defineSymbol(symbols_text, main, symbols_textord, "\u201C", "“"); +defineSymbol(symbols_text, main, symbols_textord, "\u201D", "”"); +// CONCATENATED MODULE: ./src/wide-character.js +/** + * This file provides support for Unicode range U+1D400 to U+1D7FF, + * Mathematical Alphanumeric Symbols. + * + * Function wideCharacterFont takes a wide character as input and returns + * the font information necessary to render it properly. + */ + +/** + * Data below is from https://www.unicode.org/charts/PDF/U1D400.pdf + * That document sorts characters into groups by font type, say bold or italic. + * + * In the arrays below, each subarray consists three elements: + * * The CSS class of that group when in math mode. + * * The CSS class of that group when in text mode. + * * The font name, so that KaTeX can get font metrics. + */ + +var wideLatinLetterData = [["mathbf", "textbf", "Main-Bold"], // A-Z bold upright +["mathbf", "textbf", "Main-Bold"], // a-z bold upright +["mathdefault", "textit", "Math-Italic"], // A-Z italic +["mathdefault", "textit", "Math-Italic"], // a-z italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // A-Z bold italic +["boldsymbol", "boldsymbol", "Main-BoldItalic"], // a-z bold italic +// Map fancy A-Z letters to script, not calligraphic. +// This aligns with unicode-math and math fonts (except Cambria Math). +["mathscr", "textscr", "Script-Regular"], // A-Z script +["", "", ""], // a-z script. No font +["", "", ""], // A-Z bold script. No font +["", "", ""], // a-z bold script. No font +["mathfrak", "textfrak", "Fraktur-Regular"], // A-Z Fraktur +["mathfrak", "textfrak", "Fraktur-Regular"], // a-z Fraktur +["mathbb", "textbb", "AMS-Regular"], // A-Z double-struck +["mathbb", "textbb", "AMS-Regular"], // k double-struck +["", "", ""], // A-Z bold Fraktur No font metrics +["", "", ""], // a-z bold Fraktur. No font. +["mathsf", "textsf", "SansSerif-Regular"], // A-Z sans-serif +["mathsf", "textsf", "SansSerif-Regular"], // a-z sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // A-Z bold sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // a-z bold sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // A-Z italic sans-serif +["mathitsf", "textitsf", "SansSerif-Italic"], // a-z italic sans-serif +["", "", ""], // A-Z bold italic sans. No font +["", "", ""], // a-z bold italic sans. No font +["mathtt", "texttt", "Typewriter-Regular"], // A-Z monospace +["mathtt", "texttt", "Typewriter-Regular"]]; +var wideNumeralData = [["mathbf", "textbf", "Main-Bold"], // 0-9 bold +["", "", ""], // 0-9 double-struck. No KaTeX font. +["mathsf", "textsf", "SansSerif-Regular"], // 0-9 sans-serif +["mathboldsf", "textboldsf", "SansSerif-Bold"], // 0-9 bold sans-serif +["mathtt", "texttt", "Typewriter-Regular"]]; +var wide_character_wideCharacterFont = function wideCharacterFont(wideChar, mode) { + // IE doesn't support codePointAt(). So work with the surrogate pair. + var H = wideChar.charCodeAt(0); // high surrogate + + var L = wideChar.charCodeAt(1); // low surrogate + + var codePoint = (H - 0xD800) * 0x400 + (L - 0xDC00) + 0x10000; + var j = mode === "math" ? 0 : 1; // column index for CSS class. + + if (0x1D400 <= codePoint && codePoint < 0x1D6A4) { + // wideLatinLetterData contains exactly 26 chars on each row. + // So we can calculate the relevant row. No traverse necessary. + var i = Math.floor((codePoint - 0x1D400) / 26); + return [wideLatinLetterData[i][2], wideLatinLetterData[i][j]]; + } else if (0x1D7CE <= codePoint && codePoint <= 0x1D7FF) { + // Numerals, ten per row. + var _i = Math.floor((codePoint - 0x1D7CE) / 10); + + return [wideNumeralData[_i][2], wideNumeralData[_i][j]]; + } else if (codePoint === 0x1D6A5 || codePoint === 0x1D6A6) { + // dotless i or j + return [wideLatinLetterData[0][2], wideLatinLetterData[0][j]]; + } else if (0x1D6A6 < codePoint && codePoint < 0x1D7CE) { + // Greek letters. Not supported, yet. + return ["", ""]; + } else { + // We don't support any wide characters outside 1D400–1D7FF. + throw new src_ParseError("Unsupported character: " + wideChar); + } +}; +// CONCATENATED MODULE: ./src/Options.js +/** + * This file contains information about the options that the Parser carries + * around with it while parsing. Data is held in an `Options` object, and when + * recursing, a new `Options` object can be created with the `.with*` and + * `.reset` functions. + */ + +var sizeStyleMap = [// Each element contains [textsize, scriptsize, scriptscriptsize]. +// The size mappings are taken from TeX with \normalsize=10pt. +[1, 1, 1], // size1: [5, 5, 5] \tiny +[2, 1, 1], // size2: [6, 5, 5] +[3, 1, 1], // size3: [7, 5, 5] \scriptsize +[4, 2, 1], // size4: [8, 6, 5] \footnotesize +[5, 2, 1], // size5: [9, 6, 5] \small +[6, 3, 1], // size6: [10, 7, 5] \normalsize +[7, 4, 2], // size7: [12, 8, 6] \large +[8, 6, 3], // size8: [14.4, 10, 7] \Large +[9, 7, 6], // size9: [17.28, 12, 10] \LARGE +[10, 8, 7], // size10: [20.74, 14.4, 12] \huge +[11, 10, 9]]; +var sizeMultipliers = [// fontMetrics.js:getGlobalMetrics also uses size indexes, so if +// you change size indexes, change that function. +0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.44, 1.728, 2.074, 2.488]; + +var sizeAtStyle = function sizeAtStyle(size, style) { + return style.size < 2 ? size : sizeStyleMap[size - 1][style.size - 1]; +}; // In these types, "" (empty string) means "no change". + + +/** + * This is the main options class. It contains the current style, size, color, + * and font. + * + * Options objects should not be modified. To create a new Options with + * different properties, call a `.having*` method. + */ +var Options_Options = +/*#__PURE__*/ +function () { + // A font family applies to a group of fonts (i.e. SansSerif), while a font + // represents a specific font (i.e. SansSerif Bold). + // See: https://tex.stackexchange.com/questions/22350/difference-between-textrm-and-mathrm + + /** + * The base size index. + */ + function Options(data) { + 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 = data.style; + this.color = data.color; + this.size = data.size || Options.BASESIZE; + this.textSize = data.textSize || this.size; + this.phantom = !!data.phantom; + this.font = data.font || ""; + this.fontFamily = data.fontFamily || ""; + this.fontWeight = data.fontWeight || ''; + this.fontShape = data.fontShape || ''; + this.sizeMultiplier = sizeMultipliers[this.size - 1]; + this.maxSize = data.maxSize; + this.minRuleThickness = data.minRuleThickness; + this._fontMetrics = undefined; + } + /** + * Returns a new options object with the same properties as "this". Properties + * from "extension" will be copied to the new options object. + */ + + + var _proto = Options.prototype; + + _proto.extend = function extend(extension) { + var data = { + 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 key in extension) { + if (extension.hasOwnProperty(key)) { + data[key] = extension[key]; + } + } + + return new Options(data); + } + /** + * Return an options object with the given style. If `this.style === style`, + * returns `this`. + */ + ; + + _proto.havingStyle = function havingStyle(style) { + if (this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: sizeAtStyle(this.textSize, style) + }); + } + } + /** + * Return an options object with a cramped version of the current style. If + * the current style is cramped, returns `this`. + */ + ; + + _proto.havingCrampedStyle = function havingCrampedStyle() { + return this.havingStyle(this.style.cramp()); + } + /** + * Return an options object with the given size and in at least `\textstyle`. + * Returns `this` if appropriate. + */ + ; + + _proto.havingSize = function havingSize(size) { + if (this.size === size && this.textSize === size) { + return this; + } else { + return this.extend({ + style: this.style.text(), + size: size, + textSize: size, + sizeMultiplier: sizeMultipliers[size - 1] + }); + } + } + /** + * Like `this.havingSize(BASESIZE).havingStyle(style)`. If `style` is omitted, + * changes to at least `\textstyle`. + */ + ; + + _proto.havingBaseStyle = function havingBaseStyle(style) { + style = style || this.style.text(); + var wantSize = sizeAtStyle(Options.BASESIZE, style); + + if (this.size === wantSize && this.textSize === Options.BASESIZE && this.style === style) { + return this; + } else { + return this.extend({ + style: style, + size: wantSize + }); + } + } + /** + * Remove the effect of sizing changes such as \Huge. + * Keep the effect of the current style, such as \scriptstyle. + */ + ; + + _proto.havingBaseSizing = function havingBaseSizing() { + var size; + + switch (this.style.id) { + case 4: + case 5: + size = 3; // normalsize in scriptstyle + + break; + + case 6: + case 7: + size = 1; // normalsize in scriptscriptstyle + + break; + + default: + size = 6; + // normalsize in textstyle or displaystyle + } + + return this.extend({ + style: this.style.text(), + size: size + }); + } + /** + * Create a new options object with the given color. + */ + ; + + _proto.withColor = function withColor(color) { + return this.extend({ + color: color + }); + } + /** + * Create a new options object with "phantom" set to true. + */ + ; + + _proto.withPhantom = function withPhantom() { + return this.extend({ + phantom: true + }); + } + /** + * Creates a new options object with the given math font or old text font. + * @type {[type]} + */ + ; + + _proto.withFont = function withFont(font) { + return this.extend({ + font: font + }); + } + /** + * Create a new options objects with the given fontFamily. + */ + ; + + _proto.withTextFontFamily = function withTextFontFamily(fontFamily) { + return this.extend({ + fontFamily: fontFamily, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + ; + + _proto.withTextFontWeight = function withTextFontWeight(fontWeight) { + return this.extend({ + fontWeight: fontWeight, + font: "" + }); + } + /** + * Creates a new options object with the given font weight + */ + ; + + _proto.withTextFontShape = function withTextFontShape(fontShape) { + return this.extend({ + fontShape: fontShape, + font: "" + }); + } + /** + * Return the CSS sizing classes required to switch from enclosing options + * `oldOptions` to `this`. Returns an array of classes. + */ + ; + + _proto.sizingClasses = function sizingClasses(oldOptions) { + if (oldOptions.size !== this.size) { + return ["sizing", "reset-size" + oldOptions.size, "size" + this.size]; + } else { + return []; + } + } + /** + * Return the CSS sizing classes required to switch to the base size. Like + * `this.havingSize(BASESIZE).sizingClasses(this)`. + */ + ; + + _proto.baseSizingClasses = function baseSizingClasses() { + if (this.size !== Options.BASESIZE) { + return ["sizing", "reset-size" + this.size, "size" + Options.BASESIZE]; + } else { + return []; + } + } + /** + * Return the font metrics for this size. + */ + ; + + _proto.fontMetrics = function fontMetrics() { + if (!this._fontMetrics) { + this._fontMetrics = getGlobalMetrics(this.size); + } + + return this._fontMetrics; + } + /** + * Gets the CSS color of the current options object + */ + ; + + _proto.getColor = function getColor() { + if (this.phantom) { + return "transparent"; + } else { + return this.color; + } + }; + + return Options; +}(); + +Options_Options.BASESIZE = 6; +/* harmony default export */ var src_Options = (Options_Options); +// CONCATENATED MODULE: ./src/units.js +/** + * This file does conversion between units. In particular, it provides + * calculateSize to convert other units into ems. + */ + + // This table gives the number of TeX pts in one of each *absolute* TeX unit. +// Thus, multiplying a length by this number converts the length from units +// into pts. Dividing the result by ptPerEm gives the number of ems +// *assuming* a font size of ptPerEm (normal size, normal style). + +var ptPerUnit = { + // https://en.wikibooks.org/wiki/LaTeX/Lengths and + // https://tex.stackexchange.com/a/8263 + "pt": 1, + // TeX point + "mm": 7227 / 2540, + // millimeter + "cm": 7227 / 254, + // centimeter + "in": 72.27, + // inch + "bp": 803 / 800, + // big (PostScript) points + "pc": 12, + // pica + "dd": 1238 / 1157, + // didot + "cc": 14856 / 1157, + // cicero (12 didot) + "nd": 685 / 642, + // new didot + "nc": 1370 / 107, + // new cicero (12 new didot) + "sp": 1 / 65536, + // scaled point (TeX's internal smallest unit) + // https://tex.stackexchange.com/a/41371 + "px": 803 / 800 // \pdfpxdimen defaults to 1 bp in pdfTeX and LuaTeX + +}; // Dictionary of relative units, for fast validity testing. + +var relativeUnit = { + "ex": true, + "em": true, + "mu": true +}; + +/** + * Determine whether the specified unit (either a string defining the unit + * or a "size" parse node containing a unit field) is valid. + */ +var validUnit = function validUnit(unit) { + if (typeof unit !== "string") { + unit = unit.unit; + } + + return unit in ptPerUnit || unit in relativeUnit || unit === "ex"; +}; +/* + * Convert a "size" parse node (with numeric "number" and string "unit" fields, + * as parsed by functions.js argType "size") into a CSS em value for the + * current style/scale. `options` gives the current options. + */ + +var units_calculateSize = function calculateSize(sizeValue, options) { + var scale; + + if (sizeValue.unit in ptPerUnit) { + // Absolute units + scale = ptPerUnit[sizeValue.unit] // Convert unit to pt + / options.fontMetrics().ptPerEm // Convert pt to CSS em + / options.sizeMultiplier; // Unscale to make absolute units + } else if (sizeValue.unit === "mu") { + // `mu` units scale with scriptstyle/scriptscriptstyle. + scale = options.fontMetrics().cssEmPerMu; + } else { + // Other relative units always refer to the *textstyle* font + // in the current size. + var unitOptions; + + if (options.style.isTight()) { + // isTight() means current style is script/scriptscript. + unitOptions = options.havingStyle(options.style.text()); + } else { + unitOptions = options; + } // TODO: In TeX these units are relative to the quad of the current + // *text* font, e.g. cmr10. KaTeX instead uses values from the + // comparably-sized *Computer Modern symbol* font. At 10pt, these + // match. At 7pt and 5pt, they differ: cmr7=1.138894, cmsy7=1.170641; + // cmr5=1.361133, cmsy5=1.472241. Consider $\scriptsize a\kern1emb$. + // TeX \showlists shows a kern of 1.13889 * fontsize; + // KaTeX shows a kern of 1.171 * fontsize. + + + if (sizeValue.unit === "ex") { + scale = unitOptions.fontMetrics().xHeight; + } else if (sizeValue.unit === "em") { + scale = unitOptions.fontMetrics().quad; + } else { + throw new src_ParseError("Invalid unit: '" + sizeValue.unit + "'"); + } + + if (unitOptions !== options) { + scale *= unitOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + return Math.min(sizeValue.number * scale, options.maxSize); +}; +// CONCATENATED MODULE: ./src/buildCommon.js +/* eslint no-console:0 */ + +/** + * This module contains general functions that can be used for building + * different kinds of domTree nodes in a consistent manner. + */ + + + + + + + +// The following have to be loaded from Main-Italic font, using class mathit +var mathitLetters = ["\\imath", "ı", // dotless i +"\\jmath", "ȷ", // dotless j +"\\pounds", "\\mathsterling", "\\textsterling", "£"]; +/** + * Looks up the given symbol in fontMetrics, after applying any symbol + * replacements defined in symbol.js + */ + +var buildCommon_lookupSymbol = function lookupSymbol(value, // TODO(#963): Use a union type for this. +fontName, mode) { + // Replace the value with its replaced value from symbol.js + if (src_symbols[mode][value] && src_symbols[mode][value].replace) { + value = src_symbols[mode][value].replace; + } + + return { + value: value, + metrics: getCharacterMetrics(value, fontName, mode) + }; +}; +/** + * Makes a symbolNode after translation via the list of symbols in symbols.js. + * Correctly pulls out metrics for the character, and optionally takes a list of + * classes to be attached to the node. + * + * TODO: make argument order closer to makeSpan + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + * TODO(#953): Make `options` mandatory and always pass it in. + */ + + +var buildCommon_makeSymbol = function makeSymbol(value, fontName, mode, options, classes) { + var lookup = buildCommon_lookupSymbol(value, fontName, mode); + var metrics = lookup.metrics; + value = lookup.value; + var symbolNode; + + if (metrics) { + var italic = metrics.italic; + + if (mode === "text" || options && options.font === "mathit") { + italic = 0; + } + + symbolNode = new domTree_SymbolNode(value, metrics.height, metrics.depth, italic, metrics.skew, metrics.width, classes); + } else { + // TODO(emily): Figure out a good way to only print this in development + typeof console !== "undefined" && console.warn("No character metrics " + ("for '" + value + "' in style '" + fontName + "' and mode '" + mode + "'")); + symbolNode = new domTree_SymbolNode(value, 0, 0, 0, 0, 0, classes); + } + + if (options) { + symbolNode.maxFontSize = options.sizeMultiplier; + + if (options.style.isTight()) { + symbolNode.classes.push("mtight"); + } + + var color = options.getColor(); + + if (color) { + symbolNode.style.color = color; + } + } + + return symbolNode; +}; +/** + * Makes a symbol in Main-Regular or AMS-Regular. + * Used for rel, bin, open, close, inner, and punct. + */ + + +var buildCommon_mathsym = function mathsym(value, mode, options, classes) { + if (classes === void 0) { + classes = []; + } + + // Decide what font to render the symbol in by its entry in the symbols + // table. + // Have a special case for when the value = \ because the \ is used as a + // textord in unsupported command errors but cannot be parsed as a regular + // text ordinal and is therefore not present as a symbol in the symbols + // table for text, as well as a special case for boldsymbol because it + // can be used for bold + and - + if (options.font === "boldsymbol" && buildCommon_lookupSymbol(value, "Main-Bold", mode).metrics) { + return buildCommon_makeSymbol(value, "Main-Bold", mode, options, classes.concat(["mathbf"])); + } else if (value === "\\" || src_symbols[mode][value].font === "main") { + return buildCommon_makeSymbol(value, "Main-Regular", mode, options, classes); + } else { + return buildCommon_makeSymbol(value, "AMS-Regular", mode, options, classes.concat(["amsrm"])); + } +}; +/** + * Determines which of the two font names (Main-Italic and Math-Italic) and + * corresponding style tags (maindefault or mathit) to use for default math font, + * depending on the symbol. + */ + + +var buildCommon_mathdefault = function mathdefault(value, mode, options, classes) { + if (/[0-9]/.test(value.charAt(0)) || // glyphs for \imath and \jmath do not exist in Math-Italic so we + // need to use Main-Italic instead + utils.contains(mathitLetters, value)) { + return { + fontName: "Main-Italic", + fontClass: "mathit" + }; + } else { + return { + fontName: "Math-Italic", + fontClass: "mathdefault" + }; + } +}; +/** + * Determines which of the font names (Main-Italic, Math-Italic, and Caligraphic) + * and corresponding style tags (mathit, mathdefault, or mathcal) to use for font + * "mathnormal", depending on the symbol. Use this function instead of fontMap for + * font "mathnormal". + */ + + +var buildCommon_mathnormal = function mathnormal(value, mode, options, classes) { + if (utils.contains(mathitLetters, value)) { + return { + fontName: "Main-Italic", + fontClass: "mathit" + }; + } else if (/[0-9]/.test(value.charAt(0))) { + return { + fontName: "Caligraphic-Regular", + fontClass: "mathcal" + }; + } else { + return { + fontName: "Math-Italic", + fontClass: "mathdefault" + }; + } +}; +/** + * Determines which of the two font names (Main-Bold and Math-BoldItalic) and + * corresponding style tags (mathbf or boldsymbol) to use for font "boldsymbol", + * depending on the symbol. Use this function instead of fontMap for font + * "boldsymbol". + */ + + +var boldsymbol = function boldsymbol(value, mode, options, classes) { + if (buildCommon_lookupSymbol(value, "Math-BoldItalic", mode).metrics) { + return { + fontName: "Math-BoldItalic", + fontClass: "boldsymbol" + }; + } else { + // Some glyphs do not exist in Math-BoldItalic so we need to use + // Main-Bold instead. + return { + fontName: "Main-Bold", + fontClass: "mathbf" + }; + } +}; +/** + * Makes either a mathord or textord in the correct font and color. + */ + + +var buildCommon_makeOrd = function makeOrd(group, options, type) { + var mode = group.mode; + var text = group.text; + var classes = ["mord"]; // Math mode or Old font (i.e. \rm) + + var isFont = mode === "math" || mode === "text" && options.font; + var fontOrFamily = isFont ? options.font : options.fontFamily; + + if (text.charCodeAt(0) === 0xD835) { + // surrogate pairs get special treatment + var _wideCharacterFont = wide_character_wideCharacterFont(text, mode), + wideFontName = _wideCharacterFont[0], + wideFontClass = _wideCharacterFont[1]; + + return buildCommon_makeSymbol(text, wideFontName, mode, options, classes.concat(wideFontClass)); + } else if (fontOrFamily) { + var fontName; + var fontClasses; + + if (fontOrFamily === "boldsymbol" || fontOrFamily === "mathnormal") { + var fontData = fontOrFamily === "boldsymbol" ? boldsymbol(text, mode, options, classes) : buildCommon_mathnormal(text, mode, options, classes); + fontName = fontData.fontName; + fontClasses = [fontData.fontClass]; + } else if (utils.contains(mathitLetters, text)) { + fontName = "Main-Italic"; + fontClasses = ["mathit"]; + } else if (isFont) { + fontName = fontMap[fontOrFamily].fontName; + fontClasses = [fontOrFamily]; + } else { + fontName = retrieveTextFontName(fontOrFamily, options.fontWeight, options.fontShape); + fontClasses = [fontOrFamily, options.fontWeight, options.fontShape]; + } + + if (buildCommon_lookupSymbol(text, fontName, mode).metrics) { + return buildCommon_makeSymbol(text, fontName, mode, options, classes.concat(fontClasses)); + } else if (ligatures.hasOwnProperty(text) && fontName.substr(0, 10) === "Typewriter") { + // Deconstruct ligatures in monospace fonts (\texttt, \tt). + var parts = []; + + for (var i = 0; i < text.length; i++) { + parts.push(buildCommon_makeSymbol(text[i], fontName, mode, options, classes.concat(fontClasses))); + } + + return buildCommon_makeFragment(parts); + } + } // Makes a symbol in the default font for mathords and textords. + + + if (type === "mathord") { + var fontLookup = buildCommon_mathdefault(text, mode, options, classes); + return buildCommon_makeSymbol(text, fontLookup.fontName, mode, options, classes.concat([fontLookup.fontClass])); + } else if (type === "textord") { + var font = src_symbols[mode][text] && src_symbols[mode][text].font; + + if (font === "ams") { + var _fontName = retrieveTextFontName("amsrm", options.fontWeight, options.fontShape); + + return buildCommon_makeSymbol(text, _fontName, mode, options, classes.concat("amsrm", options.fontWeight, options.fontShape)); + } else if (font === "main" || !font) { + var _fontName2 = retrieveTextFontName("textrm", options.fontWeight, options.fontShape); + + return buildCommon_makeSymbol(text, _fontName2, mode, options, classes.concat(options.fontWeight, options.fontShape)); + } else { + // fonts added by plugins + var _fontName3 = retrieveTextFontName(font, options.fontWeight, options.fontShape); // We add font name as a css class + + + return buildCommon_makeSymbol(text, _fontName3, mode, options, classes.concat(_fontName3, options.fontWeight, options.fontShape)); + } + } else { + throw new Error("unexpected type: " + type + " in makeOrd"); + } +}; +/** + * Returns true if subsequent symbolNodes have the same classes, skew, maxFont, + * and styles. + */ + + +var buildCommon_canCombine = function canCombine(prev, next) { + if (createClass(prev.classes) !== createClass(next.classes) || prev.skew !== next.skew || prev.maxFontSize !== next.maxFontSize) { + return false; + } + + for (var style in prev.style) { + if (prev.style.hasOwnProperty(style) && prev.style[style] !== next.style[style]) { + return false; + } + } + + for (var _style in next.style) { + if (next.style.hasOwnProperty(_style) && prev.style[_style] !== next.style[_style]) { + return false; + } + } + + return true; +}; +/** + * Combine consequetive domTree.symbolNodes into a single symbolNode. + * Note: this function mutates the argument. + */ + + +var buildCommon_tryCombineChars = function tryCombineChars(chars) { + for (var i = 0; i < chars.length - 1; i++) { + var prev = chars[i]; + var next = chars[i + 1]; + + if (prev instanceof domTree_SymbolNode && next instanceof domTree_SymbolNode && buildCommon_canCombine(prev, next)) { + prev.text += next.text; + prev.height = Math.max(prev.height, next.height); + prev.depth = Math.max(prev.depth, next.depth); // Use the last character's italic correction since we use + // it to add padding to the right of the span created from + // the combined characters. + + prev.italic = next.italic; + chars.splice(i + 1, 1); + i--; + } + } + + return chars; +}; +/** + * Calculate the height, depth, and maxFontSize of an element based on its + * children. + */ + + +var sizeElementFromChildren = function sizeElementFromChildren(elem) { + var height = 0; + var depth = 0; + var maxFontSize = 0; + + for (var i = 0; i < elem.children.length; i++) { + var child = elem.children[i]; + + if (child.height > height) { + height = child.height; + } + + if (child.depth > depth) { + depth = child.depth; + } + + if (child.maxFontSize > maxFontSize) { + maxFontSize = child.maxFontSize; + } + } + + elem.height = height; + elem.depth = depth; + elem.maxFontSize = maxFontSize; +}; +/** + * Makes a span with the given list of classes, list of children, and options. + * + * TODO(#953): Ensure that `options` is always provided (currently some call + * sites don't pass it) and make the type below mandatory. + * TODO: add a separate argument for math class (e.g. `mop`, `mbin`), which + * should if present come first in `classes`. + */ + + +var buildCommon_makeSpan = function makeSpan(classes, children, options, style) { + var span = new domTree_Span(classes, children, options, style); + sizeElementFromChildren(span); + return span; +}; // SVG one is simpler -- doesn't require height, depth, max-font setting. +// This is also a separate method for typesafety. + + +var buildCommon_makeSvgSpan = function makeSvgSpan(classes, children, options, style) { + return new domTree_Span(classes, children, options, style); +}; + +var makeLineSpan = function makeLineSpan(className, options, thickness) { + var line = buildCommon_makeSpan([className], [], options); + line.height = Math.max(thickness || options.fontMetrics().defaultRuleThickness, options.minRuleThickness); + line.style.borderBottomWidth = line.height + "em"; + line.maxFontSize = 1.0; + return line; +}; +/** + * Makes an anchor with the given href, list of classes, list of children, + * and options. + */ + + +var buildCommon_makeAnchor = function makeAnchor(href, classes, children, options) { + var anchor = new domTree_Anchor(href, classes, children, options); + sizeElementFromChildren(anchor); + return anchor; +}; +/** + * Makes a document fragment with the given list of children. + */ + + +var buildCommon_makeFragment = function makeFragment(children) { + var fragment = new tree_DocumentFragment(children); + sizeElementFromChildren(fragment); + return fragment; +}; +/** + * Wraps group in a span if it's a document fragment, allowing to apply classes + * and styles + */ + + +var buildCommon_wrapFragment = function wrapFragment(group, options) { + if (group instanceof tree_DocumentFragment) { + return buildCommon_makeSpan([], [group], options); + } + + return group; +}; // These are exact object types to catch typos in the names of the optional fields. + + +// Computes the updated `children` list and the overall depth. +// +// This helper function for makeVList makes it easier to enforce type safety by +// allowing early exits (returns) in the logic. +var getVListChildrenAndDepth = function getVListChildrenAndDepth(params) { + if (params.positionType === "individualShift") { + var oldChildren = params.children; + var children = [oldChildren[0]]; // Add in kerns to the list of params.children to get each element to be + // shifted to the correct specified shift + + var _depth = -oldChildren[0].shift - oldChildren[0].elem.depth; + + var currPos = _depth; + + for (var i = 1; i < oldChildren.length; i++) { + var diff = -oldChildren[i].shift - currPos - oldChildren[i].elem.depth; + var size = diff - (oldChildren[i - 1].elem.height + oldChildren[i - 1].elem.depth); + currPos = currPos + diff; + children.push({ + type: "kern", + size: size + }); + children.push(oldChildren[i]); + } + + return { + children: children, + depth: _depth + }; + } + + var depth; + + if (params.positionType === "top") { + // We always start at the bottom, so calculate the bottom by adding up + // all the sizes + var bottom = params.positionData; + + for (var _i = 0; _i < params.children.length; _i++) { + var child = params.children[_i]; + bottom -= child.type === "kern" ? child.size : child.elem.height + child.elem.depth; + } + + depth = bottom; + } else if (params.positionType === "bottom") { + depth = -params.positionData; + } else { + var firstChild = params.children[0]; + + if (firstChild.type !== "elem") { + throw new Error('First child must have type "elem".'); + } + + if (params.positionType === "shift") { + depth = -firstChild.elem.depth - params.positionData; + } else if (params.positionType === "firstBaseline") { + depth = -firstChild.elem.depth; + } else { + throw new Error("Invalid positionType " + params.positionType + "."); + } + } + + return { + children: params.children, + depth: depth + }; +}; +/** + * Makes a vertical list by stacking elements and kerns on top of each other. + * Allows for many different ways of specifying the positioning method. + * + * See VListParam documentation above. + */ + + +var buildCommon_makeVList = function makeVList(params, options) { + var _getVListChildrenAndD = getVListChildrenAndDepth(params), + children = _getVListChildrenAndD.children, + depth = _getVListChildrenAndD.depth; // Create a strut that is taller than any list item. The strut is added to + // each item, where it will determine the item's baseline. Since it has + // `overflow:hidden`, the strut's top edge will sit on the item's line box's + // top edge and the strut's bottom edge will sit on the item's baseline, + // with no additional line-height spacing. This allows the item baseline to + // be positioned precisely without worrying about font ascent and + // line-height. + + + var pstrutSize = 0; + + for (var i = 0; i < children.length; i++) { + var child = children[i]; + + if (child.type === "elem") { + var elem = child.elem; + pstrutSize = Math.max(pstrutSize, elem.maxFontSize, elem.height); + } + } + + pstrutSize += 2; + var pstrut = buildCommon_makeSpan(["pstrut"], []); + pstrut.style.height = pstrutSize + "em"; // Create a new list of actual children at the correct offsets + + var realChildren = []; + var minPos = depth; + var maxPos = depth; + var currPos = depth; + + for (var _i2 = 0; _i2 < children.length; _i2++) { + var _child = children[_i2]; + + if (_child.type === "kern") { + currPos += _child.size; + } else { + var _elem = _child.elem; + var classes = _child.wrapperClasses || []; + var style = _child.wrapperStyle || {}; + var childWrap = buildCommon_makeSpan(classes, [pstrut, _elem], undefined, style); + childWrap.style.top = -pstrutSize - currPos - _elem.depth + "em"; + + if (_child.marginLeft) { + childWrap.style.marginLeft = _child.marginLeft; + } + + if (_child.marginRight) { + childWrap.style.marginRight = _child.marginRight; + } + + realChildren.push(childWrap); + currPos += _elem.height + _elem.depth; + } + + minPos = Math.min(minPos, currPos); + maxPos = Math.max(maxPos, currPos); + } // The vlist contents go in a table-cell with `vertical-align:bottom`. + // This cell's bottom edge will determine the containing table's baseline + // without overly expanding the containing line-box. + + + var vlist = buildCommon_makeSpan(["vlist"], realChildren); + vlist.style.height = maxPos + "em"; // A second row is used if necessary to represent the vlist's depth. + + var rows; + + if (minPos < 0) { + // We will define depth in an empty span with display: table-cell. + // It should render with the height that we define. But Chrome, in + // contenteditable mode only, treats that span as if it contains some + // text content. And that min-height over-rides our desired height. + // So we put another empty span inside the depth strut span. + var emptySpan = buildCommon_makeSpan([], []); + var depthStrut = buildCommon_makeSpan(["vlist"], [emptySpan]); + depthStrut.style.height = -minPos + "em"; // Safari wants the first row to have inline content; otherwise it + // puts the bottom of the *second* row on the baseline. + + var topStrut = buildCommon_makeSpan(["vlist-s"], [new domTree_SymbolNode("\u200B")]); + rows = [buildCommon_makeSpan(["vlist-r"], [vlist, topStrut]), buildCommon_makeSpan(["vlist-r"], [depthStrut])]; + } else { + rows = [buildCommon_makeSpan(["vlist-r"], [vlist])]; + } + + var vtable = buildCommon_makeSpan(["vlist-t"], rows); + + if (rows.length === 2) { + vtable.classes.push("vlist-t2"); + } + + vtable.height = maxPos; + vtable.depth = -minPos; + return vtable; +}; // Glue is a concept from TeX which is a flexible space between elements in +// either a vertical or horizontal list. In KaTeX, at least for now, it's +// static space between elements in a horizontal layout. + + +var buildCommon_makeGlue = function makeGlue(measurement, options) { + // Make an empty span for the space + var rule = buildCommon_makeSpan(["mspace"], [], options); + var size = units_calculateSize(measurement, options); + rule.style.marginRight = size + "em"; + return rule; +}; // Takes font options, and returns the appropriate fontLookup name + + +var retrieveTextFontName = function retrieveTextFontName(fontFamily, fontWeight, fontShape) { + var baseFontName = ""; + + switch (fontFamily) { + case "amsrm": + baseFontName = "AMS"; + break; + + case "textrm": + baseFontName = "Main"; + break; + + case "textsf": + baseFontName = "SansSerif"; + break; + + case "texttt": + baseFontName = "Typewriter"; + break; + + default: + baseFontName = fontFamily; + // use fonts added by a plugin + } + + var fontStylesName; + + if (fontWeight === "textbf" && fontShape === "textit") { + fontStylesName = "BoldItalic"; + } else if (fontWeight === "textbf") { + fontStylesName = "Bold"; + } else if (fontWeight === "textit") { + fontStylesName = "Italic"; + } else { + fontStylesName = "Regular"; + } + + return baseFontName + "-" + fontStylesName; +}; +/** + * Maps TeX font commands to objects containing: + * - variant: string used for "mathvariant" attribute in buildMathML.js + * - fontName: the "style" parameter to fontMetrics.getCharacterMetrics + */ +// A map between tex font commands an MathML mathvariant attribute values + + +var fontMap = { + // styles + "mathbf": { + variant: "bold", + fontName: "Main-Bold" + }, + "mathrm": { + variant: "normal", + fontName: "Main-Regular" + }, + "textit": { + variant: "italic", + fontName: "Main-Italic" + }, + "mathit": { + variant: "italic", + fontName: "Main-Italic" + }, + // Default math font, "mathnormal" and "boldsymbol" are missing because they + // require the use of several fonts: Main-Italic and Math-Italic for default + // math font, Main-Italic, Math-Italic, Caligraphic for "mathnormal", and + // Math-BoldItalic and Main-Bold for "boldsymbol". This is handled by a + // special case in makeOrd which ends up calling mathdefault, mathnormal, + // and boldsymbol. + // families + "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" + } +}; +var svgData = { + // path, width, height + vec: ["vec", 0.471, 0.714], + // values from the font glyph + oiintSize1: ["oiintSize1", 0.957, 0.499], + // oval to overlay the integrand + oiintSize2: ["oiintSize2", 1.472, 0.659], + oiiintSize1: ["oiiintSize1", 1.304, 0.499], + oiiintSize2: ["oiiintSize2", 1.98, 0.659] +}; + +var buildCommon_staticSvg = function staticSvg(value, options) { + // Create a span with inline SVG for the element. + var _svgData$value = svgData[value], + pathName = _svgData$value[0], + width = _svgData$value[1], + height = _svgData$value[2]; + var path = new domTree_PathNode(pathName); + var svgNode = new SvgNode([path], { + "width": width + "em", + "height": height + "em", + // Override CSS rule `.katex svg { width: 100% }` + "style": "width:" + width + "em", + "viewBox": "0 0 " + 1000 * width + " " + 1000 * height, + "preserveAspectRatio": "xMinYMin" + }); + var span = buildCommon_makeSvgSpan(["overlay"], [svgNode], options); + span.height = height; + span.style.height = height + "em"; + span.style.width = width + "em"; + return span; +}; + +/* harmony default export */ var buildCommon = ({ + fontMap: fontMap, + makeSymbol: buildCommon_makeSymbol, + mathsym: buildCommon_mathsym, + makeSpan: buildCommon_makeSpan, + makeSvgSpan: buildCommon_makeSvgSpan, + makeLineSpan: makeLineSpan, + makeAnchor: buildCommon_makeAnchor, + makeFragment: buildCommon_makeFragment, + wrapFragment: buildCommon_wrapFragment, + makeVList: buildCommon_makeVList, + makeOrd: buildCommon_makeOrd, + makeGlue: buildCommon_makeGlue, + staticSvg: buildCommon_staticSvg, + svgData: svgData, + tryCombineChars: buildCommon_tryCombineChars +}); +// CONCATENATED MODULE: ./src/parseNode.js + + +/** + * Asserts that the node is of the given type and returns it with stricter + * typing. Throws if the node's type does not match. + */ +function assertNodeType(node, type) { + var typedNode = checkNodeType(node, type); + + if (!typedNode) { + throw new Error("Expected node of type " + type + ", but got " + (node ? "node of type " + node.type : String(node))); + } // $FlowFixMe: Unsure why. + + + return typedNode; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function checkNodeType(node, type) { + if (node && node.type === type) { + // The definition of ParseNode doesn't communicate to flow that + // `type: TYPE` (as that's not explicitly mentioned anywhere), though that + // happens to be true for all our value types. + // $FlowFixMe + return node; + } + + return null; +} +/** + * Asserts that the node is of the given type and returns it with stricter + * typing. Throws if the node's type does not match. + */ + +function assertAtomFamily(node, family) { + var typedNode = checkAtomFamily(node, family); + + if (!typedNode) { + throw new Error("Expected node of type \"atom\" and family \"" + family + "\", but got " + (node ? node.type === "atom" ? "atom of family " + node.family : "node of type " + node.type : String(node))); + } + + return typedNode; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function checkAtomFamily(node, family) { + return node && node.type === "atom" && node.family === family ? node : null; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function assertSymbolNodeType(node) { + var typedNode = checkSymbolNodeType(node); + + if (!typedNode) { + throw new Error("Expected node of symbol group type, but got " + (node ? "node of type " + node.type : String(node))); + } + + return typedNode; +} +/** + * Returns the node more strictly typed iff it is of the given type. Otherwise, + * returns null. + */ + +function checkSymbolNodeType(node) { + if (node && (node.type === "atom" || NON_ATOMS.hasOwnProperty(node.type))) { + // $FlowFixMe + return node; + } + + return null; +} +// CONCATENATED MODULE: ./src/spacingData.js +/** + * Describes spaces between different classes of atoms. + */ +var thinspace = { + number: 3, + unit: "mu" +}; +var mediumspace = { + number: 4, + unit: "mu" +}; +var thickspace = { + number: 5, + unit: "mu" +}; // Making the type below exact with all optional fields doesn't work due to +// - https://github.com/facebook/flow/issues/4582 +// - https://github.com/facebook/flow/issues/5688 +// However, since *all* fields are optional, $Shape<> works as suggested in 5688 +// above. + +// Spacing relationships for display and text styles +var spacings = { + mord: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + minner: thinspace + }, + mbin: { + mord: mediumspace, + mop: mediumspace, + mopen: mediumspace, + minner: mediumspace + }, + mrel: { + mord: thickspace, + mop: thickspace, + mopen: thickspace, + minner: thickspace + }, + mopen: {}, + mclose: { + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + minner: thinspace + }, + mpunct: { + mord: thinspace, + mop: thinspace, + mrel: thickspace, + mopen: thinspace, + mclose: thinspace, + mpunct: thinspace, + minner: thinspace + }, + minner: { + mord: thinspace, + mop: thinspace, + mbin: mediumspace, + mrel: thickspace, + mopen: thinspace, + mpunct: thinspace, + minner: thinspace + } +}; // Spacing relationships for script and scriptscript styles + +var tightSpacings = { + mord: { + mop: thinspace + }, + mop: { + mord: thinspace, + mop: thinspace + }, + mbin: {}, + mrel: {}, + mopen: {}, + mclose: { + mop: thinspace + }, + mpunct: {}, + minner: { + mop: thinspace + } +}; +// CONCATENATED MODULE: ./src/defineFunction.js + + +/** + * All registered functions. + * `functions.js` just exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary. + */ +var _functions = {}; +/** + * All HTML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +var _htmlGroupBuilders = {}; +/** + * All MathML builders. Should be only used in the `define*` and the `build*ML` + * functions. + */ + +var _mathmlGroupBuilders = {}; +function defineFunction(_ref) { + var type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of functions + var data = { + type: type, + numArgs: props.numArgs, + argTypes: props.argTypes, + greediness: props.greediness === undefined ? 1 : props.greediness, + allowedInText: !!props.allowedInText, + allowedInMath: props.allowedInMath === undefined ? true : props.allowedInMath, + numOptionalArgs: props.numOptionalArgs || 0, + infix: !!props.infix, + handler: handler + }; + + for (var i = 0; i < names.length; ++i) { + _functions[names[i]] = data; + } + + if (type) { + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } + } +} +/** + * Use this to register only the HTML and MathML builders for a function (e.g. + * if the function's ParseNode is generated in Parser.js rather than via a + * stand-alone handler provided to `defineFunction`). + */ + +function defineFunctionBuilders(_ref2) { + var type = _ref2.type, + htmlBuilder = _ref2.htmlBuilder, + mathmlBuilder = _ref2.mathmlBuilder; + defineFunction({ + type: type, + names: [], + props: { + numArgs: 0 + }, + handler: function handler() { + throw new Error('Should never be called.'); + }, + htmlBuilder: htmlBuilder, + mathmlBuilder: mathmlBuilder + }); +} // Since the corresponding buildHTML/buildMathML function expects a +// list of elements, we normalize for different kinds of arguments + +var defineFunction_ordargument = function ordargument(arg) { + var node = checkNodeType(arg, "ordgroup"); + return node ? node.body : [arg]; +}; +// CONCATENATED MODULE: ./src/buildHTML.js +/** + * This file does the main work of building a domTree structure from a parse + * tree. The entry point is the `buildHTML` function, which takes a parse tree. + * Then, the buildExpression, buildGroup, and various groupBuilders functions + * are called, to produce a final HTML tree. + */ + + + + + + + + + +var buildHTML_makeSpan = buildCommon.makeSpan; // Binary atoms (first class `mbin`) change into ordinary atoms (`mord`) +// depending on their surroundings. See TeXbook pg. 442-446, Rules 5 and 6, +// and the text before Rule 19. + +var binLeftCanceller = ["leftmost", "mbin", "mopen", "mrel", "mop", "mpunct"]; +var binRightCanceller = ["rightmost", "mrel", "mclose", "mpunct"]; +var styleMap = { + "display": src_Style.DISPLAY, + "text": src_Style.TEXT, + "script": src_Style.SCRIPT, + "scriptscript": src_Style.SCRIPTSCRIPT +}; +var DomEnum = { + mord: "mord", + mop: "mop", + mbin: "mbin", + mrel: "mrel", + mopen: "mopen", + mclose: "mclose", + mpunct: "mpunct", + minner: "minner" +}; + +/** + * Take a list of nodes, build them in order, and return a list of the built + * nodes. documentFragments are flattened into their contents, so the + * returned list contains no fragments. `isRealGroup` is true if `expression` + * is a real group (no atoms will be added on either side), as opposed to + * a partial group (e.g. one created by \color). `surrounding` is an array + * consisting type of nodes that will be added to the left and right. + */ +var buildHTML_buildExpression = function buildExpression(expression, options, isRealGroup, surrounding) { + if (surrounding === void 0) { + surrounding = [null, null]; + } + + // Parse expressions into `groups`. + var groups = []; + + for (var i = 0; i < expression.length; i++) { + var output = buildHTML_buildGroup(expression[i], options); + + if (output instanceof tree_DocumentFragment) { + var children = output.children; + groups.push.apply(groups, children); + } else { + groups.push(output); + } + } // If `expression` is a partial group, let the parent handle spacings + // to avoid processing groups multiple times. + + + if (!isRealGroup) { + return groups; + } + + var glueOptions = options; + + if (expression.length === 1) { + var node = checkNodeType(expression[0], "sizing") || checkNodeType(expression[0], "styling"); + + if (!node) {// No match. + } else if (node.type === "sizing") { + glueOptions = options.havingSize(node.size); + } else if (node.type === "styling") { + glueOptions = options.havingStyle(styleMap[node.style]); + } + } // Dummy spans for determining spacings between surrounding atoms. + // If `expression` has no atoms on the left or right, class "leftmost" + // or "rightmost", respectively, is used to indicate it. + + + var dummyPrev = buildHTML_makeSpan([surrounding[0] || "leftmost"], [], options); + var dummyNext = buildHTML_makeSpan([surrounding[1] || "rightmost"], [], options); // TODO: These code assumes that a node's math class is the first element + // of its `classes` array. A later cleanup should ensure this, for + // instance by changing the signature of `makeSpan`. + // Before determining what spaces to insert, perform bin cancellation. + // Binary operators change to ordinary symbols in some contexts. + + traverseNonSpaceNodes(groups, function (node, prev) { + var prevType = prev.classes[0]; + var type = node.classes[0]; + + if (prevType === "mbin" && utils.contains(binRightCanceller, type)) { + prev.classes[0] = "mord"; + } else if (type === "mbin" && utils.contains(binLeftCanceller, prevType)) { + node.classes[0] = "mord"; + } + }, { + node: dummyPrev + }, dummyNext); + traverseNonSpaceNodes(groups, function (node, prev) { + var prevType = getTypeOfDomTree(prev); + var type = getTypeOfDomTree(node); // 'mtight' indicates that the node is script or scriptscript style. + + var space = prevType && type ? node.hasClass("mtight") ? tightSpacings[prevType][type] : spacings[prevType][type] : null; + + if (space) { + // Insert glue (spacing) after the `prev`. + return buildCommon.makeGlue(space, glueOptions); + } + }, { + node: dummyPrev + }, dummyNext); + return groups; +}; // Depth-first traverse non-space `nodes`, calling `callback` with the current and +// previous node as arguments, optionally returning a node to insert after the +// previous node. `prev` is an object with the previous node and `insertAfter` +// function to insert after it. `next` is a node that will be added to the right. +// Used for bin cancellation and inserting spacings. + +var traverseNonSpaceNodes = function traverseNonSpaceNodes(nodes, callback, prev, next) { + if (next) { + // temporarily append the right node, if exists + nodes.push(next); + } + + var i = 0; + + for (; i < nodes.length; i++) { + var node = nodes[i]; + var partialGroup = buildHTML_checkPartialGroup(node); + + if (partialGroup) { + // Recursive DFS + // $FlowFixMe: make nodes a $ReadOnlyArray by returning a new array + traverseNonSpaceNodes(partialGroup.children, callback, prev); + continue; + } // Ignore explicit spaces (e.g., \;, \,) when determining what implicit + // spacing should go between atoms of different classes + + + if (node.classes[0] === "mspace") { + continue; + } + + var result = callback(node, prev.node); + + if (result) { + if (prev.insertAfter) { + prev.insertAfter(result); + } else { + // insert at front + nodes.unshift(result); + i++; + } + } + + prev.node = node; + + prev.insertAfter = function (index) { + return function (n) { + nodes.splice(index + 1, 0, n); + i++; + }; + }(i); + } + + if (next) { + nodes.pop(); + } +}; // Check if given node is a partial group, i.e., does not affect spacing around. + + +var buildHTML_checkPartialGroup = function checkPartialGroup(node) { + if (node instanceof tree_DocumentFragment || node instanceof domTree_Anchor) { + return node; + } + + return null; +}; // Return the outermost node of a domTree. + + +var getOutermostNode = function getOutermostNode(node, side) { + var partialGroup = buildHTML_checkPartialGroup(node); + + if (partialGroup) { + var children = partialGroup.children; + + if (children.length) { + if (side === "right") { + return getOutermostNode(children[children.length - 1], "right"); + } else if (side === "left") { + return getOutermostNode(children[0], "left"); + } + } + } + + return node; +}; // Return math atom class (mclass) of a domTree. +// If `side` is given, it will get the type of the outermost node at given side. + + +var getTypeOfDomTree = function getTypeOfDomTree(node, side) { + if (!node) { + return null; + } + + if (side) { + node = getOutermostNode(node, side); + } // This makes a lot of assumptions as to where the type of atom + // appears. We should do a better job of enforcing this. + + + return DomEnum[node.classes[0]] || null; +}; +var makeNullDelimiter = function makeNullDelimiter(options, classes) { + var moreClasses = ["nulldelimiter"].concat(options.baseSizingClasses()); + return buildHTML_makeSpan(classes.concat(moreClasses)); +}; +/** + * buildGroup is the function that takes a group and calls the correct groupType + * function for it. It also handles the interaction of size and style changes + * between parents and children. + */ + +var buildHTML_buildGroup = function buildGroup(group, options, baseOptions) { + if (!group) { + return buildHTML_makeSpan(); + } + + if (_htmlGroupBuilders[group.type]) { + // Call the groupBuilders function + var groupNode = _htmlGroupBuilders[group.type](group, options); // If the size changed between the parent and the current group, account + // for that size difference. + + if (baseOptions && options.size !== baseOptions.size) { + groupNode = buildHTML_makeSpan(options.sizingClasses(baseOptions), [groupNode], options); + var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; + groupNode.height *= multiplier; + groupNode.depth *= multiplier; + } + + return groupNode; + } else { + throw new src_ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Combine an array of HTML DOM nodes (e.g., the output of `buildExpression`) + * into an unbreakable HTML node of class .base, with proper struts to + * guarantee correct vertical extent. `buildHTML` calls this repeatedly to + * make up the entire expression as a sequence of unbreakable units. + */ + +function buildHTMLUnbreakable(children, options) { + // Compute height and depth of this chunk. + var body = buildHTML_makeSpan(["base"], children, options); // Add strut, which ensures that the top of the HTML element falls at + // the height of the expression, and the bottom of the HTML element + // falls at the depth of the expression. + // We used to have separate top and bottom struts, where the bottom strut + // would like to use `vertical-align: top`, but in IE 9 this lowers the + // baseline of the box to the bottom of this strut (instead of staying in + // the normal place) so we use an absolute value for vertical-align instead. + + var strut = buildHTML_makeSpan(["strut"]); + strut.style.height = body.height + body.depth + "em"; + strut.style.verticalAlign = -body.depth + "em"; + body.children.unshift(strut); + return body; +} +/** + * Take an entire parse tree, and build it into an appropriate set of HTML + * nodes. + */ + + +function buildHTML(tree, options) { + // Strip off outer tag wrapper for processing below. + var tag = null; + + if (tree.length === 1 && tree[0].type === "tag") { + tag = tree[0].tag; + tree = tree[0].body; + } // Build the expression contained in the tree + + + var expression = buildHTML_buildExpression(tree, options, true); + var children = []; // Create one base node for each chunk between potential line breaks. + // The TeXBook [p.173] says "A formula will be broken only after a + // relation symbol like $=$ or $<$ or $\rightarrow$, or after a binary + // operation symbol like $+$ or $-$ or $\times$, where the relation or + // binary operation is on the ``outer level'' of the formula (i.e., not + // enclosed in {...} and not part of an \over construction)." + + var parts = []; + + for (var i = 0; i < expression.length; i++) { + parts.push(expression[i]); + + if (expression[i].hasClass("mbin") || expression[i].hasClass("mrel") || expression[i].hasClass("allowbreak")) { + // Put any post-operator glue on same line as operator. + // Watch for \nobreak along the way, and stop at \newline. + var nobreak = false; + + while (i < expression.length - 1 && expression[i + 1].hasClass("mspace") && !expression[i + 1].hasClass("newline")) { + i++; + parts.push(expression[i]); + + if (expression[i].hasClass("nobreak")) { + nobreak = true; + } + } // Don't allow break if \nobreak among the post-operator glue. + + + if (!nobreak) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } + } else if (expression[i].hasClass("newline")) { + // Write the line except the newline + parts.pop(); + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + parts = []; + } // Put the newline at the top level + + + children.push(expression[i]); + } + } + + if (parts.length > 0) { + children.push(buildHTMLUnbreakable(parts, options)); + } // Now, if there was a tag, build it too and append it as a final child. + + + var tagChild; + + if (tag) { + tagChild = buildHTMLUnbreakable(buildHTML_buildExpression(tag, options, true)); + tagChild.classes = ["tag"]; + children.push(tagChild); + } + + var htmlNode = buildHTML_makeSpan(["katex-html"], children); + htmlNode.setAttribute("aria-hidden", "true"); // Adjust the strut of the tag to be the maximum height of all children + // (the height of the enclosing htmlNode) for proper vertical alignment. + + if (tagChild) { + var strut = tagChild.children[0]; + strut.style.height = htmlNode.height + htmlNode.depth + "em"; + strut.style.verticalAlign = -htmlNode.depth + "em"; + } + + return htmlNode; +} +// CONCATENATED MODULE: ./src/mathMLTree.js +/** + * These objects store data about MathML nodes. This is the MathML equivalent + * of the types in domTree.js. Since MathML handles its own rendering, and + * since we're mainly using MathML to improve accessibility, we don't manage + * any of the styling state that the plain DOM nodes do. + * + * The `toNode` and `toMarkup` functions work simlarly to how they do in + * domTree.js, creating namespaced DOM nodes and HTML text markup respectively. + */ + + +function newDocumentFragment(children) { + return new tree_DocumentFragment(children); +} +/** + * This node represents a general purpose MathML node of any type. The + * constructor requires the type of node to create (for example, `"mo"` or + * `"mspace"`, corresponding to `` and `` tags). + */ + +var mathMLTree_MathNode = +/*#__PURE__*/ +function () { + function MathNode(type, children) { + this.type = void 0; + this.attributes = void 0; + this.children = void 0; + this.type = type; + this.attributes = {}; + this.children = children || []; + } + /** + * Sets an attribute on a MathML node. MathML depends on attributes to convey a + * semantic content, so this is used heavily. + */ + + + var _proto = MathNode.prototype; + + _proto.setAttribute = function setAttribute(name, value) { + this.attributes[name] = value; + } + /** + * Gets an attribute on a MathML node. + */ + ; + + _proto.getAttribute = function getAttribute(name) { + return this.attributes[name]; + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + ; + + _proto.toNode = function toNode() { + var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", this.type); + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + node.setAttribute(attr, this.attributes[attr]); + } + } + + for (var i = 0; i < this.children.length; i++) { + node.appendChild(this.children[i].toNode()); + } + + return node; + } + /** + * Converts the math node into an HTML markup string. + */ + ; + + _proto.toMarkup = function toMarkup() { + var markup = "<" + this.type; // Add the attributes + + for (var attr in this.attributes) { + if (Object.prototype.hasOwnProperty.call(this.attributes, attr)) { + markup += " " + attr + "=\""; + markup += utils.escape(this.attributes[attr]); + markup += "\""; + } + } + + markup += ">"; + + for (var i = 0; i < this.children.length; i++) { + markup += this.children[i].toMarkup(); + } + + markup += ""; + return markup; + } + /** + * Converts the math node into a string, similar to innerText, but escaped. + */ + ; + + _proto.toText = function toText() { + return this.children.map(function (child) { + return child.toText(); + }).join(""); + }; + + return MathNode; +}(); +/** + * This node represents a piece of text. + */ + +var mathMLTree_TextNode = +/*#__PURE__*/ +function () { + function TextNode(text) { + this.text = void 0; + this.text = text; + } + /** + * Converts the text node into a DOM text node. + */ + + + var _proto2 = TextNode.prototype; + + _proto2.toNode = function toNode() { + return document.createTextNode(this.text); + } + /** + * Converts the text node into escaped HTML markup + * (representing the text itself). + */ + ; + + _proto2.toMarkup = function toMarkup() { + return utils.escape(this.toText()); + } + /** + * Converts the text node into a string + * (representing the text iteself). + */ + ; + + _proto2.toText = function toText() { + return this.text; + }; + + return TextNode; +}(); +/** + * This node represents a space, but may render as or as text, + * depending on the width. + */ + +var SpaceNode = +/*#__PURE__*/ +function () { + /** + * Create a Space node with width given in CSS ems. + */ + function SpaceNode(width) { + this.width = void 0; + this.character = void 0; + this.width = width; // See https://www.w3.org/TR/2000/WD-MathML2-20000328/chapter6.html + // for a table of space-like characters. We use Unicode + // representations instead of &LongNames; as it's not clear how to + // make the latter via document.createTextNode. + + if (width >= 0.05555 && width <= 0.05556) { + this.character = "\u200A"; //   + } else if (width >= 0.1666 && width <= 0.1667) { + this.character = "\u2009"; //   + } else if (width >= 0.2222 && width <= 0.2223) { + this.character = "\u2005"; //   + } else if (width >= 0.2777 && width <= 0.2778) { + this.character = "\u2005\u200A"; //    + } else if (width >= -0.05556 && width <= -0.05555) { + this.character = "\u200A\u2063"; // ​ + } else if (width >= -0.1667 && width <= -0.1666) { + this.character = "\u2009\u2063"; // ​ + } else if (width >= -0.2223 && width <= -0.2222) { + this.character = "\u205F\u2063"; // ​ + } else if (width >= -0.2778 && width <= -0.2777) { + this.character = "\u2005\u2063"; // ​ + } else { + this.character = null; + } + } + /** + * Converts the math node into a MathML-namespaced DOM element. + */ + + + var _proto3 = SpaceNode.prototype; + + _proto3.toNode = function toNode() { + if (this.character) { + return document.createTextNode(this.character); + } else { + var node = document.createElementNS("http://www.w3.org/1998/Math/MathML", "mspace"); + node.setAttribute("width", this.width + "em"); + return node; + } + } + /** + * Converts the math node into an HTML markup string. + */ + ; + + _proto3.toMarkup = function toMarkup() { + if (this.character) { + return "" + this.character + ""; + } else { + return ""; + } + } + /** + * Converts the math node into a string, similar to innerText. + */ + ; + + _proto3.toText = function toText() { + if (this.character) { + return this.character; + } else { + return " "; + } + }; + + return SpaceNode; +}(); + +/* harmony default export */ var mathMLTree = ({ + MathNode: mathMLTree_MathNode, + TextNode: mathMLTree_TextNode, + SpaceNode: SpaceNode, + newDocumentFragment: newDocumentFragment +}); +// CONCATENATED MODULE: ./src/buildMathML.js +/** + * This file converts a parse tree into a cooresponding MathML tree. The main + * entry point is the `buildMathML` function, which takes a parse tree from the + * parser. + */ + + + + + + + + + +/** + * Takes a symbol and converts it into a MathML text node after performing + * optional replacement from symbols.js. + */ +var buildMathML_makeText = function makeText(text, mode, options) { + if (src_symbols[mode][text] && src_symbols[mode][text].replace && text.charCodeAt(0) !== 0xD835 && !(ligatures.hasOwnProperty(text) && options && (options.fontFamily && options.fontFamily.substr(4, 2) === "tt" || options.font && options.font.substr(4, 2) === "tt"))) { + text = src_symbols[mode][text].replace; + } + + return new mathMLTree.TextNode(text); +}; +/** + * Wrap the given array of nodes in an node if needed, i.e., + * unless the array has length 1. Always returns a single node. + */ + +var buildMathML_makeRow = function makeRow(body) { + if (body.length === 1) { + return body[0]; + } else { + return new mathMLTree.MathNode("mrow", body); + } +}; +/** + * Returns the math variant as a string or null if none is required. + */ + +var buildMathML_getVariant = function getVariant(group, options) { + // Handle \text... font specifiers as best we can. + // MathML has a limited list of allowable mathvariant specifiers; see + // https://www.w3.org/TR/MathML3/chapter3.html#presm.commatt + if (options.fontFamily === "texttt") { + return "monospace"; + } else if (options.fontFamily === "textsf") { + if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "sans-serif-bold-italic"; + } else if (options.fontShape === "textit") { + return "sans-serif-italic"; + } else if (options.fontWeight === "textbf") { + return "bold-sans-serif"; + } else { + return "sans-serif"; + } + } else if (options.fontShape === "textit" && options.fontWeight === "textbf") { + return "bold-italic"; + } else if (options.fontShape === "textit") { + return "italic"; + } else if (options.fontWeight === "textbf") { + return "bold"; + } + + var font = options.font; + + if (!font || font === "mathnormal") { + return null; + } + + var mode = group.mode; + + if (font === "mathit") { + return "italic"; + } else if (font === "boldsymbol") { + return "bold-italic"; + } else if (font === "mathbf") { + return "bold"; + } else if (font === "mathbb") { + return "double-struck"; + } else if (font === "mathfrak") { + return "fraktur"; + } else if (font === "mathscr" || font === "mathcal") { + // MathML makes no distinction between script and caligrahpic + return "script"; + } else if (font === "mathsf") { + return "sans-serif"; + } else if (font === "mathtt") { + return "monospace"; + } + + var text = group.text; + + if (utils.contains(["\\imath", "\\jmath"], text)) { + return null; + } + + if (src_symbols[mode][text] && src_symbols[mode][text].replace) { + text = src_symbols[mode][text].replace; + } + + var fontName = buildCommon.fontMap[font].fontName; + + if (getCharacterMetrics(text, fontName, mode)) { + return buildCommon.fontMap[font].variant; + } + + return null; +}; +/** + * Takes a list of nodes, builds them, and returns a list of the generated + * MathML nodes. Also combine consecutive outputs into a single + * tag. + */ + +var buildMathML_buildExpression = function buildExpression(expression, options, isOrdgroup) { + if (expression.length === 1) { + var group = buildMathML_buildGroup(expression[0], options); + + if (isOrdgroup && group instanceof mathMLTree_MathNode && group.type === "mo") { + // When TeX writers want to suppress spacing on an operator, + // they often put the operator by itself inside braces. + group.setAttribute("lspace", "0em"); + group.setAttribute("rspace", "0em"); + } + + return [group]; + } + + var groups = []; + var lastGroup; + + for (var i = 0; i < expression.length; i++) { + var _group = buildMathML_buildGroup(expression[i], options); + + if (_group instanceof mathMLTree_MathNode && lastGroup instanceof mathMLTree_MathNode) { + // Concatenate adjacent s + if (_group.type === 'mtext' && lastGroup.type === 'mtext' && _group.getAttribute('mathvariant') === lastGroup.getAttribute('mathvariant')) { + var _lastGroup$children; + + (_lastGroup$children = lastGroup.children).push.apply(_lastGroup$children, _group.children); + + continue; // Concatenate adjacent s + } else if (_group.type === 'mn' && lastGroup.type === 'mn') { + var _lastGroup$children2; + + (_lastGroup$children2 = lastGroup.children).push.apply(_lastGroup$children2, _group.children); + + continue; // Concatenate ... followed by . + } else if (_group.type === 'mi' && _group.children.length === 1 && lastGroup.type === 'mn') { + var child = _group.children[0]; + + if (child instanceof mathMLTree_TextNode && child.text === '.') { + var _lastGroup$children3; + + (_lastGroup$children3 = lastGroup.children).push.apply(_lastGroup$children3, _group.children); + + continue; + } + } else if (lastGroup.type === 'mi' && lastGroup.children.length === 1) { + var lastChild = lastGroup.children[0]; + + if (lastChild instanceof mathMLTree_TextNode && lastChild.text === "\u0338" && (_group.type === 'mo' || _group.type === 'mi' || _group.type === 'mn')) { + var _child = _group.children[0]; + + if (_child instanceof mathMLTree_TextNode && _child.text.length > 0) { + // Overlay with combining character long solidus + _child.text = _child.text.slice(0, 1) + "\u0338" + _child.text.slice(1); + groups.pop(); + } + } + } + } + + groups.push(_group); + lastGroup = _group; + } + + return groups; +}; +/** + * Equivalent to buildExpression, but wraps the elements in an + * if there's more than one. Returns a single node instead of an array. + */ + +var buildExpressionRow = function buildExpressionRow(expression, options, isOrdgroup) { + return buildMathML_makeRow(buildMathML_buildExpression(expression, options, isOrdgroup)); +}; +/** + * Takes a group from the parser and calls the appropriate groupBuilders function + * on it to produce a MathML node. + */ + +var buildMathML_buildGroup = function buildGroup(group, options) { + if (!group) { + return new mathMLTree.MathNode("mrow"); + } + + if (_mathmlGroupBuilders[group.type]) { + // Call the groupBuilders function + var result = _mathmlGroupBuilders[group.type](group, options); + return result; + } else { + throw new src_ParseError("Got group of unknown type: '" + group.type + "'"); + } +}; +/** + * Takes a full parse tree and settings and builds a MathML representation of + * it. In particular, we put the elements from building the parse tree into a + * tag so we can also include that TeX source as an annotation. + * + * Note that we actually return a domTree element with a `` inside it so + * we can do appropriate styling. + */ + +function buildMathML(tree, texExpression, options, forMathmlOnly) { + var expression = buildMathML_buildExpression(tree, options); // Wrap up the expression in an mrow so it is presented in the semantics + // tag correctly, unless it's a single or . + + var wrapper; + + if (expression.length === 1 && expression[0] instanceof mathMLTree_MathNode && utils.contains(["mrow", "mtable"], expression[0].type)) { + wrapper = expression[0]; + } else { + wrapper = new mathMLTree.MathNode("mrow", expression); + } // Build a TeX annotation of the source + + + var annotation = new mathMLTree.MathNode("annotation", [new mathMLTree.TextNode(texExpression)]); + annotation.setAttribute("encoding", "application/x-tex"); + var semantics = new mathMLTree.MathNode("semantics", [wrapper, annotation]); + var math = new mathMLTree.MathNode("math", [semantics]); + math.setAttribute("xmlns", "http://www.w3.org/1998/Math/MathML"); // You can't style nodes, so we wrap the node in a span. + // NOTE: The span class is not typed to have nodes as children, and + // we don't want to make the children type more generic since the children + // of span are expected to have more fields in `buildHtml` contexts. + + var wrapperClass = forMathmlOnly ? "katex" : "katex-mathml"; // $FlowFixMe + + return buildCommon.makeSpan([wrapperClass], [math]); +} +// CONCATENATED MODULE: ./src/buildTree.js + + + + + + + +var buildTree_optionsFromSettings = function optionsFromSettings(settings) { + return new src_Options({ + style: settings.displayMode ? src_Style.DISPLAY : src_Style.TEXT, + maxSize: settings.maxSize, + minRuleThickness: settings.minRuleThickness + }); +}; + +var buildTree_displayWrap = function displayWrap(node, settings) { + if (settings.displayMode) { + var classes = ["katex-display"]; + + if (settings.leqno) { + classes.push("leqno"); + } + + if (settings.fleqn) { + classes.push("fleqn"); + } + + node = buildCommon.makeSpan(classes, [node]); + } + + return node; +}; + +var buildTree_buildTree = function buildTree(tree, expression, settings) { + var options = buildTree_optionsFromSettings(settings); + var katexNode; + + if (settings.output === "mathml") { + return buildMathML(tree, expression, options, true); + } else if (settings.output === "html") { + var htmlNode = buildHTML(tree, options); + katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + } else { + var mathMLNode = buildMathML(tree, expression, options, false); + + var _htmlNode = buildHTML(tree, options); + + katexNode = buildCommon.makeSpan(["katex"], [mathMLNode, _htmlNode]); + } + + return buildTree_displayWrap(katexNode, settings); +}; +var buildTree_buildHTMLTree = function buildHTMLTree(tree, expression, settings) { + var options = buildTree_optionsFromSettings(settings); + var htmlNode = buildHTML(tree, options); + var katexNode = buildCommon.makeSpan(["katex"], [htmlNode]); + return buildTree_displayWrap(katexNode, settings); +}; +/* harmony default export */ var src_buildTree = (buildTree_buildTree); +// CONCATENATED MODULE: ./src/stretchy.js +/** + * This file provides support to buildMathML.js and buildHTML.js + * for stretchy wide elements rendered from SVG files + * and other CSS trickery. + */ + + + + +var stretchyCodePoint = { + widehat: "^", + widecheck: "ˇ", + widetilde: "~", + utilde: "~", + overleftarrow: "\u2190", + underleftarrow: "\u2190", + xleftarrow: "\u2190", + overrightarrow: "\u2192", + underrightarrow: "\u2192", + xrightarrow: "\u2192", + underbrace: "\u23DF", + overbrace: "\u23DE", + overgroup: "\u23E0", + undergroup: "\u23E1", + overleftrightarrow: "\u2194", + underleftrightarrow: "\u2194", + xleftrightarrow: "\u2194", + Overrightarrow: "\u21D2", + xRightarrow: "\u21D2", + overleftharpoon: "\u21BC", + xleftharpoonup: "\u21BC", + overrightharpoon: "\u21C0", + xrightharpoonup: "\u21C0", + xLeftarrow: "\u21D0", + xLeftrightarrow: "\u21D4", + xhookleftarrow: "\u21A9", + xhookrightarrow: "\u21AA", + xmapsto: "\u21A6", + xrightharpoondown: "\u21C1", + xleftharpoondown: "\u21BD", + xrightleftharpoons: "\u21CC", + xleftrightharpoons: "\u21CB", + xtwoheadleftarrow: "\u219E", + xtwoheadrightarrow: "\u21A0", + xlongequal: "=", + xtofrom: "\u21C4", + xrightleftarrows: "\u21C4", + xrightequilibrium: "\u21CC", + // Not a perfect match. + xleftequilibrium: "\u21CB" // None better available. + +}; + +var stretchy_mathMLnode = function mathMLnode(label) { + var node = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(stretchyCodePoint[label.substr(1)])]); + node.setAttribute("stretchy", "true"); + return node; +}; // Many of the KaTeX SVG images have been adapted from glyphs in KaTeX fonts. +// Copyright (c) 2009-2010, Design Science, Inc. () +// Copyright (c) 2014-2017 Khan Academy () +// Licensed under the SIL Open Font License, Version 1.1. +// See \nhttp://scripts.sil.org/OFL +// Very Long SVGs +// Many of the KaTeX stretchy wide elements use a long SVG image and an +// overflow: hidden tactic to achieve a stretchy image while avoiding +// distortion of arrowheads or brace corners. +// The SVG typically contains a very long (400 em) arrow. +// The SVG is in a container span that has overflow: hidden, so the span +// acts like a window that exposes only part of the SVG. +// The SVG always has a longer, thinner aspect ratio than the container span. +// After the SVG fills 100% of the height of the container span, +// there is a long arrow shaft left over. That left-over shaft is not shown. +// Instead, it is sliced off because the span's CSS has overflow: hidden. +// Thus, the reader sees an arrow that matches the subject matter width +// without distortion. +// Some functions, such as \cancel, need to vary their aspect ratio. These +// functions do not get the overflow SVG treatment. +// Second Brush Stroke +// Low resolution monitors struggle to display images in fine detail. +// So browsers apply anti-aliasing. A long straight arrow shaft therefore +// will sometimes appear as if it has a blurred edge. +// To mitigate this, these SVG files contain a second "brush-stroke" on the +// arrow shafts. That is, a second long thin rectangular SVG path has been +// written directly on top of each arrow shaft. This reinforcement causes +// some of the screen pixels to display as black instead of the anti-aliased +// gray pixel that a single path would generate. So we get arrow shafts +// whose edges appear to be sharper. +// In the katexImagesData object just below, the dimensions all +// correspond to path geometry inside the relevant SVG. +// For example, \overrightarrow uses the same arrowhead as glyph U+2192 +// from the KaTeX Main font. The scaling factor is 1000. +// That is, inside the font, that arrowhead is 522 units tall, which +// corresponds to 0.522 em inside the document. + + +var katexImagesData = { + // path(s), minWidth, height, align + 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"], + xleftarrow: [["leftarrow"], 1.469, 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"], + 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], + // The next three arrows are from the mhchem package. + // In mhchem.sty, min-length is 2.0em. But these arrows might appear in the + // document as \xrightarrow or \xrightleftharpoons. Those have + // min-length = 1.75em, so we set min-length on these next three to match. + xrightleftarrows: [["baraboveleftarrow", "rightarrowabovebar"], 1.75, 901], + xrightequilibrium: [["baraboveshortleftharpoon", "rightharpoonaboveshortbar"], 1.75, 716], + xleftequilibrium: [["shortbaraboveleftharpoon", "shortrightharpoonabovebar"], 1.75, 716] +}; + +var groupLength = function groupLength(arg) { + if (arg.type === "ordgroup") { + return arg.body.length; + } else { + return 1; + } +}; + +var stretchy_svgSpan = function svgSpan(group, options) { + // Create a span with inline SVG for the element. + function buildSvgSpan_() { + var viewBoxWidth = 400000; // default + + var label = group.label.substr(1); + + if (utils.contains(["widehat", "widecheck", "widetilde", "utilde"], label)) { + // Each type in the `if` statement corresponds to one of the ParseNode + // types below. This narrowing is required to access `grp.base`. + var grp = group; // There are four SVG images available for each function. + // Choose a taller image when there are more characters. + + var numChars = groupLength(grp.base); + var viewBoxHeight; + var pathName; + + var _height; + + if (numChars > 5) { + if (label === "widehat" || label === "widecheck") { + viewBoxHeight = 420; + viewBoxWidth = 2364; + _height = 0.42; + pathName = label + "4"; + } else { + viewBoxHeight = 312; + viewBoxWidth = 2340; + _height = 0.34; + pathName = "tilde4"; + } + } else { + var imgIndex = [1, 1, 2, 2, 3, 3][numChars]; + + if (label === "widehat" || label === "widecheck") { + viewBoxWidth = [0, 1062, 2364, 2364, 2364][imgIndex]; + viewBoxHeight = [0, 239, 300, 360, 420][imgIndex]; + _height = [0, 0.24, 0.3, 0.3, 0.36, 0.42][imgIndex]; + pathName = label + imgIndex; + } else { + viewBoxWidth = [0, 600, 1033, 2339, 2340][imgIndex]; + viewBoxHeight = [0, 260, 286, 306, 312][imgIndex]; + _height = [0, 0.26, 0.286, 0.3, 0.306, 0.34][imgIndex]; + pathName = "tilde" + imgIndex; + } + } + + var path = new domTree_PathNode(pathName); + var svgNode = new SvgNode([path], { + "width": "100%", + "height": _height + "em", + "viewBox": "0 0 " + viewBoxWidth + " " + viewBoxHeight, + "preserveAspectRatio": "none" + }); + return { + span: buildCommon.makeSvgSpan([], [svgNode], options), + minWidth: 0, + height: _height + }; + } else { + var spans = []; + var data = katexImagesData[label]; + var paths = data[0], + _minWidth = data[1], + _viewBoxHeight = data[2]; + + var _height2 = _viewBoxHeight / 1000; + + var numSvgChildren = paths.length; + var widthClasses; + var aligns; + + if (numSvgChildren === 1) { + // $FlowFixMe: All these cases must be of the 4-tuple type. + var align1 = data[3]; + widthClasses = ["hide-tail"]; + aligns = [align1]; + } else if (numSvgChildren === 2) { + widthClasses = ["halfarrow-left", "halfarrow-right"]; + aligns = ["xMinYMin", "xMaxYMin"]; + } else if (numSvgChildren === 3) { + widthClasses = ["brace-left", "brace-center", "brace-right"]; + aligns = ["xMinYMin", "xMidYMin", "xMaxYMin"]; + } else { + throw new Error("Correct katexImagesData or update code here to support\n " + numSvgChildren + " children."); + } + + for (var i = 0; i < numSvgChildren; i++) { + var _path = new domTree_PathNode(paths[i]); + + var _svgNode = new SvgNode([_path], { + "width": "400em", + "height": _height2 + "em", + "viewBox": "0 0 " + viewBoxWidth + " " + _viewBoxHeight, + "preserveAspectRatio": aligns[i] + " slice" + }); + + var _span = buildCommon.makeSvgSpan([widthClasses[i]], [_svgNode], options); + + if (numSvgChildren === 1) { + return { + span: _span, + minWidth: _minWidth, + height: _height2 + }; + } else { + _span.style.height = _height2 + "em"; + spans.push(_span); + } + } + + return { + span: buildCommon.makeSpan(["stretchy"], spans, options), + minWidth: _minWidth, + height: _height2 + }; + } + } // buildSvgSpan_() + + + var _buildSvgSpan_ = buildSvgSpan_(), + span = _buildSvgSpan_.span, + minWidth = _buildSvgSpan_.minWidth, + height = _buildSvgSpan_.height; // Note that we are returning span.depth = 0. + // Any adjustments relative to the baseline must be done in buildHTML. + + + span.height = height; + span.style.height = height + "em"; + + if (minWidth > 0) { + span.style.minWidth = minWidth + "em"; + } + + return span; +}; + +var stretchy_encloseSpan = function encloseSpan(inner, label, pad, options) { + // Return an image span for \cancel, \bcancel, \xcancel, or \fbox + var img; + var totalHeight = inner.height + inner.depth + 2 * pad; + + if (/fbox|color/.test(label)) { + img = buildCommon.makeSpan(["stretchy", label], [], options); + + if (label === "fbox") { + var color = options.color && options.getColor(); + + if (color) { + img.style.borderColor = color; + } + } + } else { + // \cancel, \bcancel, or \xcancel + // Since \cancel's SVG is inline and it omits the viewBox attribute, + // its stroke-width will not vary with span area. + var lines = []; + + if (/^[bx]cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "0", + "x2": "100%", + "y2": "100%", + "stroke-width": "0.046em" + })); + } + + if (/^x?cancel$/.test(label)) { + lines.push(new LineNode({ + "x1": "0", + "y1": "100%", + "x2": "100%", + "y2": "0", + "stroke-width": "0.046em" + })); + } + + var svgNode = new SvgNode(lines, { + "width": "100%", + "height": totalHeight + "em" + }); + img = buildCommon.makeSvgSpan([], [svgNode], options); + } + + img.height = totalHeight; + img.style.height = totalHeight + "em"; + return img; +}; + +/* harmony default export */ var stretchy = ({ + encloseSpan: stretchy_encloseSpan, + mathMLnode: stretchy_mathMLnode, + svgSpan: stretchy_svgSpan +}); +// CONCATENATED MODULE: ./src/functions/accent.js + + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "accent", but +var accent_htmlBuilder = function htmlBuilder(grp, options) { + // Accents are handled in the TeXbook pg. 443, rule 12. + var base; + var group; + var supSub = checkNodeType(grp, "supsub"); + var supSubGroup; + + if (supSub) { + // If our base is a character box, and we have superscripts and + // subscripts, the supsub will defer to us. In particular, we want + // to attach the superscripts and subscripts to the inner body (so + // that the position of the superscripts and subscripts won't be + // affected by the height of the accent). We accomplish this by + // sticking the base of the accent into the base of the supsub, and + // rendering that, while keeping track of where the accent is. + // The real accent group is the base of the supsub group + group = assertNodeType(supSub.base, "accent"); // The character box is the base of the accent group + + base = group.base; // Stick the character box into the base of the supsub group + + supSub.base = base; // Rerender the supsub group with its new base, and store that + // result. + + supSubGroup = assertSpan(buildHTML_buildGroup(supSub, options)); // reset original base + + supSub.base = group; + } else { + group = assertNodeType(grp, "accent"); + base = group.base; + } // Build the base group + + + var body = buildHTML_buildGroup(base, options.havingCrampedStyle()); // Does the accent need to shift for the skew of a character? + + var mustShift = group.isShifty && utils.isCharacterBox(base); // Calculate the skew of the accent. This is based on the line "If the + // nucleus is not a single character, let s = 0; otherwise set s to the + // kern amount for the nucleus followed by the \skewchar of its font." + // Note that our skew metrics are just the kern between each character + // and the skewchar. + + var skew = 0; + + if (mustShift) { + // If the base is a character box, then we want the skew of the + // innermost character. To do that, we find the innermost character: + var baseChar = utils.getBaseElem(base); // Then, we render its group to get the symbol inside it + + var baseGroup = buildHTML_buildGroup(baseChar, options.havingCrampedStyle()); // Finally, we pull the skew off of the symbol. + + skew = assertSymbolDomNode(baseGroup).skew; // Note that we now throw away baseGroup, because the layers we + // removed with getBaseElem might contain things like \color which + // we can't get rid of. + // TODO(emily): Find a better way to get the skew + } // calculate the amount of space between the body and the accent + + + var clearance = Math.min(body.height, options.fontMetrics().xHeight); // Build the accent + + var accentBody; + + if (!group.isStretchy) { + var accent; + var width; + + if (group.label === "\\vec") { + // Before version 0.9, \vec used the combining font glyph U+20D7. + // But browsers, especially Safari, are not consistent in how they + // render combining characters when not preceded by a character. + // So now we use an SVG. + // If Safari reforms, we should consider reverting to the glyph. + accent = buildCommon.staticSvg("vec", options); + width = buildCommon.svgData.vec[1]; + } else { + accent = buildCommon.makeOrd({ + mode: group.mode, + text: group.label + }, options, "textord"); + accent = assertSymbolDomNode(accent); // Remove the italic correction of the accent, because it only serves to + // shift the accent over to a place we don't want. + + accent.italic = 0; + width = accent.width; + } + + accentBody = buildCommon.makeSpan(["accent-body"], [accent]); // "Full" accents expand the width of the resulting symbol to be + // at least the width of the accent, and overlap directly onto the + // character without any vertical offset. + + var accentFull = group.label === "\\textcircled"; + + if (accentFull) { + accentBody.classes.push('accent-full'); + clearance = body.height; + } // Shift the accent over by the skew. + + + var left = skew; // CSS defines `.katex .accent .accent-body:not(.accent-full) { width: 0 }` + // so that the accent doesn't contribute to the bounding box. + // We need to shift the character by its width (effectively half + // its width) to compensate. + + if (!accentFull) { + left -= width / 2; + } + + accentBody.style.left = left + "em"; // \textcircled uses the \bigcirc glyph, so it needs some + // vertical adjustment to match LaTeX. + + if (group.label === "\\textcircled") { + accentBody.style.top = ".2em"; + } + + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: -clearance + }, { + type: "elem", + elem: accentBody + }] + }, options); + } else { + accentBody = stretchy.svgSpan(group, options); + accentBody = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"], + wrapperStyle: skew > 0 ? { + width: "calc(100% - " + 2 * skew + "em)", + marginLeft: 2 * skew + "em" + } : undefined + }] + }, options); + } + + var accentWrap = buildCommon.makeSpan(["mord", "accent"], [accentBody], options); + + if (supSubGroup) { + // Here, we replace the "base" child of the supsub with our newly + // generated accent. + supSubGroup.children[0] = accentWrap; // Since we don't rerun the height calculation after replacing the + // accent, we manually recalculate height. + + supSubGroup.height = Math.max(accentWrap.height, supSubGroup.height); // Accents should always be ords, even when their innards are not. + + supSubGroup.classes[0] = "mord"; + return supSubGroup; + } else { + return accentWrap; + } +}; + +var accent_mathmlBuilder = function mathmlBuilder(group, options) { + var accentNode = group.isStretchy ? stretchy.mathMLnode(group.label) : new mathMLTree.MathNode("mo", [buildMathML_makeText(group.label, group.mode)]); + var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.base, options), accentNode]); + node.setAttribute("accent", "true"); + return node; +}; + +var NON_STRETCHY_ACCENT_REGEX = new RegExp(["\\acute", "\\grave", "\\ddot", "\\tilde", "\\bar", "\\breve", "\\check", "\\hat", "\\vec", "\\dot", "\\mathring"].map(function (accent) { + return "\\" + accent; +}).join("|")); // Accents + +defineFunction({ + 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: function handler(context, args) { + var base = args[0]; + var isStretchy = !NON_STRETCHY_ACCENT_REGEX.test(context.funcName); + var isShifty = !isStretchy || context.funcName === "\\widehat" || context.funcName === "\\widetilde" || context.funcName === "\\widecheck"; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: isStretchy, + isShifty: isShifty, + base: base + }; + }, + htmlBuilder: accent_htmlBuilder, + mathmlBuilder: accent_mathmlBuilder +}); // Text-mode accents + +defineFunction({ + type: "accent", + names: ["\\'", "\\`", "\\^", "\\~", "\\=", "\\u", "\\.", '\\"', "\\r", "\\H", "\\v", "\\textcircled"], + props: { + numArgs: 1, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(context, args) { + var base = args[0]; + return { + type: "accent", + mode: context.parser.mode, + label: context.funcName, + isStretchy: false, + isShifty: true, + base: base + }; + }, + htmlBuilder: accent_htmlBuilder, + mathmlBuilder: accent_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/accentunder.js +// Horizontal overlap functions + + + + + + +defineFunction({ + type: "accentUnder", + names: ["\\underleftarrow", "\\underrightarrow", "\\underleftrightarrow", "\\undergroup", "\\underlinesegment", "\\utilde"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var base = args[0]; + return { + type: "accentUnder", + mode: parser.mode, + label: funcName, + base: base + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Treat under accents much like underlines. + var innerGroup = buildHTML_buildGroup(group.base, options); + var accentBody = stretchy.svgSpan(group, options); + var kern = group.label === "\\utilde" ? 0.12 : 0; // Generate the vlist, with the appropriate kerns + + var vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: accentBody.height + kern, + children: [{ + type: "elem", + elem: accentBody, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: kern + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "accentunder"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var accentNode = stretchy.mathMLnode(group.label); + var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.base, options), accentNode]); + node.setAttribute("accentunder", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/arrow.js + + + + + + + +// Helper function +var arrow_paddedNode = function paddedNode(group) { + var node = new mathMLTree.MathNode("mpadded", group ? [group] : []); + node.setAttribute("width", "+0.6em"); + node.setAttribute("lspace", "0.3em"); + return node; +}; // Stretchy arrows with an optional argument + + +defineFunction({ + type: "xArrow", + names: ["\\xleftarrow", "\\xrightarrow", "\\xLeftarrow", "\\xRightarrow", "\\xleftrightarrow", "\\xLeftrightarrow", "\\xhookleftarrow", "\\xhookrightarrow", "\\xmapsto", "\\xrightharpoondown", "\\xrightharpoonup", "\\xleftharpoondown", "\\xleftharpoonup", "\\xrightleftharpoons", "\\xleftrightharpoons", "\\xlongequal", "\\xtwoheadrightarrow", "\\xtwoheadleftarrow", "\\xtofrom", // The next 3 functions are here to support the mhchem extension. + // Direct use of these functions is discouraged and may break someday. + "\\xrightleftarrows", "\\xrightequilibrium", "\\xleftequilibrium"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "xArrow", + mode: parser.mode, + label: funcName, + body: args[0], + below: optArgs[0] + }; + }, + // Flow is unable to correctly infer the type of `group`, even though it's + // unamibiguously determined from the passed-in `type` above. + htmlBuilder: function htmlBuilder(group, options) { + var style = options.style; // Build the argument groups in the appropriate style. + // Ref: amsmath.dtx: \hbox{$\scriptstyle\mkern#3mu{#6}\mkern#4mu$}% + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + var newOptions = options.havingStyle(style.sup()); + var upperGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, newOptions, options), options); + upperGroup.classes.push("x-arrow-pad"); + var lowerGroup; + + if (group.below) { + // Build the lower group + newOptions = options.havingStyle(style.sub()); + lowerGroup = buildCommon.wrapFragment(buildHTML_buildGroup(group.below, newOptions, options), options); + lowerGroup.classes.push("x-arrow-pad"); + } + + var arrowBody = stretchy.svgSpan(group, options); // Re shift: Note that stretchy.svgSpan returned arrowBody.depth = 0. + // The point we want on the math axis is at 0.5 * arrowBody.height. + + var arrowShift = -options.fontMetrics().axisHeight + 0.5 * arrowBody.height; // 2 mu kern. Ref: amsmath.dtx: #7\if0#2\else\mkern#2mu\fi + + var upperShift = -options.fontMetrics().axisHeight - 0.5 * arrowBody.height - 0.111; // 0.111 em = 2 mu + + if (upperGroup.depth > 0.25 || group.label === "\\xleftequilibrium") { + upperShift -= upperGroup.depth; // shift up if depth encroaches + } // Generate the vlist + + + var vlist; + + if (lowerGroup) { + var lowerShift = -options.fontMetrics().axisHeight + lowerGroup.height + 0.5 * arrowBody.height + 0.111; + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }, { + type: "elem", + elem: lowerGroup, + shift: lowerShift + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: upperGroup, + shift: upperShift + }, { + type: "elem", + elem: arrowBody, + shift: arrowShift + }] + }, options); + } // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + return buildCommon.makeSpan(["mrel", "x-arrow"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var arrowNode = stretchy.mathMLnode(group.label); + var node; + + if (group.body) { + var upperNode = arrow_paddedNode(buildMathML_buildGroup(group.body, options)); + + if (group.below) { + var lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options)); + node = new mathMLTree.MathNode("munderover", [arrowNode, lowerNode, upperNode]); + } else { + node = new mathMLTree.MathNode("mover", [arrowNode, upperNode]); + } + } else if (group.below) { + var _lowerNode = arrow_paddedNode(buildMathML_buildGroup(group.below, options)); + + node = new mathMLTree.MathNode("munder", [arrowNode, _lowerNode]); + } else { + // This should never happen. + // Parser.js throws an error if there is no argument. + node = arrow_paddedNode(); + node = new mathMLTree.MathNode("mover", [arrowNode, node]); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/char.js + + + // \@char is an internal function that takes a grouped decimal argument like +// {123} and converts into symbol with code 123. It is used by the *macro* +// \char defined in macros.js. + +defineFunction({ + type: "textord", + names: ["\\@char"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var arg = assertNodeType(args[0], "ordgroup"); + var group = arg.body; + var number = ""; + + for (var i = 0; i < group.length; i++) { + var node = assertNodeType(group[i], "textord"); + number += node.text; + } + + var code = parseInt(number); + + if (isNaN(code)) { + throw new src_ParseError("\\@char has non-numeric argument " + number); + } + + return { + type: "textord", + mode: parser.mode, + text: String.fromCharCode(code) + }; + } +}); +// CONCATENATED MODULE: ./src/functions/color.js + + + + + + + +var color_htmlBuilder = function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options.withColor(group.color), false); // \color isn't supposed to affect the type of the elements it contains. + // To accomplish this, we wrap the results in a fragment, so the inner + // elements will be able to directly interact with their neighbors. For + // example, `\color{red}{2 +} 3` has the same spacing as `2 + 3` + + return buildCommon.makeFragment(elements); +}; + +var color_mathmlBuilder = function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(group.body, options.withColor(group.color)); + var node = new mathMLTree.MathNode("mstyle", inner); + node.setAttribute("mathcolor", group.color); + return node; +}; + +defineFunction({ + type: "color", + names: ["\\textcolor"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "original"] + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var color = assertNodeType(args[0], "color-token").color; + var body = args[1]; + return { + type: "color", + mode: parser.mode, + color: color, + body: defineFunction_ordargument(body) + }; + }, + htmlBuilder: color_htmlBuilder, + mathmlBuilder: color_mathmlBuilder +}); +defineFunction({ + type: "color", + names: ["\\color"], + props: { + numArgs: 1, + allowedInText: true, + greediness: 3, + argTypes: ["color"] + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser, + breakOnTokenText = _ref2.breakOnTokenText; + var color = assertNodeType(args[0], "color-token").color; // Set macro \current@color in current namespace to store the current + // color, mimicking the behavior of color.sty. + // This is currently used just to correctly color a \right + // that follows a \color command. + + parser.gullet.macros.set("\\current@color", color); // Parse out the implicit body that should be colored. + + var body = parser.parseExpression(true, breakOnTokenText); + return { + type: "color", + mode: parser.mode, + color: color, + body: body + }; + }, + htmlBuilder: color_htmlBuilder, + mathmlBuilder: color_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/cr.js +// Row breaks within tabular environments, and line breaks at top level + + + + + + // \\ is a macro mapping to either \cr or \newline. Because they have the +// same signature, we implement them as one megafunction, with newRow +// indicating whether we're in the \cr case, and newLine indicating whether +// to break the line in the \newline case. + +defineFunction({ + type: "cr", + names: ["\\cr", "\\newline"], + props: { + numArgs: 0, + numOptionalArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + var size = optArgs[0]; + var newRow = funcName === "\\cr"; + var newLine = false; + + if (!newRow) { + if (parser.settings.displayMode && parser.settings.useStrictBehavior("newLineInDisplayMode", "In LaTeX, \\\\ or \\newline " + "does nothing in display mode")) { + newLine = false; + } else { + newLine = true; + } + } + + return { + type: "cr", + mode: parser.mode, + newLine: newLine, + newRow: newRow, + size: size && assertNodeType(size, "size").value + }; + }, + // The following builders are called only at the top level, + // not within tabular/array environments. + htmlBuilder: function htmlBuilder(group, options) { + if (group.newRow) { + throw new src_ParseError("\\cr valid only within a tabular/array environment"); + } + + var span = buildCommon.makeSpan(["mspace"], [], options); + + if (group.newLine) { + span.classes.push("newline"); + + if (group.size) { + span.style.marginTop = units_calculateSize(group.size, options) + "em"; + } + } + + return span; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mspace"); + + if (group.newLine) { + node.setAttribute("linebreak", "newline"); + + if (group.size) { + node.setAttribute("height", units_calculateSize(group.size, options) + "em"); + } + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/delimiter.js +/** + * This file deals with creating delimiters of various sizes. The TeXbook + * discusses these routines on page 441-442, in the "Another subroutine sets box + * x to a specified variable delimiter" paragraph. + * + * There are three main routines here. `makeSmallDelim` makes a delimiter in the + * normal font, but in either text, script, or scriptscript style. + * `makeLargeDelim` makes a delimiter in textstyle, but in one of the Size1, + * Size2, Size3, or Size4 fonts. `makeStackedDelim` makes a delimiter out of + * smaller pieces that are stacked on top of one another. + * + * The functions take a parameter `center`, which determines if the delimiter + * should be centered around the axis. + * + * Then, there are three exposed functions. `sizedDelim` makes a delimiter in + * one of the given sizes. This is used for things like `\bigl`. + * `customSizedDelim` makes a delimiter with a given total height+depth. It is + * called in places like `\sqrt`. `leftRightDelim` makes an appropriate + * delimiter which surrounds an expression of a given height an depth. It is + * used in `\left` and `\right`. + */ + + + + + + + + + +/** + * Get the metrics for a given symbol and font, after transformation (i.e. + * after following replacement from symbols.js) + */ +var delimiter_getMetrics = function getMetrics(symbol, font, mode) { + var replace = src_symbols.math[symbol] && src_symbols.math[symbol].replace; + var metrics = getCharacterMetrics(replace || symbol, font, mode); + + if (!metrics) { + throw new Error("Unsupported symbol " + symbol + " and font size " + font + "."); + } + + return metrics; +}; +/** + * Puts a delimiter span in a given style, and adds appropriate height, depth, + * and maxFontSizes. + */ + + +var delimiter_styleWrap = function styleWrap(delim, toStyle, options, classes) { + var newOptions = options.havingBaseStyle(toStyle); + var span = buildCommon.makeSpan(classes.concat(newOptions.sizingClasses(options)), [delim], options); + var delimSizeMultiplier = newOptions.sizeMultiplier / options.sizeMultiplier; + span.height *= delimSizeMultiplier; + span.depth *= delimSizeMultiplier; + span.maxFontSize = newOptions.sizeMultiplier; + return span; +}; + +var centerSpan = function centerSpan(span, options, style) { + var newOptions = options.havingBaseStyle(style); + var shift = (1 - options.sizeMultiplier / newOptions.sizeMultiplier) * options.fontMetrics().axisHeight; + span.classes.push("delimcenter"); + span.style.top = shift + "em"; + span.height -= shift; + span.depth += shift; +}; +/** + * Makes a small delimiter. This is a delimiter that comes in the Main-Regular + * font, but is restyled to either be in textstyle, scriptstyle, or + * scriptscriptstyle. + */ + + +var delimiter_makeSmallDelim = function makeSmallDelim(delim, style, center, options, mode, classes) { + var text = buildCommon.makeSymbol(delim, "Main-Regular", mode, options); + var span = delimiter_styleWrap(text, style, options, classes); + + if (center) { + centerSpan(span, options, style); + } + + return span; +}; +/** + * Builds a symbol in the given font size (note size is an integer) + */ + + +var delimiter_mathrmSize = function mathrmSize(value, size, mode, options) { + return buildCommon.makeSymbol(value, "Size" + size + "-Regular", mode, options); +}; +/** + * Makes a large delimiter. This is a delimiter that comes in the Size1, Size2, + * Size3, or Size4 fonts. It is always rendered in textstyle. + */ + + +var delimiter_makeLargeDelim = function makeLargeDelim(delim, size, center, options, mode, classes) { + var inner = delimiter_mathrmSize(delim, size, mode, options); + var span = delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "size" + size], [inner], options), src_Style.TEXT, options, classes); + + if (center) { + centerSpan(span, options, src_Style.TEXT); + } + + return span; +}; +/** + * Make an inner span with the given offset and in the given font. This is used + * in `makeStackedDelim` to make the stacking pieces for the delimiter. + */ + + +var delimiter_makeInner = function makeInner(symbol, font, mode) { + var sizeClass; // Apply the correct CSS class to choose the right font. + + if (font === "Size1-Regular") { + sizeClass = "delim-size1"; + } else + /* if (font === "Size4-Regular") */ + { + sizeClass = "delim-size4"; + } + + var inner = buildCommon.makeSpan(["delimsizinginner", sizeClass], [buildCommon.makeSpan([], [buildCommon.makeSymbol(symbol, font, mode)])]); // Since this will be passed into `makeVList` in the end, wrap the element + // in the appropriate tag that VList uses. + + return { + type: "elem", + elem: inner + }; +}; // Helper for makeStackedDelim + + +var lap = { + type: "kern", + size: -0.005 +}; +/** + * Make a stacked delimiter out of a given delimiter, with the total height at + * least `heightTotal`. This routine is mentioned on page 442 of the TeXbook. + */ + +var delimiter_makeStackedDelim = function makeStackedDelim(delim, heightTotal, center, options, mode, classes) { + // There are four parts, the top, an optional middle, a repeated part, and a + // bottom. + var top; + var middle; + var repeat; + var bottom; + top = repeat = bottom = delim; + middle = null; // Also keep track of what font the delimiters are in + + var font = "Size1-Regular"; // We set the parts and font based on the symbol. Note that we use + // '\u23d0' instead of '|' and '\u2016' instead of '\\|' for the + // repeats of the arrows + + if (delim === "\\uparrow") { + repeat = bottom = "\u23D0"; + } else if (delim === "\\Uparrow") { + repeat = bottom = "\u2016"; + } else if (delim === "\\downarrow") { + top = repeat = "\u23D0"; + } else if (delim === "\\Downarrow") { + top = repeat = "\u2016"; + } else if (delim === "\\updownarrow") { + top = "\\uparrow"; + repeat = "\u23D0"; + bottom = "\\downarrow"; + } else if (delim === "\\Updownarrow") { + top = "\\Uparrow"; + repeat = "\u2016"; + bottom = "\\Downarrow"; + } else if (delim === "[" || delim === "\\lbrack") { + top = "\u23A1"; + repeat = "\u23A2"; + bottom = "\u23A3"; + font = "Size4-Regular"; + } else if (delim === "]" || delim === "\\rbrack") { + top = "\u23A4"; + repeat = "\u23A5"; + bottom = "\u23A6"; + font = "Size4-Regular"; + } else if (delim === "\\lfloor" || delim === "\u230A") { + repeat = top = "\u23A2"; + bottom = "\u23A3"; + font = "Size4-Regular"; + } else if (delim === "\\lceil" || delim === "\u2308") { + top = "\u23A1"; + repeat = bottom = "\u23A2"; + font = "Size4-Regular"; + } else if (delim === "\\rfloor" || delim === "\u230B") { + repeat = top = "\u23A5"; + bottom = "\u23A6"; + font = "Size4-Regular"; + } else if (delim === "\\rceil" || delim === "\u2309") { + top = "\u23A4"; + repeat = bottom = "\u23A5"; + font = "Size4-Regular"; + } else if (delim === "(" || delim === "\\lparen") { + top = "\u239B"; + repeat = "\u239C"; + bottom = "\u239D"; + font = "Size4-Regular"; + } else if (delim === ")" || delim === "\\rparen") { + top = "\u239E"; + repeat = "\u239F"; + bottom = "\u23A0"; + font = "Size4-Regular"; + } else if (delim === "\\{" || delim === "\\lbrace") { + top = "\u23A7"; + middle = "\u23A8"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\}" || delim === "\\rbrace") { + top = "\u23AB"; + middle = "\u23AC"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\lgroup" || delim === "\u27EE") { + top = "\u23A7"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\rgroup" || delim === "\u27EF") { + top = "\u23AB"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\lmoustache" || delim === "\u23B0") { + top = "\u23A7"; + bottom = "\u23AD"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } else if (delim === "\\rmoustache" || delim === "\u23B1") { + top = "\u23AB"; + bottom = "\u23A9"; + repeat = "\u23AA"; + font = "Size4-Regular"; + } // Get the metrics of the four sections + + + var topMetrics = delimiter_getMetrics(top, font, mode); + var topHeightTotal = topMetrics.height + topMetrics.depth; + var repeatMetrics = delimiter_getMetrics(repeat, font, mode); + var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth; + var bottomMetrics = delimiter_getMetrics(bottom, font, mode); + var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth; + var middleHeightTotal = 0; + var middleFactor = 1; + + if (middle !== null) { + var middleMetrics = delimiter_getMetrics(middle, font, mode); + middleHeightTotal = middleMetrics.height + middleMetrics.depth; + middleFactor = 2; // repeat symmetrically above and below middle + } // Calcuate the minimal height that the delimiter can have. + // It is at least the size of the top, bottom, and optional middle combined. + + + var minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; // Compute the number of copies of the repeat symbol we will need + + var repeatCount = Math.max(0, Math.ceil((heightTotal - minHeight) / (middleFactor * repeatHeightTotal))); // Compute the total height of the delimiter including all the symbols + + var realHeightTotal = minHeight + repeatCount * middleFactor * repeatHeightTotal; // The center of the delimiter is placed at the center of the axis. Note + // that in this context, "center" means that the delimiter should be + // centered around the axis in the current style, while normally it is + // centered around the axis in textstyle. + + var axisHeight = options.fontMetrics().axisHeight; + + if (center) { + axisHeight *= options.sizeMultiplier; + } // Calculate the depth + + + var depth = realHeightTotal / 2 - axisHeight; // This function differs from the TeX procedure in one way. + // We shift each repeat element downwards by 0.005em, to prevent a gap + // due to browser floating point rounding error. + // Then, at the last element-to element joint, we add one extra repeat + // element to cover the gap created by the shifts. + // Find the shift needed to align the upper end of the extra element at a point + // 0.005em above the lower end of the top element. + + var shiftOfExtraElement = (repeatCount + 1) * 0.005 - repeatHeightTotal; // Now, we start building the pieces that will go into the vlist + // Keep a list of the inner pieces + + var inners = []; // Add the bottom symbol + + inners.push(delimiter_makeInner(bottom, font, mode)); + + if (middle === null) { + // Add that many symbols + for (var i = 0; i < repeatCount; i++) { + inners.push(lap); // overlap + + inners.push(delimiter_makeInner(repeat, font, mode)); + } + } else { + // When there is a middle bit, we need the middle part and two repeated + // sections + for (var _i = 0; _i < repeatCount; _i++) { + inners.push(lap); + inners.push(delimiter_makeInner(repeat, font, mode)); + } // Insert one extra repeat element. + + + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(delimiter_makeInner(repeat, font, mode)); + inners.push(lap); // Now insert the middle of the brace. + + inners.push(delimiter_makeInner(middle, font, mode)); + + for (var _i2 = 0; _i2 < repeatCount; _i2++) { + inners.push(lap); + inners.push(delimiter_makeInner(repeat, font, mode)); + } + } // To cover the gap create by the overlaps, insert one more repeat element, + // at a position that juts 0.005 above the bottom of the top element. + + + inners.push({ + type: "kern", + size: shiftOfExtraElement + }); + inners.push(delimiter_makeInner(repeat, font, mode)); + inners.push(lap); // Add the top symbol + + inners.push(delimiter_makeInner(top, font, mode)); // Finally, build the vlist + + var newOptions = options.havingBaseStyle(src_Style.TEXT); + var inner = buildCommon.makeVList({ + positionType: "bottom", + positionData: depth, + children: inners + }, newOptions); + return delimiter_styleWrap(buildCommon.makeSpan(["delimsizing", "mult"], [inner], newOptions), src_Style.TEXT, options, classes); +}; // All surds have 0.08em padding above the viniculum inside the SVG. +// That keeps browser span height rounding error from pinching the line. + + +var vbPad = 80; // padding above the surd, measured inside the viewBox. + +var emPad = 0.08; // padding, in ems, measured in the document. + +var delimiter_sqrtSvg = function sqrtSvg(sqrtName, height, viewBoxHeight, extraViniculum, options) { + var path = sqrtPath(sqrtName, extraViniculum, viewBoxHeight); + var pathNode = new domTree_PathNode(sqrtName, path); + var svg = new SvgNode([pathNode], { + // Note: 1000:1 ratio of viewBox to document em width. + "width": "400em", + "height": height + "em", + "viewBox": "0 0 400000 " + viewBoxHeight, + "preserveAspectRatio": "xMinYMin slice" + }); + return buildCommon.makeSvgSpan(["hide-tail"], [svg], options); +}; +/** + * Make a sqrt image of the given height, + */ + + +var makeSqrtImage = function makeSqrtImage(height, options) { + // Define a newOptions that removes the effect of size changes such as \Huge. + // We don't pick different a height surd for \Huge. For it, we scale up. + var newOptions = options.havingBaseSizing(); // Pick the desired surd glyph from a sequence of surds. + + var delim = traverseSequence("\\surd", height * newOptions.sizeMultiplier, stackLargeDelimiterSequence, newOptions); + var sizeMultiplier = newOptions.sizeMultiplier; // default + // The standard sqrt SVGs each have a 0.04em thick viniculum. + // If Settings.minRuleThickness is larger than that, we add extraViniculum. + + var extraViniculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol. + + var span; + var spanHeight = 0; + var texHeight = 0; + var viewBoxHeight = 0; + var advanceWidth; // We create viewBoxes with 80 units of "padding" above each surd. + // Then browser rounding error on the parent span height will not + // encroach on the ink of the viniculum. But that padding is not + // included in the TeX-like `height` used for calculation of + // vertical alignment. So texHeight = span.height < span.style.height. + + if (delim.type === "small") { + // Get an SVG that is derived from glyph U+221A in font KaTeX-Main. + // 1000 unit normal glyph height. + viewBoxHeight = 1000 + 1000 * extraViniculum + vbPad; + + if (height < 1.0) { + sizeMultiplier = 1.0; // mimic a \textfont radical + } else if (height < 1.4) { + sizeMultiplier = 0.7; // mimic a \scriptfont radical + } + + spanHeight = (1.0 + extraViniculum + emPad) / sizeMultiplier; + texHeight = (1.00 + extraViniculum) / sizeMultiplier; + span = delimiter_sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.853em"; + advanceWidth = 0.833 / sizeMultiplier; // from the font. + } else if (delim.type === "large") { + // These SVGs come from fonts: KaTeX_Size1, _Size2, etc. + viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size]; + texHeight = (sizeToMaxHeight[delim.size] + extraViniculum) / sizeMultiplier; + spanHeight = (sizeToMaxHeight[delim.size] + extraViniculum + emPad) / sizeMultiplier; + span = delimiter_sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "1.02em"; + advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font. + } else { + // Tall sqrt. In TeX, this would be stacked using multiple glyphs. + // We'll use a single SVG to accomplish the same thing. + spanHeight = height + extraViniculum + emPad; + texHeight = height + extraViniculum; + viewBoxHeight = Math.floor(1000 * height + extraViniculum) + vbPad; + span = delimiter_sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraViniculum, options); + span.style.minWidth = "0.742em"; + advanceWidth = 1.056; + } + + span.height = texHeight; + span.style.height = spanHeight + "em"; + return { + span: span, + advanceWidth: advanceWidth, + // Calculate the actual line width. + // This actually should depend on the chosen font -- e.g. \boldmath + // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and + // have thicker rules. + ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraViniculum) * sizeMultiplier + }; +}; // There are three kinds of delimiters, delimiters that stack when they become +// too large + + +var stackLargeDelimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230A", "\u230B", "\\lceil", "\\rceil", "\u2308", "\u2309", "\\surd"]; // delimiters that always stack + +var stackAlwaysDelimiters = ["\\uparrow", "\\downarrow", "\\updownarrow", "\\Uparrow", "\\Downarrow", "\\Updownarrow", "|", "\\|", "\\vert", "\\Vert", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27EE", "\u27EF", "\\lmoustache", "\\rmoustache", "\u23B0", "\u23B1"]; // and delimiters that never stack + +var stackNeverDelimiters = ["<", ">", "\\langle", "\\rangle", "/", "\\backslash", "\\lt", "\\gt"]; // Metrics of the different sizes. Found by looking at TeX's output of +// $\bigl| // \Bigl| \biggl| \Biggl| \showlists$ +// Used to create stacked delimiters of appropriate sizes in makeSizedDelim. + +var sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0]; +/** + * Used to create a delimiter of a specific size, where `size` is 1, 2, 3, or 4. + */ + +var delimiter_makeSizedDelim = function makeSizedDelim(delim, size, options, mode, classes) { + // < and > turn into \langle and \rangle in delimiters + if (delim === "<" || delim === "\\lt" || delim === "\u27E8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27E9") { + delim = "\\rangle"; + } // Sized delimiters are never centered. + + + if (utils.contains(stackLargeDelimiters, delim) || utils.contains(stackNeverDelimiters, delim)) { + return delimiter_makeLargeDelim(delim, size, false, options, mode, classes); + } else if (utils.contains(stackAlwaysDelimiters, delim)) { + return delimiter_makeStackedDelim(delim, sizeToMaxHeight[size], false, options, mode, classes); + } else { + throw new src_ParseError("Illegal delimiter: '" + delim + "'"); + } +}; +/** + * There are three different sequences of delimiter sizes that the delimiters + * follow depending on the kind of delimiter. This is used when creating custom + * sized delimiters to decide whether to create a small, large, or stacked + * delimiter. + * + * In real TeX, these sequences aren't explicitly defined, but are instead + * defined inside the font metrics. Since there are only three sequences that + * are possible for the delimiters that TeX defines, it is easier to just encode + * them explicitly here. + */ + + +// Delimiters that never stack try small delimiters and large delimiters only +var stackNeverDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}]; // Delimiters that always stack try the small delimiters first, then stack + +var stackAlwaysDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "stack" +}]; // Delimiters that stack when large try the small and then large delimiters, and +// stack afterwards + +var stackLargeDelimiterSequence = [{ + type: "small", + style: src_Style.SCRIPTSCRIPT +}, { + type: "small", + style: src_Style.SCRIPT +}, { + type: "small", + style: src_Style.TEXT +}, { + type: "large", + size: 1 +}, { + type: "large", + size: 2 +}, { + type: "large", + size: 3 +}, { + type: "large", + size: 4 +}, { + type: "stack" +}]; +/** + * Get the font used in a delimiter based on what kind of delimiter it is. + * TODO(#963) Use more specific font family return type once that is introduced. + */ + +var delimTypeToFont = function delimTypeToFont(type) { + if (type.type === "small") { + return "Main-Regular"; + } else if (type.type === "large") { + return "Size" + type.size + "-Regular"; + } else if (type.type === "stack") { + return "Size4-Regular"; + } else { + throw new Error("Add support for delim type '" + type.type + "' here."); + } +}; +/** + * Traverse a sequence of types of delimiters to decide what kind of delimiter + * should be used to create a delimiter of the given height+depth. + */ + + +var traverseSequence = function traverseSequence(delim, height, sequence, options) { + // Here, we choose the index we should start at in the sequences. In smaller + // sizes (which correspond to larger numbers in style.size) we start earlier + // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts + // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2 + var start = Math.min(2, 3 - options.style.size); + + for (var i = start; i < sequence.length; i++) { + if (sequence[i].type === "stack") { + // This is always the last delimiter, so we just break the loop now. + break; + } + + var metrics = delimiter_getMetrics(delim, delimTypeToFont(sequence[i]), "math"); + var heightDepth = metrics.height + metrics.depth; // Small delimiters are scaled down versions of the same font, so we + // account for the style change size. + + if (sequence[i].type === "small") { + var newOptions = options.havingBaseStyle(sequence[i].style); + heightDepth *= newOptions.sizeMultiplier; + } // Check if the delimiter at this size works for the given height. + + + if (heightDepth > height) { + return sequence[i]; + } + } // If we reached the end of the sequence, return the last sequence element. + + + return sequence[sequence.length - 1]; +}; +/** + * Make a delimiter of a given height+depth, with optional centering. Here, we + * traverse the sequences, and create a delimiter that the sequence tells us to. + */ + + +var delimiter_makeCustomSizedDelim = function makeCustomSizedDelim(delim, height, center, options, mode, classes) { + if (delim === "<" || delim === "\\lt" || delim === "\u27E8") { + delim = "\\langle"; + } else if (delim === ">" || delim === "\\gt" || delim === "\u27E9") { + delim = "\\rangle"; + } // Decide what sequence to use + + + var sequence; + + if (utils.contains(stackNeverDelimiters, delim)) { + sequence = stackNeverDelimiterSequence; + } else if (utils.contains(stackLargeDelimiters, delim)) { + sequence = stackLargeDelimiterSequence; + } else { + sequence = stackAlwaysDelimiterSequence; + } // Look through the sequence + + + var delimType = traverseSequence(delim, height, sequence, options); // Get the delimiter from font glyphs. + // Depending on the sequence element we decided on, call the + // appropriate function. + + if (delimType.type === "small") { + return delimiter_makeSmallDelim(delim, delimType.style, center, options, mode, classes); + } else if (delimType.type === "large") { + return delimiter_makeLargeDelim(delim, delimType.size, center, options, mode, classes); + } else + /* if (delimType.type === "stack") */ + { + return delimiter_makeStackedDelim(delim, height, center, options, mode, classes); + } +}; +/** + * Make a delimiter for use with `\left` and `\right`, given a height and depth + * of an expression that the delimiters surround. + */ + + +var makeLeftRightDelim = function makeLeftRightDelim(delim, height, depth, options, mode, classes) { + // We always center \left/\right delimiters, so the axis is always shifted + var axisHeight = options.fontMetrics().axisHeight * options.sizeMultiplier; // Taken from TeX source, tex.web, function make_left_right + + var delimiterFactor = 901; + var delimiterExtend = 5.0 / options.fontMetrics().ptPerEm; + var maxDistFromAxis = Math.max(height - axisHeight, depth + axisHeight); + var totalHeight = Math.max( // In real TeX, calculations are done using integral values which are + // 65536 per pt, or 655360 per em. So, the division here truncates in + // TeX but doesn't here, producing different results. If we wanted to + // exactly match TeX's calculation, we could do + // Math.floor(655360 * maxDistFromAxis / 500) * + // delimiterFactor / 655360 + // (To see the difference, compare + // x^{x^{\left(\rule{0.1em}{0.68em}\right)}} + // in TeX and KaTeX) + maxDistFromAxis / 500 * delimiterFactor, 2 * maxDistFromAxis - delimiterExtend); // Finally, we defer to `makeCustomSizedDelim` with our calculated total + // height + + return delimiter_makeCustomSizedDelim(delim, totalHeight, true, options, mode, classes); +}; + +/* harmony default export */ var delimiter = ({ + sqrtImage: makeSqrtImage, + sizedDelim: delimiter_makeSizedDelim, + customSizedDelim: delimiter_makeCustomSizedDelim, + leftRightDelim: makeLeftRightDelim +}); +// CONCATENATED MODULE: ./src/functions/delimsizing.js + + + + + + + + + +// Extra data needed for the delimiter handler down below +var delimiterSizes = { + "\\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 + } +}; +var delimiters = ["(", "\\lparen", ")", "\\rparen", "[", "\\lbrack", "]", "\\rbrack", "\\{", "\\lbrace", "\\}", "\\rbrace", "\\lfloor", "\\rfloor", "\u230A", "\u230B", "\\lceil", "\\rceil", "\u2308", "\u2309", "<", ">", "\\langle", "\u27E8", "\\rangle", "\u27E9", "\\lt", "\\gt", "\\lvert", "\\rvert", "\\lVert", "\\rVert", "\\lgroup", "\\rgroup", "\u27EE", "\u27EF", "\\lmoustache", "\\rmoustache", "\u23B0", "\u23B1", "/", "\\backslash", "|", "\\vert", "\\|", "\\Vert", "\\uparrow", "\\Uparrow", "\\downarrow", "\\Downarrow", "\\updownarrow", "\\Updownarrow", "."]; + +// Delimiter functions +function checkDelimiter(delim, context) { + var symDelim = checkSymbolNodeType(delim); + + if (symDelim && utils.contains(delimiters, symDelim.text)) { + return symDelim; + } else { + throw new src_ParseError("Invalid delimiter: '" + (symDelim ? symDelim.text : JSON.stringify(delim)) + "' after '" + context.funcName + "'", delim); + } +} + +defineFunction({ + type: "delimsizing", + names: ["\\bigl", "\\Bigl", "\\biggl", "\\Biggl", "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", "\\big", "\\Big", "\\bigg", "\\Bigg"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + return { + type: "delimsizing", + mode: context.parser.mode, + size: delimiterSizes[context.funcName].size, + mclass: delimiterSizes[context.funcName].mclass, + delim: delim.text + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + if (group.delim === ".") { + // Empty delimiters still count as elements, even though they don't + // show anything. + return buildCommon.makeSpan([group.mclass]); + } // Use delimiter.sizedDelim to generate the delimiter. + + + return delimiter.sizedDelim(group.delim, group.size, options, group.mode, [group.mclass]); + }, + mathmlBuilder: function mathmlBuilder(group) { + var children = []; + + if (group.delim !== ".") { + children.push(buildMathML_makeText(group.delim, group.mode)); + } + + var node = new mathMLTree.MathNode("mo", children); + + if (group.mclass === "mopen" || group.mclass === "mclose") { + // Only some of the delimsizing functions act as fences, and they + // return "mopen" or "mclose" mclass. + node.setAttribute("fence", "true"); + } else { + // Explicitly disable fencing if it's not a fence, to override the + // defaults. + node.setAttribute("fence", "false"); + } + + return node; + } +}); + +function assertParsed(group) { + if (!group.body) { + throw new Error("Bug: The leftright ParseNode wasn't fully parsed."); + } +} + +defineFunction({ + type: "leftright-right", + names: ["\\right"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // \left case below triggers parsing of \right in + // `const right = parser.parseFunction();` + // uses this return value. + var color = context.parser.gullet.macros.get("\\current@color"); + + if (color && typeof color !== "string") { + throw new src_ParseError("\\current@color set to non-string in \\right"); + } + + return { + type: "leftright-right", + mode: context.parser.mode, + delim: checkDelimiter(args[0], context).text, + color: color // undefined if not set via \color + + }; + } +}); +defineFunction({ + type: "leftright", + names: ["\\left"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + var parser = context.parser; // Parse out the implicit body + + ++parser.leftrightDepth; // parseExpression stops before '\\right' + + var body = parser.parseExpression(false); + --parser.leftrightDepth; // Check the next token + + parser.expect("\\right", false); + var right = assertNodeType(parser.parseFunction(), "leftright-right"); + return { + type: "leftright", + mode: parser.mode, + body: body, + left: delim.text, + right: right.delim, + rightColor: right.color + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + assertParsed(group); // Build the inner expression + + var inner = buildHTML_buildExpression(group.body, options, true, ["mopen", "mclose"]); + var innerHeight = 0; + var innerDepth = 0; + var hadMiddle = false; // Calculate its height and depth + + for (var i = 0; i < inner.length; i++) { + // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + if (inner[i].isMiddle) { + hadMiddle = true; + } else { + innerHeight = Math.max(inner[i].height, innerHeight); + innerDepth = Math.max(inner[i].depth, innerDepth); + } + } // The size of delimiters is the same, regardless of what style we are + // in. Thus, to correctly calculate the size of delimiter we need around + // a group, we scale down the inner size based on the size. + + + innerHeight *= options.sizeMultiplier; + innerDepth *= options.sizeMultiplier; + var leftDelim; + + if (group.left === ".") { + // Empty delimiters in \left and \right make null delimiter spaces. + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + // Otherwise, use leftRightDelim to generate the correct sized + // delimiter. + leftDelim = delimiter.leftRightDelim(group.left, innerHeight, innerDepth, options, group.mode, ["mopen"]); + } // Add it to the beginning of the expression + + + inner.unshift(leftDelim); // Handle middle delimiters + + if (hadMiddle) { + for (var _i = 1; _i < inner.length; _i++) { + var middleDelim = inner[_i]; // Property `isMiddle` not defined on `span`. See comment in + // "middle"'s htmlBuilder. + // $FlowFixMe + + var isMiddle = middleDelim.isMiddle; + + if (isMiddle) { + // Apply the options that were active when \middle was called + inner[_i] = delimiter.leftRightDelim(isMiddle.delim, innerHeight, innerDepth, isMiddle.options, group.mode, []); + } + } + } + + var rightDelim; // Same for the right delimiter, but using color specified by \color + + if (group.right === ".") { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + var colorOptions = group.rightColor ? options.withColor(group.rightColor) : options; + rightDelim = delimiter.leftRightDelim(group.right, innerHeight, innerDepth, colorOptions, group.mode, ["mclose"]); + } // Add it to the end of the expression. + + + inner.push(rightDelim); + return buildCommon.makeSpan(["minner"], inner, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + assertParsed(group); + var inner = buildMathML_buildExpression(group.body, options); + + if (group.left !== ".") { + var leftNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.left, group.mode)]); + leftNode.setAttribute("fence", "true"); + inner.unshift(leftNode); + } + + if (group.right !== ".") { + var rightNode = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.right, group.mode)]); + rightNode.setAttribute("fence", "true"); + + if (group.rightColor) { + rightNode.setAttribute("mathcolor", group.rightColor); + } + + inner.push(rightNode); + } + + return buildMathML_makeRow(inner); + } +}); +defineFunction({ + type: "middle", + names: ["\\middle"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + var delim = checkDelimiter(args[0], context); + + if (!context.parser.leftrightDepth) { + throw new src_ParseError("\\middle without preceding \\left", delim); + } + + return { + type: "middle", + mode: context.parser.mode, + delim: delim.text + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var middleDelim; + + if (group.delim === ".") { + middleDelim = makeNullDelimiter(options, []); + } else { + middleDelim = delimiter.sizedDelim(group.delim, 1, options, group.mode, []); + var isMiddle = { + delim: group.delim, + options: options + }; // Property `isMiddle` not defined on `span`. It is only used in + // this file above. + // TODO: Fix this violation of the `span` type and possibly rename + // things since `isMiddle` sounds like a boolean, but is a struct. + // $FlowFixMe + + middleDelim.isMiddle = isMiddle; + } + + return middleDelim; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // A Firefox \middle will strech a character vertically only if it + // is in the fence part of the operator dictionary at: + // https://www.w3.org/TR/MathML3/appendixc.html. + // So we need to avoid U+2223 and use plain "|" instead. + var textNode = group.delim === "\\vert" || group.delim === "|" ? buildMathML_makeText("|", "text") : buildMathML_makeText(group.delim, group.mode); + var middleNode = new mathMLTree.MathNode("mo", [textNode]); + middleNode.setAttribute("fence", "true"); // MathML gives 5/18em spacing to each element. + // \middle should get delimiter spacing instead. + + middleNode.setAttribute("lspace", "0.05em"); + middleNode.setAttribute("rspace", "0.05em"); + return middleNode; + } +}); +// CONCATENATED MODULE: ./src/functions/enclose.js + + + + + + + + + +var enclose_htmlBuilder = function htmlBuilder(group, options) { + // \cancel, \bcancel, \xcancel, \sout, \fbox, \colorbox, \fcolorbox + // Some groups can return document fragments. Handle those by wrapping + // them in a span. + var inner = buildCommon.wrapFragment(buildHTML_buildGroup(group.body, options), options); + var label = group.label.substr(1); + var scale = options.sizeMultiplier; + var img; + var imgShift = 0; // In the LaTeX cancel package, line geometry is slightly different + // depending on whether the subject is wider than it is tall, or vice versa. + // We don't know the width of a group, so as a proxy, we test if + // the subject is a single character. This captures most of the + // subjects that should get the "tall" treatment. + + var isSingleChar = utils.isCharacterBox(group.body); + + if (label === "sout") { + img = buildCommon.makeSpan(["stretchy", "sout"]); + img.height = options.fontMetrics().defaultRuleThickness / scale; + imgShift = -0.5 * options.fontMetrics().xHeight; + } else { + // Add horizontal padding + if (/cancel/.test(label)) { + if (!isSingleChar) { + inner.classes.push("cancel-pad"); + } + } else { + inner.classes.push("boxpad"); + } // Add vertical padding + + + var vertPad = 0; + var ruleThickness = 0; // ref: cancel package: \advance\totalheight2\p@ % "+2" + + if (/box/.test(label)) { + ruleThickness = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // User override. + ); + vertPad = options.fontMetrics().fboxsep + (label === "colorbox" ? 0 : ruleThickness); + } else { + vertPad = isSingleChar ? 0.2 : 0; + } + + img = stretchy.encloseSpan(inner, label, vertPad, options); + + if (/fbox|boxed|fcolorbox/.test(label)) { + img.style.borderStyle = "solid"; + img.style.borderWidth = ruleThickness + "em"; + } + + imgShift = inner.depth + vertPad; + + if (group.backgroundColor) { + img.style.backgroundColor = group.backgroundColor; + + if (group.borderColor) { + img.style.borderColor = group.borderColor; + } + } + } + + var vlist; + + if (group.backgroundColor) { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Put the color background behind inner; + { + type: "elem", + elem: img, + shift: imgShift + }, { + type: "elem", + elem: inner, + shift: 0 + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "individualShift", + children: [// Write the \cancel stroke on top of inner. + { + type: "elem", + elem: inner, + shift: 0 + }, { + type: "elem", + elem: img, + shift: imgShift, + wrapperClasses: /cancel/.test(label) ? ["svg-align"] : [] + }] + }, options); + } + + if (/cancel/.test(label)) { + // The cancel package documentation says that cancel lines add their height + // to the expression, but tests show that isn't how it actually works. + vlist.height = inner.height; + vlist.depth = inner.depth; + } + + if (/cancel/.test(label) && !isSingleChar) { + // cancel does not create horiz space for its line extension. + return buildCommon.makeSpan(["mord", "cancel-lap"], [vlist], options); + } else { + return buildCommon.makeSpan(["mord"], [vlist], options); + } +}; + +var enclose_mathmlBuilder = function mathmlBuilder(group, options) { + var fboxsep = 0; + var node = new mathMLTree.MathNode(group.label.indexOf("colorbox") > -1 ? "mpadded" : "menclose", [buildMathML_buildGroup(group.body, options)]); + + switch (group.label) { + case "\\cancel": + node.setAttribute("notation", "updiagonalstrike"); + break; + + case "\\bcancel": + node.setAttribute("notation", "downdiagonalstrike"); + break; + + case "\\sout": + node.setAttribute("notation", "horizontalstrike"); + break; + + case "\\fbox": + node.setAttribute("notation", "box"); + break; + + case "\\fcolorbox": + case "\\colorbox": + // doesn't have a good notation option. So use + // instead. Set some attributes that come included with . + fboxsep = options.fontMetrics().fboxsep * options.fontMetrics().ptPerEm; + node.setAttribute("width", "+" + 2 * fboxsep + "pt"); + node.setAttribute("height", "+" + 2 * fboxsep + "pt"); + node.setAttribute("lspace", fboxsep + "pt"); // + + node.setAttribute("voffset", fboxsep + "pt"); + + if (group.label === "\\fcolorbox") { + var thk = Math.max(options.fontMetrics().fboxrule, // default + options.minRuleThickness // user override + ); + node.setAttribute("style", "border: " + thk + "em solid " + String(group.borderColor)); + } + + break; + + case "\\xcancel": + node.setAttribute("notation", "updiagonalstrike downdiagonalstrike"); + break; + } + + if (group.backgroundColor) { + node.setAttribute("mathbackground", group.backgroundColor); + } + + return node; +}; + +defineFunction({ + type: "enclose", + names: ["\\colorbox"], + props: { + numArgs: 2, + allowedInText: true, + greediness: 3, + argTypes: ["color", "text"] + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser, + funcName = _ref.funcName; + var color = assertNodeType(args[0], "color-token").color; + var body = args[1]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: color, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +defineFunction({ + type: "enclose", + names: ["\\fcolorbox"], + props: { + numArgs: 3, + allowedInText: true, + greediness: 3, + argTypes: ["color", "color", "text"] + }, + handler: function handler(_ref2, args, optArgs) { + var parser = _ref2.parser, + funcName = _ref2.funcName; + var borderColor = assertNodeType(args[0], "color-token").color; + var backgroundColor = assertNodeType(args[1], "color-token").color; + var body = args[2]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + backgroundColor: backgroundColor, + borderColor: borderColor, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +defineFunction({ + type: "enclose", + names: ["\\fbox"], + props: { + numArgs: 1, + argTypes: ["hbox"], + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + return { + type: "enclose", + mode: parser.mode, + label: "\\fbox", + body: args[0] + }; + } +}); +defineFunction({ + type: "enclose", + names: ["\\cancel", "\\bcancel", "\\xcancel", "\\sout"], + props: { + numArgs: 1 + }, + handler: function handler(_ref4, args, optArgs) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + var body = args[0]; + return { + type: "enclose", + mode: parser.mode, + label: funcName, + body: body + }; + }, + htmlBuilder: enclose_htmlBuilder, + mathmlBuilder: enclose_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/defineEnvironment.js + + +/** + * All registered environments. + * `environments.js` exports this same dictionary again and makes it public. + * `Parser.js` requires this dictionary via `environments.js`. + */ +var _environments = {}; +function defineEnvironment(_ref) { + var type = _ref.type, + names = _ref.names, + props = _ref.props, + handler = _ref.handler, + htmlBuilder = _ref.htmlBuilder, + mathmlBuilder = _ref.mathmlBuilder; + // Set default values of environments. + var data = { + type: type, + numArgs: props.numArgs || 0, + greediness: 1, + allowedInText: false, + numOptionalArgs: 0, + handler: handler + }; + + for (var i = 0; i < names.length; ++i) { + // TODO: The value type of _environments should be a type union of all + // possible `EnvSpec<>` possibilities instead of `EnvSpec<*>`, which is + // an existential type. + // $FlowFixMe + _environments[names[i]] = data; + } + + if (htmlBuilder) { + _htmlGroupBuilders[type] = htmlBuilder; + } + + if (mathmlBuilder) { + _mathmlGroupBuilders[type] = mathmlBuilder; + } +} +// CONCATENATED MODULE: ./src/environments/array.js + + + + + + + + + + + + + +function getHLines(parser) { + // Return an array. The array length = number of hlines. + // Each element in the array tells if the line is dashed. + var hlineInfo = []; + parser.consumeSpaces(); + var nxt = parser.fetch().text; + + while (nxt === "\\hline" || nxt === "\\hdashline") { + parser.consume(); + hlineInfo.push(nxt === "\\hdashline"); + parser.consumeSpaces(); + nxt = parser.fetch().text; + } + + return hlineInfo; +} +/** + * Parse the body of the environment, with rows delimited by \\ and + * columns delimited by &, and create a nested list in row-major order + * with one group per cell. If given an optional argument style + * ("text", "display", etc.), then each cell is cast into that style. + */ + + +function parseArray(parser, _ref, style) { + var hskipBeforeAndAfter = _ref.hskipBeforeAndAfter, + addJot = _ref.addJot, + cols = _ref.cols, + arraystretch = _ref.arraystretch, + colSeparationType = _ref.colSeparationType; + // Parse body of array with \\ temporarily mapped to \cr + parser.gullet.beginGroup(); + parser.gullet.macros.set("\\\\", "\\cr"); // Get current arraystretch if it's not set by the environment + + if (!arraystretch) { + var stretch = parser.gullet.expandMacroAsText("\\arraystretch"); + + if (stretch == null) { + // Default \arraystretch from lttab.dtx + arraystretch = 1; + } else { + arraystretch = parseFloat(stretch); + + if (!arraystretch || arraystretch < 0) { + throw new src_ParseError("Invalid \\arraystretch: " + stretch); + } + } + } // Start group for first cell + + + parser.gullet.beginGroup(); + var row = []; + var body = [row]; + var rowGaps = []; + var hLinesBeforeRow = []; // Test for \hline at the top of the array. + + hLinesBeforeRow.push(getHLines(parser)); + + while (true) { + // eslint-disable-line no-constant-condition + // Parse each cell in its own group (namespace) + var cell = parser.parseExpression(false, "\\cr"); + parser.gullet.endGroup(); + parser.gullet.beginGroup(); + cell = { + type: "ordgroup", + mode: parser.mode, + body: cell + }; + + if (style) { + cell = { + type: "styling", + mode: parser.mode, + style: style, + body: [cell] + }; + } + + row.push(cell); + var next = parser.fetch().text; + + if (next === "&") { + parser.consume(); + } else if (next === "\\end") { + // Arrays terminate newlines with `\crcr` which consumes a `\cr` if + // the last line is empty. + // NOTE: Currently, `cell` is the last item added into `row`. + if (row.length === 1 && cell.type === "styling" && cell.body[0].body.length === 0) { + body.pop(); + } + + if (hLinesBeforeRow.length < body.length + 1) { + hLinesBeforeRow.push([]); + } + + break; + } else if (next === "\\cr") { + var cr = assertNodeType(parser.parseFunction(), "cr"); + rowGaps.push(cr.size); // check for \hline(s) following the row separator + + hLinesBeforeRow.push(getHLines(parser)); + row = []; + body.push(row); + } else { + throw new src_ParseError("Expected & or \\\\ or \\cr or \\end", parser.nextToken); + } + } // End cell group + + + parser.gullet.endGroup(); // End array group defining \\ + + parser.gullet.endGroup(); + return { + type: "array", + mode: parser.mode, + addJot: addJot, + arraystretch: arraystretch, + body: body, + cols: cols, + rowGaps: rowGaps, + hskipBeforeAndAfter: hskipBeforeAndAfter, + hLinesBeforeRow: hLinesBeforeRow, + colSeparationType: colSeparationType + }; +} // Decides on a style for cells in an array according to whether the given +// environment name starts with the letter 'd'. + + +function dCellStyle(envName) { + if (envName.substr(0, 1) === "d") { + return "display"; + } else { + return "text"; + } +} + +var array_htmlBuilder = function htmlBuilder(group, options) { + var r; + var c; + var nr = group.body.length; + var hLinesBeforeRow = group.hLinesBeforeRow; + var nc = 0; + var body = new Array(nr); + var hlines = []; + var ruleThickness = Math.max( // From LaTeX \showthe\arrayrulewidth. Equals 0.04 em. + options.fontMetrics().arrayRuleWidth, options.minRuleThickness // User override. + ); // Horizontal spacing + + var pt = 1 / options.fontMetrics().ptPerEm; + var arraycolsep = 5 * pt; // default value, i.e. \arraycolsep in article.cls + + if (group.colSeparationType && group.colSeparationType === "small") { + // We're in a {smallmatrix}. Default column space is \thickspace, + // i.e. 5/18em = 0.2778em, per amsmath.dtx for {smallmatrix}. + // But that needs adjustment because LaTeX applies \scriptstyle to the + // entire array, including the colspace, but this function applies + // \scriptstyle only inside each element. + var localMultiplier = options.havingStyle(src_Style.SCRIPT).sizeMultiplier; + arraycolsep = 0.2778 * (localMultiplier / options.sizeMultiplier); + } // Vertical spacing + + + var baselineskip = 12 * pt; // see size10.clo + // Default \jot from ltmath.dtx + // TODO(edemaine): allow overriding \jot via \setlength (#687) + + var jot = 3 * pt; + var arrayskip = group.arraystretch * baselineskip; + var arstrutHeight = 0.7 * arrayskip; // \strutbox in ltfsstrc.dtx and + + var arstrutDepth = 0.3 * arrayskip; // \@arstrutbox in lttab.dtx + + var totalHeight = 0; // Set a position for \hline(s) at the top of the array, if any. + + function setHLinePos(hlinesInGap) { + for (var i = 0; i < hlinesInGap.length; ++i) { + if (i > 0) { + totalHeight += 0.25; + } + + hlines.push({ + pos: totalHeight, + isDashed: hlinesInGap[i] + }); + } + } + + setHLinePos(hLinesBeforeRow[0]); + + for (r = 0; r < group.body.length; ++r) { + var inrow = group.body[r]; + var height = arstrutHeight; // \@array adds an \@arstrut + + var depth = arstrutDepth; // to each tow (via the template) + + if (nc < inrow.length) { + nc = inrow.length; + } + + var outrow = new Array(inrow.length); + + for (c = 0; c < inrow.length; ++c) { + var elt = buildHTML_buildGroup(inrow[c], options); + + if (depth < elt.depth) { + depth = elt.depth; + } + + if (height < elt.height) { + height = elt.height; + } + + outrow[c] = elt; + } + + var rowGap = group.rowGaps[r]; + var gap = 0; + + if (rowGap) { + gap = units_calculateSize(rowGap, options); + + if (gap > 0) { + // \@argarraycr + gap += arstrutDepth; + + if (depth < gap) { + depth = gap; // \@xargarraycr + } + + gap = 0; + } + } // In AMS multiline environments such as aligned and gathered, rows + // correspond to lines that have additional \jot added to the + // \baselineskip via \openup. + + + if (group.addJot) { + depth += jot; + } + + outrow.height = height; + outrow.depth = depth; + totalHeight += height; + outrow.pos = totalHeight; + totalHeight += depth + gap; // \@yargarraycr + + body[r] = outrow; // Set a position for \hline(s), if any. + + setHLinePos(hLinesBeforeRow[r + 1]); + } + + var offset = totalHeight / 2 + options.fontMetrics().axisHeight; + var colDescriptions = group.cols || []; + var cols = []; + var colSep; + var colDescrNum; + + for (c = 0, colDescrNum = 0; // Continue while either there are more columns or more column + // descriptions, so trailing separators don't get lost. + c < nc || colDescrNum < colDescriptions.length; ++c, ++colDescrNum) { + var colDescr = colDescriptions[colDescrNum] || {}; + var firstSeparator = true; + + while (colDescr.type === "separator") { + // If there is more than one separator in a row, add a space + // between them. + if (!firstSeparator) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = options.fontMetrics().doubleRuleSep + "em"; + cols.push(colSep); + } + + if (colDescr.separator === "|" || colDescr.separator === ":") { + var lineType = colDescr.separator === "|" ? "solid" : "dashed"; + var separator = buildCommon.makeSpan(["vertical-separator"], [], options); + separator.style.height = totalHeight + "em"; + separator.style.borderRightWidth = ruleThickness + "em"; + separator.style.borderRightStyle = lineType; + separator.style.margin = "0 -" + ruleThickness / 2 + "em"; + separator.style.verticalAlign = -(totalHeight - offset) + "em"; + cols.push(separator); + } else { + throw new src_ParseError("Invalid separator type: " + colDescr.separator); + } + + colDescrNum++; + colDescr = colDescriptions[colDescrNum] || {}; + firstSeparator = false; + } + + if (c >= nc) { + continue; + } + + var sepwidth = void 0; + + if (c > 0 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.pregap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + + var col = []; + + for (r = 0; r < nr; ++r) { + var row = body[r]; + var elem = row[c]; + + if (!elem) { + continue; + } + + var shift = row.pos - offset; + elem.depth = row.depth; + elem.height = row.height; + col.push({ + type: "elem", + elem: elem, + shift: shift + }); + } + + col = buildCommon.makeVList({ + positionType: "individualShift", + children: col + }, options); + col = buildCommon.makeSpan(["col-align-" + (colDescr.align || "c")], [col]); + cols.push(col); + + if (c < nc - 1 || group.hskipBeforeAndAfter) { + sepwidth = utils.deflt(colDescr.postgap, arraycolsep); + + if (sepwidth !== 0) { + colSep = buildCommon.makeSpan(["arraycolsep"], []); + colSep.style.width = sepwidth + "em"; + cols.push(colSep); + } + } + } + + body = buildCommon.makeSpan(["mtable"], cols); // Add \hline(s), if any. + + if (hlines.length > 0) { + var line = buildCommon.makeLineSpan("hline", options, ruleThickness); + var dashes = buildCommon.makeLineSpan("hdashline", options, ruleThickness); + var vListElems = [{ + type: "elem", + elem: body, + shift: 0 + }]; + + while (hlines.length > 0) { + var hline = hlines.pop(); + var lineShift = hline.pos - offset; + + if (hline.isDashed) { + vListElems.push({ + type: "elem", + elem: dashes, + shift: lineShift + }); + } else { + vListElems.push({ + type: "elem", + elem: line, + shift: lineShift + }); + } + } + + body = buildCommon.makeVList({ + positionType: "individualShift", + children: vListElems + }, options); + } + + return buildCommon.makeSpan(["mord"], [body], options); +}; + +var alignMap = { + c: "center ", + l: "left ", + r: "right " +}; + +var array_mathmlBuilder = function mathmlBuilder(group, options) { + var table = new mathMLTree.MathNode("mtable", group.body.map(function (row) { + return new mathMLTree.MathNode("mtr", row.map(function (cell) { + return new mathMLTree.MathNode("mtd", [buildMathML_buildGroup(cell, options)]); + })); + })); // Set column alignment, row spacing, column spacing, and + // array lines by setting attributes on the table element. + // Set the row spacing. In MathML, we specify a gap distance. + // We do not use rowGap[] because MathML automatically increases + // cell height with the height/depth of the element content. + // LaTeX \arraystretch multiplies the row baseline-to-baseline distance. + // We simulate this by adding (arraystretch - 1)em to the gap. This + // does a reasonable job of adjusting arrays containing 1 em tall content. + // The 0.16 and 0.09 values are found emprically. They produce an array + // similar to LaTeX and in which content does not interfere with \hines. + + var gap = group.arraystretch === 0.5 ? 0.1 // {smallmatrix}, {subarray} + : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0); + table.setAttribute("rowspacing", gap + "em"); // MathML table lines go only between cells. + // To place a line on an edge we'll use , if necessary. + + var menclose = ""; + var align = ""; + + if (group.cols) { + // Find column alignment, column spacing, and vertical lines. + var cols = group.cols; + var columnLines = ""; + var prevTypeWasAlign = false; + var iStart = 0; + var iEnd = cols.length; + + if (cols[0].type === "separator") { + menclose += "top "; + iStart = 1; + } + + if (cols[cols.length - 1].type === "separator") { + menclose += "bottom "; + iEnd -= 1; + } + + for (var i = iStart; i < iEnd; i++) { + if (cols[i].type === "align") { + align += alignMap[cols[i].align]; + + if (prevTypeWasAlign) { + columnLines += "none "; + } + + prevTypeWasAlign = true; + } else if (cols[i].type === "separator") { + // MathML accepts only single lines between cells. + // So we read only the first of consecutive separators. + if (prevTypeWasAlign) { + columnLines += cols[i].separator === "|" ? "solid " : "dashed "; + prevTypeWasAlign = false; + } + } + } + + table.setAttribute("columnalign", align.trim()); + + if (/[sd]/.test(columnLines)) { + table.setAttribute("columnlines", columnLines.trim()); + } + } // Set column spacing. + + + if (group.colSeparationType === "align") { + var _cols = group.cols || []; + + var spacing = ""; + + for (var _i = 1; _i < _cols.length; _i++) { + spacing += _i % 2 ? "0em " : "1em "; + } + + table.setAttribute("columnspacing", spacing.trim()); + } else if (group.colSeparationType === "alignat") { + table.setAttribute("columnspacing", "0em"); + } else if (group.colSeparationType === "small") { + table.setAttribute("columnspacing", "0.2778em"); + } else { + table.setAttribute("columnspacing", "1em"); + } // Address \hline and \hdashline + + + var rowLines = ""; + var hlines = group.hLinesBeforeRow; + menclose += hlines[0].length > 0 ? "left " : ""; + menclose += hlines[hlines.length - 1].length > 0 ? "right " : ""; + + for (var _i2 = 1; _i2 < hlines.length - 1; _i2++) { + rowLines += hlines[_i2].length === 0 ? "none " // MathML accepts only a single line between rows. Read one element. + : hlines[_i2][0] ? "dashed " : "solid "; + } + + if (/[sd]/.test(rowLines)) { + table.setAttribute("rowlines", rowLines.trim()); + } + + if (menclose !== "") { + table = new mathMLTree.MathNode("menclose", [table]); + table.setAttribute("notation", menclose.trim()); + } + + if (group.arraystretch && group.arraystretch < 1) { + // A small array. Wrap in scriptstyle so row gap is not too large. + table = new mathMLTree.MathNode("mstyle", [table]); + table.setAttribute("scriptlevel", "1"); + } + + return table; +}; // Convenience function for aligned and alignedat environments. + + +var array_alignedHandler = function alignedHandler(context, args) { + var cols = []; + var res = parseArray(context.parser, { + cols: cols, + addJot: true + }, "display"); // Determining number of columns. + // 1. If the first argument is given, we use it as a number of columns, + // and makes sure that each row doesn't exceed that number. + // 2. Otherwise, just count number of columns = maximum number + // of cells in each row ("aligned" mode -- isAligned will be true). + // + // At the same time, prepend empty group {} at beginning of every second + // cell in each row (starting with second cell) so that operators become + // binary. This behavior is implemented in amsmath's \start@aligned. + + var numMaths; + var numCols = 0; + var emptyGroup = { + type: "ordgroup", + mode: context.mode, + body: [] + }; + var ordgroup = checkNodeType(args[0], "ordgroup"); + + if (ordgroup) { + var arg0 = ""; + + for (var i = 0; i < ordgroup.body.length; i++) { + var textord = assertNodeType(ordgroup.body[i], "textord"); + arg0 += textord.text; + } + + numMaths = Number(arg0); + numCols = numMaths * 2; + } + + var isAligned = !numCols; + res.body.forEach(function (row) { + for (var _i3 = 1; _i3 < row.length; _i3 += 2) { + // Modify ordgroup node within styling node + var styling = assertNodeType(row[_i3], "styling"); + + var _ordgroup = assertNodeType(styling.body[0], "ordgroup"); + + _ordgroup.body.unshift(emptyGroup); + } + + if (!isAligned) { + // Case 1 + var curMaths = row.length / 2; + + if (numMaths < curMaths) { + throw new src_ParseError("Too many math in a row: " + ("expected " + numMaths + ", but got " + curMaths), row[0]); + } + } else if (numCols < row.length) { + // Case 2 + numCols = row.length; + } + }); // Adjusting alignment. + // In aligned mode, we add one \qquad between columns; + // otherwise we add nothing. + + for (var _i4 = 0; _i4 < numCols; ++_i4) { + var align = "r"; + var pregap = 0; + + if (_i4 % 2 === 1) { + align = "l"; + } else if (_i4 > 0 && isAligned) { + // "aligned" mode. + pregap = 1; // add one \quad + } + + cols[_i4] = { + type: "align", + align: align, + pregap: pregap, + postgap: 0 + }; + } + + res.colSeparationType = isAligned ? "align" : "alignat"; + return res; +}; // Arrays are part of LaTeX, defined in lttab.dtx so its documentation +// is part of the source2e.pdf file of LaTeX2e source documentation. +// {darray} is an {array} environment where cells are set in \displaystyle, +// as defined in nccmath.sty. + + +defineEnvironment({ + type: "array", + names: ["array", "darray"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // Since no types are specified above, the two possibilities are + // - The argument is wrapped in {} or [], in which case Parser's + // parseGroup() returns an "ordgroup" wrapping some symbol node. + // - The argument is a bare symbol node. + var symNode = checkSymbolNodeType(args[0]); + var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + var cols = colalign.map(function (nde) { + var node = assertSymbolNodeType(nde); + var ca = node.text; + + if ("lcr".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } else if (ca === "|") { + return { + type: "separator", + separator: "|" + }; + } else if (ca === ":") { + return { + type: "separator", + separator: ":" + }; + } + + throw new src_ParseError("Unknown column alignment: " + ca, nde); + }); + var res = { + cols: cols, + hskipBeforeAndAfter: true // \@preamble in lttab.dtx + + }; + return parseArray(context.parser, res, dCellStyle(context.envName)); + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // The matrix environments of amsmath builds on the array environment +// of LaTeX, which is discussed above. + +defineEnvironment({ + type: "array", + names: ["matrix", "pmatrix", "bmatrix", "Bmatrix", "vmatrix", "Vmatrix"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var delimiters = { + "matrix": null, + "pmatrix": ["(", ")"], + "bmatrix": ["[", "]"], + "Bmatrix": ["\\{", "\\}"], + "vmatrix": ["|", "|"], + "Vmatrix": ["\\Vert", "\\Vert"] + }[context.envName]; // \hskip -\arraycolsep in amsmath + + var payload = { + hskipBeforeAndAfter: false + }; + var res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return delimiters ? { + type: "leftright", + mode: context.mode, + body: [res], + left: delimiters[0], + right: delimiters[1], + rightColor: undefined // \right uninfluenced by \color in array + + } : res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); +defineEnvironment({ + type: "array", + names: ["smallmatrix"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var payload = { + arraystretch: 0.5 + }; + var res = parseArray(context.parser, payload, "script"); + res.colSeparationType = "small"; + return res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); +defineEnvironment({ + type: "array", + names: ["subarray"], + props: { + numArgs: 1 + }, + handler: function handler(context, args) { + // Parsing of {subarray} is similar to {array} + var symNode = checkSymbolNodeType(args[0]); + var colalign = symNode ? [args[0]] : assertNodeType(args[0], "ordgroup").body; + var cols = colalign.map(function (nde) { + var node = assertSymbolNodeType(nde); + var ca = node.text; // {subarray} only recognizes "l" & "c" + + if ("lc".indexOf(ca) !== -1) { + return { + type: "align", + align: ca + }; + } + + throw new src_ParseError("Unknown column alignment: " + ca, nde); + }); + + if (cols.length > 1) { + throw new src_ParseError("{subarray} can contain only one column"); + } + + var res = { + cols: cols, + hskipBeforeAndAfter: false, + arraystretch: 0.5 + }; + res = parseArray(context.parser, res, "script"); + + if (res.body[0].length > 1) { + throw new src_ParseError("{subarray} can contain only one column"); + } + + return res; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // A cases environment (in amsmath.sty) is almost equivalent to +// \def\arraystretch{1.2}% +// \left\{\begin{array}{@{}l@{\quad}l@{}} … \end{array}\right. +// {dcases} is a {cases} environment where cells are set in \displaystyle, +// as defined in mathtools.sty. + +defineEnvironment({ + type: "array", + names: ["cases", "dcases"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var payload = { + arraystretch: 1.2, + cols: [{ + type: "align", + align: "l", + pregap: 0, + // TODO(kevinb) get the current style. + // For now we use the metrics for TEXT style which is what we were + // doing before. Before attempting to get the current style we + // should look at TeX's behavior especially for \over and matrices. + postgap: 1.0 + /* 1em quad */ + + }, { + type: "align", + align: "l", + pregap: 0, + postgap: 0 + }] + }; + var res = parseArray(context.parser, payload, dCellStyle(context.envName)); + return { + type: "leftright", + mode: context.mode, + body: [res], + left: "\\{", + right: ".", + rightColor: undefined + }; + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // An aligned environment is like the align* environment +// except it operates within math mode. +// Note that we assume \nomallineskiplimit to be zero, +// so that \strut@ is the same as \strut. + +defineEnvironment({ + type: "array", + names: ["aligned"], + props: { + numArgs: 0 + }, + handler: array_alignedHandler, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // A gathered environment is like an array environment with one centered +// column, but where rows are considered lines so get \jot line spacing +// and contents are set in \displaystyle. + +defineEnvironment({ + type: "array", + names: ["gathered"], + props: { + numArgs: 0 + }, + handler: function handler(context) { + var res = { + cols: [{ + type: "align", + align: "c" + }], + addJot: true + }; + return parseArray(context.parser, res, "display"); + }, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // alignat environment is like an align environment, but one must explicitly +// specify maximum number of columns in each row, and can adjust spacing between +// each columns. + +defineEnvironment({ + type: "array", + names: ["alignedat"], + // One for numbered and for unnumbered; + // but, KaTeX doesn't supports math numbering yet, + // they make no difference for now. + props: { + numArgs: 1 + }, + handler: array_alignedHandler, + htmlBuilder: array_htmlBuilder, + mathmlBuilder: array_mathmlBuilder +}); // Catch \hline outside array environment + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\hline", "\\hdashline"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: true + }, + handler: function handler(context, args) { + throw new src_ParseError(context.funcName + " valid only within array environment"); + } +}); +// CONCATENATED MODULE: ./src/environments.js + +var environments = _environments; +/* harmony default export */ var src_environments = (environments); // All environment definitions should be imported below + + +// CONCATENATED MODULE: ./src/functions/environment.js + + + + // Environment delimiters. HTML/MathML rendering is defined in the corresponding +// defineEnvironment definitions. +// $FlowFixMe, "environment" handler returns an environment ParseNode + +defineFunction({ + type: "environment", + names: ["\\begin", "\\end"], + props: { + numArgs: 1, + argTypes: ["text"] + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var nameGroup = args[0]; + + if (nameGroup.type !== "ordgroup") { + throw new src_ParseError("Invalid environment name", nameGroup); + } + + var envName = ""; + + for (var i = 0; i < nameGroup.body.length; ++i) { + envName += assertNodeType(nameGroup.body[i], "textord").text; + } + + if (funcName === "\\begin") { + // begin...end is similar to left...right + if (!src_environments.hasOwnProperty(envName)) { + throw new src_ParseError("No such environment: " + envName, nameGroup); + } // Build the environment object. Arguments and other information will + // be made available to the begin and end methods using properties. + + + var env = src_environments[envName]; + + var _parser$parseArgument = parser.parseArguments("\\begin{" + envName + "}", env), + _args = _parser$parseArgument.args, + optArgs = _parser$parseArgument.optArgs; + + var context = { + mode: parser.mode, + envName: envName, + parser: parser + }; + var result = env.handler(context, _args, optArgs); + parser.expect("\\end", false); + var endNameToken = parser.nextToken; + var end = assertNodeType(parser.parseFunction(), "environment"); + + if (end.name !== envName) { + throw new src_ParseError("Mismatch: \\begin{" + envName + "} matched by \\end{" + end.name + "}", endNameToken); + } + + return result; + } + + return { + type: "environment", + mode: parser.mode, + name: envName, + nameGroup: nameGroup + }; + } +}); +// CONCATENATED MODULE: ./src/functions/mclass.js + + + + + + +var mclass_makeSpan = buildCommon.makeSpan; + +function mclass_htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, true); + return mclass_makeSpan([group.mclass], elements, options); +} + +function mclass_mathmlBuilder(group, options) { + var node; + var inner = buildMathML_buildExpression(group.body, options); + + if (group.mclass === "minner") { + return mathMLTree.newDocumentFragment(inner); + } else if (group.mclass === "mord") { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mi"; + } else { + node = new mathMLTree.MathNode("mi", inner); + } + } else { + if (group.isCharacterBox) { + node = inner[0]; + node.type = "mo"; + } else { + node = new mathMLTree.MathNode("mo", inner); + } // Set spacing based on what is the most likely adjacent atom type. + // See TeXbook p170. + + + if (group.mclass === "mbin") { + node.attributes.lspace = "0.22em"; // medium space + + node.attributes.rspace = "0.22em"; + } else if (group.mclass === "mpunct") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0.17em"; // thinspace + } else if (group.mclass === "mopen" || group.mclass === "mclose") { + node.attributes.lspace = "0em"; + node.attributes.rspace = "0em"; + } // MathML default space is 5/18 em, so needs no action. + // Ref: https://developer.mozilla.org/en-US/docs/Web/MathML/Element/mo + + } + + return node; +} // Math class commands except \mathop + + +defineFunction({ + type: "mclass", + names: ["\\mathord", "\\mathbin", "\\mathrel", "\\mathopen", "\\mathclose", "\\mathpunct", "\\mathinner"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "mclass", + mode: parser.mode, + mclass: "m" + funcName.substr(5), + // TODO(kevinb): don't prefix with 'm' + body: defineFunction_ordargument(body), + isCharacterBox: utils.isCharacterBox(body) + }; + }, + htmlBuilder: mclass_htmlBuilder, + mathmlBuilder: mclass_mathmlBuilder +}); +var binrelClass = function binrelClass(arg) { + // \binrel@ spacing varies with (bin|rel|ord) of the atom in the argument. + // (by rendering separately and with {}s before and after, and measuring + // the change in spacing). We'll do roughly the same by detecting the + // atom type directly. + var atom = arg.type === "ordgroup" && arg.body.length ? arg.body[0] : arg; + + if (atom.type === "atom" && (atom.family === "bin" || atom.family === "rel")) { + return "m" + atom.family; + } else { + return "mord"; + } +}; // \@binrel{x}{y} renders like y but as mbin/mrel/mord if x is mbin/mrel/mord. +// This is equivalent to \binrel@{x}\binrel@@{y} in AMSTeX. + +defineFunction({ + type: "mclass", + names: ["\\@binrel"], + props: { + numArgs: 2 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(args[0]), + body: [args[1]], + isCharacterBox: utils.isCharacterBox(args[1]) + }; + } +}); // Build a relation or stacked op by placing one symbol on top of another + +defineFunction({ + type: "mclass", + names: ["\\stackrel", "\\overset", "\\underset"], + props: { + numArgs: 2 + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + var baseArg = args[1]; + var shiftedArg = args[0]; + var mclass; + + if (funcName !== "\\stackrel") { + // LaTeX applies \binrel spacing to \overset and \underset. + mclass = binrelClass(baseArg); + } else { + mclass = "mrel"; // for \stackrel + } + + var baseOp = { + type: "op", + mode: baseArg.mode, + limits: true, + alwaysHandleSupSub: true, + parentIsSupSub: false, + symbol: false, + suppressBaseShift: funcName !== "\\stackrel", + body: defineFunction_ordargument(baseArg) + }; + var supsub = { + type: "supsub", + mode: shiftedArg.mode, + base: baseOp, + sup: funcName === "\\underset" ? null : shiftedArg, + sub: funcName === "\\underset" ? shiftedArg : null + }; + return { + type: "mclass", + mode: parser.mode, + mclass: mclass, + body: [supsub], + isCharacterBox: utils.isCharacterBox(supsub) + }; + }, + htmlBuilder: mclass_htmlBuilder, + mathmlBuilder: mclass_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/font.js +// TODO(kevinb): implement \\sl and \\sc + + + + + + +var font_htmlBuilder = function htmlBuilder(group, options) { + var font = group.font; + var newOptions = options.withFont(font); + return buildHTML_buildGroup(group.body, newOptions); +}; + +var font_mathmlBuilder = function mathmlBuilder(group, options) { + var font = group.font; + var newOptions = options.withFont(font); + return buildMathML_buildGroup(group.body, newOptions); +}; + +var fontAliases = { + "\\Bbb": "\\mathbb", + "\\bold": "\\mathbf", + "\\frak": "\\mathfrak", + "\\bm": "\\boldsymbol" +}; +defineFunction({ + type: "font", + names: [// styles, except \boldsymbol defined below + "\\mathrm", "\\mathit", "\\mathbf", "\\mathnormal", // families + "\\mathbb", "\\mathcal", "\\mathfrak", "\\mathscr", "\\mathsf", "\\mathtt", // aliases, except \bm defined below + "\\Bbb", "\\bold", "\\frak"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + var func = funcName; + + if (func in fontAliases) { + func = fontAliases[func]; + } + + return { + type: "font", + mode: parser.mode, + font: func.slice(1), + body: body + }; + }, + htmlBuilder: font_htmlBuilder, + mathmlBuilder: font_mathmlBuilder +}); +defineFunction({ + type: "mclass", + names: ["\\boldsymbol", "\\bm"], + props: { + numArgs: 1, + greediness: 2 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + var isCharacterBox = utils.isCharacterBox(body); // amsbsy.sty's \boldsymbol uses \binrel spacing to inherit the + // argument's bin|rel|ord status + + return { + type: "mclass", + mode: parser.mode, + mclass: binrelClass(body), + body: [{ + type: "font", + mode: parser.mode, + font: "boldsymbol", + body: body + }], + isCharacterBox: isCharacterBox + }; + } +}); // Old font changing functions + +defineFunction({ + type: "font", + names: ["\\rm", "\\sf", "\\tt", "\\bf", "\\it"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser, + funcName = _ref3.funcName, + breakOnTokenText = _ref3.breakOnTokenText; + var mode = parser.mode; + var body = parser.parseExpression(true, breakOnTokenText); + var style = "math" + funcName.slice(1); + return { + type: "font", + mode: mode, + font: style, + body: { + type: "ordgroup", + mode: parser.mode, + body: body + } + }; + }, + htmlBuilder: font_htmlBuilder, + mathmlBuilder: font_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/genfrac.js + + + + + + + + + + + +var genfrac_adjustStyle = function adjustStyle(size, originalStyle) { + // Figure out what style this fraction should be in based on the + // function used + var style = originalStyle; + + if (size === "display") { + // Get display style as a default. + // If incoming style is sub/sup, use style.text() to get correct size. + style = style.id >= src_Style.SCRIPT.id ? style.text() : src_Style.DISPLAY; + } else if (size === "text" && style.size === src_Style.DISPLAY.size) { + // We're in a \tfrac but incoming style is displaystyle, so: + style = src_Style.TEXT; + } else if (size === "script") { + style = src_Style.SCRIPT; + } else if (size === "scriptscript") { + style = src_Style.SCRIPTSCRIPT; + } + + return style; +}; + +var genfrac_htmlBuilder = function htmlBuilder(group, options) { + // Fractions are handled in the TeXbook on pages 444-445, rules 15(a-e). + var style = genfrac_adjustStyle(group.size, options.style); + var nstyle = style.fracNum(); + var dstyle = style.fracDen(); + var newOptions; + newOptions = options.havingStyle(nstyle); + var numerm = buildHTML_buildGroup(group.numer, newOptions, options); + + if (group.continued) { + // \cfrac inserts a \strut into the numerator. + // Get \strut dimensions from TeXbook page 353. + var hStrut = 8.5 / options.fontMetrics().ptPerEm; + var dStrut = 3.5 / options.fontMetrics().ptPerEm; + numerm.height = numerm.height < hStrut ? hStrut : numerm.height; + numerm.depth = numerm.depth < dStrut ? dStrut : numerm.depth; + } + + newOptions = options.havingStyle(dstyle); + var denomm = buildHTML_buildGroup(group.denom, newOptions, options); + var rule; + var ruleWidth; + var ruleSpacing; + + if (group.hasBarLine) { + if (group.barSize) { + ruleWidth = units_calculateSize(group.barSize, options); + rule = buildCommon.makeLineSpan("frac-line", options, ruleWidth); + } else { + rule = buildCommon.makeLineSpan("frac-line", options); + } + + ruleWidth = rule.height; + ruleSpacing = rule.height; + } else { + rule = null; + ruleWidth = 0; + ruleSpacing = options.fontMetrics().defaultRuleThickness; + } // Rule 15b + + + var numShift; + var clearance; + var denomShift; + + if (style.size === src_Style.DISPLAY.size || group.size === "display") { + numShift = options.fontMetrics().num1; + + if (ruleWidth > 0) { + clearance = 3 * ruleSpacing; + } else { + clearance = 7 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom1; + } else { + if (ruleWidth > 0) { + numShift = options.fontMetrics().num2; + clearance = ruleSpacing; + } else { + numShift = options.fontMetrics().num3; + clearance = 3 * ruleSpacing; + } + + denomShift = options.fontMetrics().denom2; + } + + var frac; + + if (!rule) { + // Rule 15c + var candidateClearance = numShift - numerm.depth - (denomm.height - denomShift); + + if (candidateClearance < clearance) { + numShift += 0.5 * (clearance - candidateClearance); + denomShift += 0.5 * (clearance - candidateClearance); + } + + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } else { + // Rule 15d + var axisHeight = options.fontMetrics().axisHeight; + + if (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth) < clearance) { + numShift += clearance - (numShift - numerm.depth - (axisHeight + 0.5 * ruleWidth)); + } + + if (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift) < clearance) { + denomShift += clearance - (axisHeight - 0.5 * ruleWidth - (denomm.height - denomShift)); + } + + var midShift = -(axisHeight - 0.5 * ruleWidth); + frac = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: denomm, + shift: denomShift + }, { + type: "elem", + elem: rule, + shift: midShift + }, { + type: "elem", + elem: numerm, + shift: -numShift + }] + }, options); + } // Since we manually change the style sometimes (with \dfrac or \tfrac), + // account for the possible size change here. + + + newOptions = options.havingStyle(style); + frac.height *= newOptions.sizeMultiplier / options.sizeMultiplier; + frac.depth *= newOptions.sizeMultiplier / options.sizeMultiplier; // Rule 15e + + var delimSize; + + if (style.size === src_Style.DISPLAY.size) { + delimSize = options.fontMetrics().delim1; + } else { + delimSize = options.fontMetrics().delim2; + } + + var leftDelim; + var rightDelim; + + if (group.leftDelim == null) { + leftDelim = makeNullDelimiter(options, ["mopen"]); + } else { + leftDelim = delimiter.customSizedDelim(group.leftDelim, delimSize, true, options.havingStyle(style), group.mode, ["mopen"]); + } + + if (group.continued) { + rightDelim = buildCommon.makeSpan([]); // zero width for \cfrac + } else if (group.rightDelim == null) { + rightDelim = makeNullDelimiter(options, ["mclose"]); + } else { + rightDelim = delimiter.customSizedDelim(group.rightDelim, delimSize, true, options.havingStyle(style), group.mode, ["mclose"]); + } + + return buildCommon.makeSpan(["mord"].concat(newOptions.sizingClasses(options)), [leftDelim, buildCommon.makeSpan(["mfrac"], [frac]), rightDelim], options); +}; + +var genfrac_mathmlBuilder = function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mfrac", [buildMathML_buildGroup(group.numer, options), buildMathML_buildGroup(group.denom, options)]); + + if (!group.hasBarLine) { + node.setAttribute("linethickness", "0px"); + } else if (group.barSize) { + var ruleWidth = units_calculateSize(group.barSize, options); + node.setAttribute("linethickness", ruleWidth + "em"); + } + + var style = genfrac_adjustStyle(group.size, options.style); + + if (style.size !== options.style.size) { + node = new mathMLTree.MathNode("mstyle", [node]); + var isDisplay = style.size === src_Style.DISPLAY.size ? "true" : "false"; + node.setAttribute("displaystyle", isDisplay); + node.setAttribute("scriptlevel", "0"); + } + + if (group.leftDelim != null || group.rightDelim != null) { + var withDelims = []; + + if (group.leftDelim != null) { + var leftOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.leftDelim.replace("\\", ""))]); + leftOp.setAttribute("fence", "true"); + withDelims.push(leftOp); + } + + withDelims.push(node); + + if (group.rightDelim != null) { + var rightOp = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode(group.rightDelim.replace("\\", ""))]); + rightOp.setAttribute("fence", "true"); + withDelims.push(rightOp); + } + + return buildMathML_makeRow(withDelims); + } + + return node; +}; + +defineFunction({ + type: "genfrac", + names: ["\\cfrac", "\\dfrac", "\\frac", "\\tfrac", "\\dbinom", "\\binom", "\\tbinom", "\\\\atopfrac", // can’t be entered directly + "\\\\bracefrac", "\\\\brackfrac"], + props: { + numArgs: 2, + greediness: 2 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var numer = args[0]; + var denom = args[1]; + var hasBarLine; + var leftDelim = null; + var rightDelim = null; + var size = "auto"; + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\frac": + case "\\tfrac": + hasBarLine = true; + break; + + case "\\\\atopfrac": + hasBarLine = false; + break; + + case "\\dbinom": + case "\\binom": + case "\\tbinom": + hasBarLine = false; + leftDelim = "("; + rightDelim = ")"; + break; + + case "\\\\bracefrac": + hasBarLine = false; + leftDelim = "\\{"; + rightDelim = "\\}"; + break; + + case "\\\\brackfrac": + hasBarLine = false; + leftDelim = "["; + rightDelim = "]"; + break; + + default: + throw new Error("Unrecognized genfrac command"); + } + + switch (funcName) { + case "\\cfrac": + case "\\dfrac": + case "\\dbinom": + size = "display"; + break; + + case "\\tfrac": + case "\\tbinom": + size = "text"; + break; + } + + return { + type: "genfrac", + mode: parser.mode, + continued: funcName === "\\cfrac", + numer: numer, + denom: denom, + hasBarLine: hasBarLine, + leftDelim: leftDelim, + rightDelim: rightDelim, + size: size, + barSize: null + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); // Infix generalized fractions -- these are not rendered directly, but replaced +// immediately by one of the variants above. + +defineFunction({ + type: "infix", + names: ["\\over", "\\choose", "\\atop", "\\brace", "\\brack"], + props: { + numArgs: 0, + infix: true + }, + handler: function handler(_ref2) { + var parser = _ref2.parser, + funcName = _ref2.funcName, + token = _ref2.token; + var replaceWith; + + switch (funcName) { + case "\\over": + replaceWith = "\\frac"; + break; + + case "\\choose": + replaceWith = "\\binom"; + break; + + case "\\atop": + replaceWith = "\\\\atopfrac"; + break; + + case "\\brace": + replaceWith = "\\\\bracefrac"; + break; + + case "\\brack": + replaceWith = "\\\\brackfrac"; + break; + + default: + throw new Error("Unrecognized infix genfrac command"); + } + + return { + type: "infix", + mode: parser.mode, + replaceWith: replaceWith, + token: token + }; + } +}); +var stylArray = ["display", "text", "script", "scriptscript"]; + +var delimFromValue = function delimFromValue(delimString) { + var delim = null; + + if (delimString.length > 0) { + delim = delimString; + delim = delim === "." ? null : delim; + } + + return delim; +}; + +defineFunction({ + type: "genfrac", + names: ["\\genfrac"], + props: { + numArgs: 6, + greediness: 6, + argTypes: ["math", "math", "size", "text", "math", "math"] + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + var numer = args[4]; + var denom = args[5]; // Look into the parse nodes to get the desired delimiters. + + var leftNode = checkNodeType(args[0], "atom"); + + if (leftNode) { + leftNode = assertAtomFamily(args[0], "open"); + } + + var leftDelim = leftNode ? delimFromValue(leftNode.text) : null; + var rightNode = checkNodeType(args[1], "atom"); + + if (rightNode) { + rightNode = assertAtomFamily(args[1], "close"); + } + + var rightDelim = rightNode ? delimFromValue(rightNode.text) : null; + var barNode = assertNodeType(args[2], "size"); + var hasBarLine; + var barSize = null; + + if (barNode.isBlank) { + // \genfrac acts differently than \above. + // \genfrac treats an empty size group as a signal to use a + // standard bar size. \above would see size = 0 and omit the bar. + hasBarLine = true; + } else { + barSize = barNode.value; + hasBarLine = barSize.number > 0; + } // Find out if we want displaystyle, textstyle, etc. + + + var size = "auto"; + var styl = checkNodeType(args[3], "ordgroup"); + + if (styl) { + if (styl.body.length > 0) { + var textOrd = assertNodeType(styl.body[0], "textord"); + size = stylArray[Number(textOrd.text)]; + } + } else { + styl = assertNodeType(args[3], "textord"); + size = stylArray[Number(styl.text)]; + } + + return { + type: "genfrac", + mode: parser.mode, + numer: numer, + denom: denom, + continued: false, + hasBarLine: hasBarLine, + barSize: barSize, + leftDelim: leftDelim, + rightDelim: rightDelim, + size: size + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); // \above is an infix fraction that also defines a fraction bar size. + +defineFunction({ + type: "infix", + names: ["\\above"], + props: { + numArgs: 1, + argTypes: ["size"], + infix: true + }, + handler: function handler(_ref4, args) { + var parser = _ref4.parser, + funcName = _ref4.funcName, + token = _ref4.token; + return { + type: "infix", + mode: parser.mode, + replaceWith: "\\\\abovefrac", + size: assertNodeType(args[0], "size").value, + token: token + }; + } +}); +defineFunction({ + type: "genfrac", + names: ["\\\\abovefrac"], + props: { + numArgs: 3, + argTypes: ["math", "size", "math"] + }, + handler: function handler(_ref5, args) { + var parser = _ref5.parser, + funcName = _ref5.funcName; + var numer = args[0]; + var barSize = assert(assertNodeType(args[1], "infix").size); + var denom = args[2]; + var hasBarLine = barSize.number > 0; + return { + type: "genfrac", + mode: parser.mode, + numer: numer, + denom: denom, + continued: false, + hasBarLine: hasBarLine, + barSize: barSize, + leftDelim: null, + rightDelim: null, + size: "auto" + }; + }, + htmlBuilder: genfrac_htmlBuilder, + mathmlBuilder: genfrac_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/horizBrace.js + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only "horizBrace", but +var horizBrace_htmlBuilder = function htmlBuilder(grp, options) { + var style = options.style; // Pull out the `ParseNode<"horizBrace">` if `grp` is a "supsub" node. + + var supSubGroup; + var group; + var supSub = checkNodeType(grp, "supsub"); + + if (supSub) { + // Ref: LaTeX source2e: }}}}\limits} + // i.e. LaTeX treats the brace similar to an op and passes it + // with \limits, so we need to assign supsub style. + supSubGroup = supSub.sup ? buildHTML_buildGroup(supSub.sup, options.havingStyle(style.sup()), options) : buildHTML_buildGroup(supSub.sub, options.havingStyle(style.sub()), options); + group = assertNodeType(supSub.base, "horizBrace"); + } else { + group = assertNodeType(grp, "horizBrace"); + } // Build the base group + + + var body = buildHTML_buildGroup(group.base, options.havingBaseStyle(src_Style.DISPLAY)); // Create the stretchy element + + var braceBody = stretchy.svgSpan(group, options); // Generate the vlist, with the appropriate kerns ┏━━━━━━━━┓ + // This first vlist contains the content and the brace: equation + + var vlist; + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: body + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: braceBody + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[1].classes.push("svg-align"); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: body.depth + 0.1 + braceBody.height, + children: [{ + type: "elem", + elem: braceBody + }, { + type: "kern", + size: 0.1 + }, { + type: "elem", + elem: body + }] + }, options); // $FlowFixMe: Replace this with passing "svg-align" into makeVList. + + vlist.children[0].children[0].children[0].classes.push("svg-align"); + } + + if (supSubGroup) { + // To write the supsub, wrap the first vlist in another vlist: + // They can't all go in the same vlist, because the note might be + // wider than the equation. We want the equation to control the + // brace width. + // note long note long note + // ┏━━━━━━━━┓ or ┏━━━┓ not ┏━━━━━━━━━┓ + // equation eqn eqn + var vSpan = buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); + + if (group.isOver) { + vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: vSpan + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: supSubGroup + }] + }, options); + } else { + vlist = buildCommon.makeVList({ + positionType: "bottom", + positionData: vSpan.depth + 0.2 + supSubGroup.height + supSubGroup.depth, + children: [{ + type: "elem", + elem: supSubGroup + }, { + type: "kern", + size: 0.2 + }, { + type: "elem", + elem: vSpan + }] + }, options); + } + } + + return buildCommon.makeSpan(["mord", group.isOver ? "mover" : "munder"], [vlist], options); +}; + +var horizBrace_mathmlBuilder = function mathmlBuilder(group, options) { + var accentNode = stretchy.mathMLnode(group.label); + return new mathMLTree.MathNode(group.isOver ? "mover" : "munder", [buildMathML_buildGroup(group.base, options), accentNode]); +}; // Horizontal stretchy braces + + +defineFunction({ + type: "horizBrace", + names: ["\\overbrace", "\\underbrace"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + return { + type: "horizBrace", + mode: parser.mode, + label: funcName, + isOver: /^\\over/.test(funcName), + base: args[0] + }; + }, + htmlBuilder: horizBrace_htmlBuilder, + mathmlBuilder: horizBrace_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/href.js + + + + + + +defineFunction({ + type: "href", + names: ["\\href"], + props: { + numArgs: 2, + argTypes: ["url", "original"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[1]; + var href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\href", + url: href + })) { + return parser.formatUnsupportedCmd("\\href"); + } + + return { + type: "href", + mode: parser.mode, + href: href, + body: defineFunction_ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options, false); + return buildCommon.makeAnchor(group.href, [], elements, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var math = buildExpressionRow(group.body, options); + + if (!(math instanceof mathMLTree_MathNode)) { + math = new mathMLTree_MathNode("mrow", [math]); + } + + math.setAttribute("href", group.href); + return math; + } +}); +defineFunction({ + type: "href", + names: ["\\url"], + props: { + numArgs: 1, + argTypes: ["url"], + allowedInText: true + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var href = assertNodeType(args[0], "url").url; + + if (!parser.settings.isTrusted({ + command: "\\url", + url: href + })) { + return parser.formatUnsupportedCmd("\\url"); + } + + var chars = []; + + for (var i = 0; i < href.length; i++) { + var c = href[i]; + + if (c === "~") { + c = "\\textasciitilde"; + } + + chars.push({ + type: "textord", + mode: "text", + text: c + }); + } + + var body = { + type: "text", + mode: parser.mode, + font: "\\texttt", + body: chars + }; + return { + type: "href", + mode: parser.mode, + href: href, + body: defineFunction_ordargument(body) + }; + } +}); +// CONCATENATED MODULE: ./src/functions/htmlmathml.js + + + + +defineFunction({ + type: "htmlmathml", + names: ["\\html@mathml"], + props: { + numArgs: 2, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "htmlmathml", + mode: parser.mode, + html: defineFunction_ordargument(args[0]), + mathml: defineFunction_ordargument(args[1]) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.html, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.mathml, options); + } +}); +// CONCATENATED MODULE: ./src/functions/includegraphics.js + + + + + + + +var includegraphics_sizeData = function sizeData(str) { + if (/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(str)) { + // str is a number with no unit specified. + // default unit is bp, per graphix package. + return { + number: +str, + unit: "bp" + }; + } else { + var match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(str); + + if (!match) { + throw new src_ParseError("Invalid size: '" + str + "' in \\includegraphics"); + } + + var data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new src_ParseError("Invalid unit: '" + data.unit + "' in \\includegraphics."); + } + + return data; + } +}; + +defineFunction({ + type: "includegraphics", + names: ["\\includegraphics"], + props: { + numArgs: 1, + numOptionalArgs: 1, + argTypes: ["raw", "url"], + allowedInText: false + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var width = { + number: 0, + unit: "em" + }; + var height = { + number: 0.9, + unit: "em" + }; // sorta character sized. + + var totalheight = { + number: 0, + unit: "em" + }; + var alt = ""; + + if (optArgs[0]) { + var attributeStr = assertNodeType(optArgs[0], "raw").string; // Parser.js does not parse key/value pairs. We get a string. + + var attributes = attributeStr.split(","); + + for (var i = 0; i < attributes.length; i++) { + var keyVal = attributes[i].split("="); + + if (keyVal.length === 2) { + var str = keyVal[1].trim(); + + switch (keyVal[0].trim()) { + case "alt": + alt = str; + break; + + case "width": + width = includegraphics_sizeData(str); + break; + + case "height": + height = includegraphics_sizeData(str); + break; + + case "totalheight": + totalheight = includegraphics_sizeData(str); + break; + + default: + throw new src_ParseError("Invalid key: '" + keyVal[0] + "' in \\includegraphics."); + } + } + } + } + + var src = assertNodeType(args[0], "url").url; + + if (alt === "") { + // No alt given. Use the file name. Strip away the path. + alt = src; + alt = alt.replace(/^.*[\\/]/, ''); + alt = alt.substring(0, alt.lastIndexOf('.')); + } + + if (!parser.settings.isTrusted({ + command: "\\includegraphics", + url: src + })) { + return parser.formatUnsupportedCmd("\\includegraphics"); + } + + return { + type: "includegraphics", + mode: parser.mode, + alt: alt, + width: width, + height: height, + totalheight: totalheight, + src: src + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var height = units_calculateSize(group.height, options); + var depth = 0; + + if (group.totalheight.number > 0) { + depth = units_calculateSize(group.totalheight, options) - height; + depth = Number(depth.toFixed(2)); + } + + var width = 0; + + if (group.width.number > 0) { + width = units_calculateSize(group.width, options); + } + + var style = { + height: height + depth + "em" + }; + + if (width > 0) { + style.width = width + "em"; + } + + if (depth > 0) { + style.verticalAlign = -depth + "em"; + } + + var node = new domTree_Img(group.src, group.alt, style); + node.height = height; + node.depth = depth; + return node; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mglyph", []); + node.setAttribute("alt", group.alt); + var height = units_calculateSize(group.height, options); + var depth = 0; + + if (group.totalheight.number > 0) { + depth = units_calculateSize(group.totalheight, options) - height; + depth = depth.toFixed(2); + node.setAttribute("valign", "-" + depth + "em"); + } + + node.setAttribute("height", height + depth + "em"); + + if (group.width.number > 0) { + var width = units_calculateSize(group.width, options); + node.setAttribute("width", width + "em"); + } + + node.setAttribute("src", group.src); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/kern.js +// Horizontal spacing commands + + + + + // TODO: \hskip and \mskip should support plus and minus in lengths + +defineFunction({ + type: "kern", + names: ["\\kern", "\\mkern", "\\hskip", "\\mskip"], + props: { + numArgs: 1, + argTypes: ["size"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var size = assertNodeType(args[0], "size"); + + if (parser.settings.strict) { + var mathFunction = funcName[1] === 'm'; // \mkern, \mskip + + var muUnit = size.value.unit === 'mu'; + + if (mathFunction) { + if (!muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " supports only mu units, " + ("not " + size.value.unit + " units")); + } + + if (parser.mode !== "math") { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " works only in math mode"); + } + } else { + // !mathFunction + if (muUnit) { + parser.settings.reportNonstrict("mathVsTextUnits", "LaTeX's " + funcName + " doesn't support mu units"); + } + } + } + + return { + type: "kern", + mode: parser.mode, + dimension: size.value + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeGlue(group.dimension, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var dimension = units_calculateSize(group.dimension, options); + return new mathMLTree.SpaceNode(dimension); + } +}); +// CONCATENATED MODULE: ./src/functions/lap.js +// Horizontal overlap functions + + + + + +defineFunction({ + type: "lap", + names: ["\\mathllap", "\\mathrlap", "\\mathclap"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "lap", + mode: parser.mode, + alignment: funcName.slice(5), + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // mathllap, mathrlap, mathclap + var inner; + + if (group.alignment === "clap") { + // ref: https://www.math.lsu.edu/~aperlis/publications/mathclap/ + inner = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]); // wrap, since CSS will center a .clap > .inner > span + + inner = buildCommon.makeSpan(["inner"], [inner], options); + } else { + inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options)]); + } + + var fix = buildCommon.makeSpan(["fix"], []); + var node = buildCommon.makeSpan([group.alignment], [inner, fix], options); // At this point, we have correctly set horizontal alignment of the + // two items involved in the lap. + // Next, use a strut to set the height of the HTML bounding box. + // Otherwise, a tall argument may be misplaced. + + var strut = buildCommon.makeSpan(["strut"]); + strut.style.height = node.height + node.depth + "em"; + strut.style.verticalAlign = -node.depth + "em"; + node.children.unshift(strut); // Next, prevent vertical misplacement when next to something tall. + + node = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // Get the horizontal spacing correct relative to adjacent items. + + return buildCommon.makeSpan(["mord"], [node], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // mathllap, mathrlap, mathclap + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + + if (group.alignment !== "rlap") { + var offset = group.alignment === "llap" ? "-1" : "-0.5"; + node.setAttribute("lspace", offset + "width"); + } + + node.setAttribute("width", "0px"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/math.js + + // Switching from text mode back to math mode + +defineFunction({ + type: "styling", + names: ["\\(", "$"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(_ref, args) { + var funcName = _ref.funcName, + parser = _ref.parser; + var outerMode = parser.mode; + parser.switchMode("math"); + var close = funcName === "\\(" ? "\\)" : "$"; + var body = parser.parseExpression(false, close); + parser.expect(close); + parser.switchMode(outerMode); + return { + type: "styling", + mode: parser.mode, + style: "text", + body: body + }; + } +}); // Check for extra closing math delimiters + +defineFunction({ + type: "text", + // Doesn't matter what this is. + names: ["\\)", "\\]"], + props: { + numArgs: 0, + allowedInText: true, + allowedInMath: false + }, + handler: function handler(context, args) { + throw new src_ParseError("Mismatched " + context.funcName); + } +}); +// CONCATENATED MODULE: ./src/functions/mathchoice.js + + + + + + +var mathchoice_chooseMathStyle = function chooseMathStyle(group, options) { + switch (options.style.size) { + case src_Style.DISPLAY.size: + return group.display; + + case src_Style.TEXT.size: + return group.text; + + case src_Style.SCRIPT.size: + return group.script; + + case src_Style.SCRIPTSCRIPT.size: + return group.scriptscript; + + default: + return group.text; + } +}; + +defineFunction({ + type: "mathchoice", + names: ["\\mathchoice"], + props: { + numArgs: 4 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "mathchoice", + mode: parser.mode, + display: defineFunction_ordargument(args[0]), + text: defineFunction_ordargument(args[1]), + script: defineFunction_ordargument(args[2]), + scriptscript: defineFunction_ordargument(args[3]) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var body = mathchoice_chooseMathStyle(group, options); + var elements = buildHTML_buildExpression(body, options, false); + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var body = mathchoice_chooseMathStyle(group, options); + return buildExpressionRow(body, options); + } +}); +// CONCATENATED MODULE: ./src/functions/utils/assembleSupSub.js + + +// For an operator with limits, assemble the base, sup, and sub into a span. +var assembleSupSub_assembleSupSub = function assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift) { + // IE 8 clips \int if it is in a display: inline-block. We wrap it + // in a new span so it is an inline, and works. + base = buildCommon.makeSpan([], [base]); + var sub; + var sup; // We manually have to handle the superscripts and subscripts. This, + // aside from the kern calculations, is copied from supsub. + + if (supGroup) { + var elem = buildHTML_buildGroup(supGroup, options.havingStyle(style.sup()), options); + sup = { + elem: elem, + kern: Math.max(options.fontMetrics().bigOpSpacing1, options.fontMetrics().bigOpSpacing3 - elem.depth) + }; + } + + if (subGroup) { + var _elem = buildHTML_buildGroup(subGroup, options.havingStyle(style.sub()), options); + + sub = { + elem: _elem, + kern: Math.max(options.fontMetrics().bigOpSpacing2, options.fontMetrics().bigOpSpacing4 - _elem.height) + }; + } // Build the final group as a vlist of the possible subscript, base, + // and possible superscript. + + + var finalGroup; + + if (sup && sub) { + var bottom = options.fontMetrics().bigOpSpacing5 + sub.elem.height + sub.elem.depth + sub.kern + base.depth + baseShift; + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: bottom, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else if (sub) { + var top = base.height - baseShift; // Shift the limits by the slant of the symbol. Note + // that we are supposed to shift the limits by 1/2 of the slant, + // but since we are centering the limits adding a full slant of + // margin will shift by 1/2 that. + + finalGroup = buildCommon.makeVList({ + positionType: "top", + positionData: top, + children: [{ + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }, { + type: "elem", + elem: sub.elem, + marginLeft: -slant + "em" + }, { + type: "kern", + size: sub.kern + }, { + type: "elem", + elem: base + }] + }, options); + } else if (sup) { + var _bottom = base.depth + baseShift; + + finalGroup = buildCommon.makeVList({ + positionType: "bottom", + positionData: _bottom, + children: [{ + type: "elem", + elem: base + }, { + type: "kern", + size: sup.kern + }, { + type: "elem", + elem: sup.elem, + marginLeft: slant + "em" + }, { + type: "kern", + size: options.fontMetrics().bigOpSpacing5 + }] + }, options); + } else { + // This case probably shouldn't occur (this would mean the + // supsub was sending us a group with no superscript or + // subscript) but be safe. + return base; + } + + return buildCommon.makeSpan(["mop", "op-limits"], [finalGroup], options); +}; +// CONCATENATED MODULE: ./src/functions/op.js +// Limits, symbols + + + + + + + + + + +// Most operators have a large successor symbol, but these don't. +var noSuccessor = ["\\smallint"]; // NOTE: Unlike most `htmlBuilder`s, this one handles not only "op", but also +// "supsub" since some of them (like \int) can affect super/subscripting. + +var op_htmlBuilder = function htmlBuilder(grp, options) { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + var supGroup; + var subGroup; + var hasLimits = false; + var group; + var supSub = checkNodeType(grp, "supsub"); + + if (supSub) { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = supSub.sup; + subGroup = supSub.sub; + group = assertNodeType(supSub.base, "op"); + hasLimits = true; + } else { + group = assertNodeType(grp, "op"); + } + + var style = options.style; + var large = false; + + if (style.size === src_Style.DISPLAY.size && group.symbol && !utils.contains(noSuccessor, group.name)) { + // Most symbol operators get larger in displaystyle (rule 13) + large = true; + } + + var base; + + if (group.symbol) { + // If this is a symbol, create the symbol. + var fontName = large ? "Size2-Regular" : "Size1-Regular"; + var stash = ""; + + if (group.name === "\\oiint" || group.name === "\\oiiint") { + // No font glyphs yet, so use a glyph w/o the oval. + // TODO: When font glyphs are available, delete this code. + stash = group.name.substr(1); // $FlowFixMe + + group.name = stash === "oiint" ? "\\iint" : "\\iiint"; + } + + base = buildCommon.makeSymbol(group.name, fontName, "math", options, ["mop", "op-symbol", large ? "large-op" : "small-op"]); + + if (stash.length > 0) { + // We're in \oiint or \oiiint. Overlay the oval. + // TODO: When font glyphs are available, delete this code. + var italic = base.italic; + var oval = buildCommon.staticSvg(stash + "Size" + (large ? "2" : "1"), options); + base = buildCommon.makeVList({ + positionType: "individualShift", + children: [{ + type: "elem", + elem: base, + shift: 0 + }, { + type: "elem", + elem: oval, + shift: large ? 0.08 : 0 + }] + }, options); // $FlowFixMe + + group.name = "\\" + stash; + base.classes.unshift("mop"); // $FlowFixMe + + base.italic = italic; + } + } else if (group.body) { + // If this is a list, compose that list. + var inner = buildHTML_buildExpression(group.body, options, true); + + if (inner.length === 1 && inner[0] instanceof domTree_SymbolNode) { + base = inner[0]; + base.classes[0] = "mop"; // replace old mclass + } else { + base = buildCommon.makeSpan(["mop"], buildCommon.tryCombineChars(inner), options); + } + } else { + // Otherwise, this is a text operator. Build the text from the + // operator's name. + // TODO(emily): Add a space in the middle of some of these + // operators, like \limsup + var output = []; + + for (var i = 1; i < group.name.length; i++) { + output.push(buildCommon.mathsym(group.name[i], group.mode, options)); + } + + base = buildCommon.makeSpan(["mop"], output, options); + } // If content of op is a single symbol, shift it vertically. + + + var baseShift = 0; + var slant = 0; + + if ((base instanceof domTree_SymbolNode || group.name === "\\oiint" || group.name === "\\oiiint") && !group.suppressBaseShift) { + // We suppress the shift of the base of \overset and \underset. Otherwise, + // shift the symbol so its center lies on the axis (rule 13). It + // appears that our fonts have the centers of the symbols already + // almost on the axis, so these numbers are very small. Note we + // don't actually apply this here, but instead it is used either in + // the vlist creation or separately when there are no limits. + baseShift = (base.height - base.depth) / 2 - options.fontMetrics().axisHeight; // The slant of the symbol is just its italic correction. + // $FlowFixMe + + slant = base.italic; + } + + if (hasLimits) { + return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, style, slant, baseShift); + } else { + if (baseShift) { + base.style.position = "relative"; + base.style.top = baseShift + "em"; + } + + return base; + } +}; + +var op_mathmlBuilder = function mathmlBuilder(group, options) { + var node; + + if (group.symbol) { + // This is a symbol. Just add the symbol. + node = new mathMLTree_MathNode("mo", [buildMathML_makeText(group.name, group.mode)]); + + if (utils.contains(noSuccessor, group.name)) { + node.setAttribute("largeop", "false"); + } + } else if (group.body) { + // This is an operator with children. Add them. + node = new mathMLTree_MathNode("mo", buildMathML_buildExpression(group.body, options)); + } else { + // This is a text operator. Add all of the characters from the + // operator's name. + node = new mathMLTree_MathNode("mi", [new mathMLTree_TextNode(group.name.slice(1))]); // Append an . + // ref: https://www.w3.org/TR/REC-MathML/chap3_2.html#sec3.2.4 + + var operator = new mathMLTree_MathNode("mo", [buildMathML_makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + node = new mathMLTree_MathNode("mo", [node, operator]); + } else { + node = newDocumentFragment([node, operator]); + } + } + + return node; +}; + +var singleCharBigOps = { + "\u220F": "\\prod", + "\u2210": "\\coprod", + "\u2211": "\\sum", + "\u22C0": "\\bigwedge", + "\u22C1": "\\bigvee", + "\u22C2": "\\bigcap", + "\u22C3": "\\bigcup", + "\u2A00": "\\bigodot", + "\u2A01": "\\bigoplus", + "\u2A02": "\\bigotimes", + "\u2A04": "\\biguplus", + "\u2A06": "\\bigsqcup" +}; +defineFunction({ + type: "op", + names: ["\\coprod", "\\bigvee", "\\bigwedge", "\\biguplus", "\\bigcap", "\\bigcup", "\\intop", "\\prod", "\\sum", "\\bigotimes", "\\bigoplus", "\\bigodot", "\\bigsqcup", "\\smallint", "\u220F", "\u2210", "\u2211", "\u22C0", "\u22C1", "\u22C2", "\u22C3", "\u2A00", "\u2A01", "\u2A02", "\u2A04", "\u2A06"], + props: { + numArgs: 0 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var fName = funcName; + + if (fName.length === 1) { + fName = singleCharBigOps[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // Note: calling defineFunction with a type that's already been defined only +// works because the same htmlBuilder and mathmlBuilder are being used. + +defineFunction({ + type: "op", + names: ["\\mathop"], + props: { + numArgs: 1 + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + body: defineFunction_ordargument(body) + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // There are 2 flags for operators; whether they produce limits in +// displaystyle, and whether they are symbols and should grow in +// displaystyle. These four groups cover the four possible choices. + +var singleCharIntegrals = { + "\u222B": "\\int", + "\u222C": "\\iint", + "\u222D": "\\iiint", + "\u222E": "\\oint", + "\u222F": "\\oiint", + "\u2230": "\\oiiint" +}; // No limits, not symbols + +defineFunction({ + 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: function handler(_ref3) { + var parser = _ref3.parser, + funcName = _ref3.funcName; + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // Limits, not symbols + +defineFunction({ + type: "op", + names: ["\\det", "\\gcd", "\\inf", "\\lim", "\\max", "\\min", "\\Pr", "\\sup"], + props: { + numArgs: 0 + }, + handler: function handler(_ref4) { + var parser = _ref4.parser, + funcName = _ref4.funcName; + return { + type: "op", + mode: parser.mode, + limits: true, + parentIsSupSub: false, + symbol: false, + name: funcName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); // No limits, symbols + +defineFunction({ + type: "op", + names: ["\\int", "\\iint", "\\iiint", "\\oint", "\\oiint", "\\oiiint", "\u222B", "\u222C", "\u222D", "\u222E", "\u222F", "\u2230"], + props: { + numArgs: 0 + }, + handler: function handler(_ref5) { + var parser = _ref5.parser, + funcName = _ref5.funcName; + var fName = funcName; + + if (fName.length === 1) { + fName = singleCharIntegrals[fName]; + } + + return { + type: "op", + mode: parser.mode, + limits: false, + parentIsSupSub: false, + symbol: true, + name: fName + }; + }, + htmlBuilder: op_htmlBuilder, + mathmlBuilder: op_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/operatorname.js + + + + + + + + +// NOTE: Unlike most `htmlBuilder`s, this one handles not only +// "operatorname", but also "supsub" since \operatorname* can +var operatorname_htmlBuilder = function htmlBuilder(grp, options) { + // Operators are handled in the TeXbook pg. 443-444, rule 13(a). + var supGroup; + var subGroup; + var hasLimits = false; + var group; + var supSub = checkNodeType(grp, "supsub"); + + if (supSub) { + // If we have limits, supsub will pass us its group to handle. Pull + // out the superscript and subscript and set the group to the op in + // its base. + supGroup = supSub.sup; + subGroup = supSub.sub; + group = assertNodeType(supSub.base, "operatorname"); + hasLimits = true; + } else { + group = assertNodeType(grp, "operatorname"); + } + + var base; + + if (group.body.length > 0) { + var body = group.body.map(function (child) { + // $FlowFixMe: Check if the node has a string `text` property. + var childText = child.text; + + if (typeof childText === "string") { + return { + type: "textord", + mode: child.mode, + text: childText + }; + } else { + return child; + } + }); // Consolidate function names into symbol characters. + + var expression = buildHTML_buildExpression(body, options.withFont("mathrm"), true); + + for (var i = 0; i < expression.length; i++) { + var child = expression[i]; + + if (child instanceof domTree_SymbolNode) { + // Per amsopn package, + // change minus to hyphen and \ast to asterisk + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } + } + + base = buildCommon.makeSpan(["mop"], expression, options); + } else { + base = buildCommon.makeSpan(["mop"], [], options); + } + + if (hasLimits) { + return assembleSupSub_assembleSupSub(base, supGroup, subGroup, options, options.style, 0, 0); + } else { + return base; + } +}; + +var operatorname_mathmlBuilder = function mathmlBuilder(group, options) { + // The steps taken here are similar to the html version. + var expression = buildMathML_buildExpression(group.body, options.withFont("mathrm")); // Is expression a string or has it something like a fraction? + + var isAllString = true; // default + + for (var i = 0; i < expression.length; i++) { + var node = expression[i]; + + if (node instanceof mathMLTree.SpaceNode) {// Do nothing + } else if (node instanceof mathMLTree.MathNode) { + switch (node.type) { + case "mi": + case "mn": + case "ms": + case "mspace": + case "mtext": + break; + // Do nothing yet. + + case "mo": + { + var child = node.children[0]; + + if (node.children.length === 1 && child instanceof mathMLTree.TextNode) { + child.text = child.text.replace(/\u2212/, "-").replace(/\u2217/, "*"); + } else { + isAllString = false; + } + + break; + } + + default: + isAllString = false; + } + } else { + isAllString = false; + } + } + + if (isAllString) { + // Write a single TextNode instead of multiple nested tags. + var word = expression.map(function (node) { + return node.toText(); + }).join(""); + expression = [new mathMLTree.TextNode(word)]; + } + + var identifier = new mathMLTree.MathNode("mi", expression); + identifier.setAttribute("mathvariant", "normal"); // \u2061 is the same as ⁡ + // ref: https://www.w3schools.com/charsets/ref_html_entities_a.asp + + var operator = new mathMLTree.MathNode("mo", [buildMathML_makeText("\u2061", "text")]); + + if (group.parentIsSupSub) { + return new mathMLTree.MathNode("mo", [identifier, operator]); + } else { + return mathMLTree.newDocumentFragment([identifier, operator]); + } +}; // \operatorname +// amsopn.dtx: \mathop{#1\kern\z@\operator@font#3}\newmcodes@ + + +defineFunction({ + type: "operatorname", + names: ["\\operatorname", "\\operatorname*"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "operatorname", + mode: parser.mode, + body: defineFunction_ordargument(body), + alwaysHandleSupSub: funcName === "\\operatorname*", + limits: false, + parentIsSupSub: false + }; + }, + htmlBuilder: operatorname_htmlBuilder, + mathmlBuilder: operatorname_mathmlBuilder +}); +// CONCATENATED MODULE: ./src/functions/ordgroup.js + + + + +defineFunctionBuilders({ + type: "ordgroup", + htmlBuilder: function htmlBuilder(group, options) { + if (group.semisimple) { + return buildCommon.makeFragment(buildHTML_buildExpression(group.body, options, false)); + } + + return buildCommon.makeSpan(["mord"], buildHTML_buildExpression(group.body, options, true), options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + return buildExpressionRow(group.body, options, true); + } +}); +// CONCATENATED MODULE: ./src/functions/overline.js + + + + + +defineFunction({ + type: "overline", + names: ["\\overline"], + props: { + numArgs: 1 + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[0]; + return { + type: "overline", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Overlines are handled in the TeXbook pg 443, Rule 9. + // Build the inner group in the cramped style. + var innerGroup = buildHTML_buildGroup(group.body, options.havingCrampedStyle()); // Create the line above the body + + var line = buildCommon.makeLineSpan("overline-line", options); // Generate the vlist, with the appropriate kerns + + var defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + var vlist = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: innerGroup + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: defaultRuleThickness + }] + }, options); + return buildCommon.makeSpan(["mord", "overline"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203E")]); + operator.setAttribute("stretchy", "true"); + var node = new mathMLTree.MathNode("mover", [buildMathML_buildGroup(group.body, options), operator]); + node.setAttribute("accent", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/phantom.js + + + + + +defineFunction({ + type: "phantom", + names: ["\\phantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var body = args[0]; + return { + type: "phantom", + mode: parser.mode, + body: defineFunction_ordargument(body) + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var elements = buildHTML_buildExpression(group.body, options.withPhantom(), false); // \phantom isn't supposed to affect the elements it contains. + // See "color" for more details. + + return buildCommon.makeFragment(elements); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(group.body, options); + return new mathMLTree.MathNode("mphantom", inner); + } +}); +defineFunction({ + type: "hphantom", + names: ["\\hphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref2, args) { + var parser = _ref2.parser; + var body = args[0]; + return { + type: "hphantom", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options.withPhantom())]); + node.height = 0; + node.depth = 0; + + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + node.children[i].depth = 0; + } + } // See smash for comment re: use of makeVList + + + node = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \smash as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [node], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(defineFunction_ordargument(group.body), options); + var phantom = new mathMLTree.MathNode("mphantom", inner); + var node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("height", "0px"); + node.setAttribute("depth", "0px"); + return node; + } +}); +defineFunction({ + type: "vphantom", + names: ["\\vphantom"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref3, args) { + var parser = _ref3.parser; + var body = args[0]; + return { + type: "vphantom", + mode: parser.mode, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var inner = buildCommon.makeSpan(["inner"], [buildHTML_buildGroup(group.body, options.withPhantom())]); + var fix = buildCommon.makeSpan(["fix"], []); + return buildCommon.makeSpan(["mord", "rlap"], [inner, fix], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var inner = buildMathML_buildExpression(defineFunction_ordargument(group.body), options); + var phantom = new mathMLTree.MathNode("mphantom", inner); + var node = new mathMLTree.MathNode("mpadded", [phantom]); + node.setAttribute("width", "0px"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/raisebox.js + + + + + + + // Box manipulation + +defineFunction({ + type: "raisebox", + names: ["\\raisebox"], + props: { + numArgs: 2, + argTypes: ["size", "hbox"], + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + var amount = assertNodeType(args[0], "size").value; + var body = args[1]; + return { + type: "raisebox", + mode: parser.mode, + dy: amount, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var body = buildHTML_buildGroup(group.body, options); + var dy = units_calculateSize(group.dy, options); + return buildCommon.makeVList({ + positionType: "shift", + positionData: -dy, + children: [{ + type: "elem", + elem: body + }] + }, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + var dy = group.dy.number + group.dy.unit; + node.setAttribute("voffset", dy); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/rule.js + + + + + +defineFunction({ + type: "rule", + names: ["\\rule"], + props: { + numArgs: 2, + numOptionalArgs: 1, + argTypes: ["size", "size", "size"] + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var shift = optArgs[0]; + var width = assertNodeType(args[0], "size"); + var height = assertNodeType(args[1], "size"); + return { + type: "rule", + mode: parser.mode, + shift: shift && assertNodeType(shift, "size").value, + width: width.value, + height: height.value + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Make an empty span for the rule + var rule = buildCommon.makeSpan(["mord", "rule"], [], options); // Calculate the shift, width, and height of the rule, and account for units + + var width = units_calculateSize(group.width, options); + var height = units_calculateSize(group.height, options); + var shift = group.shift ? units_calculateSize(group.shift, options) : 0; // Style the rule to the right size + + rule.style.borderRightWidth = width + "em"; + rule.style.borderTopWidth = height + "em"; + rule.style.bottom = shift + "em"; // Record the height and width + + rule.width = width; + rule.height = height + shift; + rule.depth = -shift; // Font size is the number large enough that the browser will + // reserve at least `absHeight` space above the baseline. + // The 1.125 factor was empirically determined + + rule.maxFontSize = height * 1.125 * options.sizeMultiplier; + return rule; + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var width = units_calculateSize(group.width, options); + var height = units_calculateSize(group.height, options); + var shift = group.shift ? units_calculateSize(group.shift, options) : 0; + var color = options.color && options.getColor() || "black"; + var rule = new mathMLTree.MathNode("mspace"); + rule.setAttribute("mathbackground", color); + rule.setAttribute("width", width + "em"); + rule.setAttribute("height", height + "em"); + var wrapper = new mathMLTree.MathNode("mpadded", [rule]); + + if (shift >= 0) { + wrapper.setAttribute("height", "+" + shift + "em"); + } else { + wrapper.setAttribute("height", shift + "em"); + wrapper.setAttribute("depth", "+" + -shift + "em"); + } + + wrapper.setAttribute("voffset", shift + "em"); + return wrapper; + } +}); +// CONCATENATED MODULE: ./src/functions/sizing.js + + + + + +function sizingGroup(value, options, baseOptions) { + var inner = buildHTML_buildExpression(value, options, false); + var multiplier = options.sizeMultiplier / baseOptions.sizeMultiplier; // Add size-resetting classes to the inner list and set maxFontSize + // manually. Handle nested size changes. + + for (var i = 0; i < inner.length; i++) { + var pos = inner[i].classes.indexOf("sizing"); + + if (pos < 0) { + Array.prototype.push.apply(inner[i].classes, options.sizingClasses(baseOptions)); + } else if (inner[i].classes[pos + 1] === "reset-size" + options.size) { + // This is a nested size change: e.g., inner[i] is the "b" in + // `\Huge a \small b`. Override the old size (the `reset-` class) + // but not the new size. + inner[i].classes[pos + 1] = "reset-size" + baseOptions.size; + } + + inner[i].height *= multiplier; + inner[i].depth *= multiplier; + } + + return buildCommon.makeFragment(inner); +} +var sizeFuncs = ["\\tiny", "\\sixptsize", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge"]; +var sizing_htmlBuilder = function htmlBuilder(group, options) { + // Handle sizing operators like \Huge. Real TeX doesn't actually allow + // these functions inside of math expressions, so we do some special + // handling. + var newOptions = options.havingSize(group.size); + return sizingGroup(group.body, newOptions, options); +}; +defineFunction({ + type: "sizing", + names: sizeFuncs, + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref, args) { + var breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + var body = parser.parseExpression(false, breakOnTokenText); + return { + type: "sizing", + mode: parser.mode, + // Figure out what size to use based on the list of functions above + size: sizeFuncs.indexOf(funcName) + 1, + body: body + }; + }, + htmlBuilder: sizing_htmlBuilder, + mathmlBuilder: function mathmlBuilder(group, options) { + var newOptions = options.havingSize(group.size); + var inner = buildMathML_buildExpression(group.body, newOptions); + var node = new mathMLTree.MathNode("mstyle", inner); // TODO(emily): This doesn't produce the correct size for nested size + // changes, because we don't keep state of what style we're currently + // in, so we can't reset the size to normal before changing it. Now + // that we're passing an options parameter we should be able to fix + // this. + + node.setAttribute("mathsize", newOptions.sizeMultiplier + "em"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/smash.js +// smash, with optional [tb], as in AMS + + + + + + +defineFunction({ + type: "smash", + names: ["\\smash"], + props: { + numArgs: 1, + numOptionalArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var smashHeight = false; + var smashDepth = false; + var tbArg = optArgs[0] && assertNodeType(optArgs[0], "ordgroup"); + + if (tbArg) { + // Optional [tb] argument is engaged. + // ref: amsmath: \renewcommand{\smash}[1][tb]{% + // def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}% + var letter = ""; + + for (var i = 0; i < tbArg.body.length; ++i) { + var node = tbArg.body[i]; // $FlowFixMe: Not every node type has a `text` property. + + letter = node.text; + + if (letter === "t") { + smashHeight = true; + } else if (letter === "b") { + smashDepth = true; + } else { + smashHeight = false; + smashDepth = false; + break; + } + } + } else { + smashHeight = true; + smashDepth = true; + } + + var body = args[0]; + return { + type: "smash", + mode: parser.mode, + body: body, + smashHeight: smashHeight, + smashDepth: smashDepth + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var node = buildCommon.makeSpan([], [buildHTML_buildGroup(group.body, options)]); + + if (!group.smashHeight && !group.smashDepth) { + return node; + } + + if (group.smashHeight) { + node.height = 0; // In order to influence makeVList, we have to reset the children. + + if (node.children) { + for (var i = 0; i < node.children.length; i++) { + node.children[i].height = 0; + } + } + } + + if (group.smashDepth) { + node.depth = 0; + + if (node.children) { + for (var _i = 0; _i < node.children.length; _i++) { + node.children[_i].depth = 0; + } + } + } // At this point, we've reset the TeX-like height and depth values. + // But the span still has an HTML line height. + // makeVList applies "display: table-cell", which prevents the browser + // from acting on that line height. So we'll call makeVList now. + + + var smashedNode = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: node + }] + }, options); // For spacing, TeX treats \hphantom as a math group (same spacing as ord). + + return buildCommon.makeSpan(["mord"], [smashedNode], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mpadded", [buildMathML_buildGroup(group.body, options)]); + + if (group.smashHeight) { + node.setAttribute("height", "0px"); + } + + if (group.smashDepth) { + node.setAttribute("depth", "0px"); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/sqrt.js + + + + + + + +defineFunction({ + type: "sqrt", + names: ["\\sqrt"], + props: { + numArgs: 1, + numOptionalArgs: 1 + }, + handler: function handler(_ref, args, optArgs) { + var parser = _ref.parser; + var index = optArgs[0]; + var body = args[0]; + return { + type: "sqrt", + mode: parser.mode, + body: body, + index: index + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Square roots are handled in the TeXbook pg. 443, Rule 11. + // First, we do the same steps as in overline to build the inner group + // and line + var inner = buildHTML_buildGroup(group.body, options.havingCrampedStyle()); + + if (inner.height === 0) { + // Render a small surd. + inner.height = options.fontMetrics().xHeight; + } // Some groups can return document fragments. Handle those by wrapping + // them in a span. + + + inner = buildCommon.wrapFragment(inner, options); // Calculate the minimum size for the \surd delimiter + + var metrics = options.fontMetrics(); + var theta = metrics.defaultRuleThickness; + var phi = theta; + + if (options.style.id < src_Style.TEXT.id) { + phi = options.fontMetrics().xHeight; + } // Calculate the clearance between the body and line + + + var lineClearance = theta + phi / 4; + var minDelimiterHeight = inner.height + inner.depth + lineClearance + theta; // Create a sqrt SVG of the required minimum size + + var _delimiter$sqrtImage = delimiter.sqrtImage(minDelimiterHeight, options), + img = _delimiter$sqrtImage.span, + ruleWidth = _delimiter$sqrtImage.ruleWidth, + advanceWidth = _delimiter$sqrtImage.advanceWidth; + + var delimDepth = img.height - ruleWidth; // Adjust the clearance based on the delimiter size + + if (delimDepth > inner.height + inner.depth + lineClearance) { + lineClearance = (lineClearance + delimDepth - inner.height - inner.depth) / 2; + } // Shift the sqrt image + + + var imgShift = img.height - inner.height - lineClearance - ruleWidth; + inner.style.paddingLeft = advanceWidth + "em"; // Overlay the image and the argument. + + var body = buildCommon.makeVList({ + positionType: "firstBaseline", + children: [{ + type: "elem", + elem: inner, + wrapperClasses: ["svg-align"] + }, { + type: "kern", + size: -(inner.height + imgShift) + }, { + type: "elem", + elem: img + }, { + type: "kern", + size: ruleWidth + }] + }, options); + + if (!group.index) { + return buildCommon.makeSpan(["mord", "sqrt"], [body], options); + } else { + // Handle the optional root index + // The index is always in scriptscript style + var newOptions = options.havingStyle(src_Style.SCRIPTSCRIPT); + var rootm = buildHTML_buildGroup(group.index, newOptions, options); // The amount the index is shifted by. This is taken from the TeX + // source, in the definition of `\r@@t`. + + var toShift = 0.6 * (body.height - body.depth); // Build a VList with the superscript shifted up correctly + + var rootVList = buildCommon.makeVList({ + positionType: "shift", + positionData: -toShift, + children: [{ + type: "elem", + elem: rootm + }] + }, options); // Add a class surrounding it so we can add on the appropriate + // kerning + + var rootVListWrap = buildCommon.makeSpan(["root"], [rootVList]); + return buildCommon.makeSpan(["mord", "sqrt"], [rootVListWrap, body], options); + } + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var body = group.body, + index = group.index; + return index ? new mathMLTree.MathNode("mroot", [buildMathML_buildGroup(body, options), buildMathML_buildGroup(index, options)]) : new mathMLTree.MathNode("msqrt", [buildMathML_buildGroup(body, options)]); + } +}); +// CONCATENATED MODULE: ./src/functions/styling.js + + + + + +var styling_styleMap = { + "display": src_Style.DISPLAY, + "text": src_Style.TEXT, + "script": src_Style.SCRIPT, + "scriptscript": src_Style.SCRIPTSCRIPT +}; +defineFunction({ + type: "styling", + names: ["\\displaystyle", "\\textstyle", "\\scriptstyle", "\\scriptscriptstyle"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(_ref, args) { + var breakOnTokenText = _ref.breakOnTokenText, + funcName = _ref.funcName, + parser = _ref.parser; + // parse out the implicit body + var body = parser.parseExpression(true, breakOnTokenText); // TODO: Refactor to avoid duplicating styleMap in multiple places (e.g. + // here and in buildHTML and de-dupe the enumeration of all the styles). + // $FlowFixMe: The names above exactly match the styles. + + var style = funcName.slice(1, funcName.length - 5); + return { + type: "styling", + mode: parser.mode, + // Figure out what style to use by pulling out the style from + // the function name + style: style, + body: body + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Style changes are handled in the TeXbook on pg. 442, Rule 3. + var newStyle = styling_styleMap[group.style]; + var newOptions = options.havingStyle(newStyle).withFont(''); + return sizingGroup(group.body, newOptions, options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // Figure out what style we're changing to. + var newStyle = styling_styleMap[group.style]; + var newOptions = options.havingStyle(newStyle); + var inner = buildMathML_buildExpression(group.body, newOptions); + var node = new mathMLTree.MathNode("mstyle", inner); + var styleAttributes = { + "display": ["0", "true"], + "text": ["0", "false"], + "script": ["1", "false"], + "scriptscript": ["2", "false"] + }; + var attr = styleAttributes[group.style]; + node.setAttribute("scriptlevel", attr[0]); + node.setAttribute("displaystyle", attr[1]); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/supsub.js + + + + + + + + + + + + + + +/** + * Sometimes, groups perform special rules when they have superscripts or + * subscripts attached to them. This function lets the `supsub` group know that + * Sometimes, groups perform special rules when they have superscripts or + * its inner element should handle the superscripts and subscripts instead of + * handling them itself. + */ +var supsub_htmlBuilderDelegate = function htmlBuilderDelegate(group, options) { + var base = group.base; + + if (!base) { + return null; + } else if (base.type === "op") { + // Operators handle supsubs differently when they have limits + // (e.g. `\displaystyle\sum_2^3`) + var delegate = base.limits && (options.style.size === src_Style.DISPLAY.size || base.alwaysHandleSupSub); + return delegate ? op_htmlBuilder : null; + } else if (base.type === "operatorname") { + var _delegate = base.alwaysHandleSupSub && (options.style.size === src_Style.DISPLAY.size || base.limits); + + return _delegate ? operatorname_htmlBuilder : null; + } else if (base.type === "accent") { + return utils.isCharacterBox(base.base) ? accent_htmlBuilder : null; + } else if (base.type === "horizBrace") { + var isSup = !group.sub; + return isSup === base.isOver ? horizBrace_htmlBuilder : null; + } else { + return null; + } +}; // Super scripts and subscripts, whose precise placement can depend on other +// functions that precede them. + + +defineFunctionBuilders({ + type: "supsub", + htmlBuilder: function htmlBuilder(group, options) { + // Superscript and subscripts are handled in the TeXbook on page + // 445-446, rules 18(a-f). + // Here is where we defer to the inner group if it should handle + // superscripts and subscripts itself. + var builderDelegate = supsub_htmlBuilderDelegate(group, options); + + if (builderDelegate) { + return builderDelegate(group, options); + } + + var valueBase = group.base, + valueSup = group.sup, + valueSub = group.sub; + var base = buildHTML_buildGroup(valueBase, options); + var supm; + var subm; + var metrics = options.fontMetrics(); // Rule 18a + + var supShift = 0; + var subShift = 0; + var isCharacterBox = valueBase && utils.isCharacterBox(valueBase); + + if (valueSup) { + var newOptions = options.havingStyle(options.style.sup()); + supm = buildHTML_buildGroup(valueSup, newOptions, options); + + if (!isCharacterBox) { + supShift = base.height - newOptions.fontMetrics().supDrop * newOptions.sizeMultiplier / options.sizeMultiplier; + } + } + + if (valueSub) { + var _newOptions = options.havingStyle(options.style.sub()); + + subm = buildHTML_buildGroup(valueSub, _newOptions, options); + + if (!isCharacterBox) { + subShift = base.depth + _newOptions.fontMetrics().subDrop * _newOptions.sizeMultiplier / options.sizeMultiplier; + } + } // Rule 18c + + + var minSupShift; + + if (options.style === src_Style.DISPLAY) { + minSupShift = metrics.sup1; + } else if (options.style.cramped) { + minSupShift = metrics.sup3; + } else { + minSupShift = metrics.sup2; + } // scriptspace is a font-size-independent size, so scale it + // appropriately for use as the marginRight. + + + var multiplier = options.sizeMultiplier; + var marginRight = 0.5 / metrics.ptPerEm / multiplier + "em"; + var marginLeft = null; + + if (subm) { + // Subscripts shouldn't be shifted by the base's italic correction. + // Account for that by shifting the subscript back the appropriate + // amount. Note we only do this when the base is a single symbol. + var isOiint = group.base && group.base.type === "op" && group.base.name && (group.base.name === "\\oiint" || group.base.name === "\\oiiint"); + + if (base instanceof domTree_SymbolNode || isOiint) { + // $FlowFixMe + marginLeft = -base.italic + "em"; + } + } + + var supsub; + + if (supm && subm) { + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + subShift = Math.max(subShift, metrics.sub2); + var ruleWidth = metrics.defaultRuleThickness; // Rule 18e + + var maxWidth = 4 * ruleWidth; + + if (supShift - supm.depth - (subm.height - subShift) < maxWidth) { + subShift = maxWidth - (supShift - supm.depth) + subm.height; + var psi = 0.8 * metrics.xHeight - (supShift - supm.depth); + + if (psi > 0) { + supShift += psi; + subShift -= psi; + } + } + + var vlistElem = [{ + type: "elem", + elem: subm, + shift: subShift, + marginRight: marginRight, + marginLeft: marginLeft + }, { + type: "elem", + elem: supm, + shift: -supShift, + marginRight: marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "individualShift", + children: vlistElem + }, options); + } else if (subm) { + // Rule 18b + subShift = Math.max(subShift, metrics.sub1, subm.height - 0.8 * metrics.xHeight); + var _vlistElem = [{ + type: "elem", + elem: subm, + marginLeft: marginLeft, + marginRight: marginRight + }]; + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: subShift, + children: _vlistElem + }, options); + } else if (supm) { + // Rule 18c, d + supShift = Math.max(supShift, minSupShift, supm.depth + 0.25 * metrics.xHeight); + supsub = buildCommon.makeVList({ + positionType: "shift", + positionData: -supShift, + children: [{ + type: "elem", + elem: supm, + marginRight: marginRight + }] + }, options); + } else { + throw new Error("supsub must have either sup or sub."); + } // Wrap the supsub vlist in a span.msupsub to reset text-align. + + + var mclass = getTypeOfDomTree(base, "right") || "mord"; + return buildCommon.makeSpan([mclass], [base, buildCommon.makeSpan(["msupsub"], [supsub])], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + // Is the inner group a relevant horizonal brace? + var isBrace = false; + var isOver; + var isSup; + var horizBrace = checkNodeType(group.base, "horizBrace"); + + if (horizBrace) { + isSup = !!group.sup; + + if (isSup === horizBrace.isOver) { + isBrace = true; + isOver = horizBrace.isOver; + } + } + + if (group.base && (group.base.type === "op" || group.base.type === "operatorname")) { + group.base.parentIsSupSub = true; + } + + var children = [buildMathML_buildGroup(group.base, options)]; + + if (group.sub) { + children.push(buildMathML_buildGroup(group.sub, options)); + } + + if (group.sup) { + children.push(buildMathML_buildGroup(group.sup, options)); + } + + var nodeType; + + if (isBrace) { + nodeType = isOver ? "mover" : "munder"; + } else if (!group.sub) { + var base = group.base; + + if (base && base.type === "op" && base.limits && (options.style === src_Style.DISPLAY || base.alwaysHandleSupSub)) { + nodeType = "mover"; + } else if (base && base.type === "operatorname" && base.alwaysHandleSupSub && (base.limits || options.style === src_Style.DISPLAY)) { + nodeType = "mover"; + } else { + nodeType = "msup"; + } + } else if (!group.sup) { + var _base = group.base; + + if (_base && _base.type === "op" && _base.limits && (options.style === src_Style.DISPLAY || _base.alwaysHandleSupSub)) { + nodeType = "munder"; + } else if (_base && _base.type === "operatorname" && _base.alwaysHandleSupSub && (_base.limits || options.style === src_Style.DISPLAY)) { + nodeType = "munder"; + } else { + nodeType = "msub"; + } + } else { + var _base2 = group.base; + + if (_base2 && _base2.type === "op" && _base2.limits && options.style === src_Style.DISPLAY) { + nodeType = "munderover"; + } else if (_base2 && _base2.type === "operatorname" && _base2.alwaysHandleSupSub && (options.style === src_Style.DISPLAY || _base2.limits)) { + nodeType = "munderover"; + } else { + nodeType = "msubsup"; + } + } + + var node = new mathMLTree.MathNode(nodeType, children); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsOp.js + + + + // Operator ParseNodes created in Parser.js from symbol Groups in src/symbols.js. + +defineFunctionBuilders({ + type: "atom", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.mathsym(group.text, group.mode, options, ["m" + group.family]); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mo", [buildMathML_makeText(group.text, group.mode)]); + + if (group.family === "bin") { + var variant = buildMathML_getVariant(group, options); + + if (variant === "bold-italic") { + node.setAttribute("mathvariant", variant); + } + } else if (group.family === "punct") { + node.setAttribute("separator", "true"); + } else if (group.family === "open" || group.family === "close") { + // Delims built here should not stretch vertically. + // See delimsizing.js for stretchy delims. + node.setAttribute("stretchy", "false"); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsOrd.js + + + + +// "mathord" and "textord" ParseNodes created in Parser.js from symbol Groups in +var defaultVariant = { + "mi": "italic", + "mn": "normal", + "mtext": "normal" +}; +defineFunctionBuilders({ + type: "mathord", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "mathord"); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node = new mathMLTree.MathNode("mi", [buildMathML_makeText(group.text, group.mode, options)]); + var variant = buildMathML_getVariant(group, options) || "italic"; + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } +}); +defineFunctionBuilders({ + type: "textord", + htmlBuilder: function htmlBuilder(group, options) { + return buildCommon.makeOrd(group, options, "textord"); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var text = buildMathML_makeText(group.text, group.mode, options); + var variant = buildMathML_getVariant(group, options) || "normal"; + var node; + + if (group.mode === 'text') { + node = new mathMLTree.MathNode("mtext", [text]); + } else if (/[0-9]/.test(group.text)) { + // TODO(kevinb) merge adjacent nodes + // do it as a post processing step + node = new mathMLTree.MathNode("mn", [text]); + } else if (group.text === "\\prime") { + node = new mathMLTree.MathNode("mo", [text]); + } else { + node = new mathMLTree.MathNode("mi", [text]); + } + + if (variant !== defaultVariant[node.type]) { + node.setAttribute("mathvariant", variant); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/symbolsSpacing.js + + + + // A map of CSS-based spacing functions to their CSS class. + +var cssSpace = { + "\\nobreak": "nobreak", + "\\allowbreak": "allowbreak" +}; // A lookup table to determine whether a spacing function/symbol should be +// treated like a regular space character. If a symbol or command is a key +// in this table, then it should be a regular space character. Furthermore, +// the associated value may have a `className` specifying an extra CSS class +// to add to the created `span`. + +var regularSpace = { + " ": {}, + "\\ ": {}, + "~": { + className: "nobreak" + }, + "\\space": {}, + "\\nobreakspace": { + className: "nobreak" + } +}; // ParseNode<"spacing"> created in Parser.js from the "spacing" symbol Groups in +// src/symbols.js. + +defineFunctionBuilders({ + type: "spacing", + htmlBuilder: function htmlBuilder(group, options) { + if (regularSpace.hasOwnProperty(group.text)) { + var className = regularSpace[group.text].className || ""; // Spaces are generated by adding an actual space. Each of these + // things has an entry in the symbols table, so these will be turned + // into appropriate outputs. + + if (group.mode === "text") { + var ord = buildCommon.makeOrd(group, options, "textord"); + ord.classes.push(className); + return ord; + } else { + return buildCommon.makeSpan(["mspace", className], [buildCommon.mathsym(group.text, group.mode, options)], options); + } + } else if (cssSpace.hasOwnProperty(group.text)) { + // Spaces based on just a CSS class. + return buildCommon.makeSpan(["mspace", cssSpace[group.text]], [], options); + } else { + throw new src_ParseError("Unknown type of space \"" + group.text + "\""); + } + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var node; + + if (regularSpace.hasOwnProperty(group.text)) { + node = new mathMLTree.MathNode("mtext", [new mathMLTree.TextNode("\xA0")]); + } else if (cssSpace.hasOwnProperty(group.text)) { + // CSS-based MathML spaces (\nobreak, \allowbreak) are ignored + return new mathMLTree.MathNode("mspace"); + } else { + throw new src_ParseError("Unknown type of space \"" + group.text + "\""); + } + + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/tag.js + + + + +var tag_pad = function pad() { + var padNode = new mathMLTree.MathNode("mtd", []); + padNode.setAttribute("width", "50%"); + return padNode; +}; + +defineFunctionBuilders({ + type: "tag", + mathmlBuilder: function mathmlBuilder(group, options) { + var table = new mathMLTree.MathNode("mtable", [new mathMLTree.MathNode("mtr", [tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.body, options)]), tag_pad(), new mathMLTree.MathNode("mtd", [buildExpressionRow(group.tag, options)])])]); + table.setAttribute("width", "100%"); + return table; // TODO: Left-aligned tags. + // Currently, the group and options passed here do not contain + // enough info to set tag alignment. `leqno` is in Settings but it is + // not passed to Options. On the HTML side, leqno is + // set by a CSS class applied in buildTree.js. That would have worked + // in MathML if browsers supported . Since they don't, we + // need to rewrite the way this function is called. + } +}); +// CONCATENATED MODULE: ./src/functions/text.js + + + + // Non-mathy text, possibly in a font + +var textFontFamilies = { + "\\text": undefined, + "\\textrm": "textrm", + "\\textsf": "textsf", + "\\texttt": "texttt", + "\\textnormal": "textrm" +}; +var textFontWeights = { + "\\textbf": "textbf", + "\\textmd": "textmd" +}; +var textFontShapes = { + "\\textit": "textit", + "\\textup": "textup" +}; + +var optionsWithFont = function optionsWithFont(group, options) { + var font = group.font; // Checks if the argument is a font family or a font style. + + if (!font) { + return options; + } else if (textFontFamilies[font]) { + return options.withTextFontFamily(textFontFamilies[font]); + } else if (textFontWeights[font]) { + return options.withTextFontWeight(textFontWeights[font]); + } else { + return options.withTextFontShape(textFontShapes[font]); + } +}; + +defineFunction({ + type: "text", + names: [// Font families + "\\text", "\\textrm", "\\textsf", "\\texttt", "\\textnormal", // Font weights + "\\textbf", "\\textmd", // Font Shapes + "\\textit", "\\textup"], + props: { + numArgs: 1, + argTypes: ["text"], + greediness: 2, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser, + funcName = _ref.funcName; + var body = args[0]; + return { + type: "text", + mode: parser.mode, + body: defineFunction_ordargument(body), + font: funcName + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + var newOptions = optionsWithFont(group, options); + var inner = buildHTML_buildExpression(group.body, newOptions, true); + return buildCommon.makeSpan(["mord", "text"], buildCommon.tryCombineChars(inner), newOptions); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var newOptions = optionsWithFont(group, options); + return buildExpressionRow(group.body, newOptions); + } +}); +// CONCATENATED MODULE: ./src/functions/underline.js + + + + + +defineFunction({ + type: "underline", + names: ["\\underline"], + props: { + numArgs: 1, + allowedInText: true + }, + handler: function handler(_ref, args) { + var parser = _ref.parser; + return { + type: "underline", + mode: parser.mode, + body: args[0] + }; + }, + htmlBuilder: function htmlBuilder(group, options) { + // Underlines are handled in the TeXbook pg 443, Rule 10. + // Build the inner group. + var innerGroup = buildHTML_buildGroup(group.body, options); // Create the line to go below the body + + var line = buildCommon.makeLineSpan("underline-line", options); // Generate the vlist, with the appropriate kerns + + var defaultRuleThickness = options.fontMetrics().defaultRuleThickness; + var vlist = buildCommon.makeVList({ + positionType: "top", + positionData: innerGroup.height, + children: [{ + type: "kern", + size: defaultRuleThickness + }, { + type: "elem", + elem: line + }, { + type: "kern", + size: 3 * defaultRuleThickness + }, { + type: "elem", + elem: innerGroup + }] + }, options); + return buildCommon.makeSpan(["mord", "underline"], [vlist], options); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var operator = new mathMLTree.MathNode("mo", [new mathMLTree.TextNode("\u203E")]); + operator.setAttribute("stretchy", "true"); + var node = new mathMLTree.MathNode("munder", [buildMathML_buildGroup(group.body, options), operator]); + node.setAttribute("accentunder", "true"); + return node; + } +}); +// CONCATENATED MODULE: ./src/functions/verb.js + + + + +defineFunction({ + type: "verb", + names: ["\\verb"], + props: { + numArgs: 0, + allowedInText: true + }, + handler: function handler(context, args, optArgs) { + // \verb and \verb* are dealt with directly in Parser.js. + // If we end up here, it's because of a failure to match the two delimiters + // in the regex in Lexer.js. LaTeX raises the following error when \verb is + // terminated by end of line (or file). + throw new src_ParseError("\\verb ended by end of line instead of matching delimiter"); + }, + htmlBuilder: function htmlBuilder(group, options) { + var text = makeVerb(group); + var body = []; // \verb enters text mode and therefore is sized like \textstyle + + var newOptions = options.havingStyle(options.style.text()); + + for (var i = 0; i < text.length; i++) { + var c = text[i]; + + if (c === '~') { + c = '\\textasciitilde'; + } + + body.push(buildCommon.makeSymbol(c, "Typewriter-Regular", group.mode, newOptions, ["mord", "texttt"])); + } + + return buildCommon.makeSpan(["mord", "text"].concat(newOptions.sizingClasses(options)), buildCommon.tryCombineChars(body), newOptions); + }, + mathmlBuilder: function mathmlBuilder(group, options) { + var text = new mathMLTree.TextNode(makeVerb(group)); + var node = new mathMLTree.MathNode("mtext", [text]); + node.setAttribute("mathvariant", "monospace"); + return node; + } +}); +/** + * Converts verb group into body string. + * + * \verb* replaces each space with an open box \u2423 + * \verb replaces each space with a no-break space \xA0 + */ + +var makeVerb = function makeVerb(group) { + return group.body.replace(/ /g, group.star ? "\u2423" : '\xA0'); +}; +// CONCATENATED MODULE: ./src/functions.js +/** Include this to ensure that all functions are defined. */ + +var functions = _functions; +/* harmony default export */ var src_functions = (functions); // TODO(kevinb): have functions return an object and call defineFunction with +// that object in this file instead of relying on side-effects. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +// CONCATENATED MODULE: ./src/Lexer.js +/** + * The Lexer class handles tokenizing the input in various ways. Since our + * parser expects us to be able to backtrack, the lexer allows lexing from any + * given starting point. + * + * Its main exposed function is the `lex` function, which takes a position to + * lex from and a type of token to lex. It defers to the appropriate `_innerLex` + * function. + * + * The various `_innerLex` functions perform the actual lexing of different + * kinds. + */ + + + + +/* The following tokenRegex + * - matches typical whitespace (but not NBSP etc.) using its first group + * - does not match any control character \x00-\x1f except whitespace + * - does not match a bare backslash + * - matches any ASCII character except those just mentioned + * - does not match the BMP private use area \uE000-\uF8FF + * - does not match bare surrogate code units + * - matches any BMP character except for those just described + * - matches any valid Unicode surrogate pair + * - matches a backslash followed by one or more letters + * - matches a backslash followed by any BMP character, including newline + * Just because the Lexer matches something doesn't mean it's valid input: + * If there is no matching function or symbol definition, the Parser will + * still reject the input. + */ +var spaceRegexString = "[ \r\n\t]"; +var controlWordRegexString = "\\\\[a-zA-Z@]+"; +var controlSymbolRegexString = "\\\\[^\uD800-\uDFFF]"; +var controlWordWhitespaceRegexString = "" + controlWordRegexString + spaceRegexString + "*"; +var controlWordWhitespaceRegex = new RegExp("^(" + controlWordRegexString + ")" + spaceRegexString + "*$"); +var combiningDiacriticalMarkString = "[\u0300-\u036F]"; +var combiningDiacriticalMarksEndRegex = new RegExp(combiningDiacriticalMarkString + "+$"); +var tokenRegexString = "(" + spaceRegexString + "+)|" + // whitespace +"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]" + ( // single codepoint +combiningDiacriticalMarkString + "*") + // ...plus accents +"|[\uD800-\uDBFF][\uDC00-\uDFFF]" + ( // surrogate pair +combiningDiacriticalMarkString + "*") + // ...plus accents +"|\\\\verb\\*([^]).*?\\3" + // \verb* +"|\\\\verb([^*a-zA-Z]).*?\\4" + // \verb unstarred +"|\\\\operatorname\\*" + ( // \operatorname* +"|" + controlWordWhitespaceRegexString) + ( // \macroName + spaces +"|" + controlSymbolRegexString + ")"); // \\, \', etc. + +/** Main Lexer class */ + +var Lexer_Lexer = +/*#__PURE__*/ +function () { + // category codes, only supports comment characters (14) for now + function Lexer(input, settings) { + this.input = void 0; + this.settings = void 0; + this.tokenRegex = void 0; + this.catcodes = void 0; + // Separate accents from characters + this.input = input; + this.settings = settings; + this.tokenRegex = new RegExp(tokenRegexString, 'g'); + this.catcodes = { + "%": 14 // comment character + + }; + } + + var _proto = Lexer.prototype; + + _proto.setCatcode = function setCatcode(char, code) { + this.catcodes[char] = code; + } + /** + * This function lexes a single token. + */ + ; + + _proto.lex = function lex() { + var input = this.input; + var pos = this.tokenRegex.lastIndex; + + if (pos === input.length) { + return new Token_Token("EOF", new SourceLocation(this, pos, pos)); + } + + var match = this.tokenRegex.exec(input); + + if (match === null || match.index !== pos) { + throw new src_ParseError("Unexpected character: '" + input[pos] + "'", new Token_Token(input[pos], new SourceLocation(this, pos, pos + 1))); + } + + var text = match[2] || " "; + + if (this.catcodes[text] === 14) { + // comment character + var nlIndex = input.indexOf('\n', this.tokenRegex.lastIndex); + + if (nlIndex === -1) { + this.tokenRegex.lastIndex = input.length; // EOF + + this.settings.reportNonstrict("commentAtEnd", "% comment has no terminating newline; LaTeX would " + "fail because of commenting the end of math mode (e.g. $)"); + } else { + this.tokenRegex.lastIndex = nlIndex + 1; + } + + return this.lex(); + } // Trim any trailing whitespace from control word match + + + var controlMatch = text.match(controlWordWhitespaceRegex); + + if (controlMatch) { + text = controlMatch[1]; + } + + return new Token_Token(text, new SourceLocation(this, pos, this.tokenRegex.lastIndex)); + }; + + return Lexer; +}(); + + +// CONCATENATED MODULE: ./src/Namespace.js +/** + * A `Namespace` refers to a space of nameable things like macros or lengths, + * which can be `set` either globally or local to a nested group, using an + * undo stack similar to how TeX implements this functionality. + * Performance-wise, `get` and local `set` take constant time, while global + * `set` takes time proportional to the depth of group nesting. + */ + + +var Namespace_Namespace = +/*#__PURE__*/ +function () { + /** + * Both arguments are optional. The first argument is an object of + * built-in mappings which never change. The second argument is an object + * of initial (global-level) mappings, which will constantly change + * according to any global/top-level `set`s done. + */ + function Namespace(builtins, globalMacros) { + if (builtins === void 0) { + builtins = {}; + } + + if (globalMacros === void 0) { + globalMacros = {}; + } + + this.current = void 0; + this.builtins = void 0; + this.undefStack = void 0; + this.current = globalMacros; + this.builtins = builtins; + this.undefStack = []; + } + /** + * Start a new nested group, affecting future local `set`s. + */ + + + var _proto = Namespace.prototype; + + _proto.beginGroup = function beginGroup() { + this.undefStack.push({}); + } + /** + * End current nested group, restoring values before the group began. + */ + ; + + _proto.endGroup = function endGroup() { + if (this.undefStack.length === 0) { + throw new src_ParseError("Unbalanced namespace destruction: attempt " + "to pop global namespace; please report this as a bug"); + } + + var undefs = this.undefStack.pop(); + + for (var undef in undefs) { + if (undefs.hasOwnProperty(undef)) { + if (undefs[undef] === undefined) { + delete this.current[undef]; + } else { + this.current[undef] = undefs[undef]; + } + } + } + } + /** + * Detect whether `name` has a definition. Equivalent to + * `get(name) != null`. + */ + ; + + _proto.has = function has(name) { + return this.current.hasOwnProperty(name) || this.builtins.hasOwnProperty(name); + } + /** + * Get the current value of a name, or `undefined` if there is no value. + * + * Note: Do not use `if (namespace.get(...))` to detect whether a macro + * is defined, as the definition may be the empty string which evaluates + * to `false` in JavaScript. Use `if (namespace.get(...) != null)` or + * `if (namespace.has(...))`. + */ + ; + + _proto.get = function get(name) { + if (this.current.hasOwnProperty(name)) { + return this.current[name]; + } else { + return this.builtins[name]; + } + } + /** + * Set the current value of a name, and optionally set it globally too. + * Local set() sets the current value and (when appropriate) adds an undo + * operation to the undo stack. Global set() may change the undo + * operation at every level, so takes time linear in their number. + */ + ; + + _proto.set = function set(name, value, global) { + if (global === void 0) { + global = false; + } + + if (global) { + // Global set is equivalent to setting in all groups. Simulate this + // by destroying any undos currently scheduled for this name, + // and adding an undo with the *new* value (in case it later gets + // locally reset within this environment). + for (var i = 0; i < this.undefStack.length; i++) { + delete this.undefStack[i][name]; + } + + if (this.undefStack.length > 0) { + this.undefStack[this.undefStack.length - 1][name] = value; + } + } else { + // Undo this set at end of this group (possibly to `undefined`), + // unless an undo is already in place, in which case that older + // value is the correct one. + var top = this.undefStack[this.undefStack.length - 1]; + + if (top && !top.hasOwnProperty(name)) { + top[name] = this.current[name]; + } + } + + this.current[name] = value; + }; + + return Namespace; +}(); + + +// CONCATENATED MODULE: ./src/macros.js +/** + * Predefined macros for KaTeX. + * This can be used to define some commands in terms of others. + */ + + + + + +var builtinMacros = {}; +/* harmony default export */ var macros = (builtinMacros); // This function might one day accept an additional argument and do more things. + +function defineMacro(name, body) { + builtinMacros[name] = body; +} ////////////////////////////////////////////////////////////////////// +// macro tools +// LaTeX's \@firstoftwo{#1}{#2} expands to #1, skipping #2 +// TeX source: \long\def\@firstoftwo#1#2{#1} + +defineMacro("\\@firstoftwo", function (context) { + var args = context.consumeArgs(2); + return { + tokens: args[0], + numArgs: 0 + }; +}); // LaTeX's \@secondoftwo{#1}{#2} expands to #2, skipping #1 +// TeX source: \long\def\@secondoftwo#1#2{#2} + +defineMacro("\\@secondoftwo", function (context) { + var args = context.consumeArgs(2); + return { + tokens: args[1], + numArgs: 0 + }; +}); // LaTeX's \@ifnextchar{#1}{#2}{#3} looks ahead to the next (unexpanded) +// symbol. If it matches #1, then the macro expands to #2; otherwise, #3. +// Note, however, that it does not consume the next symbol in either case. + +defineMacro("\\@ifnextchar", function (context) { + var args = context.consumeArgs(3); // symbol, if, else + + var nextToken = context.future(); + + if (args[0].length === 1 && args[0][0].text === nextToken.text) { + return { + tokens: args[1], + numArgs: 0 + }; + } else { + return { + tokens: args[2], + numArgs: 0 + }; + } +}); // LaTeX's \@ifstar{#1}{#2} looks ahead to the next (unexpanded) symbol. +// If it is `*`, then it consumes the symbol, and the macro expands to #1; +// otherwise, the macro expands to #2 (without consuming the symbol). +// TeX source: \def\@ifstar#1{\@ifnextchar *{\@firstoftwo{#1}}} + +defineMacro("\\@ifstar", "\\@ifnextchar *{\\@firstoftwo{#1}}"); // LaTeX's \TextOrMath{#1}{#2} expands to #1 in text mode, #2 in math mode + +defineMacro("\\TextOrMath", function (context) { + var args = context.consumeArgs(2); + + if (context.mode === 'text') { + return { + tokens: args[0], + numArgs: 0 + }; + } else { + return { + tokens: args[1], + numArgs: 0 + }; + } +}); // Lookup table for parsing numbers in base 8 through 16 + +var digitToNumber = { + "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 +}; // TeX \char makes a literal character (catcode 12) using the following forms: +// (see The TeXBook, p. 43) +// \char123 -- decimal +// \char'123 -- octal +// \char"123 -- hex +// \char`x -- character that can be written (i.e. isn't active) +// \char`\x -- character that cannot be written (e.g. %) +// These all refer to characters from the font, so we turn them into special +// calls to a function \@char dealt with in the Parser. + +defineMacro("\\char", function (context) { + var token = context.popToken(); + var base; + var number = ''; + + if (token.text === "'") { + base = 8; + token = context.popToken(); + } else if (token.text === '"') { + base = 16; + token = context.popToken(); + } else if (token.text === "`") { + token = context.popToken(); + + if (token.text[0] === "\\") { + number = token.text.charCodeAt(1); + } else if (token.text === "EOF") { + throw new src_ParseError("\\char` missing argument"); + } else { + number = token.text.charCodeAt(0); + } + } else { + base = 10; + } + + if (base) { + // Parse a number in the given base, starting with first `token`. + number = digitToNumber[token.text]; + + if (number == null || number >= base) { + throw new src_ParseError("Invalid base-" + base + " digit " + token.text); + } + + var digit; + + while ((digit = digitToNumber[context.future().text]) != null && digit < base) { + number *= base; + number += digit; + context.popToken(); + } + } + + return "\\@char{" + number + "}"; +}); // Basic support for macro definitions: +// \def\macro{expansion} +// \def\macro#1{expansion} +// \def\macro#1#2{expansion} +// \def\macro#1#2#3#4#5#6#7#8#9{expansion} +// Also the \gdef and \global\def equivalents + +var macros_def = function def(context, global) { + var arg = context.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("\\gdef's first argument must be a macro name"); + } + + var name = arg[0].text; // Count argument specifiers, and check they are in the order #1 #2 ... + + var numArgs = 0; + arg = context.consumeArgs(1)[0]; + + while (arg.length === 1 && arg[0].text === "#") { + arg = context.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("Invalid argument number length \"" + arg.length + "\""); + } + + if (!/^[1-9]$/.test(arg[0].text)) { + throw new src_ParseError("Invalid argument number \"" + arg[0].text + "\""); + } + + numArgs++; + + if (parseInt(arg[0].text) !== numArgs) { + throw new src_ParseError("Argument number \"" + arg[0].text + "\" out of order"); + } + + arg = context.consumeArgs(1)[0]; + } // Final arg is the expansion of the macro + + + context.macros.set(name, { + tokens: arg, + numArgs: numArgs + }, global); + return ''; +}; + +defineMacro("\\gdef", function (context) { + return macros_def(context, true); +}); +defineMacro("\\def", function (context) { + return macros_def(context, false); +}); +defineMacro("\\global", function (context) { + var next = context.consumeArgs(1)[0]; + + if (next.length !== 1) { + throw new src_ParseError("Invalid command after \\global"); + } + + var command = next[0].text; // TODO: Should expand command + + if (command === "\\def") { + // \global\def is equivalent to \gdef + return macros_def(context, true); + } else { + throw new src_ParseError("Invalid command '" + command + "' after \\global"); + } +}); // \newcommand{\macro}[args]{definition} +// \renewcommand{\macro}[args]{definition} +// TODO: Optional arguments: \newcommand{\macro}[args][default]{definition} + +var macros_newcommand = function newcommand(context, existsOK, nonexistsOK) { + var arg = context.consumeArgs(1)[0]; + + if (arg.length !== 1) { + throw new src_ParseError("\\newcommand's first argument must be a macro name"); + } + + var name = arg[0].text; + var exists = context.isDefined(name); + + if (exists && !existsOK) { + throw new src_ParseError("\\newcommand{" + name + "} attempting to redefine " + (name + "; use \\renewcommand")); + } + + if (!exists && !nonexistsOK) { + throw new src_ParseError("\\renewcommand{" + name + "} when command " + name + " " + "does not yet exist; use \\newcommand"); + } + + var numArgs = 0; + arg = context.consumeArgs(1)[0]; + + if (arg.length === 1 && arg[0].text === "[") { + var argText = ''; + var token = context.expandNextToken(); + + while (token.text !== "]" && token.text !== "EOF") { + // TODO: Should properly expand arg, e.g., ignore {}s + argText += token.text; + token = context.expandNextToken(); + } + + if (!argText.match(/^\s*[0-9]+\s*$/)) { + throw new src_ParseError("Invalid number of arguments: " + argText); + } + + numArgs = parseInt(argText); + arg = context.consumeArgs(1)[0]; + } // Final arg is the expansion of the macro + + + context.macros.set(name, { + tokens: arg, + numArgs: numArgs + }); + return ''; +}; + +defineMacro("\\newcommand", function (context) { + return macros_newcommand(context, false, true); +}); +defineMacro("\\renewcommand", function (context) { + return macros_newcommand(context, true, false); +}); +defineMacro("\\providecommand", function (context) { + return macros_newcommand(context, true, true); +}); ////////////////////////////////////////////////////////////////////// +// Grouping +// \let\bgroup={ \let\egroup=} + +defineMacro("\\bgroup", "{"); +defineMacro("\\egroup", "}"); // Symbols from latex.ltx: +// \def\lq{`} +// \def\rq{'} +// \def \aa {\r a} +// \def \AA {\r A} + +defineMacro("\\lq", "`"); +defineMacro("\\rq", "'"); +defineMacro("\\aa", "\\r a"); +defineMacro("\\AA", "\\r A"); // Copyright (C) and registered (R) symbols. Use raw symbol in MathML. +// \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}} +// \DeclareTextCommandDefault{\textregistered}{\textcircled{% +// \check@mathfonts\fontsize\sf@size\z@\math@fontsfalse\selectfont R}} +// \DeclareRobustCommand{\copyright}{% +// \ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi} + +defineMacro("\\textcopyright", "\\html@mathml{\\textcircled{c}}{\\char`©}"); +defineMacro("\\copyright", "\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}"); +defineMacro("\\textregistered", "\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`®}"); // Characters omitted from Unicode range 1D400–1D7FF + +defineMacro("\u212C", "\\mathscr{B}"); // script + +defineMacro("\u2130", "\\mathscr{E}"); +defineMacro("\u2131", "\\mathscr{F}"); +defineMacro("\u210B", "\\mathscr{H}"); +defineMacro("\u2110", "\\mathscr{I}"); +defineMacro("\u2112", "\\mathscr{L}"); +defineMacro("\u2133", "\\mathscr{M}"); +defineMacro("\u211B", "\\mathscr{R}"); +defineMacro("\u212D", "\\mathfrak{C}"); // Fraktur + +defineMacro("\u210C", "\\mathfrak{H}"); +defineMacro("\u2128", "\\mathfrak{Z}"); // Define \Bbbk with a macro that works in both HTML and MathML. + +defineMacro("\\Bbbk", "\\Bbb{k}"); // Unicode middle dot +// The KaTeX fonts do not contain U+00B7. Instead, \cdotp displays +// the dot at U+22C5 and gives it punct spacing. + +defineMacro("\xB7", "\\cdotp"); // \llap and \rlap render their contents in text mode + +defineMacro("\\llap", "\\mathllap{\\textrm{#1}}"); +defineMacro("\\rlap", "\\mathrlap{\\textrm{#1}}"); +defineMacro("\\clap", "\\mathclap{\\textrm{#1}}"); // \not is defined by base/fontmath.ltx via +// \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36} +// It's thus treated like a \mathrel, but defined by a symbol that has zero +// width but extends to the right. We use \rlap to get that spacing. +// For MathML we write U+0338 here. buildMathML.js will then do the overlay. + +defineMacro("\\not", '\\html@mathml{\\mathrel{\\mathrlap\\@not}}{\\char"338}'); // Negated symbols from base/fontmath.ltx: +// \def\neq{\not=} \let\ne=\neq +// \DeclareRobustCommand +// \notin{\mathrel{\m@th\mathpalette\c@ncel\in}} +// \def\c@ncel#1#2{\m@th\ooalign{$\hfil#1\mkern1mu/\hfil$\crcr$#1#2$}} + +defineMacro("\\neq", "\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`≠}}"); +defineMacro("\\ne", "\\neq"); +defineMacro("\u2260", "\\neq"); +defineMacro("\\notin", "\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}" + "{\\mathrel{\\char`∉}}"); +defineMacro("\u2209", "\\notin"); // Unicode stacked relations + +defineMacro("\u2258", "\\html@mathml{" + "\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}" + "}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u2259", "\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}"); +defineMacro("\u225A", "\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}"); +defineMacro("\u225B", "\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}" + "{\\mathrel{\\char`\u225B}}"); +defineMacro("\u225D", "\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}" + "{\\mathrel{\\char`\u225D}}"); +defineMacro("\u225E", "\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}" + "{\\mathrel{\\char`\u225E}}"); +defineMacro("\u225F", "\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}"); // Misc Unicode + +defineMacro("\u27C2", "\\perp"); +defineMacro("\u203C", "\\mathclose{!\\mkern-0.8mu!}"); +defineMacro("\u220C", "\\notni"); +defineMacro("\u231C", "\\ulcorner"); +defineMacro("\u231D", "\\urcorner"); +defineMacro("\u231E", "\\llcorner"); +defineMacro("\u231F", "\\lrcorner"); +defineMacro("\xA9", "\\copyright"); +defineMacro("\xAE", "\\textregistered"); +defineMacro("\uFE0F", "\\textregistered"); ////////////////////////////////////////////////////////////////////// +// LaTeX_2ε +// \vdots{\vbox{\baselineskip4\p@ \lineskiplimit\z@ +// \kern6\p@\hbox{.}\hbox{.}\hbox{.}}} +// We'll call \varvdots, which gets a glyph from symbols.js. +// The zero-width rule gets us an equivalent to the vertical 6pt kern. + +defineMacro("\\vdots", "\\mathord{\\varvdots\\rule{0pt}{15pt}}"); +defineMacro("\u22EE", "\\vdots"); ////////////////////////////////////////////////////////////////////// +// amsmath.sty +// http://mirrors.concertpass.com/tex-archive/macros/latex/required/amsmath/amsmath.pdf +// Italic Greek capital letters. AMS defines these with \DeclareMathSymbol, +// but they are equivalent to \mathit{\Letter}. + +defineMacro("\\varGamma", "\\mathit{\\Gamma}"); +defineMacro("\\varDelta", "\\mathit{\\Delta}"); +defineMacro("\\varTheta", "\\mathit{\\Theta}"); +defineMacro("\\varLambda", "\\mathit{\\Lambda}"); +defineMacro("\\varXi", "\\mathit{\\Xi}"); +defineMacro("\\varPi", "\\mathit{\\Pi}"); +defineMacro("\\varSigma", "\\mathit{\\Sigma}"); +defineMacro("\\varUpsilon", "\\mathit{\\Upsilon}"); +defineMacro("\\varPhi", "\\mathit{\\Phi}"); +defineMacro("\\varPsi", "\\mathit{\\Psi}"); +defineMacro("\\varOmega", "\\mathit{\\Omega}"); //\newcommand{\substack}[1]{\subarray{c}#1\endsubarray} + +defineMacro("\\substack", "\\begin{subarray}{c}#1\\end{subarray}"); // \renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript +// \mkern-\thinmuskip{:}\mskip6muplus1mu\relax} + +defineMacro("\\colon", "\\nobreak\\mskip2mu\\mathpunct{}" + "\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu"); // \newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}} + +defineMacro("\\boxed", "\\fbox{$\\displaystyle{#1}$}"); // \def\iff{\DOTSB\;\Longleftrightarrow\;} +// \def\implies{\DOTSB\;\Longrightarrow\;} +// \def\impliedby{\DOTSB\;\Longleftarrow\;} + +defineMacro("\\iff", "\\DOTSB\\;\\Longleftrightarrow\\;"); +defineMacro("\\implies", "\\DOTSB\\;\\Longrightarrow\\;"); +defineMacro("\\impliedby", "\\DOTSB\\;\\Longleftarrow\\;"); // AMSMath's automatic \dots, based on \mdots@@ macro. + +var dotsByToken = { + ',': '\\dotsc', + '\\not': '\\dotsb', + // \keybin@ checks for the following: + '+': '\\dotsb', + '=': '\\dotsb', + '<': '\\dotsb', + '>': '\\dotsb', + '-': '\\dotsb', + '*': '\\dotsb', + ':': '\\dotsb', + // Symbols whose definition starts with \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', + // Symbols whose definition starts with \mathbin: + '\\mathbin': '\\dotsb', + // Symbols whose definition starts with \mathrel: + '\\mathrel': '\\dotsb', + '\\relbar': '\\dotsb', + '\\Relbar': '\\dotsb', + '\\xrightarrow': '\\dotsb', + '\\xleftarrow': '\\dotsb', + // Symbols whose definition starts with \DOTSI: + '\\DOTSI': '\\dotsi', + '\\int': '\\dotsi', + '\\oint': '\\dotsi', + '\\iint': '\\dotsi', + '\\iiint': '\\dotsi', + '\\iiiint': '\\dotsi', + '\\idotsint': '\\dotsi', + // Symbols whose definition starts with \DOTSX: + '\\DOTSX': '\\dotsx' +}; +defineMacro("\\dots", function (context) { + // TODO: If used in text mode, should expand to \textellipsis. + // However, in KaTeX, \textellipsis and \ldots behave the same + // (in text mode), and it's unlikely we'd see any of the math commands + // that affect the behavior of \dots when in text mode. So fine for now + // (until we support \ifmmode ... \else ... \fi). + var thedots = '\\dotso'; + var next = context.expandAfterFuture().text; + + if (next in dotsByToken) { + thedots = dotsByToken[next]; + } else if (next.substr(0, 4) === '\\not') { + thedots = '\\dotsb'; + } else if (next in src_symbols.math) { + if (utils.contains(['bin', 'rel'], src_symbols.math[next].group)) { + thedots = '\\dotsb'; + } + } + + return thedots; +}); +var spaceAfterDots = { + // \rightdelim@ checks for the following: + ')': true, + ']': true, + '\\rbrack': true, + '\\}': true, + '\\rbrace': true, + '\\rangle': true, + '\\rceil': true, + '\\rfloor': true, + '\\rgroup': true, + '\\rmoustache': true, + '\\right': true, + '\\bigr': true, + '\\biggr': true, + '\\Bigr': true, + '\\Biggr': true, + // \extra@ also tests for the following: + '$': true, + // \extrap@ checks for the following: + ';': true, + '.': true, + ',': true +}; +defineMacro("\\dotso", function (context) { + var next = context.future().text; + + if (next in spaceAfterDots) { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\dotsc", function (context) { + var next = context.future().text; // \dotsc uses \extra@ but not \extrap@, instead specially checking for + // ';' and '.', but doesn't check for ','. + + if (next in spaceAfterDots && next !== ',') { + return "\\ldots\\,"; + } else { + return "\\ldots"; + } +}); +defineMacro("\\cdots", function (context) { + var next = context.future().text; + + if (next in spaceAfterDots) { + return "\\@cdots\\,"; + } else { + return "\\@cdots"; + } +}); +defineMacro("\\dotsb", "\\cdots"); +defineMacro("\\dotsm", "\\cdots"); +defineMacro("\\dotsi", "\\!\\cdots"); // amsmath doesn't actually define \dotsx, but \dots followed by a macro +// starting with \DOTSX implies \dotso, and then \extra@ detects this case +// and forces the added `\,`. + +defineMacro("\\dotsx", "\\ldots\\,"); // \let\DOTSI\relax +// \let\DOTSB\relax +// \let\DOTSX\relax + +defineMacro("\\DOTSI", "\\relax"); +defineMacro("\\DOTSB", "\\relax"); +defineMacro("\\DOTSX", "\\relax"); // Spacing, based on amsmath.sty's override of LaTeX defaults +// \DeclareRobustCommand{\tmspace}[3]{% +// \ifmmode\mskip#1#2\else\kern#1#3\fi\relax} + +defineMacro("\\tmspace", "\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax"); // \renewcommand{\,}{\tmspace+\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\,", "\\tmspace+{3mu}{.1667em}"); // \let\thinspace\, + +defineMacro("\\thinspace", "\\,"); // \def\>{\mskip\medmuskip} +// \renewcommand{\:}{\tmspace+\medmuskip{.2222em}} +// TODO: \> and math mode of \: should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\>", "\\mskip{4mu}"); +defineMacro("\\:", "\\tmspace+{4mu}{.2222em}"); // \let\medspace\: + +defineMacro("\\medspace", "\\:"); // \renewcommand{\;}{\tmspace+\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip = 5mu plus 5mu + +defineMacro("\\;", "\\tmspace+{5mu}{.2777em}"); // \let\thickspace\; + +defineMacro("\\thickspace", "\\;"); // \renewcommand{\!}{\tmspace-\thinmuskip{.1667em}} +// TODO: math mode should use \thinmuskip + +defineMacro("\\!", "\\tmspace-{3mu}{.1667em}"); // \let\negthinspace\! + +defineMacro("\\negthinspace", "\\!"); // \newcommand{\negmedspace}{\tmspace-\medmuskip{.2222em}} +// TODO: math mode should use \medmuskip + +defineMacro("\\negmedspace", "\\tmspace-{4mu}{.2222em}"); // \newcommand{\negthickspace}{\tmspace-\thickmuskip{.2777em}} +// TODO: math mode should use \thickmuskip + +defineMacro("\\negthickspace", "\\tmspace-{5mu}{.277em}"); // \def\enspace{\kern.5em } + +defineMacro("\\enspace", "\\kern.5em "); // \def\enskip{\hskip.5em\relax} + +defineMacro("\\enskip", "\\hskip.5em\\relax"); // \def\quad{\hskip1em\relax} + +defineMacro("\\quad", "\\hskip1em\\relax"); // \def\qquad{\hskip2em\relax} + +defineMacro("\\qquad", "\\hskip2em\\relax"); // \tag@in@display form of \tag + +defineMacro("\\tag", "\\@ifstar\\tag@literal\\tag@paren"); +defineMacro("\\tag@paren", "\\tag@literal{({#1})}"); +defineMacro("\\tag@literal", function (context) { + if (context.macros.get("\\df@tag")) { + throw new src_ParseError("Multiple \\tag"); + } + + return "\\gdef\\df@tag{\\text{#1}}"; +}); // \renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin +// {\operator@font mod}\penalty900 +// \mkern5mu\nonscript\mskip-\medmuskip} +// \newcommand{\pod}[1]{\allowbreak +// \if@display\mkern18mu\else\mkern8mu\fi(#1)} +// \renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}} +// \newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu +// \else\mkern12mu\fi{\operator@font mod}\,\,#1} +// TODO: math mode should use \medmuskip = 4mu plus 2mu minus 4mu + +defineMacro("\\bmod", "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}" + "\\mathbin{\\rm mod}" + "\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}"); +defineMacro("\\pod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)"); +defineMacro("\\pmod", "\\pod{{\\rm mod}\\mkern6mu#1}"); +defineMacro("\\mod", "\\allowbreak" + "\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}" + "{\\rm mod}\\,\\,#1"); // \pmb -- A simulation of bold. +// The version in ambsy.sty works by typesetting three copies of the argument +// with small offsets. We use two copies. We omit the vertical offset because +// of rendering problems that makeVList encounters in Safari. + +defineMacro("\\pmb", "\\html@mathml{" + "\\@binrel{#1}{\\mathrlap{#1}\\kern0.5px#1}}" + "{\\mathbf{#1}}"); ////////////////////////////////////////////////////////////////////// +// LaTeX source2e +// \\ defaults to \newline, but changes to \cr within array environment + +defineMacro("\\\\", "\\newline"); // \def\TeX{T\kern-.1667em\lower.5ex\hbox{E}\kern-.125emX\@} +// TODO: Doesn't normally work in math mode because \@ fails. KaTeX doesn't +// support \@ yet, so that's omitted, and we add \text so that the result +// doesn't look funny in math mode. + +defineMacro("\\TeX", "\\textrm{\\html@mathml{" + "T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX" + "}{TeX}}"); // \DeclareRobustCommand{\LaTeX}{L\kern-.36em% +// {\sbox\z@ T% +// \vbox to\ht\z@{\hbox{\check@mathfonts +// \fontsize\sf@size\z@ +// \math@fontsfalse\selectfont +// A}% +// \vss}% +// }% +// \kern-.15em% +// \TeX} +// This code aligns the top of the A with the T (from the perspective of TeX's +// boxes, though visually the A appears to extend above slightly). +// We compute the corresponding \raisebox when A is rendered in \normalsize +// \scriptstyle, which has a scale factor of 0.7 (see Options.js). + +var latexRaiseA = fontMetricsData['Main-Regular']["T".charCodeAt(0)][1] - 0.7 * fontMetricsData['Main-Regular']["A".charCodeAt(0)][1] + "em"; +defineMacro("\\LaTeX", "\\textrm{\\html@mathml{" + ("L\\kern-.36em\\raisebox{" + latexRaiseA + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{LaTeX}}"); // New KaTeX logo based on tweaking LaTeX logo + +defineMacro("\\KaTeX", "\\textrm{\\html@mathml{" + ("K\\kern-.17em\\raisebox{" + latexRaiseA + "}{\\scriptstyle A}") + "\\kern-.15em\\TeX}{KaTeX}}"); // \DeclareRobustCommand\hspace{\@ifstar\@hspacer\@hspace} +// \def\@hspace#1{\hskip #1\relax} +// \def\@hspacer#1{\vrule \@width\z@\nobreak +// \hskip #1\hskip \z@skip} + +defineMacro("\\hspace", "\\@ifstar\\@hspacer\\@hspace"); +defineMacro("\\@hspace", "\\hskip #1\\relax"); +defineMacro("\\@hspacer", "\\rule{0pt}{0pt}\\hskip #1\\relax"); ////////////////////////////////////////////////////////////////////// +// mathtools.sty +//\providecommand\ordinarycolon{:} + +defineMacro("\\ordinarycolon", ":"); //\def\vcentcolon{\mathrel{\mathop\ordinarycolon}} +//TODO(edemaine): Not yet centered. Fix via \raisebox or #726 + +defineMacro("\\vcentcolon", "\\mathrel{\\mathop\\ordinarycolon}"); // \providecommand*\dblcolon{\vcentcolon\mathrel{\mkern-.9mu}\vcentcolon} + +defineMacro("\\dblcolon", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}" + "{\\mathop{\\char\"2237}}"); // \providecommand*\coloneqq{\vcentcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\coloneqq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2254}}"); // ≔ +// \providecommand*\Coloneqq{\dblcolon\mathrel{\mkern-1.2mu}=} + +defineMacro("\\Coloneqq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}" + "{\\mathop{\\char\"2237\\char\"3d}}"); // \providecommand*\coloneq{\vcentcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\coloneq", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"3a\\char\"2212}}"); // \providecommand*\Coloneq{\dblcolon\mathrel{\mkern-1.2mu}\mathrel{-}} + +defineMacro("\\Coloneq", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}" + "{\\mathop{\\char\"2237\\char\"2212}}"); // \providecommand*\eqqcolon{=\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2255}}"); // ≕ +// \providecommand*\Eqqcolon{=\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqqcolon", "\\html@mathml{" + "\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"3d\\char\"2237}}"); // \providecommand*\eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\vcentcolon} + +defineMacro("\\eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}" + "{\\mathop{\\char\"2239}}"); // \providecommand*\Eqcolon{\mathrel{-}\mathrel{\mkern-1.2mu}\dblcolon} + +defineMacro("\\Eqcolon", "\\html@mathml{" + "\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}" + "{\\mathop{\\char\"2212\\char\"2237}}"); // \providecommand*\colonapprox{\vcentcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\colonapprox", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"3a\\char\"2248}}"); // \providecommand*\Colonapprox{\dblcolon\mathrel{\mkern-1.2mu}\approx} + +defineMacro("\\Colonapprox", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}" + "{\\mathop{\\char\"2237\\char\"2248}}"); // \providecommand*\colonsim{\vcentcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\colonsim", "\\html@mathml{" + "\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"3a\\char\"223c}}"); // \providecommand*\Colonsim{\dblcolon\mathrel{\mkern-1.2mu}\sim} + +defineMacro("\\Colonsim", "\\html@mathml{" + "\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}" + "{\\mathop{\\char\"2237\\char\"223c}}"); // Some Unicode characters are implemented with macros to mathtools functions. + +defineMacro("\u2237", "\\dblcolon"); // :: + +defineMacro("\u2239", "\\eqcolon"); // -: + +defineMacro("\u2254", "\\coloneqq"); // := + +defineMacro("\u2255", "\\eqqcolon"); // =: + +defineMacro("\u2A74", "\\Coloneqq"); // ::= +////////////////////////////////////////////////////////////////////// +// colonequals.sty +// Alternate names for mathtools's macros: + +defineMacro("\\ratio", "\\vcentcolon"); +defineMacro("\\coloncolon", "\\dblcolon"); +defineMacro("\\colonequals", "\\coloneqq"); +defineMacro("\\coloncolonequals", "\\Coloneqq"); +defineMacro("\\equalscolon", "\\eqqcolon"); +defineMacro("\\equalscoloncolon", "\\Eqqcolon"); +defineMacro("\\colonminus", "\\coloneq"); +defineMacro("\\coloncolonminus", "\\Coloneq"); +defineMacro("\\minuscolon", "\\eqcolon"); +defineMacro("\\minuscoloncolon", "\\Eqcolon"); // \colonapprox name is same in mathtools and colonequals. + +defineMacro("\\coloncolonapprox", "\\Colonapprox"); // \colonsim name is same in mathtools and colonequals. + +defineMacro("\\coloncolonsim", "\\Colonsim"); // Additional macros, implemented by analogy with mathtools definitions: + +defineMacro("\\simcolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\simcoloncolon", "\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}"); +defineMacro("\\approxcolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}"); +defineMacro("\\approxcoloncolon", "\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}"); // Present in newtxmath, pxfonts and txfonts + +defineMacro("\\notni", "\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}"); +defineMacro("\\limsup", "\\DOTSB\\operatorname*{lim\\,sup}"); +defineMacro("\\liminf", "\\DOTSB\\operatorname*{lim\\,inf}"); ////////////////////////////////////////////////////////////////////// +// MathML alternates for KaTeX glyphs in the Unicode private area + +defineMacro("\\gvertneqq", "\\html@mathml{\\@gvertneqq}{\u2269}"); +defineMacro("\\lvertneqq", "\\html@mathml{\\@lvertneqq}{\u2268}"); +defineMacro("\\ngeqq", "\\html@mathml{\\@ngeqq}{\u2271}"); +defineMacro("\\ngeqslant", "\\html@mathml{\\@ngeqslant}{\u2271}"); +defineMacro("\\nleqq", "\\html@mathml{\\@nleqq}{\u2270}"); +defineMacro("\\nleqslant", "\\html@mathml{\\@nleqslant}{\u2270}"); +defineMacro("\\nshortmid", "\\html@mathml{\\@nshortmid}{∤}"); +defineMacro("\\nshortparallel", "\\html@mathml{\\@nshortparallel}{∦}"); +defineMacro("\\nsubseteqq", "\\html@mathml{\\@nsubseteqq}{\u2288}"); +defineMacro("\\nsupseteqq", "\\html@mathml{\\@nsupseteqq}{\u2289}"); +defineMacro("\\varsubsetneq", "\\html@mathml{\\@varsubsetneq}{⊊}"); +defineMacro("\\varsubsetneqq", "\\html@mathml{\\@varsubsetneqq}{⫋}"); +defineMacro("\\varsupsetneq", "\\html@mathml{\\@varsupsetneq}{⊋}"); +defineMacro("\\varsupsetneqq", "\\html@mathml{\\@varsupsetneqq}{⫌}"); ////////////////////////////////////////////////////////////////////// +// stmaryrd and semantic +// The stmaryrd and semantic packages render the next four items by calling a +// glyph. Those glyphs do not exist in the KaTeX fonts. Hence the macros. + +defineMacro("\\llbracket", "\\html@mathml{" + "\\mathopen{[\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u27E6}}"); +defineMacro("\\rrbracket", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu]}}" + "{\\mathclose{\\char`\u27E7}}"); +defineMacro("\u27E6", "\\llbracket"); // blackboard bold [ + +defineMacro("\u27E7", "\\rrbracket"); // blackboard bold ] + +defineMacro("\\lBrace", "\\html@mathml{" + "\\mathopen{\\{\\mkern-3.2mu[}}" + "{\\mathopen{\\char`\u2983}}"); +defineMacro("\\rBrace", "\\html@mathml{" + "\\mathclose{]\\mkern-3.2mu\\}}}" + "{\\mathclose{\\char`\u2984}}"); +defineMacro("\u2983", "\\lBrace"); // blackboard bold { + +defineMacro("\u2984", "\\rBrace"); // blackboard bold } +// TODO: Create variable sized versions of the last two items. I believe that +// will require new font glyphs. +////////////////////////////////////////////////////////////////////// +// texvc.sty +// The texvc package contains macros available in mediawiki pages. +// We omit the functions deprecated at +// https://en.wikipedia.org/wiki/Help:Displaying_a_formula#Deprecated_syntax +// We also omit texvc's \O, which conflicts with \text{\O} + +defineMacro("\\darr", "\\downarrow"); +defineMacro("\\dArr", "\\Downarrow"); +defineMacro("\\Darr", "\\Downarrow"); +defineMacro("\\lang", "\\langle"); +defineMacro("\\rang", "\\rangle"); +defineMacro("\\uarr", "\\uparrow"); +defineMacro("\\uArr", "\\Uparrow"); +defineMacro("\\Uarr", "\\Uparrow"); +defineMacro("\\N", "\\mathbb{N}"); +defineMacro("\\R", "\\mathbb{R}"); +defineMacro("\\Z", "\\mathbb{Z}"); +defineMacro("\\alef", "\\aleph"); +defineMacro("\\alefsym", "\\aleph"); +defineMacro("\\Alpha", "\\mathrm{A}"); +defineMacro("\\Beta", "\\mathrm{B}"); +defineMacro("\\bull", "\\bullet"); +defineMacro("\\Chi", "\\mathrm{X}"); +defineMacro("\\clubs", "\\clubsuit"); +defineMacro("\\cnums", "\\mathbb{C}"); +defineMacro("\\Complex", "\\mathbb{C}"); +defineMacro("\\Dagger", "\\ddagger"); +defineMacro("\\diamonds", "\\diamondsuit"); +defineMacro("\\empty", "\\emptyset"); +defineMacro("\\Epsilon", "\\mathrm{E}"); +defineMacro("\\Eta", "\\mathrm{H}"); +defineMacro("\\exist", "\\exists"); +defineMacro("\\harr", "\\leftrightarrow"); +defineMacro("\\hArr", "\\Leftrightarrow"); +defineMacro("\\Harr", "\\Leftrightarrow"); +defineMacro("\\hearts", "\\heartsuit"); +defineMacro("\\image", "\\Im"); +defineMacro("\\infin", "\\infty"); +defineMacro("\\Iota", "\\mathrm{I}"); +defineMacro("\\isin", "\\in"); +defineMacro("\\Kappa", "\\mathrm{K}"); +defineMacro("\\larr", "\\leftarrow"); +defineMacro("\\lArr", "\\Leftarrow"); +defineMacro("\\Larr", "\\Leftarrow"); +defineMacro("\\lrarr", "\\leftrightarrow"); +defineMacro("\\lrArr", "\\Leftrightarrow"); +defineMacro("\\Lrarr", "\\Leftrightarrow"); +defineMacro("\\Mu", "\\mathrm{M}"); +defineMacro("\\natnums", "\\mathbb{N}"); +defineMacro("\\Nu", "\\mathrm{N}"); +defineMacro("\\Omicron", "\\mathrm{O}"); +defineMacro("\\plusmn", "\\pm"); +defineMacro("\\rarr", "\\rightarrow"); +defineMacro("\\rArr", "\\Rightarrow"); +defineMacro("\\Rarr", "\\Rightarrow"); +defineMacro("\\real", "\\Re"); +defineMacro("\\reals", "\\mathbb{R}"); +defineMacro("\\Reals", "\\mathbb{R}"); +defineMacro("\\Rho", "\\mathrm{P}"); +defineMacro("\\sdot", "\\cdot"); +defineMacro("\\sect", "\\S"); +defineMacro("\\spades", "\\spadesuit"); +defineMacro("\\sub", "\\subset"); +defineMacro("\\sube", "\\subseteq"); +defineMacro("\\supe", "\\supseteq"); +defineMacro("\\Tau", "\\mathrm{T}"); +defineMacro("\\thetasym", "\\vartheta"); // TODO: defineMacro("\\varcoppa", "\\\mbox{\\coppa}"); + +defineMacro("\\weierp", "\\wp"); +defineMacro("\\Zeta", "\\mathrm{Z}"); ////////////////////////////////////////////////////////////////////// +// statmath.sty +// https://ctan.math.illinois.edu/macros/latex/contrib/statmath/statmath.pdf + +defineMacro("\\argmin", "\\DOTSB\\operatorname*{arg\\,min}"); +defineMacro("\\argmax", "\\DOTSB\\operatorname*{arg\\,max}"); +defineMacro("\\plim", "\\DOTSB\\mathop{\\operatorname{plim}}\\limits"); // Custom Khan Academy colors, should be moved to an optional package + +defineMacro("\\blue", "\\textcolor{##6495ed}{#1}"); +defineMacro("\\orange", "\\textcolor{##ffa500}{#1}"); +defineMacro("\\pink", "\\textcolor{##ff00af}{#1}"); +defineMacro("\\red", "\\textcolor{##df0030}{#1}"); +defineMacro("\\green", "\\textcolor{##28ae7b}{#1}"); +defineMacro("\\gray", "\\textcolor{gray}{#1}"); +defineMacro("\\purple", "\\textcolor{##9d38bd}{#1}"); +defineMacro("\\blueA", "\\textcolor{##ccfaff}{#1}"); +defineMacro("\\blueB", "\\textcolor{##80f6ff}{#1}"); +defineMacro("\\blueC", "\\textcolor{##63d9ea}{#1}"); +defineMacro("\\blueD", "\\textcolor{##11accd}{#1}"); +defineMacro("\\blueE", "\\textcolor{##0c7f99}{#1}"); +defineMacro("\\tealA", "\\textcolor{##94fff5}{#1}"); +defineMacro("\\tealB", "\\textcolor{##26edd5}{#1}"); +defineMacro("\\tealC", "\\textcolor{##01d1c1}{#1}"); +defineMacro("\\tealD", "\\textcolor{##01a995}{#1}"); +defineMacro("\\tealE", "\\textcolor{##208170}{#1}"); +defineMacro("\\greenA", "\\textcolor{##b6ffb0}{#1}"); +defineMacro("\\greenB", "\\textcolor{##8af281}{#1}"); +defineMacro("\\greenC", "\\textcolor{##74cf70}{#1}"); +defineMacro("\\greenD", "\\textcolor{##1fab54}{#1}"); +defineMacro("\\greenE", "\\textcolor{##0d923f}{#1}"); +defineMacro("\\goldA", "\\textcolor{##ffd0a9}{#1}"); +defineMacro("\\goldB", "\\textcolor{##ffbb71}{#1}"); +defineMacro("\\goldC", "\\textcolor{##ff9c39}{#1}"); +defineMacro("\\goldD", "\\textcolor{##e07d10}{#1}"); +defineMacro("\\goldE", "\\textcolor{##a75a05}{#1}"); +defineMacro("\\redA", "\\textcolor{##fca9a9}{#1}"); +defineMacro("\\redB", "\\textcolor{##ff8482}{#1}"); +defineMacro("\\redC", "\\textcolor{##f9685d}{#1}"); +defineMacro("\\redD", "\\textcolor{##e84d39}{#1}"); +defineMacro("\\redE", "\\textcolor{##bc2612}{#1}"); +defineMacro("\\maroonA", "\\textcolor{##ffbde0}{#1}"); +defineMacro("\\maroonB", "\\textcolor{##ff92c6}{#1}"); +defineMacro("\\maroonC", "\\textcolor{##ed5fa6}{#1}"); +defineMacro("\\maroonD", "\\textcolor{##ca337c}{#1}"); +defineMacro("\\maroonE", "\\textcolor{##9e034e}{#1}"); +defineMacro("\\purpleA", "\\textcolor{##ddd7ff}{#1}"); +defineMacro("\\purpleB", "\\textcolor{##c6b9fc}{#1}"); +defineMacro("\\purpleC", "\\textcolor{##aa87ff}{#1}"); +defineMacro("\\purpleD", "\\textcolor{##7854ab}{#1}"); +defineMacro("\\purpleE", "\\textcolor{##543b78}{#1}"); +defineMacro("\\mintA", "\\textcolor{##f5f9e8}{#1}"); +defineMacro("\\mintB", "\\textcolor{##edf2df}{#1}"); +defineMacro("\\mintC", "\\textcolor{##e0e5cc}{#1}"); +defineMacro("\\grayA", "\\textcolor{##f6f7f7}{#1}"); +defineMacro("\\grayB", "\\textcolor{##f0f1f2}{#1}"); +defineMacro("\\grayC", "\\textcolor{##e3e5e6}{#1}"); +defineMacro("\\grayD", "\\textcolor{##d6d8da}{#1}"); +defineMacro("\\grayE", "\\textcolor{##babec2}{#1}"); +defineMacro("\\grayF", "\\textcolor{##888d93}{#1}"); +defineMacro("\\grayG", "\\textcolor{##626569}{#1}"); +defineMacro("\\grayH", "\\textcolor{##3b3e40}{#1}"); +defineMacro("\\grayI", "\\textcolor{##21242c}{#1}"); +defineMacro("\\kaBlue", "\\textcolor{##314453}{#1}"); +defineMacro("\\kaGreen", "\\textcolor{##71B307}{#1}"); +// CONCATENATED MODULE: ./src/MacroExpander.js +/** + * This file contains the “gullet” where macros are expanded + * until only non-macro tokens remain. + */ + + + + + + + +// List of commands that act like macros but aren't defined as a macro, +// function, or symbol. Used in `isDefined`. +var implicitCommands = { + "\\relax": true, + // MacroExpander.js + "^": true, + // Parser.js + "_": true, + // Parser.js + "\\limits": true, + // Parser.js + "\\nolimits": true // Parser.js + +}; + +var MacroExpander_MacroExpander = +/*#__PURE__*/ +function () { + function MacroExpander(input, settings, mode) { + 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 = settings; + this.expansionCount = 0; + this.feed(input); // Make new global namespace + + this.macros = new Namespace_Namespace(macros, settings.macros); + this.mode = mode; + this.stack = []; // contains tokens in REVERSE order + } + /** + * Feed a new input string to the same MacroExpander + * (with existing macros etc.). + */ + + + var _proto = MacroExpander.prototype; + + _proto.feed = function feed(input) { + this.lexer = new Lexer_Lexer(input, this.settings); + } + /** + * Switches between "text" and "math" modes. + */ + ; + + _proto.switchMode = function switchMode(newMode) { + this.mode = newMode; + } + /** + * Start a new group nesting within all namespaces. + */ + ; + + _proto.beginGroup = function beginGroup() { + this.macros.beginGroup(); + } + /** + * End current group nesting within all namespaces. + */ + ; + + _proto.endGroup = function endGroup() { + this.macros.endGroup(); + } + /** + * Returns the topmost token on the stack, without expanding it. + * Similar in behavior to TeX's `\futurelet`. + */ + ; + + _proto.future = function future() { + if (this.stack.length === 0) { + this.pushToken(this.lexer.lex()); + } + + return this.stack[this.stack.length - 1]; + } + /** + * Remove and return the next unexpanded token. + */ + ; + + _proto.popToken = function popToken() { + this.future(); // ensure non-empty stack + + return this.stack.pop(); + } + /** + * Add a given token to the token stack. In particular, this get be used + * to put back a token returned from one of the other methods. + */ + ; + + _proto.pushToken = function pushToken(token) { + this.stack.push(token); + } + /** + * Append an array of tokens to the token stack. + */ + ; + + _proto.pushTokens = function pushTokens(tokens) { + var _this$stack; + + (_this$stack = this.stack).push.apply(_this$stack, tokens); + } + /** + * Consume all following space tokens, without expansion. + */ + ; + + _proto.consumeSpaces = function consumeSpaces() { + for (;;) { + var token = this.future(); + + if (token.text === " ") { + this.stack.pop(); + } else { + break; + } + } + } + /** + * Consume the specified number of arguments from the token stream, + * and return the resulting array of arguments. + */ + ; + + _proto.consumeArgs = function consumeArgs(numArgs) { + var args = []; // obtain arguments, either single token or balanced {…} group + + for (var i = 0; i < numArgs; ++i) { + this.consumeSpaces(); // ignore spaces before each argument + + var startOfArg = this.popToken(); + + if (startOfArg.text === "{") { + var arg = []; + var depth = 1; + + while (depth !== 0) { + var tok = this.popToken(); + arg.push(tok); + + if (tok.text === "{") { + ++depth; + } else if (tok.text === "}") { + --depth; + } else if (tok.text === "EOF") { + throw new src_ParseError("End of input in macro argument", startOfArg); + } + } + + arg.pop(); // remove last } + + arg.reverse(); // like above, to fit in with stack order + + args[i] = arg; + } else if (startOfArg.text === "EOF") { + throw new src_ParseError("End of input expecting macro argument"); + } else { + args[i] = [startOfArg]; + } + } + + return args; + } + /** + * Expand the next token only once if possible. + * + * If the token is expanded, the resulting tokens will be pushed onto + * the stack in reverse order and will be returned as an array, + * also in reverse order. + * + * If not, the next token will be returned without removing it + * from the stack. This case can be detected by a `Token` return value + * instead of an `Array` return value. + * + * In either case, the next token will be on the top of the stack, + * or the stack will be empty. + * + * Used to implement `expandAfterFuture` and `expandNextToken`. + * + * At the moment, macro expansion doesn't handle delimited macros, + * i.e. things like those defined by \def\foo#1\end{…}. + * See the TeX book page 202ff. for details on how those should behave. + */ + ; + + _proto.expandOnce = function expandOnce() { + var topToken = this.popToken(); + var name = topToken.text; + + var expansion = this._getExpansion(name); + + if (expansion == null) { + // mainly checking for undefined here + // Fully expanded + this.pushToken(topToken); + return topToken; + } + + this.expansionCount++; + + if (this.expansionCount > this.settings.maxExpand) { + throw new src_ParseError("Too many expansions: infinite loop or " + "need to increase maxExpand setting"); + } + + var tokens = expansion.tokens; + + if (expansion.numArgs) { + var args = this.consumeArgs(expansion.numArgs); // paste arguments in place of the placeholders + + tokens = tokens.slice(); // make a shallow copy + + for (var i = tokens.length - 1; i >= 0; --i) { + var tok = tokens[i]; + + if (tok.text === "#") { + if (i === 0) { + throw new src_ParseError("Incomplete placeholder at end of macro body", tok); + } + + tok = tokens[--i]; // next token on stack + + if (tok.text === "#") { + // ## → # + tokens.splice(i + 1, 1); // drop first # + } else if (/^[1-9]$/.test(tok.text)) { + var _tokens; + + // replace the placeholder with the indicated argument + (_tokens = tokens).splice.apply(_tokens, [i, 2].concat(args[+tok.text - 1])); + } else { + throw new src_ParseError("Not a valid argument number", tok); + } + } + } + } // Concatenate expansion onto top of stack. + + + this.pushTokens(tokens); + return tokens; + } + /** + * Expand the next token only once (if possible), and return the resulting + * top token on the stack (without removing anything from the stack). + * Similar in behavior to TeX's `\expandafter\futurelet`. + * Equivalent to expandOnce() followed by future(). + */ + ; + + _proto.expandAfterFuture = function expandAfterFuture() { + this.expandOnce(); + return this.future(); + } + /** + * Recursively expand first token, then return first non-expandable token. + */ + ; + + _proto.expandNextToken = function expandNextToken() { + for (;;) { + var expanded = this.expandOnce(); // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token_Token) { + // \relax stops the expansion, but shouldn't get returned (a + // null return value couldn't get implemented as a function). + if (expanded.text === "\\relax") { + this.stack.pop(); + } else { + return this.stack.pop(); // === expanded + } + } + } // Flow unable to figure out that this pathway is impossible. + // https://github.com/facebook/flow/issues/4808 + + + throw new Error(); // eslint-disable-line no-unreachable + } + /** + * Fully expand the given macro name and return the resulting list of + * tokens, or return `undefined` if no such macro is defined. + */ + ; + + _proto.expandMacro = function expandMacro(name) { + if (!this.macros.get(name)) { + return undefined; + } + + var output = []; + var oldStackLength = this.stack.length; + this.pushToken(new Token_Token(name)); + + while (this.stack.length > oldStackLength) { + var expanded = this.expandOnce(); // expandOnce returns Token if and only if it's fully expanded. + + if (expanded instanceof Token_Token) { + output.push(this.stack.pop()); + } + } + + return output; + } + /** + * Fully expand the given macro name and return the result as a string, + * or return `undefined` if no such macro is defined. + */ + ; + + _proto.expandMacroAsText = function expandMacroAsText(name) { + var tokens = this.expandMacro(name); + + if (tokens) { + return tokens.map(function (token) { + return token.text; + }).join(""); + } else { + return tokens; + } + } + /** + * Returns the expanded macro as a reversed array of tokens and a macro + * argument count. Or returns `null` if no such macro. + */ + ; + + _proto._getExpansion = function _getExpansion(name) { + var definition = this.macros.get(name); + + if (definition == null) { + // mainly checking for undefined here + return definition; + } + + var expansion = typeof definition === "function" ? definition(this) : definition; + + if (typeof expansion === "string") { + var numArgs = 0; + + if (expansion.indexOf("#") !== -1) { + var stripped = expansion.replace(/##/g, ""); + + while (stripped.indexOf("#" + (numArgs + 1)) !== -1) { + ++numArgs; + } + } + + var bodyLexer = new Lexer_Lexer(expansion, this.settings); + var tokens = []; + var tok = bodyLexer.lex(); + + while (tok.text !== "EOF") { + tokens.push(tok); + tok = bodyLexer.lex(); + } + + tokens.reverse(); // to fit in with stack using push and pop + + var expanded = { + tokens: tokens, + numArgs: numArgs + }; + return expanded; + } + + return expansion; + } + /** + * Determine whether a command is currently "defined" (has some + * functionality), meaning that it's a macro (in the current group), + * a function, a symbol, or one of the special commands listed in + * `implicitCommands`. + */ + ; + + _proto.isDefined = function isDefined(name) { + return this.macros.has(name) || src_functions.hasOwnProperty(name) || src_symbols.math.hasOwnProperty(name) || src_symbols.text.hasOwnProperty(name) || implicitCommands.hasOwnProperty(name); + }; + + return MacroExpander; +}(); + + +// CONCATENATED MODULE: ./src/unicodeAccents.js +// Mapping of Unicode accent characters to their LaTeX equivalent in text and +// math mode (when they exist). +/* harmony default export */ var unicodeAccents = ({ + "\u0301": { + text: "\\'", + math: '\\acute' + }, + "\u0300": { + text: '\\`', + math: '\\grave' + }, + "\u0308": { + text: '\\"', + math: '\\ddot' + }, + "\u0303": { + text: '\\~', + math: '\\tilde' + }, + "\u0304": { + text: '\\=', + math: '\\bar' + }, + "\u0306": { + text: "\\u", + math: '\\breve' + }, + "\u030C": { + text: '\\v', + math: '\\check' + }, + "\u0302": { + text: '\\^', + math: '\\hat' + }, + "\u0307": { + text: '\\.', + math: '\\dot' + }, + "\u030A": { + text: '\\r', + math: '\\mathring' + }, + "\u030B": { + text: '\\H' + } +}); +// CONCATENATED MODULE: ./src/unicodeSymbols.js +// This file is GENERATED by unicodeMake.js. DO NOT MODIFY. +/* harmony default export */ var unicodeSymbols = ({ + "\xE1": "a\u0301", + // á = \'{a} + "\xE0": "a\u0300", + // à = \`{a} + "\xE4": "a\u0308", + // ä = \"{a} + "\u01DF": "a\u0308\u0304", + // ǟ = \"\={a} + "\xE3": "a\u0303", + // ã = \~{a} + "\u0101": "a\u0304", + // ā = \={a} + "\u0103": "a\u0306", + // ă = \u{a} + "\u1EAF": "a\u0306\u0301", + // ắ = \u\'{a} + "\u1EB1": "a\u0306\u0300", + // ằ = \u\`{a} + "\u1EB5": "a\u0306\u0303", + // ẵ = \u\~{a} + "\u01CE": "a\u030C", + // ǎ = \v{a} + "\xE2": "a\u0302", + // â = \^{a} + "\u1EA5": "a\u0302\u0301", + // ấ = \^\'{a} + "\u1EA7": "a\u0302\u0300", + // ầ = \^\`{a} + "\u1EAB": "a\u0302\u0303", + // ẫ = \^\~{a} + "\u0227": "a\u0307", + // ȧ = \.{a} + "\u01E1": "a\u0307\u0304", + // ǡ = \.\={a} + "\xE5": "a\u030A", + // å = \r{a} + "\u01FB": "a\u030A\u0301", + // ǻ = \r\'{a} + "\u1E03": "b\u0307", + // ḃ = \.{b} + "\u0107": "c\u0301", + // ć = \'{c} + "\u010D": "c\u030C", + // č = \v{c} + "\u0109": "c\u0302", + // ĉ = \^{c} + "\u010B": "c\u0307", + // ċ = \.{c} + "\u010F": "d\u030C", + // ď = \v{d} + "\u1E0B": "d\u0307", + // ḋ = \.{d} + "\xE9": "e\u0301", + // é = \'{e} + "\xE8": "e\u0300", + // è = \`{e} + "\xEB": "e\u0308", + // ë = \"{e} + "\u1EBD": "e\u0303", + // ẽ = \~{e} + "\u0113": "e\u0304", + // ē = \={e} + "\u1E17": "e\u0304\u0301", + // ḗ = \=\'{e} + "\u1E15": "e\u0304\u0300", + // ḕ = \=\`{e} + "\u0115": "e\u0306", + // ĕ = \u{e} + "\u011B": "e\u030C", + // ě = \v{e} + "\xEA": "e\u0302", + // ê = \^{e} + "\u1EBF": "e\u0302\u0301", + // ế = \^\'{e} + "\u1EC1": "e\u0302\u0300", + // ề = \^\`{e} + "\u1EC5": "e\u0302\u0303", + // ễ = \^\~{e} + "\u0117": "e\u0307", + // ė = \.{e} + "\u1E1F": "f\u0307", + // ḟ = \.{f} + "\u01F5": "g\u0301", + // ǵ = \'{g} + "\u1E21": "g\u0304", + // ḡ = \={g} + "\u011F": "g\u0306", + // ğ = \u{g} + "\u01E7": "g\u030C", + // ǧ = \v{g} + "\u011D": "g\u0302", + // ĝ = \^{g} + "\u0121": "g\u0307", + // ġ = \.{g} + "\u1E27": "h\u0308", + // ḧ = \"{h} + "\u021F": "h\u030C", + // ȟ = \v{h} + "\u0125": "h\u0302", + // ĥ = \^{h} + "\u1E23": "h\u0307", + // ḣ = \.{h} + "\xED": "i\u0301", + // í = \'{i} + "\xEC": "i\u0300", + // ì = \`{i} + "\xEF": "i\u0308", + // ï = \"{i} + "\u1E2F": "i\u0308\u0301", + // ḯ = \"\'{i} + "\u0129": "i\u0303", + // ĩ = \~{i} + "\u012B": "i\u0304", + // ī = \={i} + "\u012D": "i\u0306", + // ĭ = \u{i} + "\u01D0": "i\u030C", + // ǐ = \v{i} + "\xEE": "i\u0302", + // î = \^{i} + "\u01F0": "j\u030C", + // ǰ = \v{j} + "\u0135": "j\u0302", + // ĵ = \^{j} + "\u1E31": "k\u0301", + // ḱ = \'{k} + "\u01E9": "k\u030C", + // ǩ = \v{k} + "\u013A": "l\u0301", + // ĺ = \'{l} + "\u013E": "l\u030C", + // ľ = \v{l} + "\u1E3F": "m\u0301", + // ḿ = \'{m} + "\u1E41": "m\u0307", + // ṁ = \.{m} + "\u0144": "n\u0301", + // ń = \'{n} + "\u01F9": "n\u0300", + // ǹ = \`{n} + "\xF1": "n\u0303", + // ñ = \~{n} + "\u0148": "n\u030C", + // ň = \v{n} + "\u1E45": "n\u0307", + // ṅ = \.{n} + "\xF3": "o\u0301", + // ó = \'{o} + "\xF2": "o\u0300", + // ò = \`{o} + "\xF6": "o\u0308", + // ö = \"{o} + "\u022B": "o\u0308\u0304", + // ȫ = \"\={o} + "\xF5": "o\u0303", + // õ = \~{o} + "\u1E4D": "o\u0303\u0301", + // ṍ = \~\'{o} + "\u1E4F": "o\u0303\u0308", + // ṏ = \~\"{o} + "\u022D": "o\u0303\u0304", + // ȭ = \~\={o} + "\u014D": "o\u0304", + // ō = \={o} + "\u1E53": "o\u0304\u0301", + // ṓ = \=\'{o} + "\u1E51": "o\u0304\u0300", + // ṑ = \=\`{o} + "\u014F": "o\u0306", + // ŏ = \u{o} + "\u01D2": "o\u030C", + // ǒ = \v{o} + "\xF4": "o\u0302", + // ô = \^{o} + "\u1ED1": "o\u0302\u0301", + // ố = \^\'{o} + "\u1ED3": "o\u0302\u0300", + // ồ = \^\`{o} + "\u1ED7": "o\u0302\u0303", + // ỗ = \^\~{o} + "\u022F": "o\u0307", + // ȯ = \.{o} + "\u0231": "o\u0307\u0304", + // ȱ = \.\={o} + "\u0151": "o\u030B", + // ő = \H{o} + "\u1E55": "p\u0301", + // ṕ = \'{p} + "\u1E57": "p\u0307", + // ṗ = \.{p} + "\u0155": "r\u0301", + // ŕ = \'{r} + "\u0159": "r\u030C", + // ř = \v{r} + "\u1E59": "r\u0307", + // ṙ = \.{r} + "\u015B": "s\u0301", + // ś = \'{s} + "\u1E65": "s\u0301\u0307", + // ṥ = \'\.{s} + "\u0161": "s\u030C", + // š = \v{s} + "\u1E67": "s\u030C\u0307", + // ṧ = \v\.{s} + "\u015D": "s\u0302", + // ŝ = \^{s} + "\u1E61": "s\u0307", + // ṡ = \.{s} + "\u1E97": "t\u0308", + // ẗ = \"{t} + "\u0165": "t\u030C", + // ť = \v{t} + "\u1E6B": "t\u0307", + // ṫ = \.{t} + "\xFA": "u\u0301", + // ú = \'{u} + "\xF9": "u\u0300", + // ù = \`{u} + "\xFC": "u\u0308", + // ü = \"{u} + "\u01D8": "u\u0308\u0301", + // ǘ = \"\'{u} + "\u01DC": "u\u0308\u0300", + // ǜ = \"\`{u} + "\u01D6": "u\u0308\u0304", + // ǖ = \"\={u} + "\u01DA": "u\u0308\u030C", + // ǚ = \"\v{u} + "\u0169": "u\u0303", + // ũ = \~{u} + "\u1E79": "u\u0303\u0301", + // ṹ = \~\'{u} + "\u016B": "u\u0304", + // ū = \={u} + "\u1E7B": "u\u0304\u0308", + // ṻ = \=\"{u} + "\u016D": "u\u0306", + // ŭ = \u{u} + "\u01D4": "u\u030C", + // ǔ = \v{u} + "\xFB": "u\u0302", + // û = \^{u} + "\u016F": "u\u030A", + // ů = \r{u} + "\u0171": "u\u030B", + // ű = \H{u} + "\u1E7D": "v\u0303", + // ṽ = \~{v} + "\u1E83": "w\u0301", + // ẃ = \'{w} + "\u1E81": "w\u0300", + // ẁ = \`{w} + "\u1E85": "w\u0308", + // ẅ = \"{w} + "\u0175": "w\u0302", + // ŵ = \^{w} + "\u1E87": "w\u0307", + // ẇ = \.{w} + "\u1E98": "w\u030A", + // ẘ = \r{w} + "\u1E8D": "x\u0308", + // ẍ = \"{x} + "\u1E8B": "x\u0307", + // ẋ = \.{x} + "\xFD": "y\u0301", + // ý = \'{y} + "\u1EF3": "y\u0300", + // ỳ = \`{y} + "\xFF": "y\u0308", + // ÿ = \"{y} + "\u1EF9": "y\u0303", + // ỹ = \~{y} + "\u0233": "y\u0304", + // ȳ = \={y} + "\u0177": "y\u0302", + // ŷ = \^{y} + "\u1E8F": "y\u0307", + // ẏ = \.{y} + "\u1E99": "y\u030A", + // ẙ = \r{y} + "\u017A": "z\u0301", + // ź = \'{z} + "\u017E": "z\u030C", + // ž = \v{z} + "\u1E91": "z\u0302", + // ẑ = \^{z} + "\u017C": "z\u0307", + // ż = \.{z} + "\xC1": "A\u0301", + // Á = \'{A} + "\xC0": "A\u0300", + // À = \`{A} + "\xC4": "A\u0308", + // Ä = \"{A} + "\u01DE": "A\u0308\u0304", + // Ǟ = \"\={A} + "\xC3": "A\u0303", + // Ã = \~{A} + "\u0100": "A\u0304", + // Ā = \={A} + "\u0102": "A\u0306", + // Ă = \u{A} + "\u1EAE": "A\u0306\u0301", + // Ắ = \u\'{A} + "\u1EB0": "A\u0306\u0300", + // Ằ = \u\`{A} + "\u1EB4": "A\u0306\u0303", + // Ẵ = \u\~{A} + "\u01CD": "A\u030C", + // Ǎ = \v{A} + "\xC2": "A\u0302", + // Â = \^{A} + "\u1EA4": "A\u0302\u0301", + // Ấ = \^\'{A} + "\u1EA6": "A\u0302\u0300", + // Ầ = \^\`{A} + "\u1EAA": "A\u0302\u0303", + // Ẫ = \^\~{A} + "\u0226": "A\u0307", + // Ȧ = \.{A} + "\u01E0": "A\u0307\u0304", + // Ǡ = \.\={A} + "\xC5": "A\u030A", + // Å = \r{A} + "\u01FA": "A\u030A\u0301", + // Ǻ = \r\'{A} + "\u1E02": "B\u0307", + // Ḃ = \.{B} + "\u0106": "C\u0301", + // Ć = \'{C} + "\u010C": "C\u030C", + // Č = \v{C} + "\u0108": "C\u0302", + // Ĉ = \^{C} + "\u010A": "C\u0307", + // Ċ = \.{C} + "\u010E": "D\u030C", + // Ď = \v{D} + "\u1E0A": "D\u0307", + // Ḋ = \.{D} + "\xC9": "E\u0301", + // É = \'{E} + "\xC8": "E\u0300", + // È = \`{E} + "\xCB": "E\u0308", + // Ë = \"{E} + "\u1EBC": "E\u0303", + // Ẽ = \~{E} + "\u0112": "E\u0304", + // Ē = \={E} + "\u1E16": "E\u0304\u0301", + // Ḗ = \=\'{E} + "\u1E14": "E\u0304\u0300", + // Ḕ = \=\`{E} + "\u0114": "E\u0306", + // Ĕ = \u{E} + "\u011A": "E\u030C", + // Ě = \v{E} + "\xCA": "E\u0302", + // Ê = \^{E} + "\u1EBE": "E\u0302\u0301", + // Ế = \^\'{E} + "\u1EC0": "E\u0302\u0300", + // Ề = \^\`{E} + "\u1EC4": "E\u0302\u0303", + // Ễ = \^\~{E} + "\u0116": "E\u0307", + // Ė = \.{E} + "\u1E1E": "F\u0307", + // Ḟ = \.{F} + "\u01F4": "G\u0301", + // Ǵ = \'{G} + "\u1E20": "G\u0304", + // Ḡ = \={G} + "\u011E": "G\u0306", + // Ğ = \u{G} + "\u01E6": "G\u030C", + // Ǧ = \v{G} + "\u011C": "G\u0302", + // Ĝ = \^{G} + "\u0120": "G\u0307", + // Ġ = \.{G} + "\u1E26": "H\u0308", + // Ḧ = \"{H} + "\u021E": "H\u030C", + // Ȟ = \v{H} + "\u0124": "H\u0302", + // Ĥ = \^{H} + "\u1E22": "H\u0307", + // Ḣ = \.{H} + "\xCD": "I\u0301", + // Í = \'{I} + "\xCC": "I\u0300", + // Ì = \`{I} + "\xCF": "I\u0308", + // Ï = \"{I} + "\u1E2E": "I\u0308\u0301", + // Ḯ = \"\'{I} + "\u0128": "I\u0303", + // Ĩ = \~{I} + "\u012A": "I\u0304", + // Ī = \={I} + "\u012C": "I\u0306", + // Ĭ = \u{I} + "\u01CF": "I\u030C", + // Ǐ = \v{I} + "\xCE": "I\u0302", + // Î = \^{I} + "\u0130": "I\u0307", + // İ = \.{I} + "\u0134": "J\u0302", + // Ĵ = \^{J} + "\u1E30": "K\u0301", + // Ḱ = \'{K} + "\u01E8": "K\u030C", + // Ǩ = \v{K} + "\u0139": "L\u0301", + // Ĺ = \'{L} + "\u013D": "L\u030C", + // Ľ = \v{L} + "\u1E3E": "M\u0301", + // Ḿ = \'{M} + "\u1E40": "M\u0307", + // Ṁ = \.{M} + "\u0143": "N\u0301", + // Ń = \'{N} + "\u01F8": "N\u0300", + // Ǹ = \`{N} + "\xD1": "N\u0303", + // Ñ = \~{N} + "\u0147": "N\u030C", + // Ň = \v{N} + "\u1E44": "N\u0307", + // Ṅ = \.{N} + "\xD3": "O\u0301", + // Ó = \'{O} + "\xD2": "O\u0300", + // Ò = \`{O} + "\xD6": "O\u0308", + // Ö = \"{O} + "\u022A": "O\u0308\u0304", + // Ȫ = \"\={O} + "\xD5": "O\u0303", + // Õ = \~{O} + "\u1E4C": "O\u0303\u0301", + // Ṍ = \~\'{O} + "\u1E4E": "O\u0303\u0308", + // Ṏ = \~\"{O} + "\u022C": "O\u0303\u0304", + // Ȭ = \~\={O} + "\u014C": "O\u0304", + // Ō = \={O} + "\u1E52": "O\u0304\u0301", + // Ṓ = \=\'{O} + "\u1E50": "O\u0304\u0300", + // Ṑ = \=\`{O} + "\u014E": "O\u0306", + // Ŏ = \u{O} + "\u01D1": "O\u030C", + // Ǒ = \v{O} + "\xD4": "O\u0302", + // Ô = \^{O} + "\u1ED0": "O\u0302\u0301", + // Ố = \^\'{O} + "\u1ED2": "O\u0302\u0300", + // Ồ = \^\`{O} + "\u1ED6": "O\u0302\u0303", + // Ỗ = \^\~{O} + "\u022E": "O\u0307", + // Ȯ = \.{O} + "\u0230": "O\u0307\u0304", + // Ȱ = \.\={O} + "\u0150": "O\u030B", + // Ő = \H{O} + "\u1E54": "P\u0301", + // Ṕ = \'{P} + "\u1E56": "P\u0307", + // Ṗ = \.{P} + "\u0154": "R\u0301", + // Ŕ = \'{R} + "\u0158": "R\u030C", + // Ř = \v{R} + "\u1E58": "R\u0307", + // Ṙ = \.{R} + "\u015A": "S\u0301", + // Ś = \'{S} + "\u1E64": "S\u0301\u0307", + // Ṥ = \'\.{S} + "\u0160": "S\u030C", + // Š = \v{S} + "\u1E66": "S\u030C\u0307", + // Ṧ = \v\.{S} + "\u015C": "S\u0302", + // Ŝ = \^{S} + "\u1E60": "S\u0307", + // Ṡ = \.{S} + "\u0164": "T\u030C", + // Ť = \v{T} + "\u1E6A": "T\u0307", + // Ṫ = \.{T} + "\xDA": "U\u0301", + // Ú = \'{U} + "\xD9": "U\u0300", + // Ù = \`{U} + "\xDC": "U\u0308", + // Ü = \"{U} + "\u01D7": "U\u0308\u0301", + // Ǘ = \"\'{U} + "\u01DB": "U\u0308\u0300", + // Ǜ = \"\`{U} + "\u01D5": "U\u0308\u0304", + // Ǖ = \"\={U} + "\u01D9": "U\u0308\u030C", + // Ǚ = \"\v{U} + "\u0168": "U\u0303", + // Ũ = \~{U} + "\u1E78": "U\u0303\u0301", + // Ṹ = \~\'{U} + "\u016A": "U\u0304", + // Ū = \={U} + "\u1E7A": "U\u0304\u0308", + // Ṻ = \=\"{U} + "\u016C": "U\u0306", + // Ŭ = \u{U} + "\u01D3": "U\u030C", + // Ǔ = \v{U} + "\xDB": "U\u0302", + // Û = \^{U} + "\u016E": "U\u030A", + // Ů = \r{U} + "\u0170": "U\u030B", + // Ű = \H{U} + "\u1E7C": "V\u0303", + // Ṽ = \~{V} + "\u1E82": "W\u0301", + // Ẃ = \'{W} + "\u1E80": "W\u0300", + // Ẁ = \`{W} + "\u1E84": "W\u0308", + // Ẅ = \"{W} + "\u0174": "W\u0302", + // Ŵ = \^{W} + "\u1E86": "W\u0307", + // Ẇ = \.{W} + "\u1E8C": "X\u0308", + // Ẍ = \"{X} + "\u1E8A": "X\u0307", + // Ẋ = \.{X} + "\xDD": "Y\u0301", + // Ý = \'{Y} + "\u1EF2": "Y\u0300", + // Ỳ = \`{Y} + "\u0178": "Y\u0308", + // Ÿ = \"{Y} + "\u1EF8": "Y\u0303", + // Ỹ = \~{Y} + "\u0232": "Y\u0304", + // Ȳ = \={Y} + "\u0176": "Y\u0302", + // Ŷ = \^{Y} + "\u1E8E": "Y\u0307", + // Ẏ = \.{Y} + "\u0179": "Z\u0301", + // Ź = \'{Z} + "\u017D": "Z\u030C", + // Ž = \v{Z} + "\u1E90": "Z\u0302", + // Ẑ = \^{Z} + "\u017B": "Z\u0307", + // Ż = \.{Z} + "\u03AC": "\u03B1\u0301", + // ά = \'{α} + "\u1F70": "\u03B1\u0300", + // ὰ = \`{α} + "\u1FB1": "\u03B1\u0304", + // ᾱ = \={α} + "\u1FB0": "\u03B1\u0306", + // ᾰ = \u{α} + "\u03AD": "\u03B5\u0301", + // έ = \'{ε} + "\u1F72": "\u03B5\u0300", + // ὲ = \`{ε} + "\u03AE": "\u03B7\u0301", + // ή = \'{η} + "\u1F74": "\u03B7\u0300", + // ὴ = \`{η} + "\u03AF": "\u03B9\u0301", + // ί = \'{ι} + "\u1F76": "\u03B9\u0300", + // ὶ = \`{ι} + "\u03CA": "\u03B9\u0308", + // ϊ = \"{ι} + "\u0390": "\u03B9\u0308\u0301", + // ΐ = \"\'{ι} + "\u1FD2": "\u03B9\u0308\u0300", + // ῒ = \"\`{ι} + "\u1FD1": "\u03B9\u0304", + // ῑ = \={ι} + "\u1FD0": "\u03B9\u0306", + // ῐ = \u{ι} + "\u03CC": "\u03BF\u0301", + // ό = \'{ο} + "\u1F78": "\u03BF\u0300", + // ὸ = \`{ο} + "\u03CD": "\u03C5\u0301", + // ύ = \'{υ} + "\u1F7A": "\u03C5\u0300", + // ὺ = \`{υ} + "\u03CB": "\u03C5\u0308", + // ϋ = \"{υ} + "\u03B0": "\u03C5\u0308\u0301", + // ΰ = \"\'{υ} + "\u1FE2": "\u03C5\u0308\u0300", + // ῢ = \"\`{υ} + "\u1FE1": "\u03C5\u0304", + // ῡ = \={υ} + "\u1FE0": "\u03C5\u0306", + // ῠ = \u{υ} + "\u03CE": "\u03C9\u0301", + // ώ = \'{ω} + "\u1F7C": "\u03C9\u0300", + // ὼ = \`{ω} + "\u038E": "\u03A5\u0301", + // Ύ = \'{Υ} + "\u1FEA": "\u03A5\u0300", + // Ὺ = \`{Υ} + "\u03AB": "\u03A5\u0308", + // Ϋ = \"{Υ} + "\u1FE9": "\u03A5\u0304", + // Ῡ = \={Υ} + "\u1FE8": "\u03A5\u0306", + // Ῠ = \u{Υ} + "\u038F": "\u03A9\u0301", + // Ώ = \'{Ω} + "\u1FFA": "\u03A9\u0300" // Ὼ = \`{Ω} + +}); +// CONCATENATED MODULE: ./src/Parser.js +/* eslint no-constant-condition:0 */ + + + + + + + + + + + + + + +/** + * This file contains the parser used to parse out a TeX expression from the + * input. Since TeX isn't context-free, standard parsers don't work particularly + * well. + * + * The strategy of this parser is as such: + * + * The main functions (the `.parse...` ones) take a position in the current + * parse string to parse tokens from. The lexer (found in Lexer.js, stored at + * this.gullet.lexer) also supports pulling out tokens at arbitrary places. When + * individual tokens are needed at a position, the lexer is called to pull out a + * token, which is then used. + * + * The parser has a property called "mode" indicating the mode that + * the parser is currently in. Currently it has to be one of "math" or + * "text", which denotes whether the current environment is a math-y + * one or a text-y one (e.g. inside \text). Currently, this serves to + * limit the functions which can be used in text mode. + * + * The main functions then return an object which contains the useful data that + * was parsed at its given point, and a new position at the end of the parsed + * data. The main functions can call each other and continue the parsing by + * using the returned position as a new starting point. + * + * There are also extra `.handle...` functions, which pull out some reused + * functionality into self-contained functions. + * + * The functions return ParseNodes. + */ +var Parser_Parser = +/*#__PURE__*/ +function () { + function Parser(input, settings) { + this.mode = void 0; + this.gullet = void 0; + this.settings = void 0; + this.leftrightDepth = void 0; + this.nextToken = void 0; + // Start in math mode + this.mode = "math"; // Create a new macro expander (gullet) and (indirectly via that) also a + // new lexer (mouth) for this parser (stomach, in the language of TeX) + + this.gullet = new MacroExpander_MacroExpander(input, settings, this.mode); // Store the settings for use in parsing + + this.settings = settings; // Count leftright depth (for \middle errors) + + this.leftrightDepth = 0; + } + /** + * Checks a result to make sure it has the right type, and throws an + * appropriate error otherwise. + */ + + + var _proto = Parser.prototype; + + _proto.expect = function expect(text, consume) { + if (consume === void 0) { + consume = true; + } + + if (this.fetch().text !== text) { + throw new src_ParseError("Expected '" + text + "', got '" + this.fetch().text + "'", this.fetch()); + } + + if (consume) { + this.consume(); + } + } + /** + * Discards the current lookahead token, considering it consumed. + */ + ; + + _proto.consume = function consume() { + this.nextToken = null; + } + /** + * Return the current lookahead token, or if there isn't one (at the + * beginning, or if the previous lookahead token was consume()d), + * fetch the next token as the new lookahead token and return it. + */ + ; + + _proto.fetch = function fetch() { + if (this.nextToken == null) { + this.nextToken = this.gullet.expandNextToken(); + } + + return this.nextToken; + } + /** + * Switches between "text" and "math" modes. + */ + ; + + _proto.switchMode = function switchMode(newMode) { + this.mode = newMode; + this.gullet.switchMode(newMode); + } + /** + * Main parsing function, which parses an entire input. + */ + ; + + _proto.parse = function parse() { + // Create a group namespace for the math expression. + // (LaTeX creates a new group for every $...$, $$...$$, \[...\].) + this.gullet.beginGroup(); // Use old \color behavior (same as LaTeX's \textcolor) if requested. + // We do this within the group for the math expression, so it doesn't + // pollute settings.macros. + + if (this.settings.colorIsTextColor) { + this.gullet.macros.set("\\color", "\\textcolor"); + } // Try to parse the input + + + var parse = this.parseExpression(false); // If we succeeded, make sure there's an EOF at the end + + this.expect("EOF"); // End the group namespace for the expression + + this.gullet.endGroup(); + return parse; + }; + + _proto.parseExpression = function parseExpression(breakOnInfix, breakOnTokenText) { + var body = []; // Keep adding atoms to the body until we can't parse any more atoms (either + // we reached the end, a }, or a \right) + + while (true) { + // Ignore spaces in math mode + if (this.mode === "math") { + this.consumeSpaces(); + } + + var lex = this.fetch(); + + if (Parser.endOfExpression.indexOf(lex.text) !== -1) { + break; + } + + if (breakOnTokenText && lex.text === breakOnTokenText) { + break; + } + + if (breakOnInfix && src_functions[lex.text] && src_functions[lex.text].infix) { + break; + } + + var atom = this.parseAtom(breakOnTokenText); + + if (!atom) { + break; + } + + body.push(atom); + } + + if (this.mode === "text") { + this.formLigatures(body); + } + + return this.handleInfixNodes(body); + } + /** + * Rewrites infix operators such as \over with corresponding commands such + * as \frac. + * + * There can only be one infix operator per group. If there's more than one + * then the expression is ambiguous. This can be resolved by adding {}. + */ + ; + + _proto.handleInfixNodes = function handleInfixNodes(body) { + var overIndex = -1; + var funcName; + + for (var i = 0; i < body.length; i++) { + var node = checkNodeType(body[i], "infix"); + + if (node) { + if (overIndex !== -1) { + throw new src_ParseError("only one infix operator per group", node.token); + } + + overIndex = i; + funcName = node.replaceWith; + } + } + + if (overIndex !== -1 && funcName) { + var numerNode; + var denomNode; + var numerBody = body.slice(0, overIndex); + var denomBody = body.slice(overIndex + 1); + + if (numerBody.length === 1 && numerBody[0].type === "ordgroup") { + numerNode = numerBody[0]; + } else { + numerNode = { + type: "ordgroup", + mode: this.mode, + body: numerBody + }; + } + + if (denomBody.length === 1 && denomBody[0].type === "ordgroup") { + denomNode = denomBody[0]; + } else { + denomNode = { + type: "ordgroup", + mode: this.mode, + body: denomBody + }; + } + + var _node; + + if (funcName === "\\\\abovefrac") { + _node = this.callFunction(funcName, [numerNode, body[overIndex], denomNode], []); + } else { + _node = this.callFunction(funcName, [numerNode, denomNode], []); + } + + return [_node]; + } else { + return body; + } + } // The greediness of a superscript or subscript + ; + + /** + * Handle a subscript or superscript with nice errors. + */ + _proto.handleSupSubscript = function handleSupSubscript(name) { + var symbolToken = this.fetch(); + var symbol = symbolToken.text; + this.consume(); + var group = this.parseGroup(name, false, Parser.SUPSUB_GREEDINESS, undefined, undefined, true); // ignore spaces before sup/subscript argument + + if (!group) { + throw new src_ParseError("Expected group after '" + symbol + "'", symbolToken); + } + + return group; + } + /** + * Converts the textual input of an unsupported command into a text node + * contained within a color node whose color is determined by errorColor + */ + ; + + _proto.formatUnsupportedCmd = function formatUnsupportedCmd(text) { + var textordArray = []; + + for (var i = 0; i < text.length; i++) { + textordArray.push({ + type: "textord", + mode: "text", + text: text[i] + }); + } + + var textNode = { + type: "text", + mode: this.mode, + body: textordArray + }; + var colorNode = { + type: "color", + mode: this.mode, + color: this.settings.errorColor, + body: [textNode] + }; + return colorNode; + } + /** + * Parses a group with optional super/subscripts. + */ + ; + + _proto.parseAtom = function parseAtom(breakOnTokenText) { + // The body of an atom is an implicit group, so that things like + // \left(x\right)^2 work correctly. + var base = this.parseGroup("atom", false, null, breakOnTokenText); // In text mode, we don't have superscripts or subscripts + + if (this.mode === "text") { + return base; + } // Note that base may be empty (i.e. null) at this point. + + + var superscript; + var subscript; + + while (true) { + // Guaranteed in math mode, so eat any spaces first. + this.consumeSpaces(); // Lex the first token + + var lex = this.fetch(); + + if (lex.text === "\\limits" || lex.text === "\\nolimits") { + // We got a limit control + var opNode = checkNodeType(base, "op"); + + if (opNode) { + var limits = lex.text === "\\limits"; + opNode.limits = limits; + opNode.alwaysHandleSupSub = true; + } else { + opNode = checkNodeType(base, "operatorname"); + + if (opNode && opNode.alwaysHandleSupSub) { + var _limits = lex.text === "\\limits"; + + opNode.limits = _limits; + } else { + throw new src_ParseError("Limit controls must follow a math operator", lex); + } + } + + this.consume(); + } else if (lex.text === "^") { + // We got a superscript start + if (superscript) { + throw new src_ParseError("Double superscript", lex); + } + + superscript = this.handleSupSubscript("superscript"); + } else if (lex.text === "_") { + // We got a subscript start + if (subscript) { + throw new src_ParseError("Double subscript", lex); + } + + subscript = this.handleSupSubscript("subscript"); + } else if (lex.text === "'") { + // We got a prime + if (superscript) { + throw new src_ParseError("Double superscript", lex); + } + + var prime = { + type: "textord", + mode: this.mode, + text: "\\prime" + }; // Many primes can be grouped together, so we handle this here + + var primes = [prime]; + this.consume(); // Keep lexing tokens until we get something that's not a prime + + while (this.fetch().text === "'") { + // For each one, add another prime to the list + primes.push(prime); + this.consume(); + } // If there's a superscript following the primes, combine that + // superscript in with the primes. + + + if (this.fetch().text === "^") { + primes.push(this.handleSupSubscript("superscript")); + } // Put everything into an ordgroup as the superscript + + + superscript = { + type: "ordgroup", + mode: this.mode, + body: primes + }; + } else { + // If it wasn't ^, _, or ', stop parsing super/subscripts + break; + } + } // Base must be set if superscript or subscript are set per logic above, + // but need to check here for type check to pass. + + + if (superscript || subscript) { + // If we got either a superscript or subscript, create a supsub + return { + type: "supsub", + mode: this.mode, + base: base, + sup: superscript, + sub: subscript + }; + } else { + // Otherwise return the original body + return base; + } + } + /** + * Parses an entire function, including its base and all of its arguments. + */ + ; + + _proto.parseFunction = function parseFunction(breakOnTokenText, name, // For error reporting. + greediness) { + var token = this.fetch(); + var func = token.text; + var funcData = src_functions[func]; + + if (!funcData) { + return null; + } + + this.consume(); // consume command token + + if (greediness != null && funcData.greediness <= greediness) { + throw new src_ParseError("Got function '" + func + "' with no arguments" + (name ? " as " + name : ""), token); + } else if (this.mode === "text" && !funcData.allowedInText) { + throw new src_ParseError("Can't use function '" + func + "' in text mode", token); + } else if (this.mode === "math" && funcData.allowedInMath === false) { + throw new src_ParseError("Can't use function '" + func + "' in math mode", token); + } + + var _this$parseArguments = this.parseArguments(func, funcData), + args = _this$parseArguments.args, + optArgs = _this$parseArguments.optArgs; + + return this.callFunction(func, args, optArgs, token, breakOnTokenText); + } + /** + * Call a function handler with a suitable context and arguments. + */ + ; + + _proto.callFunction = function callFunction(name, args, optArgs, token, breakOnTokenText) { + var context = { + funcName: name, + parser: this, + token: token, + breakOnTokenText: breakOnTokenText + }; + var func = src_functions[name]; + + if (func && func.handler) { + return func.handler(context, args, optArgs); + } else { + throw new src_ParseError("No function handler for " + name); + } + } + /** + * Parses the arguments of a function or environment + */ + ; + + _proto.parseArguments = function parseArguments(func, // Should look like "\name" or "\begin{name}". + funcData) { + var totalArgs = funcData.numArgs + funcData.numOptionalArgs; + + if (totalArgs === 0) { + return { + args: [], + optArgs: [] + }; + } + + var baseGreediness = funcData.greediness; + var args = []; + var optArgs = []; + + for (var i = 0; i < totalArgs; i++) { + var argType = funcData.argTypes && funcData.argTypes[i]; + var isOptional = i < funcData.numOptionalArgs; // Ignore spaces between arguments. As the TeXbook says: + // "After you have said ‘\def\row#1#2{...}’, you are allowed to + // put spaces between the arguments (e.g., ‘\row x n’), because + // TeX doesn’t use single spaces as undelimited arguments." + + var consumeSpaces = i > 0 && !isOptional || // Also consume leading spaces in math mode, as parseSymbol + // won't know what to do with them. This can only happen with + // macros, e.g. \frac\foo\foo where \foo expands to a space symbol. + // In LaTeX, the \foo's get treated as (blank) arguments. + // In KaTeX, for now, both spaces will get consumed. + // TODO(edemaine) + i === 0 && !isOptional && this.mode === "math"; + var arg = this.parseGroupOfType("argument to '" + func + "'", argType, isOptional, baseGreediness, consumeSpaces); + + if (!arg) { + if (isOptional) { + optArgs.push(null); + continue; + } + + throw new src_ParseError("Expected group after '" + func + "'", this.fetch()); + } + + (isOptional ? optArgs : args).push(arg); + } + + return { + args: args, + optArgs: optArgs + }; + } + /** + * Parses a group when the mode is changing. + */ + ; + + _proto.parseGroupOfType = function parseGroupOfType(name, type, optional, greediness, consumeSpaces) { + switch (type) { + case "color": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseColorGroup(optional); + + case "size": + if (consumeSpaces) { + this.consumeSpaces(); + } + + return this.parseSizeGroup(optional); + + case "url": + return this.parseUrlGroup(optional, consumeSpaces); + + case "math": + case "text": + return this.parseGroup(name, optional, greediness, undefined, type, consumeSpaces); + + case "hbox": + { + // hbox argument type wraps the argument in the equivalent of + // \hbox, which is like \text but switching to \textstyle size. + var group = this.parseGroup(name, optional, greediness, undefined, "text", consumeSpaces); + + if (!group) { + return group; + } + + var styledGroup = { + type: "styling", + mode: group.mode, + body: [group], + style: "text" // simulate \textstyle + + }; + return styledGroup; + } + + case "raw": + { + if (consumeSpaces) { + this.consumeSpaces(); + } + + if (optional && this.fetch().text === "{") { + return null; + } + + var token = this.parseStringGroup("raw", optional, true); + + if (token) { + return { + type: "raw", + mode: "text", + string: token.text + }; + } else { + throw new src_ParseError("Expected raw group", this.fetch()); + } + } + + case "original": + case null: + case undefined: + return this.parseGroup(name, optional, greediness, undefined, undefined, consumeSpaces); + + default: + throw new src_ParseError("Unknown group type as " + name, this.fetch()); + } + } + /** + * Discard any space tokens, fetching the next non-space token. + */ + ; + + _proto.consumeSpaces = function consumeSpaces() { + while (this.fetch().text === " ") { + this.consume(); + } + } + /** + * Parses a group, essentially returning the string formed by the + * brace-enclosed tokens plus some position information. + */ + ; + + _proto.parseStringGroup = function parseStringGroup(modeName, // Used to describe the mode in error messages. + optional, raw) { + var groupBegin = optional ? "[" : "{"; + var groupEnd = optional ? "]" : "}"; + var beginToken = this.fetch(); + + if (beginToken.text !== groupBegin) { + if (optional) { + return null; + } else if (raw && beginToken.text !== "EOF" && /[^{}[\]]/.test(beginToken.text)) { + this.consume(); + return beginToken; + } + } + + var outerMode = this.mode; + this.mode = "text"; + this.expect(groupBegin); + var str = ""; + var firstToken = this.fetch(); + var nested = 0; // allow nested braces in raw string group + + var lastToken = firstToken; + var nextToken; + + while ((nextToken = this.fetch()).text !== groupEnd || raw && nested > 0) { + switch (nextToken.text) { + case "EOF": + throw new src_ParseError("Unexpected end of input in " + modeName, firstToken.range(lastToken, str)); + + case groupBegin: + nested++; + break; + + case groupEnd: + nested--; + break; + } + + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + this.expect(groupEnd); + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a regex-delimited group: the largest sequence of tokens + * whose concatenated strings match `regex`. Returns the string + * formed by the tokens plus some position information. + */ + ; + + _proto.parseRegexGroup = function parseRegexGroup(regex, modeName) { + var outerMode = this.mode; + this.mode = "text"; + var firstToken = this.fetch(); + var lastToken = firstToken; + var str = ""; + var nextToken; + + while ((nextToken = this.fetch()).text !== "EOF" && regex.test(str + nextToken.text)) { + lastToken = nextToken; + str += lastToken.text; + this.consume(); + } + + if (str === "") { + throw new src_ParseError("Invalid " + modeName + ": '" + firstToken.text + "'", firstToken); + } + + this.mode = outerMode; + return firstToken.range(lastToken, str); + } + /** + * Parses a color description. + */ + ; + + _proto.parseColorGroup = function parseColorGroup(optional) { + var res = this.parseStringGroup("color", optional); + + if (!res) { + return null; + } + + var match = /^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i.exec(res.text); + + if (!match) { + throw new src_ParseError("Invalid color: '" + res.text + "'", res); + } + + var color = match[0]; + + if (/^[0-9a-f]{6}$/i.test(color)) { + // We allow a 6-digit HTML color spec without a leading "#". + // This follows the xcolor package's HTML color model. + // Predefined color names are all missed by this RegEx pattern. + color = "#" + color; + } + + return { + type: "color-token", + mode: this.mode, + color: color + }; + } + /** + * Parses a size specification, consisting of magnitude and unit. + */ + ; + + _proto.parseSizeGroup = function parseSizeGroup(optional) { + var res; + var isBlank = false; + + if (!optional && this.fetch().text !== "{") { + res = this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/, "size"); + } else { + res = this.parseStringGroup("size", optional); + } + + if (!res) { + return null; + } + + if (!optional && res.text.length === 0) { + // Because we've tested for what is !optional, this block won't + // affect \kern, \hspace, etc. It will capture the mandatory arguments + // to \genfrac and \above. + res.text = "0pt"; // Enable \above{} + + isBlank = true; // This is here specifically for \genfrac + } + + var match = /([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(res.text); + + if (!match) { + throw new src_ParseError("Invalid size: '" + res.text + "'", res); + } + + var data = { + number: +(match[1] + match[2]), + // sign + magnitude, cast to number + unit: match[3] + }; + + if (!validUnit(data)) { + throw new src_ParseError("Invalid unit: '" + data.unit + "'", res); + } + + return { + type: "size", + mode: this.mode, + value: data, + isBlank: isBlank + }; + } + /** + * Parses an URL, checking escaped letters and allowed protocols, + * and setting the catcode of % as an active character (as in \hyperref). + */ + ; + + _proto.parseUrlGroup = function parseUrlGroup(optional, consumeSpaces) { + this.gullet.lexer.setCatcode("%", 13); // active character + + var res = this.parseStringGroup("url", optional, true); // get raw string + + this.gullet.lexer.setCatcode("%", 14); // comment character + + if (!res) { + return null; + } // hyperref package allows backslashes alone in href, but doesn't + // generate valid links in such cases; we interpret this as + // "undefined" behaviour, and keep them as-is. Some browser will + // replace backslashes with forward slashes. + + + var url = res.text.replace(/\\([#$%&~_^{}])/g, '$1'); + return { + type: "url", + mode: this.mode, + url: url + }; + } + /** + * If `optional` is false or absent, this parses an ordinary group, + * which is either a single nucleus (like "x") or an expression + * in braces (like "{x+y}") or an implicit group, a group that starts + * at the current position, and ends right before a higher explicit + * group ends, or at EOF. + * If `optional` is true, it parses either a bracket-delimited expression + * (like "[x+y]") or returns null to indicate the absence of a + * bracket-enclosed group. + * If `mode` is present, switches to that mode while parsing the group, + * and switches back after. + */ + ; + + _proto.parseGroup = function parseGroup(name, // For error reporting. + optional, greediness, breakOnTokenText, mode, consumeSpaces) { + // Switch to specified mode + var outerMode = this.mode; + + if (mode) { + this.switchMode(mode); + } // Consume spaces if requested, crucially *after* we switch modes, + // so that the next non-space token is parsed in the correct mode. + + + if (consumeSpaces) { + this.consumeSpaces(); + } // Get first token + + + var firstToken = this.fetch(); + var text = firstToken.text; + var result; // Try to parse an open brace or \begingroup + + if (optional ? text === "[" : text === "{" || text === "\\begingroup") { + this.consume(); + var groupEnd = Parser.endOfGroup[text]; // Start a new group namespace + + this.gullet.beginGroup(); // If we get a brace, parse an expression + + var expression = this.parseExpression(false, groupEnd); + var lastToken = this.fetch(); // Check that we got a matching closing brace + + this.expect(groupEnd); // End group namespace + + this.gullet.endGroup(); + result = { + type: "ordgroup", + mode: this.mode, + loc: SourceLocation.range(firstToken, lastToken), + body: expression, + // A group formed by \begingroup...\endgroup is a semi-simple group + // which doesn't affect spacing in math mode, i.e., is transparent. + // https://tex.stackexchange.com/questions/1930/when-should-one- + // use-begingroup-instead-of-bgroup + semisimple: text === "\\begingroup" || undefined + }; + } else if (optional) { + // Return nothing for an optional group + result = null; + } else { + // If there exists a function with this name, parse the function. + // Otherwise, just return a nucleus + result = this.parseFunction(breakOnTokenText, name, greediness) || this.parseSymbol(); + + if (result == null && text[0] === "\\" && !implicitCommands.hasOwnProperty(text)) { + if (this.settings.throwOnError) { + throw new src_ParseError("Undefined control sequence: " + text, firstToken); + } + + result = this.formatUnsupportedCmd(text); + this.consume(); + } + } // Switch mode back + + + if (mode) { + this.switchMode(outerMode); + } + + return result; + } + /** + * Form ligature-like combinations of characters for text mode. + * This includes inputs like "--", "---", "``" and "''". + * The result will simply replace multiple textord nodes with a single + * character in each value by a single textord node having multiple + * characters in its value. The representation is still ASCII source. + * The group will be modified in place. + */ + ; + + _proto.formLigatures = function formLigatures(group) { + var n = group.length - 1; + + for (var i = 0; i < n; ++i) { + var a = group[i]; // $FlowFixMe: Not every node type has a `text` property. + + var v = a.text; + + if (v === "-" && group[i + 1].text === "-") { + if (i + 1 < n && group[i + 2].text === "-") { + group.splice(i, 3, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 2]), + text: "---" + }); + n -= 2; + } else { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: "--" + }); + n -= 1; + } + } + + if ((v === "'" || v === "`") && group[i + 1].text === v) { + group.splice(i, 2, { + type: "textord", + mode: "text", + loc: SourceLocation.range(a, group[i + 1]), + text: v + v + }); + n -= 1; + } + } + } + /** + * Parse a single symbol out of the string. Here, we handle single character + * symbols and special functions like \verb. + */ + ; + + _proto.parseSymbol = function parseSymbol() { + var nucleus = this.fetch(); + var text = nucleus.text; + + if (/^\\verb[^a-zA-Z]/.test(text)) { + this.consume(); + var arg = text.slice(5); + var star = arg.charAt(0) === "*"; + + if (star) { + arg = arg.slice(1); + } // Lexer's tokenRegex is constructed to always have matching + // first/last characters. + + + if (arg.length < 2 || arg.charAt(0) !== arg.slice(-1)) { + throw new src_ParseError("\\verb assertion failed --\n please report what input caused this bug"); + } + + arg = arg.slice(1, -1); // remove first and last char + + return { + type: "verb", + mode: "text", + body: arg, + star: star + }; + } // At this point, we should have a symbol, possibly with accents. + // First expand any accented base symbol according to unicodeSymbols. + + + if (unicodeSymbols.hasOwnProperty(text[0]) && !src_symbols[this.mode][text[0]]) { + // This behavior is not strict (XeTeX-compatible) in math mode. + if (this.settings.strict && this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", "Accented Unicode text character \"" + text[0] + "\" used in " + "math mode", nucleus); + } + + text = unicodeSymbols[text[0]] + text.substr(1); + } // Strip off any combining characters + + + var match = combiningDiacriticalMarksEndRegex.exec(text); + + if (match) { + text = text.substring(0, match.index); + + if (text === 'i') { + text = "\u0131"; // dotless i, in math and text mode + } else if (text === 'j') { + text = "\u0237"; // dotless j, in math and text mode + } + } // Recognize base symbol + + + var symbol; + + if (src_symbols[this.mode][text]) { + if (this.settings.strict && this.mode === 'math' && extraLatin.indexOf(text) >= 0) { + this.settings.reportNonstrict("unicodeTextInMathMode", "Latin-1/Unicode text character \"" + text[0] + "\" used in " + "math mode", nucleus); + } + + var group = src_symbols[this.mode][text].group; + var loc = SourceLocation.range(nucleus); + var s; + + if (ATOMS.hasOwnProperty(group)) { + // $FlowFixMe + var family = group; + s = { + type: "atom", + mode: this.mode, + family: family, + loc: loc, + text: text + }; + } else { + // $FlowFixMe + s = { + type: group, + mode: this.mode, + loc: loc, + text: text + }; + } + + symbol = s; + } else if (text.charCodeAt(0) >= 0x80) { + // no symbol for e.g. ^ + if (this.settings.strict) { + if (!supportedCodepoint(text.charCodeAt(0))) { + this.settings.reportNonstrict("unknownSymbol", "Unrecognized Unicode character \"" + text[0] + "\"" + (" (" + text.charCodeAt(0) + ")"), nucleus); + } else if (this.mode === "math") { + this.settings.reportNonstrict("unicodeTextInMathMode", "Unicode text character \"" + text[0] + "\" used in math mode", nucleus); + } + } // All nonmathematical Unicode characters are rendered as if they + // are in text mode (wrapped in \text) because that's what it + // takes to render them in LaTeX. Setting `mode: this.mode` is + // another natural choice (the user requested math mode), but + // this makes it more difficult for getCharacterMetrics() to + // distinguish Unicode characters without metrics and those for + // which we want to simulate the letter M. + + + symbol = { + type: "textord", + mode: "text", + loc: SourceLocation.range(nucleus), + text: text + }; + } else { + return null; // EOF, ^, _, {, }, etc. + } + + this.consume(); // Transform combining characters into accents + + if (match) { + for (var i = 0; i < match[0].length; i++) { + var accent = match[0][i]; + + if (!unicodeAccents[accent]) { + throw new src_ParseError("Unknown accent ' " + accent + "'", nucleus); + } + + var command = unicodeAccents[accent][this.mode]; + + if (!command) { + throw new src_ParseError("Accent " + accent + " unsupported in " + this.mode + " mode", nucleus); + } + + symbol = { + type: "accent", + mode: this.mode, + loc: SourceLocation.range(nucleus), + label: command, + isStretchy: false, + isShifty: true, + base: symbol + }; + } + } + + return symbol; + }; + + return Parser; +}(); + +Parser_Parser.endOfExpression = ["}", "\\endgroup", "\\end", "\\right", "&"]; +Parser_Parser.endOfGroup = { + "[": "]", + "{": "}", + "\\begingroup": "\\endgroup" + /** + * Parses an "expression", which is a list of atoms. + * + * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This + * happens when functions have higher precendence han infix + * nodes in implicit parses. + * + * `breakOnTokenText`: The text of the token that the expression should end + * with, or `null` if something else should end the + * expression. + */ + +}; +Parser_Parser.SUPSUB_GREEDINESS = 1; + +// CONCATENATED MODULE: ./src/parseTree.js +/** + * Provides a single function for parsing an expression using a Parser + * TODO(emily): Remove this + */ + + + +/** + * Parses an expression using a Parser, then returns the parsed result. + */ +var parseTree_parseTree = function parseTree(toParse, settings) { + if (!(typeof toParse === 'string' || toParse instanceof String)) { + throw new TypeError('KaTeX can only parse string typed expression'); + } + + var parser = new Parser_Parser(toParse, settings); // Blank out any \df@tag to avoid spurious "Duplicate \tag" errors + + delete parser.gullet.macros.current["\\df@tag"]; + var tree = parser.parse(); // If the input used \tag, it will set the \df@tag macro to the tag. + // In this case, we separately parse the tag and wrap the tree. + + if (parser.gullet.macros.get("\\df@tag")) { + if (!settings.displayMode) { + throw new src_ParseError("\\tag works only in display equations"); + } + + parser.gullet.feed("\\df@tag"); + tree = [{ + type: "tag", + mode: "text", + body: tree, + tag: parser.parse() + }]; + } + + return tree; +}; + +/* harmony default export */ var src_parseTree = (parseTree_parseTree); +// CONCATENATED MODULE: ./katex.js +/* eslint no-console:0 */ + +/** + * This is the main entry point for KaTeX. Here, we expose functions for + * rendering expressions either to DOM nodes or to markup strings. + * + * We also expose the ParseError class to check if errors thrown from KaTeX are + * errors in the expression, or errors in javascript handling. + */ + + + + + + + + + + +/** + * Parse and build an expression, and place that expression in the DOM node + * given. + */ +var katex_render = function render(expression, baseNode, options) { + baseNode.textContent = ""; + var node = katex_renderToDomTree(expression, options).toNode(); + baseNode.appendChild(node); +}; // KaTeX's styles don't work properly in quirks mode. Print out an error, and +// disable rendering. + + +if (typeof document !== "undefined") { + if (document.compatMode !== "CSS1Compat") { + typeof console !== "undefined" && console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your " + "website has a suitable doctype."); + + katex_render = function render() { + throw new src_ParseError("KaTeX doesn't work in quirks mode."); + }; + } +} +/** + * Parse and build an expression, and return the markup for that. + */ + + +var renderToString = function renderToString(expression, options) { + var markup = katex_renderToDomTree(expression, options).toMarkup(); + return markup; +}; +/** + * Parse an expression and return the parse tree. + */ + + +var katex_generateParseTree = function generateParseTree(expression, options) { + var settings = new Settings_Settings(options); + return src_parseTree(expression, settings); +}; +/** + * If the given error is a KaTeX ParseError and options.throwOnError is false, + * renders the invalid LaTeX as a span with hover title giving the KaTeX + * error message. Otherwise, simply throws the error. + */ + + +var katex_renderError = function renderError(error, expression, options) { + if (options.throwOnError || !(error instanceof src_ParseError)) { + throw error; + } + + var node = buildCommon.makeSpan(["katex-error"], [new domTree_SymbolNode(expression)]); + node.setAttribute("title", error.toString()); + node.setAttribute("style", "color:" + options.errorColor); + return node; +}; +/** + * Generates and returns the katex build tree. This is used for advanced + * use cases (like rendering to custom output). + */ + + +var katex_renderToDomTree = function renderToDomTree(expression, options) { + var settings = new Settings_Settings(options); + + try { + var tree = src_parseTree(expression, settings); + return buildTree_buildTree(tree, expression, settings); + } catch (error) { + return katex_renderError(error, expression, settings); + } +}; +/** + * Generates and returns the katex build tree, with just HTML (no MathML). + * This is used for advanced use cases (like rendering to custom output). + */ + + +var katex_renderToHTMLTree = function renderToHTMLTree(expression, options) { + var settings = new Settings_Settings(options); + + try { + var tree = src_parseTree(expression, settings); + return buildTree_buildHTMLTree(tree, expression, settings); + } catch (error) { + return katex_renderError(error, expression, settings); + } +}; + +/* harmony default export */ var katex_0 = ({ + /** + * Current KaTeX version + */ + version: "0.11.1", + + /** + * Renders the given LaTeX into an HTML+MathML combination, and adds + * it as a child to the specified DOM node. + */ + render: katex_render, + + /** + * Renders the given LaTeX into an HTML+MathML combination string, + * for sending to the client. + */ + renderToString: renderToString, + + /** + * KaTeX error, usually during parsing. + */ + ParseError: src_ParseError, + + /** + * Parses the given LaTeX into KaTeX's internal parse tree structure, + * without rendering to HTML or MathML. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __parse: katex_generateParseTree, + + /** + * Renders the given LaTeX into an HTML+MathML internal DOM tree + * representation, without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToDomTree: katex_renderToDomTree, + + /** + * Renders the given LaTeX into an HTML internal DOM tree representation, + * without MathML and without flattening that representation to a string. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __renderToHTMLTree: katex_renderToHTMLTree, + + /** + * extends internal font metrics object with a new object + * each key in the new object represents a font name + */ + __setFontMetrics: setFontMetrics, + + /** + * adds a new symbol to builtin symbols table + */ + __defineSymbol: defineSymbol, + + /** + * adds a new macro to builtin macro list + */ + __defineMacro: defineMacro, + + /** + * Expose the dom tree node types, which can be useful for type checking nodes. + * + * NOTE: This method is not currently recommended for public use. + * The internal tree representation is unstable and is very likely + * to change. Use at your own risk. + */ + __domTree: { + Span: domTree_Span, + Anchor: domTree_Anchor, + SymbolNode: domTree_SymbolNode, + SvgNode: SvgNode, + PathNode: domTree_PathNode, + LineNode: LineNode + } +}); +// CONCATENATED MODULE: ./katex.webpack.js +/** + * This is the webpack entry point for KaTeX. As ECMAScript, flow[1] and jest[2] + * doesn't support CSS modules natively, a separate entry point is used and + * it is not flowtyped. + * + * [1] https://gist.github.com/lambdahands/d19e0da96285b749f0ef + * [2] https://facebook.github.io/jest/docs/en/webpack.html + */ + + +/* harmony default export */ var katex_webpack = __webpack_exports__["default"] = (katex_0); + +/***/ }) +/******/ ])["default"]; +}); \ No newline at end of file diff --git a/templates/partials/head.html b/templates/partials/head.html index 857f06a..14e6d55 100644 --- a/templates/partials/head.html +++ b/templates/partials/head.html @@ -9,6 +9,22 @@ {%- endif %} {% include "partials/title.html" %} + + {%- if config.extra.katex %} + + + + + {%- endif %} {%- if config.markdown.highlight_code and config.markdown.highlight_theme == "css" %} {%- if config.markdown.highlight_themes_css | length > 0 %} From d7e832a9135c7bb48e369cb9ba00a9ed5ac4017b Mon Sep 17 00:00:00 2001 From: Maxime LETEMPLE Date: Wed, 28 Aug 2024 11:16:24 +0200 Subject: [PATCH 2/2] Add fonts for Katex --- static/fonts/katex/KaTeX_AMS-Regular.ttf | Bin 0 -> 70972 bytes static/fonts/katex/KaTeX_AMS-Regular.woff | Bin 0 -> 38868 bytes static/fonts/katex/KaTeX_AMS-Regular.woff2 | Bin 0 -> 32944 bytes static/fonts/katex/KaTeX_Caligraphic-Bold.ttf | Bin 0 -> 19316 bytes static/fonts/katex/KaTeX_Caligraphic-Bold.woff | Bin 0 -> 11696 bytes static/fonts/katex/KaTeX_Caligraphic-Bold.woff2 | Bin 0 -> 10448 bytes .../fonts/katex/KaTeX_Caligraphic-Regular.ttf | Bin 0 -> 18684 bytes .../fonts/katex/KaTeX_Caligraphic-Regular.woff | Bin 0 -> 11460 bytes .../fonts/katex/KaTeX_Caligraphic-Regular.woff2 | Bin 0 -> 10240 bytes static/fonts/katex/KaTeX_Fraktur-Bold.ttf | Bin 0 -> 35660 bytes static/fonts/katex/KaTeX_Fraktur-Bold.woff | Bin 0 -> 22632 bytes static/fonts/katex/KaTeX_Fraktur-Bold.woff2 | Bin 0 -> 20360 bytes static/fonts/katex/KaTeX_Fraktur-Regular.ttf | Bin 0 -> 34352 bytes static/fonts/katex/KaTeX_Fraktur-Regular.woff | Bin 0 -> 22088 bytes static/fonts/katex/KaTeX_Fraktur-Regular.woff2 | Bin 0 -> 19784 bytes static/fonts/katex/KaTeX_Main-Bold.ttf | Bin 0 -> 60784 bytes static/fonts/katex/KaTeX_Main-Bold.woff | Bin 0 -> 35464 bytes static/fonts/katex/KaTeX_Main-Bold.woff2 | Bin 0 -> 30244 bytes static/fonts/katex/KaTeX_Main-BoldItalic.ttf | Bin 0 -> 44496 bytes static/fonts/katex/KaTeX_Main-BoldItalic.woff | Bin 0 -> 25352 bytes static/fonts/katex/KaTeX_Main-BoldItalic.woff2 | Bin 0 -> 21944 bytes static/fonts/katex/KaTeX_Main-Italic.ttf | Bin 0 -> 47640 bytes static/fonts/katex/KaTeX_Main-Italic.woff | Bin 0 -> 26228 bytes static/fonts/katex/KaTeX_Main-Italic.woff2 | Bin 0 -> 22748 bytes static/fonts/katex/KaTeX_Main-Regular.ttf | Bin 0 -> 69520 bytes static/fonts/katex/KaTeX_Main-Regular.woff | Bin 0 -> 38112 bytes static/fonts/katex/KaTeX_Main-Regular.woff2 | Bin 0 -> 32464 bytes static/fonts/katex/KaTeX_Math-BoldItalic.ttf | Bin 0 -> 39308 bytes static/fonts/katex/KaTeX_Math-BoldItalic.woff | Bin 0 -> 22324 bytes static/fonts/katex/KaTeX_Math-BoldItalic.woff2 | Bin 0 -> 19720 bytes static/fonts/katex/KaTeX_Math-Italic.ttf | Bin 0 -> 40992 bytes static/fonts/katex/KaTeX_Math-Italic.woff | Bin 0 -> 22844 bytes static/fonts/katex/KaTeX_Math-Italic.woff2 | Bin 0 -> 20096 bytes static/fonts/katex/KaTeX_SansSerif-Bold.ttf | Bin 0 -> 33688 bytes static/fonts/katex/KaTeX_SansSerif-Bold.woff | Bin 0 -> 18516 bytes static/fonts/katex/KaTeX_SansSerif-Bold.woff2 | Bin 0 -> 15732 bytes static/fonts/katex/KaTeX_SansSerif-Italic.ttf | Bin 0 -> 30960 bytes static/fonts/katex/KaTeX_SansSerif-Italic.woff | Bin 0 -> 17572 bytes static/fonts/katex/KaTeX_SansSerif-Italic.woff2 | Bin 0 -> 15024 bytes static/fonts/katex/KaTeX_SansSerif-Regular.ttf | Bin 0 -> 29812 bytes static/fonts/katex/KaTeX_SansSerif-Regular.woff | Bin 0 -> 16228 bytes .../fonts/katex/KaTeX_SansSerif-Regular.woff2 | Bin 0 -> 13708 bytes static/fonts/katex/KaTeX_Script-Regular.ttf | Bin 0 -> 24620 bytes static/fonts/katex/KaTeX_Script-Regular.woff | Bin 0 -> 13428 bytes static/fonts/katex/KaTeX_Script-Regular.woff2 | Bin 0 -> 12064 bytes static/fonts/katex/KaTeX_Size1-Regular.ttf | Bin 0 -> 12916 bytes static/fonts/katex/KaTeX_Size1-Regular.woff | Bin 0 -> 6696 bytes static/fonts/katex/KaTeX_Size1-Regular.woff2 | Bin 0 -> 5592 bytes static/fonts/katex/KaTeX_Size2-Regular.ttf | Bin 0 -> 12172 bytes static/fonts/katex/KaTeX_Size2-Regular.woff | Bin 0 -> 6436 bytes static/fonts/katex/KaTeX_Size2-Regular.woff2 | Bin 0 -> 5392 bytes static/fonts/katex/KaTeX_Size3-Regular.ttf | Bin 0 -> 8120 bytes static/fonts/katex/KaTeX_Size3-Regular.woff | Bin 0 -> 4568 bytes static/fonts/katex/KaTeX_Size3-Regular.woff2 | Bin 0 -> 3728 bytes static/fonts/katex/KaTeX_Size4-Regular.ttf | Bin 0 -> 11016 bytes static/fonts/katex/KaTeX_Size4-Regular.woff | Bin 0 -> 6184 bytes static/fonts/katex/KaTeX_Size4-Regular.woff2 | Bin 0 -> 5028 bytes static/fonts/katex/KaTeX_Typewriter-Regular.ttf | Bin 0 -> 35924 bytes .../fonts/katex/KaTeX_Typewriter-Regular.woff | Bin 0 -> 20260 bytes .../fonts/katex/KaTeX_Typewriter-Regular.woff2 | Bin 0 -> 17272 bytes 60 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 static/fonts/katex/KaTeX_AMS-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_AMS-Regular.woff create mode 100644 static/fonts/katex/KaTeX_AMS-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Caligraphic-Bold.ttf create mode 100644 static/fonts/katex/KaTeX_Caligraphic-Bold.woff create mode 100644 static/fonts/katex/KaTeX_Caligraphic-Bold.woff2 create mode 100644 static/fonts/katex/KaTeX_Caligraphic-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Caligraphic-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Caligraphic-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Fraktur-Bold.ttf create mode 100644 static/fonts/katex/KaTeX_Fraktur-Bold.woff create mode 100644 static/fonts/katex/KaTeX_Fraktur-Bold.woff2 create mode 100644 static/fonts/katex/KaTeX_Fraktur-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Fraktur-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Fraktur-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Main-Bold.ttf create mode 100644 static/fonts/katex/KaTeX_Main-Bold.woff create mode 100644 static/fonts/katex/KaTeX_Main-Bold.woff2 create mode 100644 static/fonts/katex/KaTeX_Main-BoldItalic.ttf create mode 100644 static/fonts/katex/KaTeX_Main-BoldItalic.woff create mode 100644 static/fonts/katex/KaTeX_Main-BoldItalic.woff2 create mode 100644 static/fonts/katex/KaTeX_Main-Italic.ttf create mode 100644 static/fonts/katex/KaTeX_Main-Italic.woff create mode 100644 static/fonts/katex/KaTeX_Main-Italic.woff2 create mode 100644 static/fonts/katex/KaTeX_Main-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Main-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Main-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Math-BoldItalic.ttf create mode 100644 static/fonts/katex/KaTeX_Math-BoldItalic.woff create mode 100644 static/fonts/katex/KaTeX_Math-BoldItalic.woff2 create mode 100644 static/fonts/katex/KaTeX_Math-Italic.ttf create mode 100644 static/fonts/katex/KaTeX_Math-Italic.woff create mode 100644 static/fonts/katex/KaTeX_Math-Italic.woff2 create mode 100644 static/fonts/katex/KaTeX_SansSerif-Bold.ttf create mode 100644 static/fonts/katex/KaTeX_SansSerif-Bold.woff create mode 100644 static/fonts/katex/KaTeX_SansSerif-Bold.woff2 create mode 100644 static/fonts/katex/KaTeX_SansSerif-Italic.ttf create mode 100644 static/fonts/katex/KaTeX_SansSerif-Italic.woff create mode 100644 static/fonts/katex/KaTeX_SansSerif-Italic.woff2 create mode 100644 static/fonts/katex/KaTeX_SansSerif-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_SansSerif-Regular.woff create mode 100644 static/fonts/katex/KaTeX_SansSerif-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Script-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Script-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Script-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Size1-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Size1-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Size1-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Size2-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Size2-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Size2-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Size3-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Size3-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Size3-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Size4-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Size4-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Size4-Regular.woff2 create mode 100644 static/fonts/katex/KaTeX_Typewriter-Regular.ttf create mode 100644 static/fonts/katex/KaTeX_Typewriter-Regular.woff create mode 100644 static/fonts/katex/KaTeX_Typewriter-Regular.woff2 diff --git a/static/fonts/katex/KaTeX_AMS-Regular.ttf b/static/fonts/katex/KaTeX_AMS-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..afcd2eb4d1488b6eb04b00302eaa6e223812b012 GIT binary patch literal 70972 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

+dx#(E3AG#xJ08Wy}BTm@YE8F~~6J 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 DS<+#8 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_AMS-Regular.woff2 b/static/fonts/katex/KaTeX_AMS-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b982d6eaf85fcd6eaa94a0302bdf1db9c08e8231 GIT binary patch literal 32944 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

-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 Xax%AP1U)_>7;68*zHs)-b-D}yyMe+B literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Caligraphic-Bold.ttf b/static/fonts/katex/KaTeX_Caligraphic-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f84148db5806b752524c18c6173fa19e8675c976 GIT binary patch literal 19316 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Caligraphic-Bold.woff b/static/fonts/katex/KaTeX_Caligraphic-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..ab56ab7fa707dda6bf71209cf0275ef6be2bab03 GIT binary patch literal 11696 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 SybO+O1&u&$W5)mg8TbLD5g3U8 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Caligraphic-Bold.woff2 b/static/fonts/katex/KaTeX_Caligraphic-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..710c26179c5f1c9998065035a82a578cf45d60e9 GIT binary patch literal 10448 zcmXT-cQayOWME)m(73?B2co@aFfeG8L&QLQRLqvZ(3HfX#W`JEkb~=4#0^tMGbR=0 zMg#6B1{MX@J`wgtDV|0yX+>w&I}*DRA2S>{WFG6n`aJ8w|6nFrqntoyo_*3vnoU9T zU(MSV*16bAlrhtD!z1+-W(=}x_1l&|wz#Ktb$5A3hkjFr@!a<3b2H=b_H=FFY_F)O zSUdH{o)7+Or+?B`R+*Xmu=CTt|G`)1@~pABP%hUgx@|(ag53e03ue2U7puPOQ0`&& z>*a?$Ng)Za5N7nRCuhp+vteP{dsx{^2A|F3*i+v=|?`7iyldcw_9D#s(1 z-rcgh_^y+Lw!@Vu_RIJGzuKZN*_6N}$;@Zzu$GJGaMj_u^|woG#+(t5M9)Y$B# z&Xzx&r=p)VrxY*f%P4x!ucdxTOl0D1i->@nX-aRLO}G60dr2hq+1~n1y0NQ*b_cy$ zT4+Aa&4J_MzV%c8|KHuUW%cItuTM8cUDr0AR+4(I==$8~sO&SoMbj^r_*q-8UCh$P zYIf+52LsO{M;(iXix+OlBpvK}amy-XNA#!nv)_a_EZSWkrsz9)y8r1j3!dkST=lME zWH0$@BXMooDQj8x!rv^#7h69tpWc37(lKGjcFqF{_a%QyuJXx_JIEmYOS((>i-5{z z?!Q|vU3XcyUiG?$%j4X3;hvUQt5vFD~gd-V@Z>k}zU_;9<1~9~N2Tn{zvnN`F8^9~?4?=N zi;JBnw^kSVWVN&w`3aa^KVrCM^{y))_Iuce>^~)V$;f@`&e)~zHwyL`Sz6w2%&B5K za`fmw#Xqmp{;e71^yGzN*~@Y6m&P@&#~ z7mFMnOYEKrbWLPmtWmvjR`#UChYt({*=(JsO}X`9#!92;i`JiCE?m!ClwooAk#OXT z6Uiwmr900ZvMBNLcyjH5<+G|X5rwV|JQwQCIzxqa9yeaSugiub$JsSU=Gd`)VwZDo zG3Ni)^tu>XUHJIH-NL#pA%4+r%}o6+iQ$Z0jZLactv0qz`+MLHL%?yC#r;_f-&(E) z><=l;d)qr}PrkL(fn%rkcL_(Xn;@(ld^E<{FzGPcfo-k=jZ+0JzwCU=r6yHTETQRf zL1<=d^d%-P$De-?a#j?(&~Jsf>TF;>0s=oY$vJV}5h?#4;sbBSyCSVh(@Jb?WTrm787uweH&n z7x#eZq+`1?~ zMgB6?m0n&I+vdF0lJwJhzR2a!eTFnUbBSri#!P;Np-*i>w$2InG2^**yJ%*i+oaP8 zswZdVnZ3@5J|_G|<&Ul3>8QDz+rCCcYI(RApD#ImMg3Asq{OSjxo0Y6Y^2kIbU&M^ zsCq;#<2sp?wXs(_anUZ*9X)&5KJ)E)$k)_-_o3;gV^Q3546ZGR%ZYOD)L#8m-~G;? zpq-uTR;68zY@F7Mod| zIeYbF2-E3#9P{pdFnZ=|{>8Uh$Mo>0t$RDCo!Na*_P>a>oQGCGU*)3&<8!xbHu)E= z(sh_5vEl8>d(UQXklb2$d>!iwYbTv9@0|sE=FPZUS)I|q#CJIA2K!@OnHKkV#bY=!US|unNkBA)FRHYXhk_1 z9AeR0%y4!?7iY-!rUYK$6}?Pbj##M$+~;cI^-+*w&FJd&QMks{aytlHabMd)d+ z=k8_snMY+ZiW`pz%3hdvPKQx;q0bAR)Tmfts|D7%{~PB`kgakqd%=BkVZDzSPs^qR zgDI@e3)j>gzQ=Vmi`{F-ynjy;-F@m3*2Jz{$m($9yXJmW^b+zaIZ*N{qW}soBb|Vjo&X7pLDlp=5Zz2X(e3e6!mVw}Tc&uv3nBi77 zM{)a%t%AjE0XtQ1))iOVrQ|JY?%8gdFl)o?z1}a(gj%~Yx4Es*K73&YTU)v1Ij@JS zB4Ta-^CjdQQDr)8GUZ=<>SUi~RWo_kZVQ+)-<<75?}N26zwFvCDOpK&sxbvB6*^`- zT*G7X;Mq2vV>g#Sj?<_qJIdK7xm^2Z;Zn`RtcUjfE>HXM{PqUH7b|p~FIIVGJZ4|? zy!gOXrshvvcEU}!Hr?z#{!%Sy=7zolyxEG~JmT!-F2*G@18QzMuX?gz+GA6}-t~<4 z3V6P)T3+T5u_`NR4gZ6L9fw|(pESQ0y@cbI*wlwtuf1D2!8G@b;*pgfZ%z}GOuG^J zQ!Z%3S+2|r+|H^SH}~@JC0tN>#Y89_9pYJ{Xbj7M4N8}6JZme0;IW39DuS)$Gzl5IIMg{AGg{xPeT5YYu zFmW%h@7BQoN6uYqIn*1l&41Z`z3IC)o>~%`6cM<4PJO&`5SuF#du74(e|(w`mS%0q zZMpNjUE=WEoRXFLwF}=py=!^?tCtb~CdQUro{fU0P90BzJg3YxjQn;!YYorL?z>fY z+3y@(#V&h)i?RCpC+}Now(Q(vIJM}?B(JRNiP;^Z*-_X1HmrX0E#?@5#@e2V72OxE z=_iFuDL-KUGDGr~HT)A;B$SaViHe& zBidT&_*%K2qS3bnW$Ulo{`_rF;AQAmx@6%;rjK4s=lk++9qjm}KRarndhDC`c6l5f zk9YF=$m^bpSlsS%UPZCZIPPEwq4oe9rcnF~68v!-|NF59zq zdF_USA6MMutX@BdC1zXEo==xe@2)uWg_C!yX-`?x``26I+MdXtop2+teBDd#vrCp- zzA(eFddI&v-ezaN$$A{RUzXr58g}ojK;`l6scz4EQk(l+t5l}DXcxa0Qdn5#}i z!~JTZ=8Cv#pW3Ht3hi0z_js|bdXp^Q-XeR5iMz}$yYDL>x9r57?5oP(W$C#uY1@`D zA!_@tPg?xRx8}~Z^y1$8rR3)%m$QHNNlo1HtL_!wf}Z@!RMEF=%0lxr7z_DpuGHR= z+ui#zz&PyrjxJ#l-ODzY`@`gpMZfSdd?Re#VppEfC9?a0exqo%f5amZ7X8omuA6@S zyP=%n_ip*N-zUvl<}D6h7d)r(X{T12WZsS??Zr`-9zJ4QEx>hiZqy^zqpp{Cru(10 zTK)C3!jsq6vh@xA>eh%=Y>K&J*8WMO%yv7^MZe{_F;QQ-4CI@(i)DYwxEK_d+TrvCTFJ{nX+^B5msCO#%ChEH#f@{E#P}2z1*Ybcdk@b zrA&_6ikT@QL8jH$XD9En>~%Oc^+I{f&Z5sEO-g&iBIlpUYk9fatoOP9@wGjlI^MpK z^S91;AwF;4uls#GP4=I3%_|?C>SPuu|NT?t$4?m+1>TiY%UxHWU!Qx$n9XixkIUXe zlODZ{Ev;Ri^>g~UC0@3&)=o{XX}|tx<)_Lm*xSA2MeNI?H6qU@tXq<8P`~P|k7AN) zD)!Ee z)#d5t(n>vcPUD)j#?&42vUIg3HEKIKug;U!-&JC}Bkt;|bH&TgOj`fVVUurZy3Ki( z20ZwfBX(rL z(y%t=66NcUlb7A&7IO;xs{HhP^Dn&m#+0ZzgZFL{4?W~>-Wa*)j?ac4Pu22 z!_}-KKVQl!_xssp@!s+JqEEJM3>QxSeD~YRHVE-#|qOg^1z zZcx*<>b7C%HR%h#bjw#}KCiTyX40+quV-bznmVtOYrUKohXu1sJT`7S5F&Tr)wVp@ zzhV1a8#e8C@W@%fHF2rVyQS=tT|e|s+jf6Z)O?LCa~ADBD*8_5!j-J71FC$U4}Hv} z1QPq!f7shwZ*u8H!N%_GA7US-OWgaAuzpv@_RRO%rb>I}7G7Glq~bRH}3 z@1}4xhBBo*{aRAi}Fk{YG;*sTwxvio@+~voub|JOo_eqbJz?YG%%d||KJAu&kYI; z#tOG~nAkX~2!2R2IQA%?_ryD;jceXWuP)nN*y!70ExE^T!ya)L$+-p-tG#m0@A)cF zaiI18#(o{^6(Q%fgB%n8oX#!&wlwV4enam`*)`dnV#bSPWsf(CpPXj)MnKxkZ?Z>c zdBKjO$I`DK?G2mp-0XX0(l_~i>`T5GeD4?GdiA>hch;6n>wO+Hmu1$M6*0dSs672xo#gg0Bzac2ZPLlt zk#|3K$K~ZbYA`l`X#IVX+mx!Hu5Ay_O0(>ub!_-5Z|t5?RnE+*Oz6&6VJ?2VvAe&_jvwksdo=w zoW5n|XM8c{Ns;eNVFvjVHHR)0?0YfwM$JM|qsu0FqMN0zpK91`s>vIkpMSFac+>iy zOwF}B-@h*m`7!%>#)dr${V&YP*tWb&WXbdxzq*vajbh=QA3u0#)p358_`Gw?Hb;dU zv+9z1RTK}i6v)jhb#B+`^id}!b>7snkxw6ug*J{=T99hZY|MQ7j@rw7c!N=H7Uk-PVYbwx5 ziY@QlZ?Q)H81D_^Y6VM7diXC2+5LSjIRDZ6O^+HEM>6)#Q<=Z}s{a4v+kco| zeq-PCrn2lVzy4FVO>;X}e!IdVxji^fTQZrwkX7eG`2ugXRn-sbQ*SHn|FY!p)&H9% z_p>A#D}K}S{<-kISa;cjXqlRwuj5Mtd`_NST+n|{@lnqHAN8vwT_-08pE&>4Ok@8w zuI~)z(`Lj4tIt2M>xRj`|Mw<_|KTjW((}`N{sG-bnrdg7kMtMI@W`)z@J^3w%gc9# zx88?5{Iz)A5takLKE;`YZK{{w@Y(C^i@l;N#6+Kl3a&8yk!d8CR2RDCd&}Fv{MpMV z>~VOc==0ureQI+Q;C zzi0b=-jjnGP0P(TojE(HZ`IkJ*>CoJUvIE*mFz;};ASr;^%=8s_pV->(su7SH`nz_ z3!BTI8@j)F9($5|>bGmoteWpNdu_e)9B#F%?-H6UsoXd%mcRb+!A7=6T2p@P3_Pw^ zrpmtl!<-ota;!Ym`{c798!hdMn07w?+?@kyd`DRY)EJ2mnjh;6vfmCbcIyP8>i*Zn1LSBK>8 zZfoak*rxL3bQ}M&f|lRy#h-otbg_ru>!@8b(MqnW?%YE)u}O_j<{Y@OZ?1)v)z9A^ zg1zSzVp=Ws%LPR&cNhIQ?@3J@7r$bZTEX_(UqKxEeQxwD&p7=hEcAoy=2uInyBK8O z-D5t*KXyvSd>M~5EyXOdhgFv;?OAXlNkv2|rhvO3&?{lR_Uf+iC8sU7?`2%*+j+DhUjNO!BTh>r3cOs$;+Q#(~iEf2mL9Tx{oNzDcY_;io;&8*NO}zf%&i^YI+z$)CX3@>v(HPEq)Zy@4 z&#l+vPQ?ED?aCVN|A$#yMC{WaiwjwQCmo90;;X~uIC1Vfg=dZ-bD}24)&5)WaO(fj zkN!0hPP6R`e+Ylt;A=4<`@)S!;rEm#o7snbSt9=75?^)e+*hjU71i7qjLO%$bUe7I z{>s+cOH7{C?qx)0vT5v=k8>oi{h899T7A8Im9pxTm*)4LD@BWwD2XFgq3z-B8V-@)nH{{Q#2o^LL~hhG0LJ9B1-nz2PlIFGB;PTxh5*S(xB zuG}1V_H4zBD{ptN*r$}!_)5b4T-*(fN0X+!+Ush1Xi@lUJKfzvHnoyZH|><3_UEDP zL$1fQ7GjReDpiu-q|R#4{Nb}_lH~*2fD6vPE?;(kdSzZOdfd1G{EH?;knzi$iiDZB4bcaLPPC|bh%Y$WjyNsJ6 z!b_9xtCcaXP26gfH1%^t#g~5Bt9G|4Hf>eO6ZzTk^~&FLuP3jZ(66flO(5>xOUs?54B5T=g;#|`Z~SvP0s77tCovCb?@89(J<-b!uPU2 z-R2yV^}DnB$>~Xx_x?%R#jX_p#75!WnM%8_N7)%BDBO5bi*gShw>vq(p@fd@S@v`E_220}So7EOj;vK_p|4VcaKY~VhEHTOxQ;6R zIWoU^rmFP&(5W89>FTGh9-g_lvw*dBO?zlm_tO7bYj%IFnJsA`8kp#v{r%U*_jg^k55fJ%_`m{P$&KP;}Qc6eXolDrf-7P`uH{;T5tVRn)Ryx z8%dEJk}C_7EiOOvW!e7b-n#$4*%btqIuu1TKi)f9WrhM9Y|mqpwYR$B9{ z{LqToKZ=>YFEiJ>G-3L-!&?fs?YVpRY?Q!5`<5w(Ro_fo`_=W*0<|FFRa`k{-hbvi ztC)U4-_e|f=g|&*4Hp^p{kDJ4bJtFKQtNn0tv4X4UhaPG$!C6Te$TsNPZ_+t zuD|{6lS3*uLw*Lk*3RynukQ8rT&JL1OLDOs=UUHIne%r(6`wE2Jz1jN-cD}vWyw2X z|9v`hLx0?}^jq|4J>Sad;+y8X-V{muJiD@Tww6gL@5cV%pS|31x)S`(ZcMx0`SxDs z%n<$W{p7rzUEJ@(E3#e-XH}QxM_im_wem*z$rW#nxbIJ8^J-bE{Ox(bj1?*Evo`zh zdLi%H5WzB|^5aobmijK7R0%6@$BhC z=iX^PbzF0xZ$Mk4pI%C1Ugte92zptG7n^6%Rb=umOOUrY={M1kBm7Rt1 zlEt}eRI*N72q^e*C-&WeyX>9ESfy*ve%n!_Em-rJN_jj~Ui0Zsf~ft~eZ{p=!Ob$t;@&3| z&i$^5-d^@XOEodV$@aLwUeO~fp4ET<5cu==EbFxXuYNiCD@x1a)0h3+yl#f)q&&XE zj-x(U7xm@m#NzkC85{AKhwK^lN!k zun2kFHUDU1@h;0VH#k<3?IOp4P3n&eGJGa^BpnU=`R>w%dH2-6o9^im*6!ZT7rs<| zp^nq3om-eTnH&4;pSbv!n3qR!1_=_2O?(!Ur4 zJb#xwU2$U9$<&aOA}w#)H6}9_h@?*t4ZSSBr_=21?xnpRs>%0!b$@G@W-ZO#y|lx@ zzg>bM=CzTK$5lS|Bd&K8-9qN>6PS~+yf*4ykc~yj>aF=Jw|?f;RIIsSF!TKV>RNa1 z@;dD;Jg(DRw$JETyO6!~N#TT*Jq<#v7oG0LtYr;6VB~zjv_|bP$1;P-Y)M8lWpeY^ z>9sds*v_+l){`4$mhNiO7i3i59pA>WD9Q2X6;H$D$12yOcNsF@*=!V}m}8O0nFp)vT6dcTT<0{b+qY>( zpLOo(kR@K4!HF|Z&%GgI(o7KmV`Jv-{#iSLQ%#pj^U8}KI;C$$H+;+*P z(`{bn+1x7vrs$q9bzli*c%JL1cHJ%TwDP7O=Z=b1PJEW;v+0?Kxxu-w>-^PzU;Z2B zJpGMOuhDjWzV`tdi$C^n;SLFM{UOZuRr-uVt3ZuYi&>o8xu#i4SNbC~-_~3&rW@$cZIRA*igVNZ^mM;vtH3cAJksl zlUEL&?R1qfC)`rURK8@xhr3NS?{_Radj0wG_U_GX_jy8h&-u3WlBfEStT(KIhII=B zp00{r@cW_2b3WH!$rG6MWV27bEi`O=bLt?!VS%@?b-#cUuO#pFmOJY@gQ~s=&#~p; zN|Q6#J7Wj;tv==ntupqG{Q3u0um4uqo#~);@szsb=C4!Z$|9KV?6&QD$aF6MuUwkS z<>Zqan>3c+UzYdbf*?!FhSp0fCdkQcQTTV~Lr!-R+0XlS?fdQVN=I^c(TBwn zJC^=jyu!To`-}@03!bh>y1ry@jeynOjeN{<#>$%2Xa7k!n4OSO(a~6b+f}TiNyz@; z?&@bxiygllyFDf9Sx3>a#GOgoCzW}hId|mCWp}@<>mqCA-sP@Yzt&H^uwNo+Z=pWZ z=gObw-$Nh!ocqW=yWVgk)A?!A>)tO(F6XOrX^f7#9x(lW=etEfEom1o*xmgzZR3s-?TO6s^RKUDeswRM)lpTB><6_uA3ZP_aKeR0@>RYhy(=w;mew)y4H zmI=vM0a z**N7;u-)2q&u{y3CqBWC{X=F`V^Z#U4W z+mzXonDF|LwbN-+m6}VnkB@cCSUBNZtQx1<0;bPS31{bKmlXR(UlG*s+u8nP>SR8z z!|mUXA1=EbwEAhtLDx7Lv9o?1H6;fVnYfD|CcgTS(xiT2(lm457yUg~Hf)l7^~p4) zjA?D%BKQ4gWhR6!syZ8brmNV@-1oYLgW%Ivrl+?a`BZMXww!<8`_{bQ2le^(w}iQ< z%!xaqDt|$yNXFTTEpo=x%=CxWhhJ=17iO9hyy)?t>s1j|T3fh&JQ082`}WK6?bDyX zUj6s()~iqN7`H@C%6_?un={Xfvsy$Zp!&;sh0A5<%C*kq@!yZ%$R?@hSmk~3oQdPo zi>KGc0^JZjLE2iRnz-mU2;mOT@!~Ng`#{ z8Pgw`+t=E5xHfIiH&)Tz(-1B8xjUIrI6C0I(JR4ky`e5V$2NQnJ6LacGh*|s=6T88 zUrP>Z?~^+HZ>#dr6mwD43Cvs*c@M_SPM(w#nSN30@ZPvA@yzn`4k3S5Wj+gu{w1eY zbot-gl*mP8X{<6#^38h~{&GiJODV*xdFb={`Tg~A^ZecRu2Z`GCogDzy84EPS(`g= zg_Ubhh%FnufPjqC@qq^%xL5-~9Q_FKdsvi6*b6(Q! zigAJ91o4-JO277BH}jb{$Gq74pU!_#`<)}2Cw*CJLc*6D9v7`1uP$O!KJ;JSZS|%XpZ+Y> zs$9o>U?+2KOWsi@lf{f1r_pZ zY~!YnE8ZnMx%;~QrmRVp=A3uw%PO0n@n}YRCFZ^RUUQ_*Y~m%YlqdW@*LL~ox!37F zaFys1(!c2VL3TmPql7K9mnP1RJmXIP74{wc7S^50*)y1zfIt44bZ%oL%9pZ1OXl|Y4wIQxk^49CQGmd6wol)GX8(!|e zkz;NS+cBk;b@FTEYLg64|M~xahy1GJ=R@B%zYyj>m?pQn2FSG-%ygy&nmnq@pWAoICmj-kA!tHh1%DqXJo zeqCF$F`>}FQg+um>qW`!&+h-qnJSl-cvEuQ;^!>P+o#&Su=;uB)bkR`=OxunFW)#lS837S^_w}m`EIW0 zUzxb?l!IZ1%0u~uc5k?I{~l4dEI`h5f;;%<4GSVi* zeKXN8pczx+glSIyUpmCYfwrh0B*_n_u|5S1(v_ z-#U};$CkY)5!T&lX7%mzu?vYG#7{2UfEh<^RW9o_BpB9$HZhoeq9$9oq%<|U*2d>47E_OZaXucp~m}7b} zIZ-I;tW1%klWY6S#qslg&r;M|urjaIWYI)#^NPE&Gc=SZWiQWW@7+=t*|R2N?JduX zwT~~Eg;Yzb{nlIg{ikD6*_2vc`wqXR67g5-Yxf%1IX&HEAr}6kKk(|*d(KB{)*X5H z;F04;PL9qalP66K4hZsGxNPCl#ot$+KXpVWbXJL&tufn^^Ge#-=O=2ICS22F9f1vJwS` zTCPwA28TZk3=CRn1?jmrL~egzU@*DCz`#8{J+Ziefq_AQfx+Vo0|Ns`dQN59t%~Ah z3=9l!7#Iu|WTYmhh+Hp~U|=xfU|?V{%g9JgWIxLEjDf-E0|NttN=9x;Me=QyqYMm2 z4h#$o8*=iK6In#Q_b@ORu3=zch{{c@C}2$Hv1ec~>|tPFP{>QnO_j3>v> z*DuH~F1Zw@^qGOdBZ7f}VOBv=YC&JegJTQ~4j^}RF)%S0F)%QkU=n3uW?*OF*viJj z$iQTvZ7gUksBSE%Y&0#!$cRbw?`tE*jSNf->i=Ico?$$~z{#M_py{B-%E-XX$i%|H zl+3`w!WhlK$jHa&!^og0FCrws&&I;Q$;ipZCZa8DBql1NtYm6pCT^m~tgNJ_ti;C7 z#?B@xDk3H>W^81~Y-;+cF!R#ol!web;+pa-TugF?oE)r-;+n$piaO#vOpHe=%3r@O zsK2DDVD1#n@se=(WBLkzJ76UUY zgE}J)Ru(pBHQaAvS`u(oDnVr5ZcWMpFUVqj%qVqs+}U|?coVPecjE%&^+1N$c zm6g=g4NTQcO+bDzH#0R+Q&wVU18HGXQZvu?3Mu4cWMUB!Ru_|E6Xs#!$jT_@WanUE zB~x(3P|a( zX{xcYu{bibamlGhS{X@5D;Ov+bGjM}@&}vP3Cg>3F)^_-m5DJi@y5Ffh?LrhDY7d| zh$^x&G7Gbc@GGTQDj9Gvv2hDBu`{yqdl@C`uuDpcE67Rm^JrReGb?L2s4CgXvobO= zGO8zXh>CI8h4L`@DXPjUFfcGN$o#isyv}%m!IHs_!N(QGn6M%F4>l%1+QlO;kwB zB9MzsMqAw6*vQDt$d1L_+!T~#)J#py&B38#EG}p)CN9dxt_;m4ARfCiC>bfMn+vkB zvma!WW#MJ#Vr6GxWnyHmOOs_{;&FGMz``sn%ofhV%*+zb$iywAD#XIf&TZwEB*@K{ zW@M8$iw)#QCMG79Hbzz^VPV0fq~k11Z2wYNn3R}U9G#gs8CjTF6xf-V*j_OjxP;6A z<$9z48jJ@Rk1}{O1UdK{>N2r1n=mplvNAGoFoTj1OA!MTBL^cBM*#x|10x4R9s@H2 zD;qOwG6Nd}BNH2AG6MrUJ3}}F0|R?B13Lq|znZ$bvWl*fh8icEthTra8@n>78~~>i zP|8t)r2;im6JtJDTh7uL??&@fRBL3isA8&e%?R)J7kSw(qJ`q29S zitz-~Oa>DM4~9$!E_p^~76wK(Rwgg+4O{^c4oVEnEDS8n84OII{Kk?DDk9k!SQ8o8 z*kI+kw1YB45kmnURgn%{>SkKXnz~BtY|`4oX5g?97ZU|#9Z*>h$~)lP11?{|r7E}t zGB;5NB^*$FV6LXD%*F;vQ{X@~Gc{3H>le4wHr6nd6=mfy(l!;45a##NvG#E>v#95k zkr0>Vw2_x)>0}e<(lzGcG*#4;5#?j$WlT}ikW{iVv=R~*u{P1=W?|-Y zik+XcNLMvSN>NTsoR5ozk(rB|UD)0%TbPkO)jdo_URz4k&eKK1je(KD{J#d{Q^xZQ zCJb&4&Y~hrEKJOd3@l1gOw0_R`h+16ql$&u-ILjviguc#(SP zgAGFfgNcKohp`ejD=RY-qZb1M3nLRV15+|9BdC;s)a-V)I@-1Yb^+QpIyRExifo|z z23)N`N=q?tX$g*TP<;uCZF4hob5My3W-Ec?R$LrZ?||Y~joAns$LeZo>gr0ML?S98 zR%PVvn#9K_A!)+){uwj48v&&5}(>M^#0YgHuXLNnM>sK+qv1$bm!5K~G(Vl}nIULQGlB z!^&7&L5fpXg)Me@On(U_8lql);q2i^0Xg z(Vm})osH3pfrWvMorNu#gOP!Ok%@sZnSqIcm5DW;ft{ThS}`*+xHwsw8|tgbiwN;> zv9mFlGMaM2sw7Y;A`VXFrlue^D2zba0bF)~g47sP@ra6mD;-dsBMiPP^K`JZwDFfaC!(w=Bf-PS zEFf*7F0C)bZ744)&d19p;Aq{z&gsI$V`UR=qbqC9C(6jk)flH?oUu?_#oAO-j&UEq zl$4{pI*+xKmW+N{vXUeN6NB9UbIis}HyB(Pf*HoT;1J)54>A)8p zWUb<+p{J&%ti;78t8ES{t;NN_fecE%#-K!M4l2*sL3vhOj!9fh98`#jLUSl6+k)ax z-Bei}l!%p;)Kt~fO+idHc6MWPb7MJqUM^-PO;Ju3RiD{;f*kBjOdQ7I0*t(@yo~Iu zjI2W3O8f$hEIgXhqCz5y{4AV&Y)p*J&AiI|G3Lr}t(WtD% z#%RbZ&!?lo;VUi2E@~q#Vr(oZXrRU?uExi!CHVIa-O#3&@qFC@>F#Lmgg1!~xG z#@BL4CW$jMaf<5&@ba3wa7!#n6qfNZ;$vd56ldqta_}?OU=`BUabQ(q4C59Q<>cpQ zl9iIuV&~)2WM$*?l~9hIYHlCN&o9oyA{Lc$a2Gp23kx$BFC&kT2&*9zGZPP61_v`& zx)7rummn9Hs=S#F8>>*TrM#j?5ihe5ABUg{pO&7MJ&yptiIfyGD2{plKW7qUI>=zj z;OyWa0qQ|`F|aT(GqHf#KFd3$!N*W zCZers1P(V)a)(3-B$Od#KdgBS3T()STmk2P&~W#eQL z^I>9F=arEZVCQCG;+EiJm6X=k^)b^A^7k_4)nCocCG8xjYSCupG$X;xg`JU+*^Wg( z%R^FX~{mFfg++ zGq4sgFtUI;56sC7tgKAY3`|S{Og?JbKH6ad;Eo@tXKHE&>i&WHNKg-f(h|7ZGP7qg z6E;&ePzL#tjh&5+72IS21qM4iq{nEgD#R?dAzM~XEHTd{nNy*=bCrCAFAKYXh$J^h zyd*O-vx6ruBMT$9E>l9bPckpRvLBynMZz>$R>s>rOkB*a8SIS0@^+ORp0MPH_4G zXF_<&0Oe73Hc)E;oTTpiE2wsPG7GbY3$sgb8wd)pa|A~z@M>$=OYqC-sL2GV@cG&X znsFJ42nZO@^L0%U)hS}k(r_`-G52F<)a2!pR^^lAX6NGP({+)MF_4vF=HcR#V`k)) z4_A`Vv+@&=2h6ris~LhBMI5+=8JQU+SeO`?K>-M=tqee^ zh=rLUgMpKSor9CTfPsaLk(GmmHJO_W+<9VPWCWLg@Idt5pcW9}U;@|2%ErOQiqOso z(#OEaoD6C|u(GfvGH`Gp=`{+7a4?1HWhr1FMYDqyDf&3sIl`e>olR8-3pdDvvN8KIGAW^Tn~W@HTN3xitjre^AD>dNdQ;J6e4wPMALQ4FcEG(j`!TL;GY;H_xO57|w@*1En zEQgeoCOiAySTNa znLy(%|2vt&nGP^SFgQ8b`#UnRvCAd%xC=9A+=Us`hX%Fs zSfd$OS$Wxgw6!#~tTfb>z z5EoQY6k=ud2oe%<*RkZ4T~V%UpvA7C#>!|es-VKp%O}gk$R%OtZD{7p!e|$eDy|m5 zsVu0<%@se>r%0BaS(cj>lucOWgw#WH*qB*Nc$sv}vviHi*30oQvP(*^a7ags%5ib? z3mI}VvkCABD=E(mXJBLy`hS60nQ1jc7Q=1t4N3tK4noq5T#VL?Y)qDnENq^PtSl^E z(&&QhEG%A;kk*A70|OTm7XwoPCnFOFBO417TQUO+J0mL#YdixN7h^OtBO@a(7pNTw zGF%6ynwgQ2fs28WD;ZfED=SMl0}BglG+4jCw1Y8BIRiTjD+@bo0ak77Fl`L1EUf;K zkq!bWNpUeA>KZySYUZi}+-$Pi!jL8fybU2@Yz!U;F*Ao1XnahfB9NFhH-i>^>T0H@ zX69_{?BFZ`&K;&EpwSahyh4UkOw7zdRSS6h37jBQg{5_-#u)OkbMniSSFnpZb8zbj z3v*g%t8+6lF{*MXvvEtSigJq=x`?o8aH%p2=I60XtBA1i>In%jbF-Hg^?kTfsLJ!g_VsZnVEx$ zfdN(pGcx#iIoX(*>Zr@hhzfCYF@!RPg1Shmpwtf@YJ~(bsM2KzkG+|jnH!lw>ReFU zTv>^Y4c1YHwERE{j3E7Mc2IrI4wq(U^vY&oWMpFHl2a98<_@o9!QaJhJi$EdI}vWm*dim-Bs zXf2Hp$zxj0$;`?uB+qLwHLOlW!rs)xos(HlO+~>-M3R|_mx+r*%*I7jD}v2r`3-wc zMmF(C9yVcq2>~Sq_f&8yVgU7F?l2u>P+^E;XmsG$kYr+Fab{#?6J%s$W%lykAQuqf zpaBac1~w*ECN@wp0BZh#I_}{14`VbtBY4_E+CdMl6g2X|oX5b%%*qUIH!(9rV`_+W z;L%rA(G!)>)>Z@!7BV6g`p^sy3Mz9mP_GbDhM1eNDyf-6+sB|(4QdyGCmPJa9T8B# zgU1X(Ln0>7CY6~ncyt=nb`W6Wk=8blW8^Ru;pZ~eR^jDk5s?;vbVC^Da&s{X@USuK zEH)736<0`5<>t|{=44Y47Ge>u58!1s(bouIWmM4K>#ZX%t0>2`pNUW2B0Xb4iyxDq z91n|h^Q^k0Kz2?(ScjvOlars9pOHJ$KvaZB#XV)Q5Ua9+pg2DVr-d)0fRE)#OJ)ux zWp$HQIYB0Q87WX{0FIFfOa~eK7y=x8LF27*jEu}ij4YrT7zTC@b_R|D24)UM4rWHs zlm;s!6Dz2SWo2PxO@_8d*m=F#7+F~OSbY3^oE?=_)K!(VR5;nBwHZwyL-pXIk{vWQ zZzL`z4k-(u%}Cftin=;d_?tl@0aR{)dV!!mA*jL0_?^XEhEHEpN>)%%jGax&JUT|7 zkC%f(T2+#tSs=@XUtCT?Inqp*pG&|Pe)NZJe`S$#a4ukomWs_fS-w- zRffZjS1aGW&_zq1o0CyOf{9m5Tu6e8iN_#}mzjlCoS&JIQ$UKFiH%2GB|LC_grja4 zC!;Z+Adj>JkDwR>BZJKUb1a2S2N`leu$j3Tiw`#| zFS{-q3l|%Qm=vEVub8SVE0+{MFEbM(hawXzn;7SEKgB3^7B&tJc1nVRar3WmiW@HZDmORwh;!RwWZYeoRa?C7D2gQZ>9d!Tw zY;_mnWf9=v72@U=W@F^%)sT~Bmu8)_my?Z6itA9YN;nHMJFknc!2)xO8B@FM%{dum z`8n8iHk8Iqez$L@T%q_orlcAcWpGY&KtO_G&OyvL5|L2%5GmA2Wfm(y+ zjI2zmoJ`EDpvsJinTeIT037rTj0~U=u4Fbwfo0brX=gKs_K((5tDdBZieg<9_Dg;6?<#8DlsJ+kDi`}o*D-etD=>WzLbQ5g%A%1 zI}4kr8Xvo;VxS}o3x@{NL3U=*bz7%Ia{5=bE@_c4;bi3E)0X387UJXNG;g?ckry-# z$;iYn!zSdFm{U+6D_En09I_q6dn;Jp|qjU#nn>R-i?t*-=kYvl!={5 zfSFS^D36CR%*f5c%sNF})YC^)LQq?tlUrVqmz9M}-Z&sfgy~>ainmwpR!vDU*}5nN z&WynN5J6T(9u_u1L4#!(oC-aTs#3DGUM? z+G^TzOy#!X9PCV-rV^5N^ZdnFn4~o%LrP_YRct$DnWQ2#xw#C)Svh#~l^8*Du&|*E z#83qzhqZ*Xpcp%!v!kr2i5)W=3lo=&5F?w5wW^|lq6PQ6@5KUw(i|+Tij2aH{OoEn zjEs!1Q49tKMuwvQwamgy2N|Ln+CjZ;MkX75CUy=`uUiW|<_HQwCdL8=4rX>{4t7ut z!OQ{bG_x|Wv9iT8fQB9!z$1_BkdX^R26P?ltjz4Jc?^u8$_6y*gQ}6iC(?mOO-)Zv zQ&m_)30!xBQV=NkV5!R72$T=Obup*}g!a)ui4T;{*kN@xD5XIKA*Cv)%LdY5&jiZx zpawtF;*{tZUsnkZT{U}M193hPMjn|a6CH)baPtL$a`Mim35>jTk&Z6B%pM6&;-c)V z9I|R6%mO)90^(}g`e`wSO1wh+A~Ia6;U*^P#t|}_j0+O0eO+T^mHl;9MY$PyIeFyN z1$3)R3p|qfSd|?oDsbg&w$Tx1W0p`96yxKRWo6=JpdRbXS`;pP?LWM*XK z;TDmMFbe_2hw%Sb%&ttU7*ZH!IdC&EGO$~UGC_usK%*dL3=HgS>CwX`C2hrG= z;2=+Tdm9ULJsmX_IT;H9E;cc6H_Qw)N@r#aAEjdhMFePq-q;8f)S$*cC^q2j08rOk z$<&U?+z1>Spy6X>B~ZkIq8e1@nwyvl37aBk62ZzKqo9!R3{_obzWQJ$Wx{)86kclIoDWeS#B0Jc|k>aNkI_-CTTTs7GY*rJyRu<>EcXGatUIr9Ht`dTuj^* zQmm+1$2?kuk6%*8l9%77LXm}4(jie?nO}fkgr9?vhgZQko5oK{-xVW+_G$MpX`!+$8k>6;l(_LC6?}4B7#J9A7_7Cdb<`Ev*(9}LJql2fqa+GWrJ#fh3Vm?c+cAL#B0&8( zHc-5wMBzAUL9#d8+Rbf+ZUVaW05hg237A8)n z5nc{{Y55{^?$=DKl{ooCgq7G>8JVP|O7yM?#d@m=v2e5U1$l71dc?uR%f!N}AI%prWSZ#LmRP`2YR?Crs->V*rc--WxarA{_V?8QB>v8JQRiw3%3$n7yDgc~D^% zxG+p1ScHv<*()*q4*@)TCk=@sZ6w7k zj0`M!3@o7KQhDHZ8m1P|WTg@_BO^Ow5opCn5eFj!3n+G&Kx;)0-AkvP{XB& zjj4!%jg8M6GEE5@J{4zV2o7|1G&R=ORgf1EVrPX7Wk3dx5N&U0w;Eg=fg;aH6cVHC zB8W*vW$;2I6Hu&!qZFwL1noLX3OZZam`d|2+wyZMtB5OkY_=EUm1W`56A@zJ5HPkC zV`1UolH(U(jTI3RlhkKsE6jGa6yOu&P*LX=w%6n5k!5n>kx*7JQFhY^=(18& z(l!w@cu}jR62vMX$;2%nuU_>f*p;81g_Vy_UX4vc%zY&z3;QHjZ7wDzE_*#iEvE^Y z`f?%y+`J;7Iz;mS8Ky~0s~Id90zkQliILGumXW~&5<`*<%%Hj$G#tdlzzC`|Aejj? ziXjYIiBQDA%*b5Cz{tc{#K6Rq8R@`fVWzDiE~>-=T4Mm2kp(AlV^BvKG=`?84r(2l zLpsOMFoca(L&_j!B}oHmYwbubCPqeS;p_<_EV>FpV*D&TdS)zQ6Ma%*#h6%lnK=2a z`KNR8iV4PVcHrib(`J$oHR5DqaWUbRXoD5=BAGG*oH@9O36|5jnf(H#i;*doZ z;BZk^0u3yJx@@2TV`gJ#gA~WgZ0tQxiQVWhF^NSx0qIeklPaMkY2+ZnoS= zM`k8QR$UPuW>zs*enw_F^I~Zhd1)R|el|7%9up?X19=ksY>dntmO{+TEVCYqaq_Wo z@Cx$ES!wVyRSGE>OK1cXrDO>)F>-SAb55L{&%w;b!73oj#_s*_lMsuN@1l5K0a;Ze zT}~!8i4Y-yCI9|S=I7#L^>}vOi;eBy&3~Vz8O8a9B;zaNEaE~87#JB$7#Nt9A#}pu`OPh<6i3v37$WXw*z{( zMm9D9HXmsR6=p_IG6U&h0IethmCURxtVJlwA{`_d7#K1cG9tqK{cNqxObiVa@5Fa#f zEG7z>J^{7b!3BdUsNJHbrp)M~q#?}6lVl|)EXKvo2^w+Koy5Z=$!{$yDJ?9Z=+P<3 z!Ntm}&dMRL!p*_Rt!U&W$}ca%1{$noWUtHPV3J|xU}onw5SNtElv1(n)#c#el40Uz zVoFnI;$dOdG!hWhkg4MmWn+_xm1f~pVBrzaRFsyJ5Rj zUO187kQmm4D!lmndukYZqEU}0c|

oC5L_WLf+|jk0Sd?}K!f-U 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 P3Z>n^_A>te&%h4=`OqC+ literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Caligraphic-Regular.woff b/static/fonts/katex/KaTeX_Caligraphic-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..aec8a33389cb27a7e2e603ece720eb000fb9a0a9 GIT binary patch literal 11460 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 F2LMk4hlv0H literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Fraktur-Bold.ttf b/static/fonts/katex/KaTeX_Fraktur-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..483a7cdd4eb2e0aedd07727ead59f50818497a0b GIT binary patch literal 35660 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Fraktur-Regular.ttf b/static/fonts/katex/KaTeX_Fraktur-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9aa5f674daddca531e771b400501317fe476a722 GIT binary patch literal 34352 zcmZQzWME+6V`yMtW=QZ4);Dt98#$4IA-{)#fgvF|H?e@pyz~+SL;f2E2F6LrWhDws z+Wh$iR>b(r=cLk($Wv#@x-oke|W8z@UV943Sz`&r8mzbM6%bmrUfuZ&R0|VRt zg8br=iMuW?Vqj=_z`(%hQBagxFsbLyDF%jG2?hp+E(RtBBak^vq72Lo>$?wg;#KauKz|73Y>?7^H!7w1gK@={}#K6qNoWQ`qz|Y_#?I6X#z{pUmkH zA;`$iB*M+a#mOWV@505!#m%@yW}cLU02?D8vy60fBsXJ}%W%y8O4#7dNjiQR*dg*k}Lw1YMS z13Nu7IbpsB9I$tJ2T3=SzXV{;>8 zBQawmF=*V1i;0UF8=0Azo0*!ZtEsE0DJ!wFo12)M8XJj$lo=bDn~SiCs;j9hiGm`Z zogJdX9IV689BL4ovXZ)*x;i_UHZ?IfGdDK@8O0_l0yE#-j9Em?*vQ<>R1IX2vJyMn z1!-?f9%d$HCPoe>U2_Gw5J6UT0~<|dMm7#6aVAbKekoZwd2U8Vb|wKiZq5*y1}Q#f z9z`<)P7N7Wc1?9QJ`o;6aV|zC5iVghWjhHDBOOjoU(b9?D+hVgjVjV&LbAL(%#4Df ztcpDR-(%f1bd9AR zn3;q`n3x$E8JQRv^%$9$8JWb@G*ac+IW)PLSOq*4*cqAF82OZ()is#7)j8OWZES-> zOr_;_%j)urnQLljbMvu?Ny+`&?O7lu$Rg&J9>_1F4ob|fj9VDmn6@+UF-U?_{Z>$X zGx$hvW?*2*jNGiq2#PBcP~Kx>7f}L5im9uzoHVll7bnv!Srxv+JWNcSQL&OBvx@$^ zF{&~>WRPbNbr6zaWMF3S5M*R<2bm-XGKW!=jh&4h90!nC6BShk#j&~?IEu^|RW-To zd6-yuj70ebIT=}mxs@#WG#L2b84y+;Ep$~$e_e{kl`iM76w-aX$J`xdkaHd zC24VfZVo0M1`m+uG&LC6M6`uXjYUO8*hECx*hS6F%*@5aK%NCBP;oIfb~QD1bx|>K zF*apoQ!`UjP)Vi)&I9HqYU*mHX6E8zV&dW^wNi|%jNCl>tc<*j%$$-MoIJwnf{gr3 z?1r42Ow3G7Y=X?Z(z1MvTw0={CW8FD9Nb)T+}up-S(%xbSlF0##CbV6)mRt>8JXGm zWY{_Qq_`P{8QC=1*(CMEIaqjYq83ow6IHfo_JQ)}n^#8A8 zI?5ErAj+WQpvla@#Nffr$;9Z+z`)GN5X!*Jz{JSRl*quqz!=HE$iV0;DkdZXDw`S2 z%*+K9+1V8Z+1Zs$O%*|&H& zu9mFK!NkJBsUX0_CSl6P$i>FXDaa|p&BJOZ&%?yRW~3z}$}XYi!^F?T%poGGEGZ-+ z!!N`GvPqBO4bve;VFqpn1qWFsMg~SkhHxfExUZNQ*jO33nYoxjQEH+H@|PLNM|O-( zj85!qe=9i|8JQUwg&0MI#Tc2{nHd-v!vB9{IKhy{z{w!&0ID>=^#vcJkFpRGo0zt_ ziJ6fYxS9%=H&9ZR5L3{WQdBZfRsp4~|6Yujm@YDKGw?g`urflDlN2bg2n!jDiHox{ zu!|_GKRd$2$t5iGua8kol#!3|FcTAt=ASi;jGziv>;GrQ6O3;dBpCD=j5cdBGI~I& z18$JNqQMOqA87{xP+JCEWidp9!oWXri;gbHal&RspmYZ*e!-3Mz_o2r)ioXO&2? z7Zx`&b2HZB5zh2bmhrJOJK^Uo4`V(f2MY^}lraaRrMj3<_#81tRwhO!MiypfW_bkxok(phMP(T!BP9k# z2KE15jB6QhGPp9>I9S?qaWJqjG3YU}urhfufZBBoOa%-~tc*;oc?_&9jI1nq3@i-H zEX)ZEjEn+|KH*y8+LlIaY*N~cCThx{gvPF>4$A1pAm2a|Cc8Y7m^hfprmU{VWNKn= z4ywkXk)^BzDpQTkK$;j0P1KqBIMl@1`8XY|xR^LiEclqT6xH|{nbEi{yQ>0WW2+m&tSu#@1O&!qTLyo zSQweo7+6>sBEhMYfsv6pih-F~gxSZ^Oh-deUQR}Wl}%KeRo%?o#LUdpRMAw;)Wn`i zOjJ|^T#<;1h#MQ38yOj!i?FeaC@ZNcD~pPYGAn~C77=4(QxkPYa~@E$_1{g#2@?WY zK}|npHC8TWW_CtSCNVB;rYIgRKVM~z!XozlJRFuRqVik@?93djSFcL5GO{r9@QH8+ z1e{`HVPsNgW@7XSU}fUvNp7_gX7t=?%>b$qJQ#N{o?73-S2jqq6SEg$RMf!WkGCK%vF}>Ni=4x`O*nW~OGwV&X>P#-i*@?Ci=W-~zx@OCS(>&?K-430q&MsPom z3Dn+UE&!Fi%#7ep5Q9&o16NXlsfmY&UmDgsU5pa%Cl0S-|) zTNwpLp*R6PL02I)M_YdZk#ZeDRRv!WVKGf6Ek0dtCJBWz30z!UB0@ZD%*_0LJSKu1 zkxYy%pc;gU4NUTLh_G;2h)XI+%BTj*2`EZ3?P6zS=ao@47G?{u<>uxw6xFc~u{7dg zicr^Z(pJ{x5foxnWK!hUHRcd8RMsty=4WE$=j9dP5fbFGwB}SX6f0$7VPay05FxDG z%&c+>N@f}^0)lo5YMOd-3``6%pcW3}RR(1Sa|Sa9V+K$okd>u?4V*C;^1y9N<~(p< zGeK(vRTUj=6?0WHMRjR)b~XuZRdA|@WC}=E!3@wWl%M3rVh#rYM}hVrp(3$ z2|mVD7Dg5cD}5d|R(^YVYhgk6U;)ldeRrM6Pr@9REVy&5>|Cw+c$v8wHMGq%`FLX( zd1Uxmm^l@#6KvE~Of}d!bX+H=hV9^yIi|yIX%Se!!^FrPY-SbD%L*DlF#7+6VFlw! z1}+9MhFI?n%8)S*Mo6Lu4I40nS}BkL5YPaLFsS9s#K4#gYrue{96+Nlp!}1J82pF^ zjgR<)20v7k5rZF)CM0+q1k~|WR#G#P7L!p^lN6U_mKK*$)sz&KVVoeQtYo05_-~7( zs+yFTyaLFb`v097HZz`L;9}5Wuz(cV0-#}wVo=)%)It=1rg%oCVg`^HD2IZw0t2Ie z$xmg(5HC0)d zd6=1bxP|1znAw>b%MFy3BqSC7{b%9iRo3AV;bzgW(r002XW|qRQ|H_!kw3We-!ImN4 zfyY2rnwg2wf{~et$qOyU!2?C$7#9H#d4YyxFk&1eg)hb(xNNMSc z4H?;_#np_&MKu*U1ypntl$hkiBovus#YB}EUrA_7h^m>o*b1@f8mVZ?ON;X>2(vJ< za|(#)aWIQ0$S7;+XarbsF{#MNDhU5G7E_X!5>r+Lwco}5KVv$~w1c6T!P>zhJ;~Zo zgp-YlnbFJLPJo%woq>s&k(r6HfPs;*kb#+*AsSRn^E3M}GK2=ZI%{h&6f+jFLTf+J z@E*7}6A=>^2aVd8ny8zan;DCXiGs^bc2Kzq8VCZ75SfefF`J60sjDlovxA0vK*a>R zI=JcpwG6?90Yn2h0Kv^lP$~rt_khY{V@8SK5N35Y*+Ll(DH&-lSzQ%nX;ue2W=394 zSw1FaMixdE4n-bTK0#(S0TxaG`U*0uvazyBh8tUHn1)8^8(S#z@d-+r zDyXZ=h_Z4paVV*Aun8&2N{I>?nE5d$7k4adgH%$CQ%#=y!3Dvvo>894G7IGGrkI2j8V zI5@zgh2Q~QP>YR)AJpp-1C29$ z`nQmUQO?Q5m`{+Ii-S!;KwevnkC7ogNKR0Sk%>c?)y9HfO-0tzLWzyr#F~jkn30iL zRFIQHOq82ZT}I8)$UuOTHQbtdf`@}$K-0yJOI%rkg-JqF z)QpFlUr9{$-xS|4RyJlH3k@!PEhc6z4p}ia#$Zr+VEz9EQ#{jJhByXY2d&sZ8!Jm8 zL4FPfCPpuFO?74_4+bU%rXrBSA_hiAK1Lri6YFqhHZg5RHfYUlWM&K+axoHx3>Yda zsi`TeshOIZ*)y4$n~Q-OPM|IUv=;zY22KQQ>}(>CB*U)6#;&Xm?i7Qvys3$~DI>3= zV{f&X5UVgVzlg6eV}T5lppq85Fb{KM7qb$ppu2@Ax0t++b^sd_BfkhcD;JL(lbfcB z1`8vr1Pdo0uabTs6B`o~53jteAZR?+gsn8VZGiw2BO|9e7cZ}yI1>viBct%TDV!nR zygbG-Tx?w8qGIyQdM4~FoLt-rtdg#5LTvmt=7y4XN;>?EjQor&oHBwsDo#35q8y+; zzV!d6OfQ+%G9)l~I=IDIGqJI{Ffy}wGBPnsOENLCuy`@Bu`;u=f$}VLbc2-@+}z*? z4eNudY*5aMjgAQO^U+q(QUo=ggh7d&MO1{J3EHgy6^o!$tqu+yb7N3R3QPQ;QW4a( z7Gq}zM+IoS5*nVM1}KT|O@SjNDvo zOwmD%@;_>tgyc-6jilv7c~yk@xi~o3l^n%bne>#nScQ~Dgf)5Cxdep0%vqUPSQt43 zY(*GZ7zIr%C7IbJWR27~xs{Y9A5?t8-7fe-5YZ-DF%pFWp zB4n8vnDul8`59Rm8JN7H9GRFs7?>HD;b{}pPhsL?@(J)WH`P?v0M*Kj>`H3jf&$d- zVq=HaH{gz#sfoD>X#4_H7lURN%+1U}Q$V2hK4_R59Jrw53+m4zC0{dRkScaHbrXIiU2nCV*D%F8pdv8jo(fx?{oe>zhN z(>jI*h7^ZH3r0pJOGai!dkH2MW`A!LW>%JHMh?~zMh12^F9uc?4i;990tOCt77q42 z26hG(b_P)2fQ6NrC7A)#xnqlmPP;MjGy2rk6c?taMugc~8yo3rE6AyVCYC_cL*Pjs zNaX;k0Kg${4jRc+f)wwd3dF?R43ssXWr&$MD6T-G3!sEAE@muZ28t?iaBT#NJy685 zgZtT{BH)|^8nib7R~yPo?CR>EYy^r_aj^ruMk3<+S~`LfM!G@*vYIZOe94x~oJ<0u zwqneT{5&Gj?!w}-IVy5etQ;b0g1r7}BGUXC?(!1M0&)Vj(rg0EA|lNE%>06!?1IY7 z0!C7N!FE}AgY%BtTlJZQXVTY5ZJ_655UdZ0yDoLQHIGg3^M?eC%xYsxqb;i~`aER*IY=0?bl!qRax! z95T$J&Sr{|PAT%z{6g}90i=^GfChxXGrG_b5dl!o8kUiyy*J36dQk$!TMhuO?1KHqlK~VW+44#8!gO_`t zCNrodX#|cXHg*$baI-=bQpSObHt@^>XueS#62uHH2H%j8B?TVDr=}2YmxRRTVB>RVF4TemRRY_USZ0sD2jBHvWe1d!$8n(((oZz_+#{bn!Eljf*+8DweLJS$182K348EPY#SlOAq zG&R(i89f*n*x1<^*b5lgS=rdZBerbd5nGl*=ty2N0~;H-pCiEL)6|%m9vdC#@8qDX zt)!sE!6vFLuBK)Rs=Lk1K_fb#k_?pZz?lWy0uvKA0=4UnK(phZCLL&!7T$IP$ry{t zGl7Ttz|o_urmn|iVs0+S1d1V8mIh}=Hc-tZ!Us~u4$9?VL2gD)MkY2UX9adH1!WEn z874MqLvc=H{a}7ZOM4zxUPEz4(Fl2EFFr0#4kd0TW_CVtCL!B!0f88ME>=+m4mLp_ zHBo*E5f)B132{ztF@A1#173DUUOjnjAz@o17Dj2%><=q5JCmalkD#~+A2$n|prQa1 zFC!BZ8?!ez6O$r4hm0COo0w6gleCzwy`>GeB{L(dvLF|?Xs7}^3oEy#1{ViEudIS8 zlYo^OC#x2lc&JxLgfJJss|Y6}HxnBxle_{iHxIK!l5wyJZ6T2L!k1F^78IuUpItB%XaE1a09%o@zW@d&kMphP39~G1zRT)6D zTucn0!7R|oJ7~NM+*klN8^G;*K2{%T2O`vov4RG{g8WrrI3)AyzDe><(asYbmMis!noOlnYe8YIGLGvt<{tbg3R1PR9tx&nK)(Hg&3IrfBRp`#Kp9Z zL7O3i!O6j188jp41zP^X0Pg5AGcbb2wAdKH9V-?FHt?JWD+?=h)eES{V`F7(s30e% z$j&CF4Q`}Cdl;Zx0;!GI*+9u!9aLwrv9qhGtAU%d%xY@tkeUlz-Wh`izCh~0;R(_V z3VKMp8MN2|)EfflGjIcWshqU9l(dexgeVUSpSTta2Q!m$lmr)>te$}!6C0DFy%;+) zD;uknve;xs7DllEDGfdjMkYRSNkt=bNkLY2Mn(=}4^}2dMqU;+LmnnUIXBmUSSb!R zP99zn38tB%{CvtHyquufDHcXXQ9)f!7DhG|RTf4oH7+J*R%TvXO{u@znYfw7w50fr ztgHkCJ?%^~U1apcnR%GFxSefS8QGaw*{$^0g%u;GN(H&O+KB47@bWS+F$n&D%Cw4U z1w$S~2g5!GISEDRjvPjI23D_3Ms|1a4H5wn4h{@VESxM% zoCOS=tSp?MvJBL^$YbDOW8naIcv-+5UUn7+_B`0=FE~p`cr&oGi?RDiJ2)}0FoWv1 z0tO~dW+u)&22NIHh)K+>93YdJAto_HOkzeg32aED17A^rrkcKrrMjfP5*M4Swz-&? zF}UG?=$M*=A`QGc0h9wwP1H<5D_=kjNpWyt3Z4oBwJAYu4|aA?5h)HD1_3o%KsrDP zKpoUB1yx_*89;CoUrpV_oDtgO0gu=jnVEwduj(KT0ep(mj_jQLGOUtDGJ;Mqf@&NA z3M}lbY@CdYoDrUZQGCq&`fC3hb(ia-uw3 z(tI4O+!B%k5*mh#ER3QO!e*vi+}iRAj3r!bJp2~=94wry%#2qU8JT#wnV6aRggLSl zRajCL4CRgEl{mTWtmJsjI2rj2gd`<3IM`SixtJ}jLi~)?xcCk2SsC^9L}ghRg&75e z6}cH%d6nJObwoutRE31t1T}*k!p`7#JB8|371DVOqzK!m!6dD1?iNjUh2wfuDtu&5V(m2{fSvDlc^y z7+Bd@8Q2OK7};3Z7+DG!SeV#YnDQ7{S^2#g*w_TXgS&{;ZBhXd4#evbWA>4D(1lyU z#>mRXn8(1#!paCLB$!y?7C~3gi7|s3K0Hwo0Y2(F&RS}qDQiYh!xL2Kvaz#?i;06q z1i=Xiw2}%mFk&tSny`i@49M&~Xz~cu1OiEe*GfSXA9($hs0h2Lh?p2?`b7yezM{v( zc$-y9M&Ht(g-KhTQNl!%olUI9pIMOA!cl~agN2WgiAh9KK0-(=u%1(1NQ#@2Lrj%} zg@r>xNRW@URG3BG#Lv5corBfUmYtVZh@XX#Pm0G#n46pNEVm7xnXs^POOCr`4L5firwGaow}3%4yV3o92Ri;;?iFr%47*pb;};1{NlkB4V^cmKK8gIFXSK!rQm@c4ueC zM1=&oyV_c5N^!D@f!bNnkxtN{7Boh|O(5_PDX47(8ZcH?QZofdIj9W_USzm(3JEmwrmhY#&m2~gfa?`dX#*aah790>+hgo( z>}sGEw7D60t_$2n20IYka09i=L4}aA5+AE76B`qogp{;6GrO`rmw|+?i@KevlsF>? zud*Z$6T7gPG8>}^3!4EKqpA`wJF}@{I6JSSu>v0pr=cIagto9K4-2Cdud<~E51X_w zpCBg}m!P;LpP?EzvkbQcHwU*4GaD0=yMQVuCzGr!XiAKoMNW^AiI0_)SD2GWOioTw zoRyh_SxtzIlS7`*nnPZYhhIdJg^fi`j-OLdP+CY?LPXe3SWrfQjgiHfEjWmcOGAp8 zosEZwgO`O@fQg5ROI1>ujZueFPRVV}Y&TVL2_Zf~Ni8{fc3xpVH8pWQMrLLyRc1C3 zU0q25K_gRVPDU*mRSr%YK_)R#d3F{l9!YgJCSg89S#C~7P62jl6>c_%E)NG)K@m{P zLezvunw{O$w4h3wg*wpv!N$zM>@@|v92Qia8Zxl3F|x6M2J+e27}@g}7}%NF8JG)T z#Uekb))YqR?Kv2s>tSbL19j;cnAsSZ;RPx`vZhD}zUs=Nf}{i;O?@>f4mL?`RTFT* zWoB*;>WD)U4Jd6x(m1I74;t-NQ!_O)hIafx%PAlU9+cof)ug^Mk!F>&W?>dG5E53GXJPb{Ruqxo=a*Dx=2SLdV$(Gh5a2Xa z7v<+-6V9|{VQ1uFvC`F(1g-C6v}4q;5|)-05*Fd*W#{APm1L6DmuBIY<>zDP7m{OU zEa2djV3T0x$d)WuN)Y6-6=Y^)<qqX$SjVXkx@a(nF+L#i!p>z zmyd;!olROrjg5zsm5D=CNm|G+qS#7-gPDn0oSU1GIe?X2gG+;zA5;SK{C~>yg6Sqh z7Q++=9yezu76v^XCMITBFGK;f>W6^^G+zeSPS!`?~+KfuzR03)tn;RR6 zf)fR}$&J$4R8v<|0u^T9!BJ56ACio~3DDf!NL(B=Mkk6=#EOc6QVb}$fJ z0&;Se0?Zs-EK;mW;`|cgtZdA@PCU#kTs}Vf8ge!178WeDX7Gkh7uz{A} zq1U0_3@j|d-tZOZpm|bVxJFPHii3$UnSq&sgN2zR5n&LLCI=madREp#yn0wbjVIa8 z4n~H>3p&$r zqb$v4nJv!5Ig6uruB54&f~J-%FTbFDR8=t+>}v;h@4%#s3%itOA%;=(e@N<4zxtci}=j4Ui%%&fdDENn5p z94szej2yC|mhK|Vd|bRXpt3PZiYrP_iJe8w+(MFvg;!W!lZ~B6gjY{Xnv;=DTh);F z-!x%mW<~}^2JZj6nfaJ*GPE*ma}ZCAQ)Xsm@Y2<0W@2&IV*)k)4H=o;y*Ge50O|~^ z44|D1poTvKs6Eca%)rE)2U^ty9yb9m76Pr_@ZJC_v4~O*ZuYBUH<*Eujgf&BRDLlt zLz?@-EDW{PuFm$hni~AP46Q7!?1&P~#N3X_9JL4ob@D+qB0F?6+Z;T+#?GdUs4T$) zX`tRAbb!X(4BQ}7S0k%vV`63&m15RCf6C*nApI} zVAHOG{+8UNrCzq;2wk-Xw)6l!U7el z>|)~LqGF(NchHCiGq}D56}aqX_Dp7`%6jbTdd$ogjE#(p3JQ!&>`WYTwz39Xpw-8M z+8hGXm5fY0nqn$)9PAt%CfY(=Y+QoUf=m*I!s2-{(%KTT`Z8RcO#DWQoJ?F?+)|v} z%p7tmtW3>Odf zf(DA5Oss6os{AafUu0#al{gp~S;eFcJlz>NxH;IESwOuAHeSgn0mdXoD=Se0AzKvz zE)5=LW+uK|4_;o;3~o&&4h{}3Cov8dP8mTVH8aXY`pAR>e5V1 zob2pEf&#*v>;f7_!fZT7h63VR9E^-!rkt!CHoWSbjA|n0s+_!_$p#h{7Dgs!7Da0w zHc2)v9>rK?abG?rMOjH_0Ui!X6Kzf|VO14ICKhH6W*$~yRxvpxAqGYUr~glxzA$ZJ zh-C0^a1GM~%_?}QNinf_Ft9MQ6frO}GJ~dC7>gL#7(i`v(AY3LD+7Bn11l@I<`!e} z@$>O=ceFP%vC~jeoar0E1oJK!lcP-_}gdxE6R%}vC_!EI&GuoSee zgH7*)s#H+T23mKo1S^8XMA;bi?WJN86!leQB$))xPMz%=VCuO@wV_h~eB`;qM1wj!RSxGZq1I9HrBBGMQ zh8ltb_5E=P6S5K@DDI z@ED+|h&a2qCKIoTTN%4eVxYXHvJ#`RBAcY4wmuJ+J13*AK0g;br<||~mtcS@CyRj{ z7YA36J1duloxF&=2nUOn6&D*Tr;#Cln7p=`1vfLhXaGNxV??mFl)VCDzOtJ*hmENl zvygzeEHfLot}Zh#2NS!I2@AWNiG_lQfDoUEiljUzr#d6M6(=tfD_68C6BB695GNy> z4k)V_Xz_>`i^XbM z;GQX{z7_**M=ApCmn>odjpG$DFo9<6r5&(IfI0{c{0s~X#SF#yxls|;mY|tLb3SHv zHB)m?V1Zllpx}hWhq<|!F}To!lz`xZ3N%IriVbKifC@>_1h5z+#fz}XFo}smt70=V zbI|-gcmSUblpok2omgddeog@vP7QSd0S+}*ab_-cLjh3(MLBLRMlKmqDRx$I1#UJr z7G8A&W@#x=Nk3s#b1fETE=I9XQD$x?4k=M)Mn)DTF%A|98AcW+MmIqfE=~tV8AT&e zegRRf05eH(RYopOAr@X{JsoBqRyB5IJ$^oQcV8`0X;lMxQFeYt4sl5pRY4H}14ms^ zSvg?=K|KpbCN6d^IV)XB;owIRto%0oOl(XXGLEJ!`mQ$4I!xM$987|YOpK86h;}Av zB_lyrRwj8d7EpT$R9k{Z64DsD82T9|Gt6_4bY)~`tj+g#(^prM=U`xIW@KYvV&q^0 ztw96Dn;`=`BMT!tXn>W0kp;B)3_Jt}n)BrcEi(fbK>VQLH^d|riF&{jR>B=^Wu+;J zF;Ol~b~YwPT56yHG;>J18(daFqa0Dsfnu2rRAI7%MzCNR2~^}k)Pq>y$OjLUK~e@N zYl5mb(DF-A@`03jkiiRcGw9d_$O=%SA2ejk23u33YNo6#VyrA`6vf2BZ*0QF$}cP{ zq0GgesHm(bCCtMoF3ZKi$ZDgg?=$0Z@b$IB%r zuExW`%BapMZLGq@FDRiPtz(g(#>Qi1#KUCC#la+L#35ysg~=ASLy$gpr9!n1w}}g-5_#k)54WQqfu4WsaeMtgwinsFbv_urMDZ2cwj|6q|s& zGzYu5s-1$4S$wvXe1I^sya+2Vs{p&WoUy%{@P$Y6hUaY|IP_|DUqRF|A{$V_3^@ilNh? zZAW{Xwu&G>I|pYrBMUc^mpvl`qo)QVBWRTlCj&ERW`~1;lOvCTi-Vnmi@kt>m4};$ zmAim}gMpoggFTsniHYBv7dFtq@6Eu?4PL~^=gq*w1KtoV#^%GwaO}ve8B-=VHI|pA zrzXZnM}-F4SsCgp$}`k4*71S10fLv;A`Ky_o7*u#5(Q{56r319g|RqnWskTVhmo<7 zIXk#b4jyR$B@Pe|RGfomV3a|L090{8QVFO8SA(y}0#%RdYHF^3y zMu3yq&@0PMT}@C_*HnbpSxPX{jGI%&x|@G`OT$*Nju$_lWn3iGqEGIFr0aR@TWsp>!1QD+fg5tS2QS5;uOFqh-BG8Y!N zGqPbS(Ng8+lG4^y5ET_O;b8$)5j;|YV(JQV!Xk#|fl8{zqPiLad~Vu;G5pLrjO>i8 zps`X$c5ZGKR#|yv7gZ%+$4F&1O$ix(4k0-^b-@Q3H4$U=sVFNd%+AV8kBBJ2R%U|?cY>3Nu_)+x1@KyG@Um)zYGUoG03h?pTsd4f$Gc(ItsM=_AvFR$a%E@qQ zOY?Kd$eW6DGD(=IYY8wh@v#bYF-yuD$t!RfvNQhYV)L<-V&u}3b`|9IGvF2Dv*r}y z1f>NbVGT}8F>#ro6h0AVc2>~#Q4U5M9-lHEMn-lCPSGe9b{2kLK}{YWSqoWR9wuEj zW)($od1iKLoj6THF%~8kW_~td`8+LSQFbHnE@kQeYD`a<)-kj)Bss(08ZEhwA3SDq10I6a?)e<`!ySkZ~i8^@ixS2V4 zW*9t!10Ku-9f|-dXCN&NXxrKxJXH+tl9`%-rhY+%1ZZajWH1}tLj%v!fONtOCGdKA zbMx6pnWcnX)!apynK)#1*cgT7Tm+=lv`rml4LtcwOvP1L^_+E7gk+>d_ym}EbcAdS za&(2ooiy16RaMz6b=1}LlvIUPq(zmaIQgZ8WQADGx%hQ0ezC!D6@&PFsW;3S&K+$=ozP+Y!4Jw;$`I&5|C5k z;_goomVdP*FRFYC=Vv*IbW9MUMGc@1>jbn5FFJ%&8y2+5h@W?@$iII~@ zn2~`~l97YipOKBj)P#whRfmy{4K@x|cD4)#W(E#6(5xS5(IQI%11Bf6 z^}+?Jej*td8F@k37qrj@GHPVRz{bJK!Nv+&l|!sf2Lre!MlMFswtVnNDOP(KSXud4 zL8G72j0|xxem<_wHkL*PS{gD^{9LRo3<-=0ps`P3HFZ;SV{jD(*=Pt&Vr=Y?SrJJ8 z0<^G4NnIUO<$(tYK+RR3xC#T)Q3^V$gUc!X=It7`DFafymZaB_3&YYK^T3URPAGcvOAD)I6AhAQiO z8)>t#vdglw>PGN#>L^JF1vB|EDYGRAv+{88v&yQna7rj>Y3gXQney`*7#F0=ahVHq za4^Z5@(BpB3vej&vT?8pE9-I#GxPVQg(~TaGIMZgb1|}bYf6jAC@^t=;=J^K9itf2 z69zE`0|#BuzIqN2;U&PxTd+7s~CZHMlrGrg7Tn|sHie% zepFD<7&MPA!YEqC%$m)_Bw%4L$;c|~XU%k+=g$i^Moum!b|%KnjGLJmd3hKZ|Nr@4 z%dmjy5rYJSiGv|0BLkxZBQpb&moOu-YG%p8F3Bq=WW&eA#Aa%%lg`M+EWykIvV-Z* zY&J&laW)K$M;PBT-D41hoxC7u20DxaG?>i}UY*CTrnOv?hbJ#zh>JTTBhJJ|Sb*_@ z?iO7huA%}Sc8=_<7$X}Y4)FTWyNn+huQ8Z0_%f(Fs8}#EGBA3H3NtZyxH}sf=*Ua4 zgAS7bpZ3F;>Fce-#3rgOY{x7L9zq8%VTF03KQ%%LF0WX#9QUX;TO znnMZy|B!JP(^>`#hCt9c6Hbm+S~48$j2w)h;Q_`X1_lN}1|JVMbu}hXtt~DB%2MXw z*(JzwI1nE+5+E)vA_iN%uLi2zO-CUF=208W-DekN`h zY`lsb60E%ZO!K@LnHaehbaoNbtx`IN*}n3%bAd6{$sn&Y|obR>0|LivT9 zmTawO<>BC90_}DGcZ-9Qmx+y^{gQ|d533Bneu|$W8yh%>dHjFOn8tXC!IVM7LC{!C zn3I(iax#pm3Hb07P!R-42w`en*ufJgpw&FH-797aL%Bmo(#=|Gc%4)CA*rrh+WXH?PZOO{W%qh#s z0vb&#;Nav7VPj<#;LtF#kT4fwGB#mk=M!ZV5>sbn(r02|WZ?aOpK%RSB7+ZuqJx~C zq8twcD+42=mjvik8%73jG-i5v*xQ055wzOM3_N@zE-nggl^D?H(Ff*!aL?`evDlkO}8*+2A8Y{?(f`%O# z8CC3*IhdGP7};241bDgFd1UnzS-E($c|~2_^i)LI6`1&WnV3v?xr8-*xcFEM1hxjU zyYQ)TaHvbjigE`8=?JqjF|)8JT8lCvy+sWB$9it6ZDFfoeCaY;xsv9Pl+b8%}61*kdlb7lny zG4d+vaB;Bei_BzUWM&d!Rx(uN;}@4?Q%GmxWfV|UP!W;kl2G8&Fm|%gV`pcR;Wjcd z;O0zm<>TY!Rg_{CuJ9F>*3?!K2c1_S zZU*junJRev$j9ix1nQE5b_WYF z`1twyM*BtU>41*J5jR&;(`SNA8i8Asp#50lX67Q|;-YM9qHLm~@=V}Gil7s3z-MqV zs;PrlP{=cZo1x~QZ89dN=1QRB3qY*~Q}6_Um|!Eb9xERs6Bi2;YXG;h5GRwCCBK9L zGZQ0d83Tu_usxqVJF9?qAg?l`uDiboXm2|gmjM%_xfur|tFe-*ARCjNs|B-fb3UsD zyC9#0d9tqp6Ne$Y2rmnxlmH8_3?rzFU}e(T7sQvQ#1t&*!N$zW#BIwd#Q2F*%2b0> z#=(Z0huc6|Stu@!m7AIQpR|%Zmtv#@o1Uowvo8Z9gYSQ1#!XBc7{VB29i$9&733wv z*cd!Qf~_>zp@o^BFDO@-Lx+GsiNn-H9kc@4#LV0nGCBZCAfQDA>};ZyqOt!g~S+{I9M4Onb<%BE($UnBCM9L%w(V~44M%DEy@uW z2Q3LRQG)a-z(s>7WD$iCcp4qt%mnSe0S%=>eC?sb!NJJLFTllP$*0N0sLRIAqi&|m z&&ABe!OG1AD*v>Y7+HNaSeYcH+1VMH1esYSm@+llIT!_nxOi-Mb(k5yv$Jt27%B6x zOGf)zC`btiu`n|W3ox?UE32y6`FQ&au!-_9Ffjf9{@;M%2-5-vAqH~>j;)HKT#O*M zn}hPKIB1+k9kdC-)P&v0Tue-!NdQ!Iv$2D-05}Jjf_iD-aU6EFRCzXbEW{rZ=%n%A9O^|Nf^c3$aWW5@Tj$1crlzlA|5)YQb- zTwDyi1j-yVkj=*gImXN!R6mJ|u=6povx^(Eu`7cLbkK<`;5DYopkOdDGXX7GHdR(P zGdDJ8V`CQuwM0RATU{-d8N5)AliNg%hgpz`PhLiXnTs!gU6f0cjfsbmPmEhfSC2!e zUqDoj%g}(4jfKm{k0q0Zkx^NRQ%GxymJBnCor)kchbS*&4CBOETs(}7DvHePoZ8~- zOl*w2G78q(9PHf2ti0S>%3Q3X!i@Zq+7_yk<} zH5s|Y){EM?iknJGa@$!FmkXlv9q(XaI!NAYH3O^a5IhYw)MFkXvc=UM~ne|v%#X0$eIhmQcS;g4cr5N*h z7^AuQB*n!HjWh*>g@yTrWqH_Dnb}xa898{_wAdA_td*p=MFd#5n3-7^`4|~9bOi)? z+VTmfs!)loB~kbgHG}Qhb(B~9F%d? zL8G?v+$M$`tg5UNIPF2ZshQcCnVDFanMK8zn5=Dh`K1}zKto#GN=htjtV}A(jEw3b z;C_mr7z-B@lK{J*5Mu!s6QiCsJF6^uRPsj0BICXbS{ zk29+P7b9qNfKgPmpop2xgvkqZvY)IJ3#(JOaF~FG00$Qrs7!bM|AcW4;{yg622)V` zPeq1_!9yI>^krbkG%^5%0cbD~++GI_GeU+AKrY|Uh4 zSGVI})D>Wnj7&`8W@2+wWoO|t5aYOH&%w?j!zpd*r)SN@DWJ*C%&CyWz{0@uUx#rW zlPrT1LpVb;Lp(#AgH!})?UPr4kE(){xELQBD;JZ8jg_SV3xhjkJVqGO-DW5N9a02p z_=tc`rn`B_+*IIPup8Ck>_ot<@5L^v23nZ4OK8QB>*q#3!T znb~-G4EVVem3SDrbOIK$GcrjDG7Cy_u!^d2e3Mq;;E~dl<>p|N5m3_P;OAs#3S{MF zW?^Jk=VN7I=4CUrZ?R#rFjwN^Ft>E#*J5LqS}!Ee#9~qG;54CI(VWf(X&8H1`ClAC5FtVy@ zFfj_VaK~%$GcvL;vodMOa4RW;d!rnztO1Nn%$ycZ{LG9@EOJbYLPm`295Otn!d>R9 zQhb~of@z(aT)Ng=OsrbE99#>q%jV!!5;5hGWoKuX7G-1O-~si+8HGeR1VwrHMMb%o1=t0cSh-~+ShRFNTNf2I zJf$r}nAlkuS(t=C2Rt!yv&u1EX6IGlSJ37XV`bws;9>@y7sbNDE+E7qz|JYc!OX|b zpXe{iB`PH*D#9qpC@y0nWF;bKZm8>^!^XnI%*V;j!N|_Ss>Hzf|K0z`jMEtJGGsFN zJNPIwvM>jDdnmCmvB*m^F)%TEF@Z0zB*r z3XIGyN=l6JER2ld65M8t=1dK&9DHmn9L!v-LTsjvdOQ;T3BoG8GQ5oZ0-{WY;u3x= zHeL#@+KfCBJX-ad42%q%|6ejOGTvhF1)YTHtjYvBnA^wA)zaKhpO=XfGy(z6Q{Xeh zK}$VU^rXOJv5>JtQ2ZO2gU*5mb+kYe9^g3?&@ct4N2&yAwVSA`gXY6b%|Ph^(gQOV z0UgQ)YVd##8)00+!pzLW&d8)$|7Q<#>2?O%*QUI z$jU3l%q{FGBqzqm%*M^aXlP&~&%&h3c!iloDks(4Sb~Rkx`#lQA$dQ zPe6^Ag@svI#ym4liH(hqk%N)nieFVAC|=rHlaEnMTuFdaH(NYIkVg_!7n}co!nlb^ zh{2d4gh9$dJjg^_Tv&jQoxwv9S|K~wfhuHSGh;Cj6akGb$uo<9id4uDBB)q}<`gqi z6MZJ=mTYkm(8!w@JWqk!fuJKUz%$gMA}OLwpnfwe3x^69BcrFMprs}wBOg0Eb7q!^ zq9PwN=rkI3W+v7GW)?O<78QA3F$sBgMrLt6CN|JHI4ZK-jNhd}4HZs7UKuTJK>C|{hRURo`HZ~?Mu}R$V0;-&%g3NM4^7!pxw6&y8oXrZD0~%NMfi3oj4WA$jFeM5^ZH_Aj}RrFE!NP%bkV6!-$iK z$sN4%7j#THBWO`jCL=>pfr=tS5@QkzXhE$JbYdOUIaN~woxurh4C}EgflC$<$oWyA zv2djF7h2Dofrh8SRg<`w2&l;os>9etjliSlV(jW{{7j%lj<9BrIjD*UHN%K4wNE16~1Tb`~Z^87&??wO|b+VG}XigiU3f476Uai&CJb3#KqV^a{}Pg-655vxF~pZ0n`&U12qvK z{S{D_XIE3>GcaedWZ}+HlaP~R;@}eJ;*=5rO+2&ks_=4hiHL9tv$8TWvh*`@a4Cp$ za~a7=ii`6wT5_97i}HvW^Du+X_7&k|6%=CPWUMsSVK!po6cC885|ET+=9QBa(Udpz zkmBS~WMgIF;${JDa%SaXN#)>_6XfJH(Gu6-;$UTBWmRG3mlT&0kk+>5W963fPq$#_ z7U2LLZ^y`>`(KT5J(B=~FX(J>Ax#smV>e)sE_Ey2AV);Vq_{}U}R=2 zVgMZ)$H2fK#NgxZYG|OYCMN^Ry~3c`5ODbh4gxlCUW4>O*xA9e*k+*3&dSQ5V+KI} z2j^&UaK{}~7=m*yxS0TMN$7Jh3)qw}w$H~sg=+D8zZ>_<_reeUsBEZ8G%gDsU zFT-uISI? zM1YR}2VKjtnE`zKzY_Q;ax>JqU?unoAK;Tw)IrAiZ zc-VyGMVT3yX0ZzkNNb9VNy#bd@QQIWGBa_qi0~`Qu?gxc^D?qCv4iS2@Ba@N*DTfro{SiA|h^OUGjZe+W|( z6Pth>Gc%)ruN()vF=zyQ3yTd`Pa&6+BeSunBrmUuwpWUpBIvYaE;dm?IbkGj3qYVDMyM+bqe(XrL_& zKHwIzHV2fS!Rs(Ulk9AuxguD<2(*@76f_b8YQ;cOt2lI$4^(}tv#YZRY8nVK+vWT5 zu`n{qv$1gMIM}hVIxs7VF*0&7@v@2vxiB#bvas;8OK>pra4-u9_%pIfvC1mKT>5QHu-~;${`%H{xJqVG&@L_D-gpHA#*TyNX%3cbo8#7j*i0AM?x%&BHWB35`h9- ztQJ;+OpMB`dU}lP%KTgmObjOfwHOaFUT3go2xj2e8sMVN59*VH>QHbm9D1Z4=tv6i zG54Sf7gVYs)_$3on}BCEVMmRan3;k{D!~0EQ4#PApP89CWAG*>VKGf+en#m?1s-{I zbv8dnR$+E#CMF>!CO#u8c5%yKCkZuHHWogeXk7_T=z?85wfnv7gJ9x{1Oe6{@S96Unij_l$_f-J02jG}^$rrMGQ-darO znb{dxB-yz5Sv6zrRoMBZM0s?07#JC({=Z?gW?IJ(z`(ZIlo1r8pkfS^mq2mICIYEM zK?xC3SBi=nv$HFMHl~P*ii1}pn2RcbqFP-|SzXNB%oGySrY7n}paV(8#KkJB*_im4 zxLGv>_*fa47>$jU*?A8K@<>VFk zg}E5H85x<_nR%H)BiWfaSrla?6j{Xt7&SC(goIUimDrgD6zo|Ag$&J<#SG*mrI-YT zBn*wyuzK!d*KQ15`7O~yu`#su4Wt{M)Z1V#~2875|SIT_FisPd}L>YQSH zOq`62OuBj!Jf@5q8jMUFj7$b@v8=pOvFSYG0)nE9f&v1J5;7)=9Kt+I9L(H{iy0+& zUDXtsMa5VcnV7(RQ!ePZY8V6CW@iqN8$tILuz?D4(2zE`5*G!X?PvPGDrar zxe`c3OboOTAJSVlRYwe%s3|LfG9F}DgiV5xotc@@Tt=EvfrFb#lG#F2-hr8k&w`H` zG^)ic%*`w*&BV+ksAR^+#U?1k#>i`CC&IxdperfD!OSYl!6e7Z%O=cN#t7=b=!lCm zsLZ{aU79)>lqJ-cez(;v}UOhW!*=5ZhGhSLk%ylMIu4rUs^)Oplq~GJU}S3Ij$4h5}pWHSzp5Um3WW zUx55~W7CX3F#7-V{|YQ}OivgX7(lC(K*9_RzrgpMF);cvfY=O-8Vu14*BLmN9x)g) zTw!o!Y-K27Y-NaK6k||g`of^kD8`V?^o2o>QH&v+@f(8@<2ME^#%~PzjNce+7{4*7 zGk#;>g7S44zcHvXeq+#J{Kg=|aD%~!;Rb^~(-#Ia#w-RsrgIEp%q0v4OsNdk%nl6F zOw$>{n35T|nFSe~m@Y6dGHEf$F=_n&#x#dPkZBf!B8wD*G)Nt@H3JW`4TB7`H3K)Z z4TChZErS!&Tm~hkw*SwW?HQz5#26Hq&NIj`J2FT!MKN$QiZPTjiv9n?_=SOi@e6|! z6C*=7V=IFP<7Wn5#)%AWjBX5aj6WCznK&7I8O0g+7$yIIXKZDVV3c4;V*1a(!NkuX z!uXQGneht)593P)8^%@!LB`$x-!b|!NHeiAfNm!+^C&MoW z28Qblx(wGD3>iN%cr$)tP-gUHkY)5_kYW7JV8ZCjAjRm%Aj|lbfs0XxfdPaWK=+d| zGB7Yb`LDnb#Ul0p`Tw^pa^P5n#1n)}W?*8R#W;Zhbnto?6X=G!9wso&_<+HXkqM#* zLN+ikycb}2^A^HmUeA0Lln~!h6f4^4E=G;3=E8*^9mRkK$ld2 z)^ga7yc-}`^}|DFH0{%?I?CmSJL&DSy(|QVzP5^a&hzU^6?7@3JHsdiit}|N=Y-wFvv2< z$tx%-DXXZescUFzY3u0f=^Gdt8Jn1znOiVeS}`zK+t}LKJ2*NyySTc!dw61fz4T=OQCB6qxMDvR@DtGYJm|60n&*x~oV6cON%Vvq)f<^~1n4G!?|*}$x-oah3vf*XhS4JrW<8yG;kpk71P z!~;q*%1)cOxtLue6s46FBefKDH}L9gWMXpNkdo-4yMa$<17m`M!Ui5^FOa_!Ht;Ar zMQ-2)@q!{0Ht;GtMe1(g*HPFY01gs`9V`sVUCN0Y_?#0Ix)KyN@F_bf>uwOx@eYaD z$dcj`sj`7LRk=cUgP@LgV1#!tL{M5WQe}fMSX@YFBLly4Xv9W-e&-F0iB22%wLyt= z1Cy%LMjjBs%cSbGfl*9ZVFR;jK*UB+%H6=C>eSVx0Jc_3QF#MnB8)8!kq2pEQcc{z zr==LVfydc>1Fy4t!UiVPs8ZN~H3By>FbFHVY+!WWz+ktDk&zLcQG|6EHZm}|hD2=O zS9Vfx-N3Evw1G=`17m`dLc#{d#H|7Xj0}7XPEK738->`kHuylc*~kc@6?HZ;foLV2 zjm#igS!W{)h*r_r$O@uWbvCkrXf>UU>>yfQXCnuQ*3j9=38Hm$6l}m*Kvzd0VS_+| zf-@+XoIynqDEsJu(wm;n23_q9x>~v$^mP;z+!b)dgmR*VGN>5Ct3p~aQg?#^JbD<# zHt1_@WMvd}jWCD=M}i@8$Y4qv=_r_j-D|AFuz}GPGe>V=)W(`nK;jHyTNpsV#ZK8` zqYNnCon0Vh~eR&{J>+ zl|~zwR6V=8+?Cyx6BQzoq(Q}^vePCrMn+K)E!_I3Wu z)r6D)NGXS~D^hoZ6(|f86cjeFszJj**~UV5gEd%q1BbGcf`WpZvik-`ZDmkw*?`2s z9)N}@Lr8?4f{n7GG|0tF5J3fyTVO%Xrn-Su)f1HDVYM$LqA(Lzf-*E_ltIbZ7G#sc z1`cPavlJ3Q)iZj)!J^VmM_EA+6l!ik5ehbudK>i^MYMG{*u#YbkcA!K!eG@ftte_7 zbv9UN!(_n9V1_#BY_QbsQc$n~C6+D=ENV8eIO}cD)7IVK4Dtjx0m4ETl(>`?Y!vjA zEue06(b>qsqUr=ssWAV7Ob4mPofO@%B@9ryAT{-EU{ZAhl`l5R7Sf7H@vRsMb)zdN zFkt?71NmPO6!IV^Lj3{vvb)X(22n`n+{6INhr)UrOtf@2c;FEC)Y-_uC?dSUR7-b* zm(B)rE!_>?pipyFR?t&$>rzgHg_DmCC^>HM*4EwNtFwuL!9`nlgP+bO21XFWUuP2| zSR_Da6C+q85TwRcTX#bcNDYV)3{nGPgn-n57@;6Fj@r5#!a!<3jBt<|5F-Ml2E>R2 zsd3iU-4F#*17bvj)PNWFkQxvp9;61uNC2q;F%m&)oV0Z}B!Sd` z7|9?tAVvyE4TzDdv%yLm7R+fN&IUVe-3{qrmc6#_h73^1Y_QVa;GnI$Aya3AHC%NT zhyzxg4Q7E<=YUxtrMWsAY~V`sKpe2rd@u{7v;fQkDJ|65U<+4T1mb{|7K2$Jr6ph% zNNK6gW=<9+SmVh_djm)624G1y-Ov@Rs|9|{nk4cn)f$8x7r%cNk@4@&WH4I{mpfeD`Ool*6zY0w9G6X{VXG{$2 z3~^94GlMEaDwNH_Aj;4MWwSEyGR%jv*^tC}8BH11K*jkOq!=GU*#Zm*^98}?Gcz!< za56A3EMoi(>UFY!=76M_=0e#_417%6p=@RbFQ%hVHVcCmGe4Bg${@vT31zb(iSsgL zF$Y7%`4~)C_d?kM3<&cDLFPN>7gQEyre~BWXe4VY7#SE?>KYjs8YsA=7H6jCDFi2H zrsgH5>L_^TCF^maD>gI%DYj7X&PdEta7<22NzJYFP7Fznh<7VW%q}S{3QA2c%}FeB z%g-xu%P&e#RWQ;sP_R-!QKJi0gjFyswWv5VKTp9x&p^)v-Fm27b+9^CLBpoJyj(9g zu_Plau|hAuDBVtzC=Wn2W@jYkB|^Le(X7K&o>`Ki5R_V+T2z*rq5$%gf?r~8Dynz% zxVSge13iQW#Phav3TaycrT1LKspRA{gQs+!%@&5*e}?N*GERiWq_zQW?@2 zN*Qt(5*dmZ+!*p1@)%0MbP+>3Ln_z@dSF*ufz8KdjxL%>xNSsN8OD&xPy`MSklhLl z1`Htk^cYMC`W`i0K_N$M$b#a>hM^n`^%!y)5*bPuG8nQL5*aEO^ceCPKz_Gl(4=Av zpxT%Xji*GESVFd0hk=WsoFNnJE(LJd7K6j7j3JdFg+T!vL!g*aVDMu|WXJ`_6z(tw zr6n$g5QYqfOon0<-N6j`3~3A{4CUbX2gNr;MGiwII6dYufb0d?SjvzGPESP)3Sd`( z)CMznGWakkF!(bRfKxECyL?bg0L2b^OdB%jF@P|#%TVoAU`S*rV@PDk1gFm=h8(az z5#f>u_KPEElPEY2tr)n#`LBebfWeAEpFy9Ym?0UQFAEq-7>XJ6!09Xp9>@9&{tRvm zK4j@(fQ~BuZ-$J8L#ja}5_IJb=#Ft_1{MZZ22KVp25tr(23`g}27U$s20;cP24Myf z22lnv25|-n21y1f2I$Bmg93vRg9?KxgBpW6g9d{pgBF7}gARi(gC2uEg8_pfgAs!< zg9(EvgBgQ4g9U>ngB61{gAIc%gB^ndgCm0rgDZm@gFAx%~`=H>#WU7@raXgB!({|x*94ye+y literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Fraktur-Regular.woff b/static/fonts/katex/KaTeX_Fraktur-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..d01450e91806b0c316af1228ce35f7a31788e77e GIT binary patch literal 22088 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-Bold.ttf b/static/fonts/katex/KaTeX_Main-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dc0185a12290672e819e1d62ac9a955311c60341 GIT binary patch literal 60784 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-Bold.woff b/static/fonts/katex/KaTeX_Main-Bold.woff new file mode 100644 index 0000000000000000000000000000000000000000..acf48e66893be130a57bb66b9506becef9b72f81 GIT binary patch literal 35464 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

rrS^K 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 E03&d482|tP literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-Bold.woff2 b/static/fonts/katex/KaTeX_Main-Bold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..cf5ababf46d8d4d15ba26b1c72fdeb39500b3d1b GIT binary patch literal 30244 zcmXT-cQayOWME)mC{tnJ1JUm?7#K=VLBv3ORLqvZ(BZ{l#W`JEkb|qaFQw@aFQXZg z3UfyWcZ(SVivnw}1ACu3Pa~J~qa)@=X20y%9a<{O!nL%|Dd90glLLRR+p!IW4ALcO zp8x*;-#qD*#4ItND1ne0+upZ@iTGaN(7es`cZzzCa3a%Zt~+}Qln%u-yDjY(X59Lc z^K>$Yt<;Q6zZ9!v*QT$o<(GOVn7_!LeD~6wEiFwiI9jeB2+Gj|qMchWy4X~9EV^qY zck)7p%0&)qhvL`ow%yGO+^%-bC13ehgo@>{6*6BO7WsHR@{QV9Y4|FBgT3h2uhPo# zzc-)ZXDj`-FNJ~Urej%y$f5F`kC`5B_;_8*H`_5=MhXQ9jbhF&qX)xyqsmWJ$d?D z@Adgo(hM$_Z_bkZKb_&&E#H}m&q7uw>&>6DP<=%`;|h%&<4e!pvzNbb&z@htc7lUp zz7_kH=mpGYf&`6@KAC($)XHyfj^w|eMepCu{^&C)>X*IkO2)4W&kpK5=r*0r`?)r_ zSncI?pHP_zVP@+adL%+R(#m9BS8@H`syA_deOdIhsB2zr%qH?pj}I`mi_Ix!Z0y*T z*y71GQ)OYwm+J4n!VwXFe*b^E<=?*F3s$Mz_H35TQu5HwIv~?O%SP^i%-=6bpRYF? z-OXxI^?38S@$I+1Bf(eIy=GsGGe4YQ(aw85S^BrYLMH{)phgFytIHSOFWdeyO`|O% zll{y6_ubL+GYfA{26b4c@}Ts-|7W)Ntd@Fkcf)oLTkF}NGzhp}@Ke{GK{I}&9o#n0OKXc_i>FO`^ zlI;7UTK{VIzWE<_d^DPO(nsARm2X;!N1KP2ms6*b`lot{OLbD0TExD1{Xcn6=FD%) z>F0}>6}s0<+h^gPUAblliN4ago_>KX_}h*5%G3Wo%`#Nrxwx2wq{bWD|cz2)@PsAbn3ZV2Wd5`PeH?EZxN zWbyv;zcu^o3c7z?u4j7i^1Pm1^{XGzmzA@B-&TwMSG%@k#oV_any)`LV@-Ddy=%|h z-280m=!wOapWWIvS=p}SRPOv!(EqaN66f)=mTx97f4iOCFZtLlXUjn=XSOZbS6BEn z+VGWi>NMqu={`QraQCm)OYO_yzt(S9f1|wo{@o(?viAD+^3T7{a-A$TxWdy>&JeJ| z$!Lk21k2rm&mO8V%V)fPbM5~Bz+&6u&^?-d88!ld|`gL^Jk+4i;FX#7A;^sd{@F#;=ozX z7b+I@9j-i&m>5dZKF;)S6c>-bK9}kBFP>CU0h^X{4a@&4$X1{FQOmWbC{?ka`$@Y) z*01?@JE~R*t2=#g(%CA@nD|9hafX(ds9^%zzr&XgE&tf!bHjJH`TXV;JO1$8+r#CQ z!uRHX<)Zo0r%pUIdE8mGuQ{`a&1}O-d)Wwu|C9E$6ekM@A3pKdP)R6sQR_10E!F`| z+h#of9d@LVPsQYH%;YDl8+_kOR(PlQ>&g%N&C}8>Z zfAvkT#p_iLy%vby`Q=#CtVNCY+IZ)tm=$xMS9P3qTlv5jXAQ^M%bFU(g(G!OtgUtM z-@A;_@A~IC|BS`C0lSQZ7y|W9F zH6KV%nffNyO)bf9#i{J+JB8-COm!F2Y`f;du=1PyYfp3TMGG@rAGf2#jMjf z$lW0Jqow6*qVX+@Hw(6hq=dV=DT?mRIcR_A>d%6mzao21yywX5cu~hSZy)#3S=Yjz zz03OA9xz*b{o%{o`9sy~-0DMlSx;Es>u%L?*0dErv!rX~J|4N31>8>;D6CT#;|t9Ry)Cg*<5uti;Um1y@+Zu?bYS8vu_=>Ibxy5Z z->|NI?uOYs#Rrl?)SD%lZ1221+cWKCg?_hOf@6V1U;7S`%Ej|~e+N7cIBGhVy~U#M z-s*+Dx&7Q5a@Q_&oKwzM6|d*lqH)nq;`)omBCBs}d;$}4cPywEo;5dY`m8tGs?X2e zdu_Gsg`S5M_Frq-Yn64xl8O^7ud?+2T=t1~PpL}8X0y0BHc3ua`y4I4gGXa0oxSRp z_$~YG-;ec21sW8X9nSRIUx`)MTi@N;ncZulW?)u&vF$AHgxPtv#!go|LPW%u#HiOg zm#zLimnmWCDZQ@db8q*4%-F$g?b>T6-%wQwM}WI=R*w=x zP)-wruAzet>nh_@3>}wQ7^CtU`ome|dUvkgxM_Kn$nCUM8B8m~82DGTU73yGf-zJ~8R0#U%@A_gV9#{b!{=_B@?qlR3B7ezEQc2~Pgn2BBS_ zeU?1Z@JoDM6aSJgONn7oRANp0LC%n`ZB2J>?#P_Xm@}JAZ{9wx4SSw?_kVeM-A<(G zSntYIp*f6)^%b0L)GewPPm~GKb3E8Tua3w4kxz=j#}7rP`lK~?{Odl*wB7y6hrbIY z+0~6c|B5+b)DzItXRZFfjK7WdWf`A+r?B+AIETe2wFUm~5B+dmvDsh6&QMS0`jwEk zZj&B$7R=`3@ZBoI|2FtZ?BR?jE<3ZlW{Ie{9(>Qy?=+W>H7`x;?x)zpYu5c)@kX+6 z>HHM&PtNP+?ABW)xY*d};>4t=rEA1@yy^`3!kGVg=EmCV#$VUWnR0sfqb*f)zgwR_ z6s+-K*(#Bw?Ip|Cd0kh{=2#@)ap=Q}sU_R=XSb-`p0uiEnpnh~WG>h64MLw2Jw@K# zQ|Sn?k@Htsce{02X4sE&udW7F2>ertUw3oGJHE#+Q;fRA5+xdX&i_l=yJPQUzNk5! zYtFcs^OP9~d9V6+DxoLlyiQb@=Y+2zs{&n*o(jXST(s_qtj*Fh^-2|WYisS^<}q*4>!`e_u&TUYz4DNukJ%)zKJ6Q;71`DZd%d0@ zQU9Cy?e`~-wLa85{L{bo^bNfLQLbD6+4&zTUCk2N%n{`BN&enknZBjG=fCef5XTaF z!y;?_(tk&0@xPFC-74FjQxsD3SL2e9O8Z5-c3%%3$)s=RjtKOIeVlk&G5E#bo;`=l zSOOLtx_F{_P2zec?Oo0?x0g-zlb2q${rEAnBloW#V-!5lJ<;P?7gf_4V_h1 z$8r_Ko^*3=Fe}RvxW8pxIipL`(ksThJ=)gYH2cA@sN=|toyR@C=pD7&_9>-T;1@sV zJ!g*dg-dpDw`kp1DVEYPf9{RlrQL_lWyQP;{`X%(hVje2v(MM_ttflM^ZV5WZ{I6@{*jwjaUC9hv)7n$)iP-RnqYh##m z-wnNQcD7~}Ggp?D@9vPuncx*-v1P>s(KNL{wh3pa3G8_?U(MC>Uu%Yp(o&!6K}E%f zSF|zh-lgR#Gg13^#ob`q@5pm~Y*6Wb)#E?gjhfwX`ZD$H zq^3-Rh+a;%<-32an|!r!y5aShc>mp3wjMe9|G42otpx_9#e9$2{a@-SKA-R?)tzCt z)ql0J&C56NubjzcvVWnrfMd_U1w4X*Z5QV6@)hQI^5*%(Sr#gHK5hIile(?paB85~ z{i7}2Q8w1x%q=^aR%)F3Rade6ZgU0Gdgj)!q6)Ku*OFxVZi%Xm6_=Jf?pX0b)W6DHcF8)` z^~)F{rTHg3n!6?1oJ+(}H|)`>oC&WYr@9{5@J2f*v%1o8wm{(1+xNvwR>u^yr)|u( zwblcN-i!#{DGrxW5D#x@m3HM9lHbyLNVH~$( z{~h;OQPw3;Q0OCapHax;^6tIn-+1yYw?2N|D>##Pj_j1M_KKOBR+k=bFZx~UtHh+9 zQCCu3RCD=G)WLi6o_VM&4O6s#ro?pbnLLvP1J?_k#{Mn*+VXQ0ZSS5kvN2)c-=T4> z`?JqvTiJsz?j^LEeVVPU#(%k5dipMlQw-jEs%D!sK0cpj`7+sCEb+&RKK@*xtBRav zrXtcY_wIf0_ z&3dYh9rkyEE*osvM##0Ikh4%}3vX`wZzpCmJ>_7Ls+NNJO zrXFFM*HYE8Wq*Y9?*@O znDHHJ`_7VZI-=isp3gENjsp+B#jWwUS*RPX%Q64z%H;*0zn6(~9@V?FP0Qzp*GJz2 zC8~;3u6F$Fn7XpQ>r8{iH|BLF*36I2ud9;Y`glGoM@^Q%m*PXQ+XE#v&T_XLTzgrn z+J*0@m))`6Ek>WDOS3AnuL#=rv;U1=l5@{^^4v3eo8vE~DBhIXJELN%!;?x+JF7o@ zET0_n?I&+Im$X~Ne_0O)?~(2scZE!TiL4VW4_EPPU!)Q9>iN!gy<@i$D^B_dN!QG+ z5Hy<-sB!Op{PC2=lbZ1x)s=#@1*bX8Jhk?H6>H@#tYZ8gSARq>NHp%yzbPL* z5;-{!Jo6|~TDLT?c){k`fihP&zdBu6S!k(qX#dZBw;We)?9E=XW#y7nY62(p7q4O1 z@2;`M&Nq)??U%BmMYk&B8^d2We48gFIp>>+!93F<<0Y#PWVP)4^5Wz@sl?A*x$L^< zT;{Gi^6uS(vSKkA20f0Z!eC?Rl)2A2>ff!~H+voT0-MJQ8(5~ye!u_jfran4HFz&} zdbWzMwynr;#XqZ#RWI%sw^^TU-tc^T^tFn{-wNw%*bh9tW^`Cb?(fb5ZJiTMF4vR$ zPw2mCI33h~ZOgF~=Cq6gucmyNl`C^2m+_`9oNRFN@89Q)(f7{I*#1bE&G>($L@e99 zS{ps*3}K~@H$JYpFU!^7aE|NG6|ek_?oR4|<9b=rE**KV-&(%FJ$JqEgsQV=S^ghd z!#Q`eh|9eOhF7!uiX=^IW=Wgp2W@Lu^6>vt#aF=!yA;b)c0XfX(tQ8^f3{1i20RT7 zpPx+jo>g@;FfH$kcdNp_EBE$nPOoqLJ#U@BZrLO6RQ5T~-xR)fqP6$Uf^v2L8W~QO zC(Rlk1D^hfp87;J%t7+rSH8^sTwB-{_{XjMs*rr{kC=7#g0OcwKbTawD+J~UpY%K{ z;t}!iu}h@IN3FB*W}BsDRc2fXUg4e(XA^1{3hv-QrUO>EqgV6N}+r6>yH;& zZ!TD1Rv{|9zyCmq>S4KWJ61>-Ub^hKolhaW%`-IB7?Z~%(dgc;hPR6n>JqE1?A8jg+o_6M5knn!- zd$He(w@3a9mb{tsXD%<()pvJ_`P}vN5381C%l#-m;ulxd6#Q=MN;w1d{Fic38=ric z_0HtrPMvMrGv)Xu)`{;uV!dx|x5)ygT<+cV>_xjib6vWa zEuj8^d0W=nXAfVTigK*|qq{^iQT?~+pKMNzO=sAzPjCur$l?r~s`M&l&y3#12h*zA zcYl|ySf4k$A@Hz!{!W3d?Trd4RZD+&{kmCjY}VD|y(MqX+PEC}!e(~%vXK5=&(yD1 z`L50{{5?lu<*fOe*$zn6u$!e?oS3>nQOa;hX@=^zm+Ru*YP1~`wOze%PeuP-pS{zq zUKX%^_+!H_<=ema{t~q_ipQRd75(X~yf&*a>P2~=f=8myDw zI-a|I+^Z;c`Wr5Bho6k+#l5C{+0c6L+1vLHB@+&KRqbAV^$oYl`*&ZO|9-XF5wkeG z@J9Zzrq0byo1}POY(5pH8g@uTOCX>u-8A^&#R#jYPeR`}IM?Rgo2OU4+SmGxd2Z7U zlld!LYJTb5)_Hk!^W&!qst3%Lzey`tvDkLGM$g|Xr_&16Tm092U7v6`b-8}tgZLCy zed#F=AJ17(x2W4TXHWOd5N=O)&MU7Nzuw*OV#|}Q^6gV%f3wtSe~g;AEo9d7<>xtk zeom=vw6&PG%Xaqs<9VqEq$fP<{;un+GS4|Eio+2V7xDpuQ6wT-YM@-pJI-vD~7C+)o!)zcs0Gy?8TyP z&+m?(+df(F2xkR+{9mWHQ+%G`>4_q~ZM;*Csi@w)IFpV^p8Q$Vea||!8y(PpIzAQSus6ZA|Jsf+qLWOkLf1`Ql~!eOJ4u-{E@zr zjaOUN+r)Gn7G{uG)K{|CJ$2&xO|qw?o#tgHNVw-tTYM=zRqnz)i)(&Y6`oIIxodK< z?{w=*wp=j$rMqt7j#uk;*EQMn->)h=B=PdksqlG>QTr?wy*P93o!;N>_!_ZG z|3rVwdi)Xc%adevs;n`Q`?xVPF6#I>vCR(*t@Q3oEPJo~R4dA<=Son;z4tfLEf+AI z{=6sbwPN4d2R+7?=iVHV%?rv4<_}Hcug*xUUE%d_-lJT-A1#8jb{yJWG40GEf35tl zKQ?dYvTf&6SpP`H=B7!GT>iqBZgTe&WS(-gIi;q_ev$0`A-A@2SNM79!>L~q7tDDV z#v#wYJ=j>__7@f@Bdxt$WXXv*_uV^@d@9qGX?K`Xz9Zi$uxV5{K7?#U*uoqkaIV* znQCCrcjxuZ855#Z&^SL*=UT2FgSd5V&2;a`yN2iYzCHc4!|qzJr(SJgnfgwR$gQ>!55tcq z-aJ3UfFu6nRhH>@57lxBH5bKJgjT<5wUA3F_=lOi(-LA$Wm1T3~?(4@F5sI=2x3dWiH)o5)hnpakoYNJeUD?e zEGpQ#-2au$&TVatul0Z2YEU)%;j(?l)%nNGWM6+>9)3eoV}0G)f`h&4bJy*1H)Q8n z`cOZTskbwI=Zx^SC0X6da-~h?x8$z$yBv7ebWwq|K>KO#j(WG_7OP$uz6=$xn)qhP zO6NO!GH2&JUie1tMbO(^m9SX{_Cze1-s-$^vBJ)C8GWl3t2M7woxPXU&phbSkJ8D@ zqCP)Q;q-H!sP%Hex9=sKxm)({Nj_L7f61bsEikUFf9C;q?|-Yi_ulmo|NSOKd0yh4 z_Y&47S4Bgn7>F49UHwrlvpD1V6R+(D)}_DMC-712{hmUh4Y?P@{z@|6UpCM6t^L+F zk&orLHDkqR=CYK|+9Bb3{6TlnOe~36pj;9e%p}=a+!cVDX0~GYs~WcgWcKWN#KySQ+qFq=x-$<8^B<{ok5# z2SqK~HawN;IDGHZO_u1TI-5>>zAIWH9(LN;hu!s-!|F(GY&g=aYIgW zlI{^7qpacu(HoA5I?q~_bGg;8IeLxRi>U!R{*TtWXifS#Y2NXhdI>C(AO6{1W+1Zq z$u_|rjzv5*+kaii+onXWb~&e82l! z`KJGe%Jkwcl~41W@wP%xcWT1ojoVKj8yZ2zN=%T`X``9lUZI~Jvvmz?{Y}-YiIsWavNp^1{ ze&?St5OFA7)7BloWd~;m!-*g7n%G}C++6ou(q7wn{`1L+r;O)t)(f8B)BEP*eV&+V zuAKs=DYu{L>V>a$?ybu8UUA+-ujt@)Q)cDfrkw`iP zrYl(fK6}pU@0&HXP8wT2Dqq+*dzoh>g$%#pn1eA~qF%l_!zx1VMRzK9E5 zH)r+ijLtvz3mEPvF=S=x=B=80H~;ONl-pl20v=!0$;&=FQX3|8l+?cA@I) zSF^d3W-^*43bzL=`WM=ppSNKByEpHB%p;WQI-}$I`OH=3+%CVj+!G4tf> z1u9*PwQawJ7ww$ZwZ&^uV|S&$<=(T;Is5r?Y9G~jyblj=y*8Ek`fvFSw*sE(WG`Gc zeT#(u^q^b5bsGDq*b%qu&_s&9KI+*z>1Zo#*VscW0^m-O6I-CGzn zi!obfpX8z6y*tXkzxd#}ZGUZWuju_V9o0WsYMv_cUby*SZ)4z`UiBLXTW=*TS)r=y zo-;G@>bdp>2jkSO_OA4a5qze%WyZd$$2E|{5y9i_F0oIXBXJ^9cCk*~Fk7MgRe zvo4G*@0b7h)Yff%7bAOgzsrhw{GM@ES&ApUpDp9FzKU$>;Aj)iL39W*koJQw4L@< zZ+`3#>0ZzE_P;>(8G$_RfXQ>dgt^S@U^!SU%c$tO#dOuIdsFAWExXUP{z}7?gLhN4 zie6iu+8yl>&=bG=g260H!zt#HGrQPDm>zz;^y$Lc)y`%ayya>I37S?`x?bxqt>7qg#Gsnl3 zuD+SU)1nwUZg9#-RN0C7Py8MBsIIT2f!E5^p?pWHq1|(J7hCk{ecTy* zVMFlJsP}QIS54-B+kN|n`0AMt*bWAZ**SHIufDVUjl-XUKV1c8v5JMBmc|ZNw=UZj zO|A6&{lV~?$&M(EjpaXIY<=?SS5*nq%`Q~U*>qy( zq|l10rEhek|4&&nUDxe<9gFBRwXB0;TaWL_-}ydfX`^juS9YJMGfT0*sOY>)YxAf6 zn-~^1amQ7+y$+Y0BZQB|dT%~HUrG7=#~P(g>gVsAJA3d5SIRewkBg^AEqJ(`WvTkf zMV=Yw_o&7eNvm@$_ z?YV05y!xr1&z{_WdVl-IFNb`+CX_vV|3`H0d&$3xxBqS2)X$z$8W4EiY4O3A*8j@B z#xLHoT0`OgW|LPpe`IMC%~Di}RPcK=^}k~CnLy*^V(<0Mr+xZ$bmhwYx&kZa5#P_u>1YwMHD?qL<%4 zsD9kM@nOn>=DqSE?13|PPuP<^)AQmEixjS(ud~H6dwe{2eG2l6c#BPA>TLqF?CT}7 zb^UwCB&ap)2@2Re}Qz~sw^#oaJJ?0R+^IXw)-*d;S9fk|PIvCDl z3kmzM*t;|6fe-5*>+Ki(cWk&_Jblf>E0W?1{0LQD&h0cw+ntdA zo27d1NnfVlu-BC{y!P>YPoHud z$JWSC?+@zjdMEd@xXRQe4DGtWEjka-L?XGui&tBO(rNm~JQN+&!zk8PD>ol%j z>UWFxuj?MA!=0+D*R5GC(Z%$A>heDhxyj7Z5A)-fzc_q5?(%QTh04uF38u+Mk3H27 z&HM96`tm!;9GRJE^XA02D!BbQmp@a0)nuhYXr2Z;iz4>*waDXK5HCDmT$JRIU zUUAjB>e9NZjeXJD>n2OfF38xG&DAQ&TziG}+q@H()J}g4-B_i#wrxjcriNTr%OkJ< zS|xAvefFAFOuN`~P0>o0-8Ln3*5c`|uOq8P zcb+<$|9?VOz|A9`Tf7h52rBI3sZ-#4C3B}{-3Ivsrt3?EOTJycxkKdq8K9}4uFd^zjbF+OkAPmflr{AG>#-zq3A{`vhjp{cEA z8!YSW9OfK-ar#{kgG=P5g2;Po9P}o?e0$hcBWY`AO!xW1ZpH2UKdQ*-ybl#_FA#2t z?eZ}FYjRSh;``pxi!yHcRr_XY^aq}*dT)Qs)_$6hWUw29)Rmo#`nxjYW+@1>-F*=r z|sr*dqulBqs>D(H#_{)sEGRNA@ zbG_n&9)@Y{^IYS&L4DKa{Pzsgw{7?}&& z2kSvQ#`wbU&aaw+>Q@Y;E&gTyz3!29@o7Vl5TNW8kmuYKt(#g_Vy5x?U zsprwDN)JDBDRG;uHW+Qa83Em|b||JF3VyGuJN>#IoXKy2|zc8)k$hsVxslw=x#*J!<71!x?)tKJ8@9p(TtaHq#gXym-M+v{S(E z;Lk{*{)*L$K8Xctyt_3$D!?+-a6?AadhYX5s-f@roeJt1jJ)r+W^H2{?WdC*83ZQxe+2S-YWZ@E%?4;{@gn0 zq(g@}4*Sc$nR@J`(Q0Al98+F)bAMH{zxjvGm7JKr`|_`@dyjT6&H1Z;{o4Vl*ZF)V zOWvL~I~Llm-|Tb!)S5UGqdhg=XZ#HkKiB?J^EEJU7HCm#InlJf*r0m)J)I*GJ}ZSA z>uas1Z~B;b<=$R}z8JMsBd*8O?c202lJYxte7QuFLd3Cv`7XH+3I7fK0mR0HtAGI zEcb-qv$E?v?}umHmA}1Z^VRMB#+$7T18mPRRF|DEsN&Abm#wj7x+!n3B$I><8r{2>9`4NiM2BMl=3H~tlU;l!}Ifb;b6&l_z6eGmWo z_eVHu%LapM2|-Wntn}M-r+!O*X#W4Rl}32j+M>@@v!3!?n~}48UtREWd8-wiv%Gs& zUe4KZVK-~ngk}l3MdksoM1LqdnRDpsW@r8UY?(e=eAo$_|=kKpp!t^3|y47|tfvdn*1 zbFZJB+P{t5U7-<&ndh^!gq=Jrx_s%T<}|Y__KlY|9CK1E`|<7JZK2&l{>`mgbH#uE z`WmCN-9UVI@oej|QsLF1+unaMWN%_GIqcGmZR>xSB6s^f_?ukKpPTSvqBX=G!_JZ_8YC zZv8`VzOX*EyN`eBn7G^Md=NhI^W>&q^BDG zN`}oydq$MVVdo$j6|u)2tJMoRx*7VKSFqNyT%gC2huM9uyn5kf2;V!>#GViQ4x3B%m;16^8 zuKZ(JQ%1U%!(+C6-}~n0l$%@3TRQXeSI$Q$c@zs9qT7^Kr-0uM3|}6yN)ueW#*{%9%MFHShOK2<4NSe5_|`)`fE~3@4{~#knpue0i7o;X-GV zR};?c2;J|x<@fm=UYy<4`_vBYYWp2M!R__sA8*&ybvTH=3d!m7dak!rGICo*ZTf}= z+xmyuE6*HgW_+e>zwwFF&p*3fJpG$}=`Q)5G;qCi2-hO+rkffT)FCHzC zRYgiip6#jj_#bxbs@L~*XRo;Vn=hOZB%1dpY4=shx^1nymR~;1Ijbn?7QdEc=jH|} z2IJ5DtGlC4XYws_KQ`0iwpX0Ln(~D=j_ETmzO!3V5OA-zl4s7|g0dhP+n8t8_X7*3 zwzRf7KIpdEs}y_s`Q!V9?XF?ta&$4GSC!Uj2P@bd5U$7tbN1x^)ar;VZ+O zp8j`;darupasF=EAJdk!*T{8mSZ#3d1k1WVKdO&S|J`hR|I7NBDO&&8<9uUZ&E-{e zPF(8BT7T=UgTLYJw^i9<+oe`4oH~`!wo+#8HgVa#|DGK*S^FnwI-}R22%BkqYMR$G zE;EL1ST!fapWoo7gmT{No^1uaIx)#x)_%{>NobiNze2-r<^C(4=dZmkF1{|e!?L+= z!_TII_o_F_?HNzqw^7bJyRz!+&T#$6#nLZ#*D>rn9P>(Gf#Jy|ey3UWq+V)!Oy*>q z^5@Z`hAr!g)mw7Th$nNeS^iN~XwS{amZJGalhqY@j(>XIxFd9i_J!7~k9QuLzvqL5 z+!vLlM{j;PvC-#peS(S!#`zy}j!!tnvgpkxMVmOUp|&`_OMy7^T+q9 zo{!HMU%fY}+Ro;F?9%+$1qpJVs`IYQ*jKM>*Kx)7xmu{c-FeqlccqtImo((Ea`+`H z8`sbgk=wo5te(r{eW0|{mfFqSiV~8sc7|SuMT!J$*qgn6-`K-_`rTIn&JQ11)E&0J zUD4OayK3sgZ8}H7tNY)mB-j~-*YEW@^inzUdX>WS&#Dc(RP$ohmD6Q}2S!>VCQzyA(UgYYaO?!{ukeSM& z{{P@#yVeJXOzPM8f7cF_m0j@u-qAPenom@Ibv?P__1tlOEOXDywLNj$4DR}h->`Wv z>zCpBs<9{v5Z)qNlIn!fwAYwo*;_S$E8 z-@Jb6@G)6jEav_UCKXO$S%;%{tEWGHwE8o@%jzi_OXsy}$%t!)D(5Ud^T9Cd5bGm_ z2ZH7|X1AN2{Jia|>BNdAJ^nI(Z;!R!wv*?7pF903ujPliU*D@-{a1fn<(A#@_gs;d z9G9oP>7JgrNcq6tl@gzqXid9x_0MPZ^|ne+FMU`Lo1GFod+x5bx%+!xFMKKd_wdb@ zSYyWIhPg{8{}r3Q?bNZbqHDz~mVG!-pxm3jE~F^E?snj^iwQ6H+waNiV2p{#HM2i# zop-T-ji)Ti%s*55%-KNqc^uv*+@aQ~Lb}@PuW8+t4Nfz8G||oJ=KrU&zZnZRCOn+u zp#HQd#7|1|;>^r&d0w&IbyxDHdi^`0qm*rHxo`ik>uVpCoR0Eod^#aFjKML__Ect4 zQRci21)j2+QTPAO+5h0K!E=9sV+ld6VJ{o=dA`g%G~;Z#eNI|Zuw7$s1^?1%A&kk_ zUMQctzx2FVM@R9Roj;wUeIptFJYD`!XaD+!Y898sB2!C3HZU@-iz`h0nCV{PJ*SxC zS&VGh_e;UISMmDhf4x%Y_;%*O&cKxB+W}J3f=kx_IA{HSRg{TqdGUr58DFC}m9=!r z)v^d~{4-6!JorsnpjJxm)lWZawH>y(2i0E`icDC}Yr6TkXUV**t)fCpkL8sco3@K2 zh-@ieGrf(Kwb8olnE!GA^tvmydJn$MO<+wkoc?v2onrE>`=@`MW^3LuG4tu+ueS_d zmn~#mb5YXpu$Jebt=Gf|1$1d0+)<6AH#I#K+JFRxI z@o*j6#GN{OdDFqeyw|^MDu4A(V^itnR|=l_@41YQrGKwob9cdXb2qo>Q_lt0tjqh} zWqkd$VfHP-Q%W<}NIf@Z{NUWr&|AD`sVkG=3X^5JooAxIF4`s|(k<9=l37qB^ejij z8&SiGfcZ>5I^qHD92_DSzrOly`|&F8)sOo)=LaiVZ4HusTKV$jKV1&drG>v77^~&I z3ryh>57zU&SToi5~qzOpSb&O=JD?C zoAv(^GaF_`NQJ#yl4a`n=QqDSui@Pl=l&!y{Ovg8(dQBSRBFYt=bblmBRTg!`Ds4O zJwKV_*CvLG?Wo`Xd+MBTsns|BeEPLo<;;qU$-g2t zeF(Lk=F}kd@Zvg|nLBisg}&L>@Hu$qhl_$|XLwI;{W|?Jvs2UT>|5H4lhsbgUK3Ye z=e8+-#orz8Ki)|8%9Rdg%4Cap@ylR(`KH|*o$~p)7w@iFT*M{%@}{c8W{7NTOfKH}IK|Z?mBDv)5Vcm14L)|6y*vwlYlg>$=L1?r~3x zpJ@oT7)Q>i^}PChcS44D%gSphyf;%=TyFkZ&}8EG;bWnjZF88YgO*luc6j@dn3L}3 zF4uZ*+sqVR|EAS-O6{fkh4&>dPwjS&zvh_ zPyefq4Ze9L$|aqI4lsKDqrTn-ZbKYO*+dEOBYr5V4 zYudXnKKD^vC%}GavwFgUyf82-CNg3D}x_AJaEq?q50>evJX!@ zTUBnptG>tk;`OuZ?H3GAf7t!`<+C&iJ4H{C2&{dydf&?5 zoRePPOV*myI?HLD$1_cz&#pYWiYy&P3{L0fg}!|j;5cOhGn+}8n$~octS|3PB@*g* z4o=teOy6N5^2TyY&hy*2>UOX~fWIIdLP1)Axk=UF#-OXIBLhn<~#!dWhcw+j=dsA1KpN{x=%xmHi z-PNU%{~~_=pYTw;^UXY)XA#1G`NO;3h~KT9`AGffE41YEUA^}k-|u`gQPsNW*fe?P z?Avk)X>E!bc9)J#_&+nd@O!dzt7`v=eHAax^2}2!?XpwrtQ6@=@7msCz_-Y1=lz=W zt1?Zko_n~K-`c}va)Zkz{Kw`;@psomzg$*%?f=@slEmwglloRfD1^l95%D=%W0<8j zb;E)ms&?X@^V%Y>=9uvvZe+9(SbpqM{Z08xVusC)jW=#zb*YTVuh7rPyZ2rED?eAA z-_@oJW1bCLLzPr7I%@Tu&vdNKc>19*WP;x$uaqt?C-30LS!#UWL=@+IShnoi)^%HD zT^{GD-(hEGa}cQ7=eO$D^0F=5}*N3chLR-Ef4NzwE!?wKM8dtj?QdOwl>6 z-`$6j8{}o&3>UnLtv9k1t=oI}AhQForyHt!n6|DE-)cn*Y(9djofhAM)d&Rf) z|K78)`0qz9)57Nk z`;8Z_)~M7Cj_mvS`~B;jM|unz&}CPsnR$CPBrBPx=d%URt??-?+YNM%clYok8lK8?3I1tTTI<68h49!Mrmw zR_!VYZkH6<_@_eWPV@ZJZ&?zL=H0EIHm8y4y~y!>>^^k`T=zbH_1!c5L%QFDQ%>i; zTiy5>yYk)i3vSZoA03zZI^BC`e`3f;o$G;r!Cuf=Y9=z{iw~aYj||a_SeZ-Zw|-iaU{oBBo?0+iP--7 z^9_5I&;_n(F>^kLPM-5>((*+%_rsnQMa|69ycKY+!BR{8rjW?G%@RqVXz z%fza%DgKlCT@5YI2xTtTDb!pN(DYpJe^RiH`1iW7)`1;MUGn^* zO4*->%a-=KADmcxA>Oxk*M|d+Jbjx2Ihk*ldl+-D-|AuNJ+HRnEA#=FQe;j;yuwWv2j20X<@r-oaS{##q;~D zPCid$oYEh7;p**viN5nrmzI0Z->_!BO6?wjmV*zuPcYr!eN=EYPUgdkQimf(;@>?>@ic;|+Y>H6ff_OWMPAvb00b z3G@GV7oYfXnuz5D$EMKUa}(t*gst(EvgKK%bFk-1mZv<^(WD6s!N!;0NN(7tyS{S4 zzU@Y*Y_44QGF9z3y1D08ufn>Hh>v=vr;Bsrn}nExii5YD%=JBFl)oZxf066P=Zq`u zZp)p$Bfe+)k?n;h=S8R0&1thRwd=U}HZ`>*r=X^*lcJ$UEcaqFXB5w)yG%unOgjCsB+ejGdfp|G z1#eZG><+kEtLKOCJTQ>DFZ4%i7N$iuFG$d?U^%KjB99MbSO$_5HKgnCY~}|21aU&v@$bzxLdx-A%85 z?+kffThOsw7*c*_q*>@rxmka=`)v9QYaa47`aG>R&U-gWVr6^uQIU`5g>0|p-#L4@Fm2PK z{hxE|gLnL2_ASu!B;(TOyLTMssGA?f7Wli*&F0>sl(+Vdbxx@}}!_Pm{+@v6*~t1`^xLd@}nE7kbFF2DIJi-+HAo@%i4K})MdR;je>4q`I0 zylpdY1^+tT>(d<8DIGKIjjI0RCyO32JLaxmTA|dM7JUEzR-XFerVSDI+A<#NoP6CF zdbUn#x9%m~APGa^H9<%0pMN{N{vPvrp%489Vo6>Xth<}88G1TRI~czrn057>l!Y0q zdEEmhP2U?;lu;P36DqB%{ElbV@0QC;j@zC}+Gw0|rO9-u3HNZtwNZr)_@-h1BF)SGNx6W#v5^#9zyDqw}r ztT`NK>YjYRWV`glY^F_0?^aui|Jzx!#n)^lhr_Apd5yP%JQ;hEohRG>Npf#`VdbVI zU^qFm;B(ld$Nx)(Jyy*;c3}&{TIFo7O;L^ulqQ%?6rY^OptZDYwn@ob%ed=b_nRpG zlfSez@4wcLJuh6gC*7RYe9moqSLlgbvT;Rzl9O-0Ne!IwKOy5?Rff*nb&DRgWJ>(_ z^;&^-_rt0+FMG`+-z;PGvXb*xeU!8A(YFa)&*w}u>P`;o{8xBv-iHtW0-An*+VZN6 zqrHBen)#dmS)Des=Wk!P)+$9QVn6@m`uC0>w^=+W&v7yq+AQ;rS24x0RzdE7CNMb73;yWM@xqt=Yx|K11k@#JzSYyYImHk-J0ZC5N4+xvuL_r?u%6u zCtkbx$@55?fhE^UnLl<19kTBD)=!lB&aEk&>L7LI;a^jZrD3fcOjZ9fIl|LZOM1`yyJV&aIej-mn}w>>fKk>yu0>EJXjeg{ha^xtQJp=`&(ph1kOI4 zyCr}7Lap7?=3cxv@$7E5<*}!qZ7ttmY$6%7EqAxXSaSXJLzBNTGnyi zZS~`O55#w@T%p;tTI=(gkN=ijoPXDsJ!3=c&x(D{JP!*jwuVnTQ*`TIdbpLM+0J?M zVis+Cqp(0{#~GE2*1?PT7JPrdsQeRe?t}&VG8XNBdWbPNW>Q(z-H3eAn2Kq~76eWU zV|)B5*m>gV(^)NT*Wb%^KXGcAQz9yOFTY#QJWDmzfLrxVfV!CK<<}>3PORMW{ieVA z*I9p>Hy_xn8vSdkR)n!}--}Gm!Bgw!PWy1# z-m|~2#pce%$D;B}-t+tr{LxxDueaTDfnV12ybV#urFgZbWUu+O@*!))ygVz8gl; zm+YoV`70EhGp_$9c%sd?;@14Skhf{V92KUk{Z}zA_YIbwyWzvP_xW|(US42a&~>`m z^s`B}oVKL+M1v<&R)NKr5@7{7E2jN_&d|#6>rRCB>UC*}(zi2M z;`&NwY+7B+xbsLsQg(Ku_2=vvWulXJ-rMysFPArfTmCL%#YT~!t=HNft4nUJJC~az zro8G$>6Iz_?(Jap`et9|MKgDwwR(!lr9(0az zho92am3Cdfl|#N?JG}kV%US1k^oMNvr*|TX{i)ynR@Z_XET7zk7I;m}x|%7nt?i%W zU+>$3lXiT0cb};ee&Qylm-)Z(zwZBH zkH3`3!iBh zO3%d|Alg)h_nnJ|Ov)8&z5`kC#Ed$l&G5Cu;({-yq3`C|4%0-MY5%b8J+o%y=KYwHEY6+zuM*B`t;^! zY>IUH$(D0EcePiXySD7;tM1;Pv*K^>j}Bb-{Y)j_w-?5Z>;B&?>yzF1RPe_epKBHd zTPqGT_8Fyq|6AVFay9DEROcyO)*Lnec6RZ<-w-e*q~bW=wBT>sGFBWsnOVJSt%}cM z=UM&Uetvq1!Kz*1O!}hd+vY^fDStI@;f%eVMi$4uv&UEof9g-R-aDe$^zJ)e_7iRkI5U{N zqVD-PNo(C)CK~eMeR{3)U+Evxi`RWPqhDDVe*HR^iTd+7(a+W_%70s|f0KWE#Flks z>B@H}PJ6jvYlo$cf7EK_#R}WSU&aM7hZI}d#1?A@Tr!&8VHUEn_ljhFsO!Jpo~Q=3 zT&crvzn7dcpKa-&u=35SRg3rR3J;a~@r{`;vnA%-!^9Rh#u({Hrw==me;#_7Us!dp zxLxnN(9X{?=WR}!$JgvOGC1FCe7tq{-Sc}VPI0+5VdnNd`G%e;xvKFuzW(~wov%`! zd~nB^RQvYl=RP(sT)bn_%Il`CsotAj)EAt#`^hHpa@TfCDGoT|Xye z+_|LZ)LGH>C#tT^oK$e}!u?+zibj(?)g2a;yxFmaIYF{vR{v`K=Jk)K9bDKSZvOdh z6_;e2(+q}o=|{3+w?fTM^ZokKb3(Fb+nXg_&)qjI4!(3We9B4Qr8?g0&Kv&}SR-#M|_0+V%LJ^bi?;@k|$C-*$3|KGRjoc-!er($dJ zCqA|JX4%|vLY(tOpI&%fYSo3ia}Pf`^4r_r@XYqRw?#PT91Z$Z{7>Px`3)P>Z(0UV zi-R{!{MI5lOXl06{~zDUl}(A=-F#fvm-7=>+RD{4`fmBi?EAOCv^S^DlhKjmNbO^X zI|nbzzt6O6bLN}0pipWJLrNz9nVz=Ghg&&ya@fP(*@upB>K>Zw(j^fcSIl2>F>{ULv7KIGbEEi$Ug$_w3U{-( zT(LOc8v5hbztqwLoEu9nu5CW^j}IM#T%SH*Jl zZC%|^{%mjRd0*Q(pFc0miMthJH1T1Jbb9fxydp=QTjAZ zU3GiHALJqQ`}I$4d$yM{e%b6(x6F6bToX52^p%~%F6lq(cNS%<&RL)$n>KTjSMbb= zSdVx9*4w-P9_jp9=JGjDW1jeo_p|Gb0}fvOD?DRv*YdX6yVyN?bPJwoUs7MO;NQJ{ z7eo#*-N@&=BpVn%f5yHYeDO2=c>TM7-ry+>m>6tgRAy?m|IQS-ux++n^`<&Dy1$a= zZ1=eQ^567&QJ&97>$oQdMtO!B%ASpPFq(TOT%z*$)cKG7!pws!9W%H3wMW;-#zkzZ zFPfxtMXaRtZQJTa51s7=zpn4gT-5oeX+!1Q*^64zeocFJ&cbC`!PI%tA6%{Wy4U;E zMJ&31s%fU+pDyKNN*ZUo@3}haE3ZY%t>KTI*|Uc(RuBjXJY~9baVV#pO-ncYZmws?TDc zvYjjKrOMS;PYtz`w4KFXUdhXuyfKSE=&b5oS=9qF{_7Jq#ZFk&}x@LLN@(f}12})o1 z6xrSJeg&Ji)v^1)J#p(s= zoJp^!nV0$??CIg7NsJ!F*RR~Ej^_R5yh|*E&B#?%e1V#x&{_M*&-|EI6f6HRe8iCP zrRv4qsduHr>r77lUAvoeHftYaZ`HPmq0y(V#_T$ZToPZxVKY+~M=a44m-sYNyF(7v2^{3_5on@j3RA^XFY z@Za}$@0omx_wH1eUzO`)3tHd2bxq5&sHtfA*q*-haJhW!`{M4!su#FE9nq+?TzK`d z;beu00xOh5PsYpSO!G?o^vY+o;l7zsYAvckOd5$3WIuiv(y0Bdc3tjN4wtEdpHsNg z$63s?Pudn-uRWWtGEwv7X%)ZT$f)T;n*@L5uG;nL)YMZSXJ!3ZcV@tdxp zb#ngs-}|Z|Y$JQpVxRB`7xp&WHR{~)j~2{bdGPAoOvA}nuf`M~W?EL`V(xJwbpECf zKmL~AubrQDNpQ#9@Y34frt?-gAFY^nW>qFjvC(Ha)n$j+-zmHI_4vxz*cjIQSiA9L zb9+y~4f})(3t#SQ+Zt7@kX%XQ1Fv5pYexa@88af+6Yj_kFL38K5|R&xcMHDH}y8Zme6rB^U zAL{#iZtDEdDVD!~mE7Vms_*!^^^5*Y`@k*dlP#XOH(fWpbH>MTrcVrW@Ueq0nI=qs z_4oj@#UpDM4cp+<1OGBFAH93hr+wA=LlzA0AAdMkv$U^@L^6ehm91rHV`jIcbcyONE7ttl2 zqa<+Jj`_g({S5wfCNr#T=UP=v%IPhrJZkrU*~ghlldQu9@1MN)+Sl#Inl7zh%r9n( zeA*ekI`2WDiCVnEqV-0-VR{Eljg}oNxZ`~FR?NR6q3)KRv8w|rxMqs~nP`1;ukIt$ z4d=PJvPypoKS*Axze;@z%Z?R&#}WeUeSZ1cZ%Y5Uc87SoZPly1on|u%RoI%3Rb1Ni zbESK$U;M`Q;K^HGeHD)QUD2VnaN^U-=#pI}{{>$c?ry8PSsi*mWbPavW*fQQH$j@h z54j8ECLDI%bKrDg{ES1_jWeASZ(o13qoVBI`?BzhEqD1^*57rW@$@|7)6EP@iYrcX zhQu9^-m_rpL+1_tl~3<@%4x=Q{9}8X$p3}2pnChP^9PFyZ(nblSi`evWnK65R}&c` ze#Wv^f0o>t>3N3F{Pg+A_KHi(j?SpzXyv;oz?Z;cWY19jvB|gaNN2O`&YAz*UR!5J zhpX}jUrH)Y(%iPBSNhuay3+U$CB|w?XKcOHDE_0z*GJ>?lJ}R^Uwb2`$uE0F^LjDw z>m6+SmwvzYW}f8pU;3+SCn!ul6KbI%7-+1JJ8^Qyr_gB_d z%0msE*RGeV{Wek6>Y&(VWznFVLQlJHXZs60@mvL;cKH4Gw$0=W?zSuR6q)_u3VR{v zPBpfiuNxyL_1i~(eEI9G{q>~@Q}x1Ax9negBKpbC?{{~Ho=iNM?elS8?}?4)FMWJ* zbo#?-tG@mBJbhX?r8cIjF=TJvfup;0&Oe&`GxF2vHO0|kcPy@H z<_G1ZpLQ@vdRc9pz5I|&_4U#{(u_^+|5n`Hv+ixf!HwArJ9nr&dUEZ{3!ygan;Vu` z+?|jZ6d3ezk5IJ94z?+$*j5(=H7z`odVPxjs~Jx>`N?ejA7*@H(M12#vi!!YeU2SD z^=towsp98Zj;X585%^HN`0|D~3wy3MRGa+fyq!Kp(<5blwxY{Y56!{};s$#dna-zO z3z{>JqpVl8X~o4H8;&imYdS8Td$xJ^u0R3T&`Cxo%UQB`e(~+lS!Vd<(Z)A#XC^j3 zDW3em{Iu5814mRMR;~$BdYR3UDrh6c>fYnD^L{K(PUFgp86j&LOFunwS@J;DXJf&Z zThr{G`Sw~EiivAQ9|>N3(`v2oLYIw~#Uv{-mX>c8=ypx0u9jq7&3mySIUryEZ|g$O z58O|a5|qSJuFgO6=)G3x+}j7l?%U~k=>0Q$bV$@*_n+J{!+P-tl=oS9Itf-Zj~K^iy{?DC`i>-TvZ}{?f;FH4ox^I~#5v zN;b6e7Fu{UwE2yN6XX5ePOU3A*r!fe6e#Y+nxWF_U2|43d*(v+IlLhiw_Z$-dThZE zabSY0k@&;2e`_|0=u6(ac8mSr`}n|X>C2p@ccUQ-x=L9Dao^&6nAExt zvOu(0NJV|-=1A`NU-VjblOlQWy6l6-$;TKk`yq&@;#5^`0|o>sa6a-MOE2edXU@Ht)DK zZ%we;6MZyi@;XN!|HaFKt1afHcSqb}S(aqYQG3hn$@!f}*GhQD$UCRJ+QfI$jLA-P zvZ(R}N9o<| zN$P8Uzii5>^o_e+mq=S~&V3_!FOuaN2VbVv&OHb2Z1Y~$&T(kItE6*S=jOSKOoFUi zq&+9G{orHnw`x&)^4HL(Fx;nl=^e!t-3MmdzIbi5*y6|*q2D?jiqR5Ekt+ToSxSXU zJC&b%X1RXO+4{o$^NsDUVvB2!S?^tc=-tDEo)s?+{$7yj;E-_1UCBp5EtspWr9HyO z=XU>LkHE4K^k*oU@SY>{&puwZ>&YUlEF^^~kD!MdjZb{}6k zvtng!-FD;k(}d52Wfpvq)0Y#GkoHk%lT(_rkjd`c;;A+BmI&XLOLJXZt@rkj^+uWh zQKxEuPdgXVz3gMdl!`=?AL}pfl;%!J|LmjsFlWs-iM(Znj{mnzYg)pzREc}0V`yEB zpKonP`Mw+}hnPNfs|=2RQzxvCGyl8cDC?T6t=Fz81TdQO_VYdSjy_pCKia7{Cn_%F|VU~N1su`u2+-_*`gcNjjP}0& zRh3nxxAHHVSe5%uWIeF@@Q1+pQWw>HR3#S_1k~x7e>|aj*~Qyjwbk3^$+@f6ucq^h zFBXe`TC!TS_3HPzJb%AF<}cUs=E~$y={5O0Gwp?n!yS*Hry@m1#7gw%@zvheP*%9H zZney%z3VnUjWs-4^<~q7XjUfQ?82p1>ihQIvp#n^H|lstrcJ0q)2ba0wsWVr?G^lR zT_{IF!u!9Wg7kmG3Z|(JT3>bq&8^jCD1RZt=xd>UYNwB8>JGtFvH6`6uG)I@-%A~w zd4OF-;@4tFF7ud+qMvX{fmZSK9i+2&8QtJ0zT zvi?uMnzVf9id1BVuPS=K=~bAO>~XgjW!`f3Gx)2vzkXU`b7pb6hEa6aJ6@4A4bQ}< z93?gC$L2d7weHi-6nwSg z&e7+dIuoj^(;t|w@_hMtiBZy#X}cEh$;kd~J1yS+P?4Sfl+{XGB>!K#Z?jk}yf@;& z0kxSa_Dx@e9}7-Na@=(2y57FapYOg6ESFNS^TA_1erodzLYMQmJLp^iAUa=5Ox(VM6=& zw9Dpx#kUK*9`~+MSvGB@QlXp8C%N;SdkgL?Vlg=ADOUSGe*Y}rUtt?KB)AVw0n^D+qk_eQiJz{-EukM-mq;414VP@ zy$x9u{o3!)oqxS^Hq6sGAgGY)clhKU!xNL{p6{K=u`*Wu+VPJD@pdI!eNR49Qk1+%nd(3+jBqf+Uiy_#ozO%?3sBe{)&8oebM)ozmEAHRC~(FrLOuuq|{B{ zVary{UD22P-#J9+8^uc~X!=|k_o_^Z0KsK^*{j<#dKi?#$ZF?o)UY;@c*t;iM54ZRoSH8C_@y6YQ zlWwT0456qgy6 zGzTvH@93NVG5%KSl3g2xv{*I& zEl6UTJ*l+cq)@LRdgHDaDxX$W?t6Oec)!nys0%B%IWpBg*~?o#OX$1g4+Y`rHm16q zR%X@>Yy6 zMlt(y{ypK?e#6xE{3R8)KnaKChj@#V6ZvdSgM6#y_IOlwy~v!@WGSO4%YP`^*K$MW zrCrVsuCvc>mSt`bFJj+hp|HJj{pW@q^8XiKifIva+`Pl|$kmnot!L~f8N5%P@z-mG zzM z>peewrCg|fQ@U51QbM?@`W>_Fw>h%AJ}tYZpnvR&?$)%#J)ib-B%D<_Y`Agqmy!?Z zEhXD$g;_2(mbz_tZ}V>JLt={)J?%6Pr;08}nc4m=tho3?_(CZn4L1=a`sdhe!9KVP*xe}a}pZAxh6@`y}l%@-lJHmN^992I)=+(*H) z_sf=N^FH@C@4CF{#O5n{?us7@-gQ_8J-*bSUfig#xhk#G@nTBF4?o5go3gD}rrJ(o z{OA&4X#G#a?WL%)tY8zb;7V_=%t981-_6Iu%NtiXO;1SYe)r*IgPQvivk6PCKiR;x z`Pzx6az)<`z6fc`xP0mahsBwnW*=YN+fZ-IKKU*u-@=VoFZaC6czSiuE+e6f8~8sx zESS0B{K3@9iBleRncj>$GgW!6*X+vQo0-34mq}?(`cU`Rs_EF~s;jd!oUaSNopv|j zoW`^7{V&!&JlFeqV{lVw>cmRZce8e{+iD$ta$46{34sMK%nl`=dX}v9q?2#svp}}( zS&kE*y)BB0Oxhb_xp&(xnHc3yb><(RZHmeaAVrSSa;7ia=Jj6|DB?-{oKUEsx&=0X~NrfP1f2oXRN2{%?np_7b!aPZDaX_7Zy@? zUiQD(D)NT0saMk7m;281!+P@ji(lnk4h_v_c;(!EmO&L21OFWAsHqt0~U70+C?Yu6Xpv>!b`SuUZ;x6q2U zvUZWm&o}BkF%7KS5*gq2>FwMWGEF3@VM9)ye9|w$iuocxiqy+B9xI7I5SW_3@Qv`Y z*xFO<8!jGb5qrR%r?c^`%k*n6A}8pU+V7KmI3+9j(22>Po=i_U!YXRb745a~-K9I_ zk5{oASQ9E_C~)rV!?9ZC%@KmOl+)x!N7{_ujud zE7u)k-?yK2$KR^o74_`*K7D(8)A`71%UAAhHB8Hn^BkNIY;$(=p_|HW2gE!-Z0_~; zn!>PaT4CLF(Qbi16E7Ui{8ewZ)v-UM`kJu)K3kpXx?W~`(-UKpO+uJ<{5ZPqYDOu; zG{=|wIdi#VBSW`sX4+cGSb1-L;=4|U>}57ny_qFl)hRe&2NbjvWanq$CdQw60?Pq^@eco<} zkv+cW6~l&|=TtW>~`qFrGk55UtC|S9*|_!x>0-4diRg*MR$*v+bQO6 zt@-?Q_UW?CHtYI6NBVgl{pmX4Owwe%NtSI7=3J6|wyyqyIs2^r>s}u|e)>-2y6NjV z)I8)Y57oh!Tkr@OkZ~gYQ9>si9uLg?{Q0K zw4KL8xmG9Ub&uRm{knB}&b2?hdh=h;T6JJy^y6iDU2+$NB5vt0ItfmdNfkJMGW3-3 zE2;YrnSylQ{0=oO?fi1+;DgIS8<-?-5a~EBFGn!v$zp)im zRj~|xd4w~&;huSn@7*e`72#H^je~c6m)!fib>lu`!=s&Vs&>8GcHGa~=%)bJo`cTn zrJF22pY*K}ouH`yce~-|werR9x0fC`IHAgB^2JZP^WGjle`p#w_;_Pe0Y9 zZqaj)W1e@zNl%BXe8#S;g04<>dBt+()~VMC4hW)MoE;QfofAW&(*LT0GvhOsoc{J1eS@is@#U8b< zSUWqyUN4z*=F(j0Idz$l^%J(J&Nr#t`(7z|SwU%L-_uEUC8vzrd$vunx})O4*>OF( z@Y)masEd4$cRUFT+i2AFUnsUaWA5@C$;a6Of7-9GSznl&@=!^vh1=%tp$eYV`am&- zhxSGlZtctO?7g?$>qy4*4{rJI?bej9+uXABN4?;*X5XMIL8~;1^{6P1hhcr2j zf8MUSm%_is&R_TY+LLF+?N^V?tp2-Dc+FqanDS$O!j8sit8Huyjn_$9rJbCz_JU4S zexkJTw3+Ni492f#UOP1<;n>{At0Zk+eOaVp%5d0#*?pmoYSrhB3{S7h`Bmt}Ch5n0 zJvDWz{6XfA#rO8gEsJ~f(4{(P(MGe-;x?1q%TJDotn71~w%g{-p$&>@JZ_)sX4**l z-CFEuYP9s2vL^3gmjv~hzx=Fff);p$n;Rcmo-yZ0|Kp~{&9=LI-@0X8k(#EVnzJhQ zOL0-^gQ{06)dV9hK3jDreTHZ3uVhmu9UdW{^Ro=k{&CaV<@Pr+e??+7)2_3+*6U=i zO+8$yq!D!g;^BnFn;sv0`|ghSriB-CTph3KpDYZB zKWy^z!nZJy>fX0|6JO4>>F0lZCU~jm;;kCbpPQJLy%pD)#B)ogES^tnm2zduCW~Vq zyMDY}w_#Q{*F5gv4YNKQnq>dnbgb^`#pm<(l^i-K<96oRy19DF)2A95YyW$7xjbtI zOLFq5DSki1STnx)nqJd+$i6+*FVyjH+G(!UydvUZChKOVsNVODDwW$}=+bj~66gEN z50>kTen0m2ZcxE}<^#u<=jpvj|F7zMc=f%SEwVofmrPr)?i1?}OZU|S7wtOS?sE?%-F`BxmoW6-s_^03-9J0*xa?b``@0Ig<=FJhTWfS*O)~EM z79cz=ga5|&MSeR@*K_J#3Jv&EV6S5>>_1`Bg;VD*NwK81^oSXIFMoAERpfV;L;b?D zn}S}uwK_FUOW2>cw#H$~y(7Dyx=xXr#PVV9kLTQ1?>E#`)?BH)G*NiLOpRMI3X-2C zF8nmHDJzO<$;&#-@J*ZD^1%N2mC}xP(qHDqez_ju^<{l?_^HB|KMmg&oBUk2q&0^5 zsZ>V9ooBzk$txAPotR!Az971jIgdxL_Gb4Kwe?Rv9#8I5zIN#Gyk%Z%w=7-la*f+P z>&pF!8SiB7eyFy&A+6dM!qIN^;EeSu=gHE?*j0B$J?3e>Rin86M1|b3rkZ|}HD*0u zUNL@o@&C;9h#MF4EdOtgD_nXk!tsm;|AHq!^HimLg)^?-ofUR#mb_~2%45E4+!ZVS zUa*^1b^1_j|H3(8GSAms(LQIpTXB!=87%`Vh8>qQcT|+Pe7UYsq$7W>o3HQe>_aDi z8hC%KSvdXkXWqMaWb!-DmV2L__ES#n%gu`TzL|B6j~};gDT%ND`Z?)@^XFw}Z$CSn zcK(cb+MkqtiAo15y63+ytGx59`o@JdQvX9f-P8E;hu^$Q`({Mb$wk#Z+Dj_E7kw-8 z=8rj?5g+^0amT6&&{-^Kx{CrW%m_HZmuugO6lW&(aabQ{VmhaVRbM=74f<2R_ z?YO&ow@>0#zy5bIv?_ z@n(nd?N{gSN4?)zy~O_e@@va~O8u-nU(~g3gT*IatCy)J?p;jV&VDXuIj3M*`}a@N zy-n<*7wymdDlP7+6Y%%G%b}~)!KYQUbkD_vq#Nt!?$TL)vFk=jc=40VMpJggJPVs$ z^nPEu#mRpPw-?!dUorWB&vV`fmA<_Fs(*jI+5dmD_uE@e;d6GMe1CP$HdTST&ZE1U zO-%NN+})myh$we zk=c#c=ih}{ep$Iipmqvdl&Q_8Ah%FU$yf*3b*466ca}Wp>U~?b>UZRY_Sf^TXemuv z9dS}Ke9PyZdLD5NE|XLeGv4^S#q(C#|NbV-y^?R8abo51qrB(ux;>csP)l;>;ez#A zLYvw?f1hx(V8R-K|e{d!b3~mR7+V z(F5;q->vVmHRIEhvvaswa(GM5@vna(Y$p1!CR$BC`;_}=(9WQ>SLF-;PhDHKT>9&; z=7$+JGtUVeno_7Z)$H0&fuo+Yp1MX}^}W4u?&R6i;}84@GyZCNt-0-Y?Gp1_S6?pM zef46R?uL8GYI=>m?@ISu+fLb#pzW%)GF8D@@+8wc7Kg?FmV>>ruTz#=-RrEH{eD7( z($tfpUQ?wUkBWPpK5^=#wuYAG>J_V2W@lt&zJAg5*_|sTSs1=eU~6?q zEMVD`d_f{7{($hU87(f$0y0b3CLeuPP+8L$pfb%PwWu{{>9vef$klMUW$l-reygah z+j}s>D0+?A?!zyOs`uFKPr1A(kd3Lp&1R>}$JdfKn^rkJ@mAq;@n3MSvf}4reRHXw zOPaVg<{w_xwQlb{mtR$zU+!Aw$;O|+!y#hVz1fqQ{jI5e>xKJ&4>R2?T+3pk@m67` zz1_kiv%bENz1>&eGgF$eRU(N=$NPIP+n3~nyRudG{*8IyHbaeNj=30{iecHYZ1Y($ zhH5=?oF9tJaqZ@A*zCnUn3+w*JnrOxi7Npw|#b}Fjs%)EH{Z|&lnv zrxi?{q5NFo!`jE`Th7Y=Jd&POQ*n2vdC zW)0zW!J>Ct_>=|rxr-%)ThG6JVkc`CXS4FEsjTLUruuA4)3~1#7E!;YQ)EJk)Q+6< zGg%Mv?sPxMS$95j4r{{QISed+`oH%D3JBcHEq?gg<*u~_0|TSb^a-pEpN;qo&S)K2 z_+`%GSqo+KriSn7-_u;etgvt2vyvx0ub;JD@4F~4;Z?m<%$xZK*UxVayUy{HjR62< CiNF*9 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-BoldItalic.ttf b/static/fonts/katex/KaTeX_Main-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4346f173ce347459e433f45d1fb06cfc74bc8eca GIT binary patch literal 44496 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 YC^N9IGP1H{ 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-BoldItalic.woff b/static/fonts/katex/KaTeX_Main-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..d2cfe4e319168499f33686f3b1524addca1a596d GIT binary patch literal 25352 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 s9-^pn^|tNX>56?Ffb)0mz5|m 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 S0;OG{v>Rw1jq(3~27Um=K%tfZ literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-Italic.woff b/static/fonts/katex/KaTeX_Main-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..1184295def56183abcff437cd382b3b295a8bac0 GIT binary patch literal 26228 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 X3%JG0;PJ$Zje&uIk%965e+GU4fm3-< literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-Italic.woff2 b/static/fonts/katex/KaTeX_Main-Italic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..aa05e142c4293315104e02adac9ed65dff454deb GIT binary patch literal 22748 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%0A)p7hOfCj&GRkxpMo@`?2fSIL&(Awe{qK zk{g0D=bC-QduJ=Jz48CFz3a`*{d#=|HhvE@_>u6zy4b|s%sHXxhN#<#*B6AB^ojY4 zoX^Zy-Mzs_Yt5;!r;NTmGZHfyjvp>Ma6nIF_gt&D;@M0BR^hd~8(to_+@$I3GVRG- znM;qfrrovSdsy^I!SM6l{NUr>481FQg*rE$nk+1~CDo_3vRTxVui2oMwMuq9I{e1f&sh5*hDGKn0_T^?MCuCFu~wKwu?VK$ol+WLQAgxT9dbi$B(w>-B`gu}uyPa~rt*?5j>FNeBQlm5z$A{o&UTw6sxJZno$eakjG z;+VU`yWe~ws_%2M_b_$azE-e^QrGc0!Iz#UC1Vi(sN#5X%*HCmbGv1X*zWJD+vE9Y z1GB`d207I|e=p9rPY(|jjA!hdcxT@X7XxL+r+?KujaZp@PAEqN^)j(d%bQ~wpjmLG4WW-+q(WTV{=L&tPZKD5p=NV; z=~1?Li#D4*+zeM#rbVo@y>H#*XK`gm*_;1$Kh(ZmW#(A2UqQw*$!P!iKQia4^Sw9g zW*=Bv;J+hin%0~6w|7|&Ud!fK|95)D4(YnLNAFLa?D1ayV}7%*sfXQRcw5R;zgtx-q3 zUTe392Cr}2XuE$=yJ_!>DP@v3-6Yn9C9V4QzRqjw+9#?VUyZsoK069Ke%RryxZ{NI zTj^frLqA_kIJ)3pRQjK2=PiPpgf+caaW{oNp4QVBC)2-!>9UCEq&+K*V$MF;W_x9A zU%-i##|0KGc$$kC8t}h|#eyW%5@)=(f zP(Nrh%krlE>)-8R&e09L$z7jc?UGr3!}h~s$RR^ti?&di-t^d)|_UQC^vn-GOUM#!!@nsR+$-Ngt&bODE2&b$HnDbx} zm;EG}__OL<3{OoTM8CCIy~d@m>X`XW{-2&T%-R<3K07><6=(^%>Ub`7m&?yj_mZX7 z{FyZWWp;sfP>ZW+cb{+g@_ybt=?xq|EY5rX4)xaE_|r@~{0*yDtF+L^vmr%w9X@se zN84U@JylOX6QEt@f9HDdt2w*Oj-UE`G|ukWuOFii9`R2K-JUw@-7-}{mbVQvF1|=v z<@6}(=5Nil;g3T&WBCqtdJ2YAExu|ZVz+V2X-STc zT6*X@*pWL+V z@vIqFZlClNie}oc?)g~esKbnugcC=uX1{;?|D(Vsi;~x$7jK(kp5n@0E*COQx1%CC zt$eYK?)5n*0}9W~OYP2hJd^KOWdzHcvdNr(&+o9`CE~WhbE9i*ciNW^avzr#mD_ns zsBURKSNrL)oa{Z}TRUG(-xnF3Zm!7U?$DB0;&th*bL?dPbpnGZ4b#UDK}H}e&M>)JW$0Z?0s55 z;#1}m`_3E-mi?ph_P)@op3VfVm7k3Mb~f&=$#g68^jm(}>E!!xwjIJvKii6T;2P~`s1>nee>Sk{%zs#M8!)ruwOp6(LKrO+Kwlm-@lsran;nI~)GopS{wuHI|#*F7uSGhn8r`>Qk@T z6xy{PH1PPzvAuZ2#t`JA`S0Yrs^=VMW=}VIp>scQ>Sd1u9&-d48ZNly|L|ph=Inon z@y_$VcT57WYprE*`u}{rcM&YQ^QYeXA!BZ zTl7A5K6rXP+VIlKEX$%VU&A`jt-Jhhotks|aH*q!_k3M>TQ03FY`qRtyiYwHJizv+%=(`^>b@C7A93{t$=yowDau*a}9^Sv7n8JjUiT4rk7^rnvf^WqbPQ zQQ_U{RXjDJU-bV@4Q}LhJ3jw$Qu}s=MJl}ETF<#=6?tC|S(K^aA^ z7b_xH?yf%j=~9=)VXi}&6Q>`vwPw@S(Kx}mM9lYoW9@fqE9W@#%16BV!mQG;oCvIPg3i4dBsIXPJC}+aP7P5 z+^5-}UX)E@eJJ@k-2S5S0_i?^@7sJY51UKrTr}M0?DZ!u_F7KF`kI4tBJ#!Nf8%(2 z@7=mPY{@$!uIO%Er&ILf#wpfd=|%A&uHiMy=Nt){?fo{SY_pZlcg|BKn)uT)if`t|&t-F3U~T>P$*&-l%XEn~yJn{7e|kB9MDO;6?xW!=W})&F$*{_Cy+ zCUz%%ZDdy+P;lBO)gjl)wq^3X1kD%*2FpE1KQuNNWQ8x8nv!+x>x9!^(_K$g^2{@= zGZbzOmJj|CurPaWhUT0}ul@UPCy4~q=yYXQDxQjZ_0vxK$nu{I3Los}K2AQf?7|Go zVr_vdN)?@-kNmm98{=ZKXUmt8@MY{0f+hdo$LOrnkd8NF7Wl2F(vy2hTdu6J_REV~ zTjn-Po?2>n`d@q(g{!Qz0BHm$#>H} zjq>2^OuUZ#z0*BgaleDggD;cZ`YMAgZ_NGRBQvFJ zC#TlYBW0&t@4jD^S|h-p!oj>%KwIe(xW=8a;@a_8^KZwK zf_UVbEH8yC-s?L3_|GQhKArb&j41`7e`7B3Y=6+QP;0I43D^3a|75P1eePTx)!}72 zlf|&v_Pc`ok)?l91P@>8newXfK`Jwc5szWX2QJl6ujxUd3;Puew47s@y%qbdKYiZG z(UoC-Sini>P{Q+DR)vfT6U0(pJX*c|>sD3ywyYm>oGY>qiAhNC{{Q^@>XI{Oy1yRn zyx)=jM{7P$kku6q1@1GiRrU6FP41o^d|1;(Ay4Yo7O@vzy1oCDGuRyhg$^&vXIr5q zB0t$`$5tUr%UmX(Ge!a&8`ebIZ7Je1S<6uQ_2Os2+|rn-PiiJPOf4DabG^ateFtHR1RVSj3m zM9Tf{`ah4)@8F%bIi{sGk%2*}%6_57>#1Ivot|1*m$+qe|J-%oo-NL_Wb0Em>%YHR z&$Qgw|6{w?>XmmFTw(ipDADcx?gRC+wJn8mWoJxZVEHl6X|nf4rVCffgWn}EG<@(l z`oG7TUueOk7k$0M}5}xM>x*9+Ka#F@NWRY{S~uHv*riybH4W_`mZu zKQj}f?A(jRi~MblD#Tb6{yw3R{$s`6BcU%ERj(fj-WYmI?0ewpITwTXHZiOdH#^HI zr0VI#bXc1!x~_Ugv_&x+n?~}VKU9}hJzj-yCzAGJjxiafHm*r{&&C{8Gog+$~$A2jQQnZ(u&7fQ=amTX1 z#c^HwF;_%>ZbG|lN<+h?=pyk7YoKT2Uf@F0;K7<=uTaAB3-q zQpfyH1^Z7p2$VDA&?t zCDHiOvT>EpT&3(y<#8sn6#N{YW-8CBxi980@v}&bMrCWfkCED(C597CW+ibItW=49 zb2l{jL&MbAr{T`WUE|(-zrSfms?uXKO+}l`%?TmiD+BuGu6mnyc$HP~yT3o4ef;zu#Gwy}w;em}}HXZemd5y}o0i`tzhdH1uN_53Ypyvi!v zHfz(o#p`zJq@4ZhzuW20mv1*;=3KIUCwu+JnR|Jg=Y*$fMu}v--1EGITCHKK=H)L$T8X=0;7}tfOee{r%kh z=*OQVRMIMsYu~x@`{tVK9_`o71GXqQZ<5*j{=vP)@pBmIqgM@TUBg zy7OnljN8%cyUx5j9`gR0E&Fsv)`fG}Wb2|ch3D`0mic5;Ss>S;F7(Q7*YYEs!W}tF z4ws}=n00d=V6bU&zs6qf-gdE5D<~}@oNMCN*a_)M0Uw{MPG;k75Q?pvRA~Ob@9&hB zsPv!DCq*@RePiq~+~#PsOq^pD)9njSes7!c=W_qIRX6+n-cDNj z=-j)iSDz$W5(Q@PXqYCl+Oj+pvMqXciG@FO>%zY6pHdh7)-mMS8_E-^w^Qr#>}9Wb zBCg3)-tLSs{4Rer&YY>BylIlmFDuiS=lV{zHB!n&AFunRP4?qXxqCS4WaiA}4y!-P z?$2KI^U90UjUsRIHa?oe@~mv-lSxI40YY6%dVdJLJJFL9k)W1Wqf?x($tP&&otU>= zWYrZ5-w!-rLjHQUmhr8c{46B+4#$DJot^zSLqT^S5%Gr`gSHye;=;dv`L|;ohe9 zpC=`4GI?x2w8WhGXmD<|sloD+!@`>R1#cryi5*wu(y+gxyi`MZm+q{K8~C?Bh!$9) zqsd%DkUI)IKI{(8-c)I~W^wFYXqcD==ZgVrK8Uo`+S3-P5Cr{n`tH z;!Vw++8LIdci2SO}KK0Lb?bWev?{rFvu6Io4bRK zYRP^P;Cgxax*V@@^m6}8YC+5erY2!uRyJ+__EL3s$=h?yH3|Rs?hQ5Ev&&1j&dK9W z$7bGRdvAX8^0aQbsbj|CZyEM4kkew$hAlG^^E(dixZB<=j0`CInJH4 zwClznh0VKTubVJ#=34(@s*T#Z;C{E=OTIq#i9YN4s_$nX)t?Fy6pMCxO}La7k;via7gpr=oX3Gp30KN1g78v~{ZH z?qpazeVfv(nm%rad5>FvRLqyZ!nX5oWpCiTSyjQwvu|>K!fo{$}gK6{{S1mO6zR zI5;o5ura6dQ_NS>i4t8FhW|38gbf!@%#crHK6dr?VlNkoS7zrNXGSa%=soty-28ZZ z_sX5;?_1tl)3*81-;@(QI`VtAuUxPzS>;ot;c-KkW%tTLg}k*N9W4G77xrB9xqFBA z{*1ZD(&aZRynMTzDYf&t5BIj*%}TdTh1$%QJmmQJqIXqjZ!o0J$czdv7gyoU2k?3*ZCjw`=Jn?g=( zJd@N_(R4RoPGXPmR<^=C?d~&5D|loV_!HK!=lTg=Tb;^0K>^Lr<5*|*=>ZFj4~ z-i(Or*Ql-&Sntxrv)m9rOFbTJ9-Lb>olIKm<+etH2 zoVRU0%C&RC36A)fqAB+*+YWHAYU@a~y?keVhr#6y3zuAa9;Dc%mh!3Kn0tJ0`&zf9 zQ$B6u)k%6_dATKe&#vDZH=0+}y7sd^jJmXjIqOrQDeugc1~#tzn=ig(Du2=-`KrLm zX!Vwfe8;y&-k%iS^4LSnWYOibX{|1`oKf|gWSZY~EkDot;K=j&X3}4|xRYkP9Z=%h zDivO_^xUoNrjn%amr^xr^%K2#^wqB}e^^)(5~&}Rw`9%Cy9&+OQ=*Ey)q`Xh7Va!= z?_z&&;N|*O$piHppWXic`ttet=f7W{u72Eo^~nXtPUl6$=G?Wm(p$K0;{}t2u}>sT zZ}G1B7P~Wz^_%kQZ52%4Z^jy~{%2w|b;rRES1$RV=)`Jevq}D>{b8G+XPS%duitfV;v)8(GnHx* z>r(HWK54SKXz{X3-7%AeBjg&^Ej%i$8KT9>?>coJ3iHJTxWyi z_Y;~r-8agYbN+vLKe~R!)W**u#}_yYZTq;2?uiX~DxtOV+GU*wVfioFk9SXZ<_%?k)cr7H zVsl)x_L8}^!H>1La*9QEoSb}Ev%hyyR-xR>;Ez!|IqfXOm!`&we(id3`TW{@k2(eR z@XnKGIwZ$1TWldqLDS^AhZ4W|SG}z3E*C0kJ5c!l;X($V{!)+pOySsqC#QdZ|G?2) z`$qW^(+tZe|MU1>C+*MBQ`pna7UKI8E0iqB~aqLcfU7sd(M)}4O&tR!A<%eEkqmegmQ**yw5w*s6x{jxiMXRXLt z&3a%an@R4&X=PLSj+cJkf0QRHP0d6uc27`A>DpZ;6B#{!etObBeY59W@5k8iqWQ}U{ zRLEEI`n)pm$B!fG->)q!__}y`aK<7*);~|aya_01S*$%duKIJsrK7W5n=P+x-So*O zEBfroP0x=+A9_|S{@^}$>BgR@#SY%tQ|iswvn?5aZMaH#(g2je~P3gRIh${v%ddS3W-c+@Gv+;+nDdO{?<9 zjO7l>D(_A_Jg90k`))8OM>W5W622Mz!O&e;>t<0+6xSu)ymagNh5V;0XEtk;d|@j- zxB9jz(}EK#|ERqePdjw9E&AE+s;Xe=mj*i?y}!_I!Dq5{u|U9!Tw4>P=@CtmN%b?I z@$vJ_Uo7^w$)5GoWNG)6X4fSvzOV#U7icl^)&Js~nY2rnF}* zN)Jl9XS^cc-ox{x{0BGHGw07=cbLQ1{`>RG1xJfL%XdfWix;;s`=9^8TK|#lslM|4 zy#cQJ=1xC9PYg;wyqHOEdU4Q-T_>LYSvE`d!7ANezKI;_8cXV$j@a|Q-F`n`|N8mq zpX1tBhuzrmd4W_?aJQe(&rhMjozFGe_G*Xd7@l*eI^A}8>V#U0ysKjVOCER@sJz}% z$G}zXmuy&GDV4rAS=nIKCXE?lHMz&#Z???|%TD%OA+9y`!}&(hkmELjN)u-+x={D~ zi>~fG8DAeyMzOfyvs>#IA3St>Z`<_Wr3Fi3C;hX3u=YxF!$!*k)1&L^vy^R=rJ4LE zGueKzYkze&QLA&2hu%G=g3obof!bb=yU$JDBl0tPU)@_zl`l$Pc5}LAO3iTOPv_}8 zAR)=|AfR(c^iE@GrL?@c&eNoXgn8GMzCQfLPvU6in;CPb|17%4dw%h93CVl&B&WIi z^?b<)Vn6+I{j8F=x-wxJGDar;w&`IrAK8`O&wX=|*?UI3aO1I(Pm^CO{t6PcvG6?k zX#P8sL+`%do_yfE^2>E0n`TsA;*K^^FJDn)!X&N~Jo)5=maYRCx-P2?A6sp;eRS?} z@QyDJcbqV1o+4iQA#kGa`SF&VE8Sjhp3o8VV!6Dv^>iNBig4dK_q20*TG*@ZFfz`a zvES!qGarlb1AnFr+vh^Ee{K99{5$cS>*bsUp1Qn0mrpJIwKHt)1mSt{&Trm5`R3og z%&ow*>AO_Cwwvy%2R>{6sEJ7}d;UD9*Gv0J&-Lt6oB4D#=BBUMust{>x$JBrpVL~i zqm42WYhveK6cL_qNU8He*bP3ez3Ro~1-~u(W^J!KzBeINjCJ$bi_iY9Ej**LuusH4 z>3G=uDAoJV^RAoO-%;VyJvIID#P*+A=k*#)il*+lzvsIL-`Pst3qR$V?3O*zcZxB5 z^0vUVH2cBl5Pbt~-Hzt9 z?Z)!H6A`|dO1g7Co6S6=Ye-TrpgHNjhco9b$_?|G=*-5g+?S+# zVb;cT&o0hvZ9KXsQv6NA=ZE)duU=dBZwi8E(z+t12A_YhTe+ecGph<4@ZZhhqv$8UHCP&GxIfWAx@IcSG%mxV(79P)4~O-r*-Wl6IWw znkNt({#mj0ilx%B;z<9cK~6UO5?`L2<+!@~`-ie%z8&Xv_g20!6F>QKYk2C{Q0Aw{ zQeqsJWUnYRC|vu6%eq$Z(JRYlsRwOs?pSxs zSg(EOt=n>?gV8;zO4knFiu(Kb{J$56Yi?AlZC^<@E$Z=LM7Gz)Z+LyY7eIZIx7@UE-Yt(jF^V4n<+M_lD9Hs!3Urtd2*xLjQm z^5Amjzs^sa44$8By7*%K^_lPIPOov~SWx+9wZ6d)iH?%mp!MtZ&-?d@Z?3z3DfZpG z+d6Dtm&gUyFNtO|{usN{FM+{Fa;f8Uj(@%dGauv}_{-`ryDE9cy}{}r6 zhI!5;-`_&3#h9J$-P!;D=f9eNPyc>>`0Y{7`rFF0j^F&3dR8I9)AB;a^zE{3#rwX_ zoTxSX`#QPnFR%10YoD!~JXWBTGq{g^GZ37;Tu{v_mgCRW#9NDJY_gNz z6B8KxLh{}Ro7ul-Y^pTB)F3Ci>J!(3rbj#PYH>=poQu52%PV^~zw&z5*UX3KPCesn zdi3eG|ACIjIxflQ_U*E=zE~u79bN9N z^OD8#e0IZC2FJkQj33L{_wBj!_Cx4F_KN=p4V}LnOK(}uv0CGXiU9vsx13hfFnRVk zmkKA%E!%}}hp4{fl=z&^yQ`2rFKM3$gY?3M7DA6znKNvsROAJI*7=yTwk(TdgDq!F zYGakctt5Jz33&huPtzD(C>q8 z7j<*JZyR-%SgZ@*9P6|)nA5`L!|hIvaJ3jqhUu?T{Ur{%*Ok0KqE_~->cRH?`}T|0 zbmy;^J?DPyozT7wsWb9*`ZfO~Ifp*&&HsP#w#%idnkyE>y>zlU{AQtN%{iW#R-NmG z*Kd8xuD1WSuFnp+zt=AtcJ3%pyDdIbc+ctb=Em#07e8uaH=A8+V(nCUqC0i{j|uZP zKWJD(QL{rg%@!u#@sf5BhMYTe#F}VZlB2t?vr2k9)1;;kic>6f_Y_G+?|KNPamEglkszvT<`N`3lIIe zuk5|2{;9;`=W*u33fpI0S6-GGec8=k^sEq?*UbL0BE2Z9^n$w`{(i?%y0y$EVCO6~|g@H+?DC#`$i^`bYfbTeaWuy5D{CD*0w~bJyGLbz6m5 z9tB*<``h#)RchVr3DV1ssEgf9;rRVc^iKLdftW+@u3rAZA>-&vvCDfe zb(m|1cy{M9#HUL4EMCZ)c;Qx?(%0>YE@o$*m~8D#GQXs@?9AJlEu9=cT{t!zZ&t|g zms@Jq@bZ?~j1ASd1k&qnE!`$}WB#pQ2Lg=QSNg7AztZe(UVX;0nX}e()lSs6v7MIQ zG2`sihYKzpIMY+>7df?l=PkL-{mW;Z_Wu_2;mG}i|JB^8J~t;9>$BCoy?ER0;7=)) zLJqO(c46xmCraJgB*&k-dq@838LeeDu^VpZgq$jlDNwIl_1iZ!GOhGy!U=9~mzs38 zJg&cu0+QM?;VM50A4#8mmX~hIT(i2PCbHJnrk+FRkbgNt`^}e27D>O@d_?$0q>tJ5 zjpFhT{sp*va{rz?uk6#Em+mk2+_f{Wn;RCcwbfNyu=A_KGYJ`J?G~o@M#|t&wTc}Ao1gtBloZWy1+R@^=ayj z;?+i0e_wfM3(Y7v@o;)Aht{h%pG#)m$S=IL&V5ynOLy~5-iHS_om-$)oHL7eGShV1 zWKFZh@BYo6bLrr^G?RIT*FK)ix5*VuP%rd7n0}ojB&R0vUmBmEd&SYNgdK^^iNfsN z-nHtd_K8`fTyDE9<#wVui+--0{4e}SWldv%$~1v#Z+Fa-ZxQU6Y@(geYOt`Ud)G|;X{*1c z?Y=GFx4irG>esWQHTy$Dg2DoiKD>Ix)MV?H(vq)VczJqze0|QI(S4)N6Oq00JdfnI zLmhYTm0wz^VOL=9mi{1l{*No|cK(MJrig{Dxmj?;bX&!-%=9_s2P2;w9XsTwv|#7v zWo1!o^(=j-*3NkQD(k3|tZ>@4BCqJ(w{As0yya(cp)<79?@iXz zw%zF^elyKPIZH~E8YSmWns+zt>*cF<`|s~Q@_pi;fRnB-z9ziYWVm*1F3ZQz){^;6 z7Vj<>G4Q^RKF?9mARoSA&dQkYsw_J@uW3YBrj lGcjJVw6F^~ee~73bSvdUjRxWhDws zA^Z&tjEpi23=CFj1?jmrL~egzVEFQbfq{E^dSY<_0|SEq10#P20|Ns`dQN3p_&<9F z1_p*V3=A*WGEx&$M0b=%Gcdf4U|?V{%g9Jg

EWVqo|nz`($ul95|dajn7P8w11Z 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Main-Regular.woff b/static/fonts/katex/KaTeX_Main-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..9f8228fc38b5d404b5573cad5b33f28dbfb47cf7 GIT binary patch literal 38112 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℘OUBJl_dZ+&5qdT{b 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 R&})6r5D_B-Y9S7eDo)f>P{ch_?3EXS{Tf}Vj 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 ObqfAV3zhd{V*milBu&o% literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Math-BoldItalic.ttf b/static/fonts/katex/KaTeX_Math-BoldItalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a645df64e5114034e6596c79103b380dfcbc8061 GIT binary patch literal 39308 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

vQv7(X?H!Ryh+bWE# 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Math-BoldItalic.woff b/static/fonts/katex/KaTeX_Math-BoldItalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..87d4f223eaad873324b3e0d42a9a0cf211929ed6 GIT binary patch literal 22324 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Math-BoldItalic.woff2 b/static/fonts/katex/KaTeX_Math-BoldItalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..83b49962aa8353a7eb7cdea57fe843af4dc06f88 GIT binary patch literal 19720 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Math-Italic.ttf b/static/fonts/katex/KaTeX_Math-Italic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..9c38359cca652bf7fc7e7f9581df11e3267a375a GIT binary patch literal 40992 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 w&rMBFWCI&&$WoAzX~+f^F$8p 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 MXwHlA|9=L406?E5A^-pY literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_SansSerif-Italic.woff b/static/fonts/katex/KaTeX_SansSerif-Italic.woff new file mode 100644 index 0000000000000000000000000000000000000000..9da0dfe39632bb169458e6ed72c84803a6c058c1 GIT binary patch literal 17572 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

o&z_0KbV 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� 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 YN~`?0I3fAh-gl|;TD?8t{-B+x05-ZRTL1t6 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_SansSerif-Regular.ttf b/static/fonts/katex/KaTeX_SansSerif-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f117cd619e99bf1d030446c40c725a1e79c57b71 GIT binary patch literal 29812 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 XC!lEhb@I$;)B8V`oY}IDpP2yw=Ou9G literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Script-Regular.ttf b/static/fonts/katex/KaTeX_Script-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e6f34542e296e006bd7f5b313ec59b1e42f12d8c GIT binary patch literal 24620 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Size1-Regular.woff2 b/static/fonts/katex/KaTeX_Size1-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..483e7b66e0f49b65dcc2110d44886220bb2c3e51 GIT binary patch literal 5592 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 KF#i9~zz+a~q+FH& literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Size2-Regular.woff b/static/fonts/katex/KaTeX_Size2-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..14f6485abb4e1483c0adf14e93c7d838efdcebfc GIT binary patch literal 6436 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Size2-Regular.woff2 b/static/fonts/katex/KaTeX_Size2-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5ff7060676d81f040dafd77ac0ac9e68eef20767 GIT binary patch literal 5392 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 G1_l7cL2JJN literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Size3-Regular.ttf b/static/fonts/katex/KaTeX_Size3-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ff7e2b90106baf6920ef84d26890d21617a4730a GIT binary patch literal 8120 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Size3-Regular.woff b/static/fonts/katex/KaTeX_Size3-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..d3626cef39b774137c67500ed0bdf3fc93391fdc GIT binary patch literal 4568 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 z z)%?sdi@q#zqg`p|ug*&UQm43U3-`UfU7d?&pZR(A{L4>V*8(ccWLkeanJ2O1w(3C1Fn{dL)H8?QZ>>(4+`ddsbnn4G3ET-n` zoC(W6w=lCN&<54ph8(|VFb9x)jZoS-u-(z@>u-*WxwVuyq3D5!BybDx@COA zwsJf7$M$};_8%)(Z>pYk_ld+rjk(`ktqj)}M>V_p%j>)BXqlR2_e0BVj?zQp#6NLQ zLoO^{5Ou%NG1^rxeO2-2+gqkSnE7mS*^wyQBN68~y{^8q>i;g2bRmEJowkc>=hn{h z-VkxR>`=7LiSQkBXGZwGdF)l_z(4VWW0>X+)zivX%e4hrqHm{c rwC0KHahSKvW_xZ`nYj3U$?n{TeFfjSum4smVqjokWMKUNpMf6$_3lZ~ literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Size3-Regular.woff2 b/static/fonts/katex/KaTeX_Size3-Regular.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..e45ca49db8c66ca43ce41bd15a219db59b0c9350 GIT binary patch literal 3728 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Size4-Regular.woff b/static/fonts/katex/KaTeX_Size4-Regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..93c57a6f97f529f7cbf7ff49678c423a54aa34c0 GIT binary patch literal 6184 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 literal 0 HcmV?d00001 diff --git a/static/fonts/katex/KaTeX_Typewriter-Regular.ttf b/static/fonts/katex/KaTeX_Typewriter-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2fd85294ab68105c5ae44fd65332fce36c49f8cd GIT binary patch literal 35924 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 literal 0 HcmV?d00001