diff --git a/docs/_docset.yml b/docs/_docset.yml index 4c87c4e85..ff445d4cb 100644 --- a/docs/_docset.yml +++ b/docs/_docset.yml @@ -102,6 +102,7 @@ toc: - file: icons.md - file: images.md - file: kbd.md + - file: math.md - file: lists.md - file: line_breaks.md - file: links.md diff --git a/docs/syntax/directives.md b/docs/syntax/directives.md index 2984deb28..f0d4b3c48 100644 --- a/docs/syntax/directives.md +++ b/docs/syntax/directives.md @@ -72,6 +72,7 @@ The following directives are available: - [Dropdowns](dropdowns.md) - Collapsible content - [Images](images.md) - Enhanced image handling - [Include](file_inclusion.md) - Include content from other files +- [Math](math.md) - Mathematical expressions and equations - [Settings](automated_settings.md) - Configuration blocks - [Stepper](stepper.md) - Step-by-step content - [Tabs](tabs.md) - Tabbed content organization diff --git a/docs/syntax/math.md b/docs/syntax/math.md new file mode 100644 index 000000000..3e0233085 --- /dev/null +++ b/docs/syntax/math.md @@ -0,0 +1,141 @@ +# Math + +The `math` directive renders mathematical expressions using LaTeX syntax. Mathematical expressions are rendered client-side using KaTeX for fast, accurate display. + +## Basic usage + +:::::{tab-set} + +::::{tab-item} Preview + +:::{math} +S(doc) = exp(\lambda \cdot max(0, |fieldvalue_{doc} - origin| - offset)) +::: + +:::: + +::::{tab-item} Markdown + +```markdown +:::{math} +S(doc) = exp(\lambda \cdot max(0, |fieldvalue_{doc} - origin| - offset)) +::: +``` + +:::: + +::::: + +## Display math + +For block-level mathematical expressions, use display math syntax: + +:::::{tab-set} + +::::{tab-item} Preview + +:::{math} +\[ +\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} +\] +::: + +:::: + +::::{tab-item} Markdown + +```markdown +:::{math} +\[ +\int_{-\infty}^{\infty} e^{-x^2} dx = \sqrt{\pi} +\] +::: +``` + +:::: + +::::: + +The directive automatically detects display math based on: +- LaTeX display delimiters: `\[` and `\]` +- TeX display delimiters: `$$` and `$$` +- LaTeX environments: `\begin{...}` and `\end{...}` +- Multi-line expressions +- Complex expressions containing `\frac`, `\sum`, `\int`, `\lim`, etc. + +## Adding labels + +Label mathematical expressions for cross-referencing: + +:::::{tab-set} + +::::{tab-item} Preview + +:::{math} +:label: einstein-equation +E = mc^2 +::: + +:::: + +::::{tab-item} Markdown + +```markdown +:::{math} +:label: einstein-equation +E = mc^2 +::: +``` + +:::: + +::::: + +This creates an element with `id="einstein-equation"` that can be referenced elsewhere in the document. + +## Complex expressions + +The math directive supports complex LaTeX expressions: + +:::::{tab-set} + +::::{tab-item} Preview + +:::{math} +\begin{align} +\frac{\partial f}{\partial x} &= \lim_{h \to 0} \frac{f(x+h) - f(x)}{h} \\ +\nabla \cdot \vec{E} &= \frac{\rho}{\epsilon_0} +\end{align} +::: + +:::: + +::::{tab-item} Markdown + +```markdown +:::{math} +\begin{align} +\frac{\partial f}{\partial x} &= \lim_{h \to 0} \frac{f(x+h) - f(x)}{h} \\ +\nabla \cdot \vec{E} &= \frac{\rho}{\epsilon_0} +\end{align} +::: +``` + +:::: + +::::: + +## Supported LaTeX features + +The math directive supports most common LaTeX mathematical notation: + +- **Fractions**: `\frac{numerator}{denominator}` +- **Superscripts and subscripts**: `x^2`, `x_i` +- **Integrals**: `\int`, `\iint`, `\iiint` +- **Sums and products**: `\sum`, `\prod` +- **Limits**: `\lim`, `\limsup`, `\liminf` +- **Greek letters**: `\alpha`, `\beta`, `\gamma`, etc. +- **Matrices**: `\begin{matrix}`, `\begin{pmatrix}`, etc. +- **Aligned equations**: `\begin{align}`, `\begin{eqnarray}` +- **Roots**: `\sqrt{x}`, `\sqrt[n]{x}` +- **Operators**: `\sin`, `\cos`, `\log`, `\exp`, etc. diff --git a/src/Elastic.Documentation.Site/Assets/main.ts b/src/Elastic.Documentation.Site/Assets/main.ts index ec0f22c6f..cfc432cf4 100644 --- a/src/Elastic.Documentation.Site/Assets/main.ts +++ b/src/Elastic.Documentation.Site/Assets/main.ts @@ -10,6 +10,8 @@ import { initTabs } from './tabs' import { initTocNav } from './toc-nav' import 'htmx-ext-head-support' import 'htmx-ext-preload' +import katex from 'katex' +import 'katex/dist/katex.min.css' import { $, $$ } from 'select-dom' import { UAParser } from 'ua-parser-js' @@ -17,12 +19,58 @@ const { getOS } = new UAParser() const isLazyLoadNavigationEnabled = $('meta[property="docs:feature:lazy-load-navigation"]')?.content === 'true' +/** + * Initialize KaTeX math rendering for elements with class 'math' + */ +function initMath() { + const mathElements = $$('.math') + mathElements.forEach((element) => { + try { + const content = element.textContent?.trim() + if (!content) return + + // Determine if this is display math based on content and element type + const isDisplayMath = + element.tagName === 'DIV' || + content.includes('\\[') || + content.includes('$$') || + content.includes('\\begin{') || + content.includes('\n') + + // Clean up common LaTeX delimiters + const cleanContent = content + .replace(/^\$\$|\$\$$/g, '') // Remove $$ delimiters + .replace(/^\\\[|\\\]$/g, '') // Remove \[ \] delimiters + .trim() + + // Clear the element content before rendering + element.innerHTML = '' + + katex.render(cleanContent, element, { + throwOnError: false, + displayMode: isDisplayMath, + strict: false, // Allow some LaTeX extensions + trust: false, // Security: don't trust arbitrary commands + output: 'mathml', // Only render MathML, not HTML + macros: { + // Add common macros if needed + }, + }) + } catch (error) { + console.warn('KaTeX rendering error:', error) + // Fallback: keep the original content + element.innerHTML = element.textContent || '' + } + }) +} + document.addEventListener('htmx:load', function (event) { initTocNav() initHighlight() initCopyButton() initTabs() initAppliesSwitch() + initMath() // We do this so that the navigation is not initialized twice if (isLazyLoadNavigationEnabled) { diff --git a/src/Elastic.Documentation.Site/Assets/styles.css b/src/Elastic.Documentation.Site/Assets/styles.css index e515379a8..b8eb69260 100644 --- a/src/Elastic.Documentation.Site/Assets/styles.css +++ b/src/Elastic.Documentation.Site/Assets/styles.css @@ -224,3 +224,7 @@ body { user-select: none; pointer-events: none; } + +math { + margin-top: 1.5rem; +} diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_AMS-Regular.0ed69bcc.woff b/src/Elastic.Documentation.Site/_static/KaTeX_AMS-Regular.0ed69bcc.woff new file mode 100644 index 000000000..b804d7b33 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_AMS-Regular.0ed69bcc.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_AMS-Regular.250082d1.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_AMS-Regular.250082d1.ttf new file mode 100644 index 000000000..c6f9a5e7c Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_AMS-Regular.250082d1.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Bold.5d7c4d00.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Bold.5d7c4d00.ttf new file mode 100644 index 000000000..9ff4a5e04 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Bold.5d7c4d00.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Bold.8b718944.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Bold.8b718944.woff new file mode 100644 index 000000000..9759710d1 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Bold.8b718944.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Regular.ab0f4493.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Regular.ab0f4493.woff new file mode 100644 index 000000000..9bdd534fd Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Regular.ab0f4493.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Regular.d4de5f30.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Regular.d4de5f30.ttf new file mode 100644 index 000000000..f522294ff Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Caligraphic-Regular.d4de5f30.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Bold.4d449c5d.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Bold.4d449c5d.ttf new file mode 100644 index 000000000..4e98259c3 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Bold.4d449c5d.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Bold.75fe0c6c.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Bold.75fe0c6c.woff new file mode 100644 index 000000000..e7730f662 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Bold.75fe0c6c.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Regular.1cce75f1.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Regular.1cce75f1.woff new file mode 100644 index 000000000..acab069f9 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Regular.1cce75f1.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Regular.ab0bff81.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Regular.ab0bff81.ttf new file mode 100644 index 000000000..b8461b275 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Fraktur-Regular.ab0bff81.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-Bold.08709b09.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Bold.08709b09.woff new file mode 100644 index 000000000..f38136ac1 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Bold.08709b09.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-Bold.95836a30.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Bold.95836a30.ttf new file mode 100644 index 000000000..4060e627d Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Bold.95836a30.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-BoldItalic.26f3c4f3.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Main-BoldItalic.26f3c4f3.ttf new file mode 100644 index 000000000..dc007977e Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-BoldItalic.26f3c4f3.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-BoldItalic.d122a512.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Main-BoldItalic.d122a512.woff new file mode 100644 index 000000000..67807b0bd Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-BoldItalic.d122a512.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-Italic.66e02c4c.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Italic.66e02c4c.woff new file mode 100644 index 000000000..6f43b594b Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Italic.66e02c4c.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-Italic.c6e95937.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Italic.c6e95937.ttf new file mode 100644 index 000000000..0e9b0f354 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Italic.c6e95937.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-Regular.5a82f7eb.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Regular.5a82f7eb.woff new file mode 100644 index 000000000..21f581296 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Regular.5a82f7eb.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Main-Regular.cd9ba532.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Regular.cd9ba532.ttf new file mode 100644 index 000000000..dd45e1ed2 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Main-Regular.cd9ba532.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Math-BoldItalic.b0ed6322.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Math-BoldItalic.b0ed6322.woff new file mode 100644 index 000000000..0ae390d74 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Math-BoldItalic.b0ed6322.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Math-BoldItalic.df285d77.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Math-BoldItalic.df285d77.ttf new file mode 100644 index 000000000..728ce7a1e Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Math-BoldItalic.df285d77.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Math-Italic.cfffd3c0.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Math-Italic.cfffd3c0.woff new file mode 100644 index 000000000..eb5159d4c Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Math-Italic.cfffd3c0.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Math-Italic.ffea941f.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Math-Italic.ffea941f.ttf new file mode 100644 index 000000000..70d559b4e Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Math-Italic.ffea941f.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Bold.67ea3185.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Bold.67ea3185.ttf new file mode 100644 index 000000000..2f65a8a3a Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Bold.67ea3185.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Bold.8e1222db.woff b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Bold.8e1222db.woff new file mode 100644 index 000000000..8d47c02d9 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Bold.8e1222db.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Italic.75326218.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Italic.75326218.ttf new file mode 100644 index 000000000..d5850df98 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Italic.75326218.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Italic.fb683703.woff b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Italic.fb683703.woff new file mode 100644 index 000000000..7e02df963 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Italic.fb683703.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Regular.51b8a34d.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Regular.51b8a34d.ttf new file mode 100644 index 000000000..537279f6b Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Regular.51b8a34d.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Regular.94fae992.woff b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Regular.94fae992.woff new file mode 100644 index 000000000..31b84829b Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_SansSerif-Regular.94fae992.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Script-Regular.6205c9f9.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Script-Regular.6205c9f9.woff new file mode 100644 index 000000000..0e7da821e Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Script-Regular.6205c9f9.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Script-Regular.964126b9.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Script-Regular.964126b9.ttf new file mode 100644 index 000000000..fd679bf37 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Script-Regular.964126b9.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size1-Regular.679bf7b5.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Size1-Regular.679bf7b5.woff new file mode 100644 index 000000000..7f292d911 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size1-Regular.679bf7b5.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size1-Regular.9e7bb2db.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Size1-Regular.9e7bb2db.ttf new file mode 100644 index 000000000..871fd7d19 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size1-Regular.9e7bb2db.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size2-Regular.16a5807b.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Size2-Regular.16a5807b.ttf new file mode 100644 index 000000000..7a212caf9 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size2-Regular.16a5807b.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size2-Regular.5c5b0f28.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Size2-Regular.5c5b0f28.woff new file mode 100644 index 000000000..d241d9be2 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size2-Regular.5c5b0f28.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size3-Regular.2a93ab93.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Size3-Regular.2a93ab93.woff new file mode 100644 index 000000000..e6e9b658d Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size3-Regular.2a93ab93.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size3-Regular.347ba5e0.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Size3-Regular.347ba5e0.ttf new file mode 100644 index 000000000..00bff3495 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size3-Regular.347ba5e0.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size4-Regular.2488fb45.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Size4-Regular.2488fb45.woff new file mode 100644 index 000000000..e1ec54576 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size4-Regular.2488fb45.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Size4-Regular.f41b14d6.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Size4-Regular.f41b14d6.ttf new file mode 100644 index 000000000..74f08921f Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Size4-Regular.f41b14d6.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Typewriter-Regular.662fc5b4.woff b/src/Elastic.Documentation.Site/_static/KaTeX_Typewriter-Regular.662fc5b4.woff new file mode 100644 index 000000000..2432419f2 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Typewriter-Regular.662fc5b4.woff differ diff --git a/src/Elastic.Documentation.Site/_static/KaTeX_Typewriter-Regular.ffbe21f7.ttf b/src/Elastic.Documentation.Site/_static/KaTeX_Typewriter-Regular.ffbe21f7.ttf new file mode 100644 index 000000000..c83252c57 Binary files /dev/null and b/src/Elastic.Documentation.Site/_static/KaTeX_Typewriter-Regular.ffbe21f7.ttf differ diff --git a/src/Elastic.Documentation.Site/_static/main.css b/src/Elastic.Documentation.Site/_static/main.css new file mode 100644 index 000000000..6f78a0beb --- /dev/null +++ b/src/Elastic.Documentation.Site/_static/main.css @@ -0,0 +1,1152 @@ +@font-face { + font-display: block; + font-family: KaTeX_AMS; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_AMS-Regular.4cd18550.woff2) format('woff2'), + url(KaTeX_AMS-Regular.0ed69bcc.woff) format('woff'), + url(KaTeX_AMS-Regular.250082d1.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Caligraphic; + font-style: normal; + font-weight: 700; + src: + url(KaTeX_Caligraphic-Bold.7d84fcea.woff2) format('woff2'), + url(KaTeX_Caligraphic-Bold.8b718944.woff) format('woff'), + url(KaTeX_Caligraphic-Bold.5d7c4d00.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Caligraphic; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Caligraphic-Regular.7e34eae2.woff2) format('woff2'), + url(KaTeX_Caligraphic-Regular.ab0f4493.woff) format('woff'), + url(KaTeX_Caligraphic-Regular.d4de5f30.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Fraktur; + font-style: normal; + font-weight: 700; + src: + url(KaTeX_Fraktur-Bold.db0fea8b.woff2) format('woff2'), + url(KaTeX_Fraktur-Bold.75fe0c6c.woff) format('woff'), + url(KaTeX_Fraktur-Bold.4d449c5d.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Fraktur; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Fraktur-Regular.7a216293.woff2) format('woff2'), + url(KaTeX_Fraktur-Regular.1cce75f1.woff) format('woff'), + url(KaTeX_Fraktur-Regular.ab0bff81.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Main; + font-style: normal; + font-weight: 700; + src: + url(KaTeX_Main-Bold.88cef7b1.woff2) format('woff2'), + url(KaTeX_Main-Bold.08709b09.woff) format('woff'), + url(KaTeX_Main-Bold.95836a30.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Main; + font-style: italic; + font-weight: 700; + src: + url(KaTeX_Main-BoldItalic.c09d0cf1.woff2) format('woff2'), + url(KaTeX_Main-BoldItalic.d122a512.woff) format('woff'), + url(KaTeX_Main-BoldItalic.26f3c4f3.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Main; + font-style: italic; + font-weight: 400; + src: + url(KaTeX_Main-Italic.de0e580d.woff2) format('woff2'), + url(KaTeX_Main-Italic.66e02c4c.woff) format('woff'), + url(KaTeX_Main-Italic.c6e95937.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Main; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Main-Regular.e2dbd876.woff2) format('woff2'), + url(KaTeX_Main-Regular.5a82f7eb.woff) format('woff'), + url(KaTeX_Main-Regular.cd9ba532.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Math; + font-style: italic; + font-weight: 700; + src: + url(KaTeX_Math-BoldItalic.6cf39e99.woff2) format('woff2'), + url(KaTeX_Math-BoldItalic.b0ed6322.woff) format('woff'), + url(KaTeX_Math-BoldItalic.df285d77.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Math; + font-style: italic; + font-weight: 400; + src: + url(KaTeX_Math-Italic.0470e72d.woff2) format('woff2'), + url(KaTeX_Math-Italic.cfffd3c0.woff) format('woff'), + url(KaTeX_Math-Italic.ffea941f.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_SansSerif; + font-style: normal; + font-weight: 700; + src: + url(KaTeX_SansSerif-Bold.b444b1f5.woff2) format('woff2'), + url(KaTeX_SansSerif-Bold.8e1222db.woff) format('woff'), + url(KaTeX_SansSerif-Bold.67ea3185.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_SansSerif; + font-style: italic; + font-weight: 400; + src: + url(KaTeX_SansSerif-Italic.6a451fb7.woff2) format('woff2'), + url(KaTeX_SansSerif-Italic.fb683703.woff) format('woff'), + url(KaTeX_SansSerif-Italic.75326218.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_SansSerif; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_SansSerif-Regular.e52904c3.woff2) format('woff2'), + url(KaTeX_SansSerif-Regular.94fae992.woff) format('woff'), + url(KaTeX_SansSerif-Regular.51b8a34d.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Script; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Script-Regular.9f85c0f7.woff2) format('woff2'), + url(KaTeX_Script-Regular.6205c9f9.woff) format('woff'), + url(KaTeX_Script-Regular.964126b9.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Size1; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Size1-Regular.263f0826.woff2) format('woff2'), + url(KaTeX_Size1-Regular.679bf7b5.woff) format('woff'), + url(KaTeX_Size1-Regular.9e7bb2db.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Size2; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Size2-Regular.7ddce1f2.woff2) format('woff2'), + url(KaTeX_Size2-Regular.5c5b0f28.woff) format('woff'), + url(KaTeX_Size2-Regular.16a5807b.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Size3; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Size3-Regular.8e605720.woff2) format('woff2'), + url(KaTeX_Size3-Regular.2a93ab93.woff) format('woff'), + url(KaTeX_Size3-Regular.347ba5e0.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Size4; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Size4-Regular.595ce6e5.woff2) format('woff2'), + url(KaTeX_Size4-Regular.2488fb45.woff) format('woff'), + url(KaTeX_Size4-Regular.f41b14d6.ttf) format('truetype'); +} +@font-face { + font-display: block; + font-family: KaTeX_Typewriter; + font-style: normal; + font-weight: 400; + src: + url(KaTeX_Typewriter-Regular.21beea8e.woff2) format('woff2'), + url(KaTeX_Typewriter-Regular.662fc5b4.woff) format('woff'), + url(KaTeX_Typewriter-Regular.ffbe21f7.ttf) format('truetype'); +} +.katex { + text-indent: 0; + text-rendering: auto; + font: + 1.21em/1.2 KaTeX_Main, + Times New Roman, + serif; +} +.katex * { + border-color: currentColor; + -ms-high-contrast-adjust: none !important; +} +.katex .katex-version:after { + content: '0.16.25'; +} +.katex .katex-mathml { + clip: rect(1px, 1px, 1px, 1px); + border: 0; + width: 1px; + height: 1px; + padding: 0; + position: absolute; + overflow: hidden; +} +.katex .katex-html > .newline { + display: block; +} +.katex .base { + white-space: nowrap; + width: min-content; + position: relative; +} +.katex .base, +.katex .strut { + display: inline-block; +} +.katex .textbf { + font-weight: 700; +} +.katex .textit { + font-style: italic; +} +.katex .textrm { + font-family: KaTeX_Main; +} +.katex .textsf { + font-family: KaTeX_SansSerif; +} +.katex .texttt { + font-family: KaTeX_Typewriter; +} +.katex .mathnormal { + 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: 700; +} +.katex .boldsymbol { + font-family: KaTeX_Math; + font-style: italic; + font-weight: 700; +} +.katex .amsrm, +.katex .mathbb, +.katex .textbb { + font-family: KaTeX_AMS; +} +.katex .mathcal { + font-family: KaTeX_Caligraphic; +} +.katex .mathfrak, +.katex .textfrak { + font-family: KaTeX_Fraktur; +} +.katex .mathboldfrak, +.katex .textboldfrak { + font-family: KaTeX_Fraktur; + font-weight: 700; +} +.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: 700; +} +.katex .mathitsf, +.katex .mathsfit, +.katex .textitsf { + font-family: KaTeX_SansSerif; + font-style: italic; +} +.katex .mainrm { + font-family: KaTeX_Main; + font-style: normal; +} +.katex .vlist-t { + border-collapse: collapse; + table-layout: fixed; + display: inline-table; +} +.katex .vlist-r { + display: table-row; +} +.katex .vlist { + vertical-align: bottom; + display: table-cell; + position: relative; +} +.katex .vlist > span { + height: 0; + display: block; + position: relative; +} +.katex .vlist > span > span { + display: inline-block; +} +.katex .vlist > span > .pstrut { + width: 0; + overflow: hidden; +} +.katex .vlist-t2 { + margin-right: -2px; +} +.katex .vlist-s { + vertical-align: bottom; + width: 2px; + min-width: 2px; + font-size: 1px; + display: table-cell; +} +.katex .vbox { + flex-direction: column; + align-items: baseline; + display: inline-flex; +} +.katex .hbox { + width: 100%; +} +.katex .hbox, +.katex .thinbox { + flex-direction: row; + display: inline-flex; +} +.katex .thinbox { + width: 0; + max-width: 0; +} +.katex .msupsub { + text-align: left; +} +.katex .mfrac > span > span { + text-align: center; +} +.katex .mfrac .frac-line { + border-bottom-style: solid; + width: 100%; + display: inline-block; +} +.katex .hdashline, +.katex .hline, +.katex .mfrac .frac-line, +.katex .overline .overline-line, +.katex .rule, +.katex .underline .underline-line { + min-height: 1px; +} +.katex .mspace { + display: inline-block; +} +.katex .clap, +.katex .llap, +.katex .rlap { + width: 0; + position: relative; +} +.katex .clap > .inner, +.katex .llap > .inner, +.katex .rlap > .inner { + position: absolute; +} +.katex .clap > .fix, +.katex .llap > .fix, +.katex .rlap > .fix { + display: inline-block; +} +.katex .llap > .inner { + right: 0; +} +.katex .clap > .inner, +.katex .rlap > .inner { + left: 0; +} +.katex .clap > .inner > span { + margin-left: -50%; + margin-right: 50%; +} +.katex .rule { + border: 0 solid; + display: inline-block; + position: relative; +} +.katex .hline, +.katex .overline .overline-line, +.katex .underline .underline-line { + border-bottom-style: solid; + width: 100%; + display: inline-block; +} +.katex .hdashline { + border-bottom-style: dashed; + width: 100%; + display: inline-block; +} +.katex .sqrt > .root { + margin-left: 0.277778em; + margin-right: -0.555556em; +} +.katex .fontsize-ensurer.reset-size1.size1, +.katex .sizing.reset-size1.size1 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size1.size2, +.katex .sizing.reset-size1.size2 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size1.size3, +.katex .sizing.reset-size1.size3 { + font-size: 1.4em; +} +.katex .fontsize-ensurer.reset-size1.size4, +.katex .sizing.reset-size1.size4 { + font-size: 1.6em; +} +.katex .fontsize-ensurer.reset-size1.size5, +.katex .sizing.reset-size1.size5 { + font-size: 1.8em; +} +.katex .fontsize-ensurer.reset-size1.size6, +.katex .sizing.reset-size1.size6 { + font-size: 2em; +} +.katex .fontsize-ensurer.reset-size1.size7, +.katex .sizing.reset-size1.size7 { + font-size: 2.4em; +} +.katex .fontsize-ensurer.reset-size1.size8, +.katex .sizing.reset-size1.size8 { + font-size: 2.88em; +} +.katex .fontsize-ensurer.reset-size1.size9, +.katex .sizing.reset-size1.size9 { + font-size: 3.456em; +} +.katex .fontsize-ensurer.reset-size1.size10, +.katex .sizing.reset-size1.size10 { + font-size: 4.148em; +} +.katex .fontsize-ensurer.reset-size1.size11, +.katex .sizing.reset-size1.size11 { + font-size: 4.976em; +} +.katex .fontsize-ensurer.reset-size2.size1, +.katex .sizing.reset-size2.size1 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size2.size2, +.katex .sizing.reset-size2.size2 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size2.size3, +.katex .sizing.reset-size2.size3 { + font-size: 1.16667em; +} +.katex .fontsize-ensurer.reset-size2.size4, +.katex .sizing.reset-size2.size4 { + font-size: 1.33333em; +} +.katex .fontsize-ensurer.reset-size2.size5, +.katex .sizing.reset-size2.size5 { + font-size: 1.5em; +} +.katex .fontsize-ensurer.reset-size2.size6, +.katex .sizing.reset-size2.size6 { + font-size: 1.66667em; +} +.katex .fontsize-ensurer.reset-size2.size7, +.katex .sizing.reset-size2.size7 { + font-size: 2em; +} +.katex .fontsize-ensurer.reset-size2.size8, +.katex .sizing.reset-size2.size8 { + font-size: 2.4em; +} +.katex .fontsize-ensurer.reset-size2.size9, +.katex .sizing.reset-size2.size9 { + font-size: 2.88em; +} +.katex .fontsize-ensurer.reset-size2.size10, +.katex .sizing.reset-size2.size10 { + font-size: 3.45667em; +} +.katex .fontsize-ensurer.reset-size2.size11, +.katex .sizing.reset-size2.size11 { + font-size: 4.14667em; +} +.katex .fontsize-ensurer.reset-size3.size1, +.katex .sizing.reset-size3.size1 { + font-size: 0.714286em; +} +.katex .fontsize-ensurer.reset-size3.size2, +.katex .sizing.reset-size3.size2 { + font-size: 0.857143em; +} +.katex .fontsize-ensurer.reset-size3.size3, +.katex .sizing.reset-size3.size3 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size3.size4, +.katex .sizing.reset-size3.size4 { + font-size: 1.14286em; +} +.katex .fontsize-ensurer.reset-size3.size5, +.katex .sizing.reset-size3.size5 { + font-size: 1.28571em; +} +.katex .fontsize-ensurer.reset-size3.size6, +.katex .sizing.reset-size3.size6 { + font-size: 1.42857em; +} +.katex .fontsize-ensurer.reset-size3.size7, +.katex .sizing.reset-size3.size7 { + font-size: 1.71429em; +} +.katex .fontsize-ensurer.reset-size3.size8, +.katex .sizing.reset-size3.size8 { + font-size: 2.05714em; +} +.katex .fontsize-ensurer.reset-size3.size9, +.katex .sizing.reset-size3.size9 { + font-size: 2.46857em; +} +.katex .fontsize-ensurer.reset-size3.size10, +.katex .sizing.reset-size3.size10 { + font-size: 2.96286em; +} +.katex .fontsize-ensurer.reset-size3.size11, +.katex .sizing.reset-size3.size11 { + font-size: 3.55429em; +} +.katex .fontsize-ensurer.reset-size4.size1, +.katex .sizing.reset-size4.size1 { + font-size: 0.625em; +} +.katex .fontsize-ensurer.reset-size4.size2, +.katex .sizing.reset-size4.size2 { + font-size: 0.75em; +} +.katex .fontsize-ensurer.reset-size4.size3, +.katex .sizing.reset-size4.size3 { + font-size: 0.875em; +} +.katex .fontsize-ensurer.reset-size4.size4, +.katex .sizing.reset-size4.size4 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size4.size5, +.katex .sizing.reset-size4.size5 { + font-size: 1.125em; +} +.katex .fontsize-ensurer.reset-size4.size6, +.katex .sizing.reset-size4.size6 { + font-size: 1.25em; +} +.katex .fontsize-ensurer.reset-size4.size7, +.katex .sizing.reset-size4.size7 { + font-size: 1.5em; +} +.katex .fontsize-ensurer.reset-size4.size8, +.katex .sizing.reset-size4.size8 { + font-size: 1.8em; +} +.katex .fontsize-ensurer.reset-size4.size9, +.katex .sizing.reset-size4.size9 { + font-size: 2.16em; +} +.katex .fontsize-ensurer.reset-size4.size10, +.katex .sizing.reset-size4.size10 { + font-size: 2.5925em; +} +.katex .fontsize-ensurer.reset-size4.size11, +.katex .sizing.reset-size4.size11 { + font-size: 3.11em; +} +.katex .fontsize-ensurer.reset-size5.size1, +.katex .sizing.reset-size5.size1 { + font-size: 0.555556em; +} +.katex .fontsize-ensurer.reset-size5.size2, +.katex .sizing.reset-size5.size2 { + font-size: 0.666667em; +} +.katex .fontsize-ensurer.reset-size5.size3, +.katex .sizing.reset-size5.size3 { + font-size: 0.777778em; +} +.katex .fontsize-ensurer.reset-size5.size4, +.katex .sizing.reset-size5.size4 { + font-size: 0.888889em; +} +.katex .fontsize-ensurer.reset-size5.size5, +.katex .sizing.reset-size5.size5 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size5.size6, +.katex .sizing.reset-size5.size6 { + font-size: 1.11111em; +} +.katex .fontsize-ensurer.reset-size5.size7, +.katex .sizing.reset-size5.size7 { + font-size: 1.33333em; +} +.katex .fontsize-ensurer.reset-size5.size8, +.katex .sizing.reset-size5.size8 { + font-size: 1.6em; +} +.katex .fontsize-ensurer.reset-size5.size9, +.katex .sizing.reset-size5.size9 { + font-size: 1.92em; +} +.katex .fontsize-ensurer.reset-size5.size10, +.katex .sizing.reset-size5.size10 { + font-size: 2.30444em; +} +.katex .fontsize-ensurer.reset-size5.size11, +.katex .sizing.reset-size5.size11 { + font-size: 2.76444em; +} +.katex .fontsize-ensurer.reset-size6.size1, +.katex .sizing.reset-size6.size1 { + font-size: 0.5em; +} +.katex .fontsize-ensurer.reset-size6.size2, +.katex .sizing.reset-size6.size2 { + font-size: 0.6em; +} +.katex .fontsize-ensurer.reset-size6.size3, +.katex .sizing.reset-size6.size3 { + font-size: 0.7em; +} +.katex .fontsize-ensurer.reset-size6.size4, +.katex .sizing.reset-size6.size4 { + font-size: 0.8em; +} +.katex .fontsize-ensurer.reset-size6.size5, +.katex .sizing.reset-size6.size5 { + font-size: 0.9em; +} +.katex .fontsize-ensurer.reset-size6.size6, +.katex .sizing.reset-size6.size6 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size6.size7, +.katex .sizing.reset-size6.size7 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size6.size8, +.katex .sizing.reset-size6.size8 { + font-size: 1.44em; +} +.katex .fontsize-ensurer.reset-size6.size9, +.katex .sizing.reset-size6.size9 { + font-size: 1.728em; +} +.katex .fontsize-ensurer.reset-size6.size10, +.katex .sizing.reset-size6.size10 { + font-size: 2.074em; +} +.katex .fontsize-ensurer.reset-size6.size11, +.katex .sizing.reset-size6.size11 { + font-size: 2.488em; +} +.katex .fontsize-ensurer.reset-size7.size1, +.katex .sizing.reset-size7.size1 { + font-size: 0.416667em; +} +.katex .fontsize-ensurer.reset-size7.size2, +.katex .sizing.reset-size7.size2 { + font-size: 0.5em; +} +.katex .fontsize-ensurer.reset-size7.size3, +.katex .sizing.reset-size7.size3 { + font-size: 0.583333em; +} +.katex .fontsize-ensurer.reset-size7.size4, +.katex .sizing.reset-size7.size4 { + font-size: 0.666667em; +} +.katex .fontsize-ensurer.reset-size7.size5, +.katex .sizing.reset-size7.size5 { + font-size: 0.75em; +} +.katex .fontsize-ensurer.reset-size7.size6, +.katex .sizing.reset-size7.size6 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size7.size7, +.katex .sizing.reset-size7.size7 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size7.size8, +.katex .sizing.reset-size7.size8 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size7.size9, +.katex .sizing.reset-size7.size9 { + font-size: 1.44em; +} +.katex .fontsize-ensurer.reset-size7.size10, +.katex .sizing.reset-size7.size10 { + font-size: 1.72833em; +} +.katex .fontsize-ensurer.reset-size7.size11, +.katex .sizing.reset-size7.size11 { + font-size: 2.07333em; +} +.katex .fontsize-ensurer.reset-size8.size1, +.katex .sizing.reset-size8.size1 { + font-size: 0.347222em; +} +.katex .fontsize-ensurer.reset-size8.size2, +.katex .sizing.reset-size8.size2 { + font-size: 0.416667em; +} +.katex .fontsize-ensurer.reset-size8.size3, +.katex .sizing.reset-size8.size3 { + font-size: 0.486111em; +} +.katex .fontsize-ensurer.reset-size8.size4, +.katex .sizing.reset-size8.size4 { + font-size: 0.555556em; +} +.katex .fontsize-ensurer.reset-size8.size5, +.katex .sizing.reset-size8.size5 { + font-size: 0.625em; +} +.katex .fontsize-ensurer.reset-size8.size6, +.katex .sizing.reset-size8.size6 { + font-size: 0.694444em; +} +.katex .fontsize-ensurer.reset-size8.size7, +.katex .sizing.reset-size8.size7 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size8.size8, +.katex .sizing.reset-size8.size8 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size8.size9, +.katex .sizing.reset-size8.size9 { + font-size: 1.2em; +} +.katex .fontsize-ensurer.reset-size8.size10, +.katex .sizing.reset-size8.size10 { + font-size: 1.44028em; +} +.katex .fontsize-ensurer.reset-size8.size11, +.katex .sizing.reset-size8.size11 { + font-size: 1.72778em; +} +.katex .fontsize-ensurer.reset-size9.size1, +.katex .sizing.reset-size9.size1 { + font-size: 0.289352em; +} +.katex .fontsize-ensurer.reset-size9.size2, +.katex .sizing.reset-size9.size2 { + font-size: 0.347222em; +} +.katex .fontsize-ensurer.reset-size9.size3, +.katex .sizing.reset-size9.size3 { + font-size: 0.405093em; +} +.katex .fontsize-ensurer.reset-size9.size4, +.katex .sizing.reset-size9.size4 { + font-size: 0.462963em; +} +.katex .fontsize-ensurer.reset-size9.size5, +.katex .sizing.reset-size9.size5 { + font-size: 0.520833em; +} +.katex .fontsize-ensurer.reset-size9.size6, +.katex .sizing.reset-size9.size6 { + font-size: 0.578704em; +} +.katex .fontsize-ensurer.reset-size9.size7, +.katex .sizing.reset-size9.size7 { + font-size: 0.694444em; +} +.katex .fontsize-ensurer.reset-size9.size8, +.katex .sizing.reset-size9.size8 { + font-size: 0.833333em; +} +.katex .fontsize-ensurer.reset-size9.size9, +.katex .sizing.reset-size9.size9 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size9.size10, +.katex .sizing.reset-size9.size10 { + font-size: 1.20023em; +} +.katex .fontsize-ensurer.reset-size9.size11, +.katex .sizing.reset-size9.size11 { + font-size: 1.43981em; +} +.katex .fontsize-ensurer.reset-size10.size1, +.katex .sizing.reset-size10.size1 { + font-size: 0.24108em; +} +.katex .fontsize-ensurer.reset-size10.size2, +.katex .sizing.reset-size10.size2 { + font-size: 0.289296em; +} +.katex .fontsize-ensurer.reset-size10.size3, +.katex .sizing.reset-size10.size3 { + font-size: 0.337512em; +} +.katex .fontsize-ensurer.reset-size10.size4, +.katex .sizing.reset-size10.size4 { + font-size: 0.385728em; +} +.katex .fontsize-ensurer.reset-size10.size5, +.katex .sizing.reset-size10.size5 { + font-size: 0.433944em; +} +.katex .fontsize-ensurer.reset-size10.size6, +.katex .sizing.reset-size10.size6 { + font-size: 0.48216em; +} +.katex .fontsize-ensurer.reset-size10.size7, +.katex .sizing.reset-size10.size7 { + font-size: 0.578592em; +} +.katex .fontsize-ensurer.reset-size10.size8, +.katex .sizing.reset-size10.size8 { + font-size: 0.694311em; +} +.katex .fontsize-ensurer.reset-size10.size9, +.katex .sizing.reset-size10.size9 { + font-size: 0.833173em; +} +.katex .fontsize-ensurer.reset-size10.size10, +.katex .sizing.reset-size10.size10 { + font-size: 1em; +} +.katex .fontsize-ensurer.reset-size10.size11, +.katex .sizing.reset-size10.size11 { + font-size: 1.19961em; +} +.katex .fontsize-ensurer.reset-size11.size1, +.katex .sizing.reset-size11.size1 { + font-size: 0.200965em; +} +.katex .fontsize-ensurer.reset-size11.size2, +.katex .sizing.reset-size11.size2 { + font-size: 0.241158em; +} +.katex .fontsize-ensurer.reset-size11.size3, +.katex .sizing.reset-size11.size3 { + font-size: 0.281351em; +} +.katex .fontsize-ensurer.reset-size11.size4, +.katex .sizing.reset-size11.size4 { + font-size: 0.321543em; +} +.katex .fontsize-ensurer.reset-size11.size5, +.katex .sizing.reset-size11.size5 { + font-size: 0.361736em; +} +.katex .fontsize-ensurer.reset-size11.size6, +.katex .sizing.reset-size11.size6 { + font-size: 0.401929em; +} +.katex .fontsize-ensurer.reset-size11.size7, +.katex .sizing.reset-size11.size7 { + font-size: 0.482315em; +} +.katex .fontsize-ensurer.reset-size11.size8, +.katex .sizing.reset-size11.size8 { + font-size: 0.578778em; +} +.katex .fontsize-ensurer.reset-size11.size9, +.katex .sizing.reset-size11.size9 { + font-size: 0.694534em; +} +.katex .fontsize-ensurer.reset-size11.size10, +.katex .sizing.reset-size11.size10 { + font-size: 0.833601em; +} +.katex .fontsize-ensurer.reset-size11.size11, +.katex .sizing.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 { + width: 0.12em; + display: inline-block; +} +.katex .delimcenter, +.katex .op-symbol { + position: relative; +} +.katex .op-symbol.small-op { + font-family: KaTeX_Size1; +} +.katex .op-symbol.large-op { + font-family: KaTeX_Size2; +} +.katex .accent > .vlist-t, +.katex .op-limits > .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 { + min-width: 1px; + display: inline-block; +} +.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 { + fill: currentColor; + stroke: currentColor; + fill-rule: nonzero; + fill-opacity: 1; + stroke-width: 1px; + stroke-linecap: butt; + stroke-linejoin: miter; + stroke-miterlimit: 4; + stroke-dasharray: none; + stroke-dashoffset: 0; + stroke-opacity: 1; + height: inherit; + width: 100%; + display: block; + position: absolute; +} +.katex svg path { + stroke: none; +} +.katex img { + border-style: none; + min-width: 0; + max-width: none; + min-height: 0; + max-height: none; +} +.katex .stretchy { + width: 100%; + display: block; + position: relative; + overflow: hidden; +} +.katex .stretchy:after, +.katex .stretchy:before { + content: ''; +} +.katex .hide-tail { + width: 100%; + position: relative; + overflow: hidden; +} +.katex .halfarrow-left { + width: 50.2%; + position: absolute; + left: 0; + overflow: hidden; +} +.katex .halfarrow-right { + width: 50.2%; + position: absolute; + right: 0; + overflow: hidden; +} +.katex .brace-left { + width: 25.1%; + position: absolute; + left: 0; + overflow: hidden; +} +.katex .brace-center { + width: 50%; + position: absolute; + left: 25%; + overflow: hidden; +} +.katex .brace-right { + width: 25.1%; + position: absolute; + right: 0; + overflow: hidden; +} +.katex .x-arrow-pad { + padding: 0 0.5em; +} +.katex .cd-arrow-pad { + padding: 0 0.55556em 0 0.27778em; +} +.katex .mover, +.katex .munder, +.katex .x-arrow { + text-align: center; +} +.katex .boxpad { + padding: 0 0.3em; +} +.katex .fbox, +.katex .fcolorbox { + box-sizing: border-box; + border: 0.04em solid; +} +.katex .cancel-pad { + padding: 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 .angl { + box-sizing: border-box; + border-top: 0.049em solid; + border-right: 0.049em solid; + margin-right: 0.03889em; +} +.katex .anglpad { + padding: 0 0.03889em; +} +.katex .eqn-num:before { + content: '(' counter(katexEqnNo) ')'; + counter-increment: katexEqnNo; +} +.katex .mml-eqn-num:before { + content: '(' counter(mmlEqnNo) ')'; + counter-increment: mmlEqnNo; +} +.katex .mtr-glue { + width: 50%; +} +.katex .cd-vert-arrow { + display: inline-block; + position: relative; +} +.katex .cd-label-left { + text-align: left; + display: inline-block; + position: absolute; + right: calc(50% + 0.3em); +} +.katex .cd-label-right { + text-align: right; + display: inline-block; + position: absolute; + left: calc(50% + 0.3em); +} +.katex-display { + text-align: center; + margin: 1em 0; + display: block; +} +.katex-display > .katex { + text-align: center; + white-space: nowrap; + display: block; +} +.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; + padding-left: 2em; +} +body { + counter-reset: katexEqnNo mmlEqnNo; +} +/*# sourceMappingURL=main.css.map */ diff --git a/src/Elastic.Documentation.Site/_static/main.css.map b/src/Elastic.Documentation.Site/_static/main.css.map new file mode 100644 index 000000000..93c5a6e00 --- /dev/null +++ b/src/Elastic.Documentation.Site/_static/main.css.map @@ -0,0 +1 @@ +{"mappings":"ACAA,2SAAkP,kUAAyQ,2UAAkR,kTAAyP,2TAAkQ,sSAA6O,wTAA+P,4SAAmP,+SAAsP,wTAA+P,4SAAmP,0TAAmQ,gUAAyQ,mUAA4Q,uTAA8P,mTAA0P,mTAA0P,mTAA0P,mTAA0P,uUAA8Q,0FAA6G,2EAA2E,8CAA8C,0HAA0H,0CAA0C,oEAAqH,gDAAgD,+BAA+B,iCAAiC,sCAAsC,2CAA2C,4CAA4C,4DAA4D,wDAAwD,iCAAiC,sDAAsD,4EAA4E,kEAAkE,8CAA8C,4DAA4D,oFAAoF,4CAA4C,yDAAyD,0DAA0D,kFAAkF,iGAAiG,wDAAwD,iFAAiF,kCAAkC,yEAAyE,4DAA4D,6CAA6C,mDAAmD,mCAAmC,+FAA+F,4EAA4E,wBAAwB,oEAAoE,oCAAoC,gCAAgC,0CAA0C,mFAAmF,uJAAuJ,oCAAoC,iEAAiE,8EAA8E,2EAA2E,4BAA4B,+CAA+C,2DAA2D,mEAAmE,0IAA0I,6EAA6E,iEAAyE,0FAA0F,4FAA4F,4FAA4F,4FAA4F,4FAA4F,0FAA0F,4FAA4F,6FAA6F,8FAA8F,gGAAgG,gGAAgG,gGAAoG,0FAA0F,gGAAqG,gGAAqG,4FAA4F,gGAAqG,0FAA0F,4FAA4F,6FAA6F,kGAAuG,kGAAuG,gGAAoG,gGAAoG,0FAA0F,gGAAqG,gGAAqG,gGAAqG,gGAAqG,gGAAqG,gGAAqG,kGAAuG,kGAAuG,6FAA6F,4FAA4F,6FAA6F,0FAA0F,8FAA8F,6FAA6F,4FAA4F,4FAA4F,6FAA6F,iGAAiG,+FAA+F,gGAAoG,gGAAoG,gGAAoG,gGAAoG,0FAA0F,gGAAqG,gGAAqG,4FAA4F,6FAA6F,kGAAuG,kGAAuG,2FAA2F,2FAA2F,2FAA2F,2FAA2F,2FAA2F,0FAA0F,4FAA4F,6FAA6F,8FAA8F,gGAAgG,gGAAgG,gGAAoG,2FAA2F,gGAAoG,gGAAoG,4FAA4F,gGAAoG,0FAA0F,4FAA4F,6FAA6F,kGAAuG,kGAAuG,gGAAoG,gGAAoG,gGAAoG,gGAAoG,6FAA6F,gGAAoG,gGAAoG,0FAA0F,4FAA4F,kGAAuG,kGAAuG,gGAAoG,gGAAoG,gGAAoG,gGAAmG,gGAAoG,gGAAoG,gGAAoG,gGAAoG,0FAA0F,kGAAuG,kGAAuG,iGAAsG,kGAAsG,kGAAqG,kGAAsG,kGAAsG,iGAAsG,kGAAsG,kGAAsG,kGAAsG,8FAA8F,oGAAyG,kGAAsG,kGAAsG,kGAAsG,kGAAsG,kGAAsG,kGAAsG,kGAAsG,kGAAqG,kGAAsG,oGAAwG,8FAA8F,kDAAkD,kDAAkD,kDAAkD,kDAAkD,mEAAmE,mEAAmE,uDAAuD,wDAAwD,mDAAmD,mDAAmD,qEAAqE,8CAA8C,sDAAsD,8BAA8B,sEAAsE,iDAAiD,uDAAuD,qDAAqD,sDAAsD,kCAAkC,sRAAoR,4BAA4B,qFAAqF,4EAA4E,0DAA0D,+DAA+D,4EAA4E,8EAA8E,wEAAwE,0EAA0E,0EAA0E,mCAAmC,mDAAmD,+DAA+D,8BAA8B,wEAAwE,kCAAkC,wDAAwD,iEAAiE,2GAA2G,mCAAmC,uFAAwF,uFAAwF,2BAA2B,6DAA6D,oGAAoG,qGAAqG,4DAA4D,yEAAyE,kEAAkE,iEAAiE,+DAA+D,6DAA6D","sources":["main.css","node_modules/katex/dist/katex.min.css"],"sourcesContent":["@font-face {\n font-display: block;\n font-family: KaTeX_AMS;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_AMS-Regular.4cd18550.woff2\") format(\"woff2\"), url(\"KaTeX_AMS-Regular.0ed69bcc.woff\") format(\"woff\"), url(\"KaTeX_AMS-Regular.250082d1.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Caligraphic;\n font-style: normal;\n font-weight: 700;\n src: url(\"KaTeX_Caligraphic-Bold.7d84fcea.woff2\") format(\"woff2\"), url(\"KaTeX_Caligraphic-Bold.8b718944.woff\") format(\"woff\"), url(\"KaTeX_Caligraphic-Bold.5d7c4d00.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Caligraphic;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Caligraphic-Regular.7e34eae2.woff2\") format(\"woff2\"), url(\"KaTeX_Caligraphic-Regular.ab0f4493.woff\") format(\"woff\"), url(\"KaTeX_Caligraphic-Regular.d4de5f30.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Fraktur;\n font-style: normal;\n font-weight: 700;\n src: url(\"KaTeX_Fraktur-Bold.db0fea8b.woff2\") format(\"woff2\"), url(\"KaTeX_Fraktur-Bold.75fe0c6c.woff\") format(\"woff\"), url(\"KaTeX_Fraktur-Bold.4d449c5d.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Fraktur;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Fraktur-Regular.7a216293.woff2\") format(\"woff2\"), url(\"KaTeX_Fraktur-Regular.1cce75f1.woff\") format(\"woff\"), url(\"KaTeX_Fraktur-Regular.ab0bff81.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Main;\n font-style: normal;\n font-weight: 700;\n src: url(\"KaTeX_Main-Bold.88cef7b1.woff2\") format(\"woff2\"), url(\"KaTeX_Main-Bold.08709b09.woff\") format(\"woff\"), url(\"KaTeX_Main-Bold.95836a30.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Main;\n font-style: italic;\n font-weight: 700;\n src: url(\"KaTeX_Main-BoldItalic.c09d0cf1.woff2\") format(\"woff2\"), url(\"KaTeX_Main-BoldItalic.d122a512.woff\") format(\"woff\"), url(\"KaTeX_Main-BoldItalic.26f3c4f3.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Main;\n font-style: italic;\n font-weight: 400;\n src: url(\"KaTeX_Main-Italic.de0e580d.woff2\") format(\"woff2\"), url(\"KaTeX_Main-Italic.66e02c4c.woff\") format(\"woff\"), url(\"KaTeX_Main-Italic.c6e95937.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Main;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Main-Regular.e2dbd876.woff2\") format(\"woff2\"), url(\"KaTeX_Main-Regular.5a82f7eb.woff\") format(\"woff\"), url(\"KaTeX_Main-Regular.cd9ba532.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Math;\n font-style: italic;\n font-weight: 700;\n src: url(\"KaTeX_Math-BoldItalic.6cf39e99.woff2\") format(\"woff2\"), url(\"KaTeX_Math-BoldItalic.b0ed6322.woff\") format(\"woff\"), url(\"KaTeX_Math-BoldItalic.df285d77.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Math;\n font-style: italic;\n font-weight: 400;\n src: url(\"KaTeX_Math-Italic.0470e72d.woff2\") format(\"woff2\"), url(\"KaTeX_Math-Italic.cfffd3c0.woff\") format(\"woff\"), url(\"KaTeX_Math-Italic.ffea941f.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_SansSerif;\n font-style: normal;\n font-weight: 700;\n src: url(\"KaTeX_SansSerif-Bold.b444b1f5.woff2\") format(\"woff2\"), url(\"KaTeX_SansSerif-Bold.8e1222db.woff\") format(\"woff\"), url(\"KaTeX_SansSerif-Bold.67ea3185.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_SansSerif;\n font-style: italic;\n font-weight: 400;\n src: url(\"KaTeX_SansSerif-Italic.6a451fb7.woff2\") format(\"woff2\"), url(\"KaTeX_SansSerif-Italic.fb683703.woff\") format(\"woff\"), url(\"KaTeX_SansSerif-Italic.75326218.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_SansSerif;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_SansSerif-Regular.e52904c3.woff2\") format(\"woff2\"), url(\"KaTeX_SansSerif-Regular.94fae992.woff\") format(\"woff\"), url(\"KaTeX_SansSerif-Regular.51b8a34d.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Script;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Script-Regular.9f85c0f7.woff2\") format(\"woff2\"), url(\"KaTeX_Script-Regular.6205c9f9.woff\") format(\"woff\"), url(\"KaTeX_Script-Regular.964126b9.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Size1;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Size1-Regular.263f0826.woff2\") format(\"woff2\"), url(\"KaTeX_Size1-Regular.679bf7b5.woff\") format(\"woff\"), url(\"KaTeX_Size1-Regular.9e7bb2db.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Size2;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Size2-Regular.7ddce1f2.woff2\") format(\"woff2\"), url(\"KaTeX_Size2-Regular.5c5b0f28.woff\") format(\"woff\"), url(\"KaTeX_Size2-Regular.16a5807b.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Size3;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Size3-Regular.8e605720.woff2\") format(\"woff2\"), url(\"KaTeX_Size3-Regular.2a93ab93.woff\") format(\"woff\"), url(\"KaTeX_Size3-Regular.347ba5e0.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Size4;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Size4-Regular.595ce6e5.woff2\") format(\"woff2\"), url(\"KaTeX_Size4-Regular.2488fb45.woff\") format(\"woff\"), url(\"KaTeX_Size4-Regular.f41b14d6.ttf\") format(\"truetype\");\n}\n\n@font-face {\n font-display: block;\n font-family: KaTeX_Typewriter;\n font-style: normal;\n font-weight: 400;\n src: url(\"KaTeX_Typewriter-Regular.21beea8e.woff2\") format(\"woff2\"), url(\"KaTeX_Typewriter-Regular.662fc5b4.woff\") format(\"woff\"), url(\"KaTeX_Typewriter-Regular.ffbe21f7.ttf\") format(\"truetype\");\n}\n\n.katex {\n text-indent: 0;\n text-rendering: auto;\n font: 1.21em / 1.2 KaTeX_Main, Times New Roman, serif;\n}\n\n.katex * {\n border-color: currentColor;\n -ms-high-contrast-adjust: none !important;\n}\n\n.katex .katex-version:after {\n content: \"0.16.25\";\n}\n\n.katex .katex-mathml {\n clip: rect(1px, 1px, 1px, 1px);\n border: 0;\n width: 1px;\n height: 1px;\n padding: 0;\n position: absolute;\n overflow: hidden;\n}\n\n.katex .katex-html > .newline {\n display: block;\n}\n\n.katex .base {\n white-space: nowrap;\n width: min-content;\n position: relative;\n}\n\n.katex .base, .katex .strut {\n display: inline-block;\n}\n\n.katex .textbf {\n font-weight: 700;\n}\n\n.katex .textit {\n font-style: italic;\n}\n\n.katex .textrm {\n font-family: KaTeX_Main;\n}\n\n.katex .textsf {\n font-family: KaTeX_SansSerif;\n}\n\n.katex .texttt {\n font-family: KaTeX_Typewriter;\n}\n\n.katex .mathnormal {\n font-family: KaTeX_Math;\n font-style: italic;\n}\n\n.katex .mathit {\n font-family: KaTeX_Main;\n font-style: italic;\n}\n\n.katex .mathrm {\n font-style: normal;\n}\n\n.katex .mathbf {\n font-family: KaTeX_Main;\n font-weight: 700;\n}\n\n.katex .boldsymbol {\n font-family: KaTeX_Math;\n font-style: italic;\n font-weight: 700;\n}\n\n.katex .amsrm, .katex .mathbb, .katex .textbb {\n font-family: KaTeX_AMS;\n}\n\n.katex .mathcal {\n font-family: KaTeX_Caligraphic;\n}\n\n.katex .mathfrak, .katex .textfrak {\n font-family: KaTeX_Fraktur;\n}\n\n.katex .mathboldfrak, .katex .textboldfrak {\n font-family: KaTeX_Fraktur;\n font-weight: 700;\n}\n\n.katex .mathtt {\n font-family: KaTeX_Typewriter;\n}\n\n.katex .mathscr, .katex .textscr {\n font-family: KaTeX_Script;\n}\n\n.katex .mathsf, .katex .textsf {\n font-family: KaTeX_SansSerif;\n}\n\n.katex .mathboldsf, .katex .textboldsf {\n font-family: KaTeX_SansSerif;\n font-weight: 700;\n}\n\n.katex .mathitsf, .katex .mathsfit, .katex .textitsf {\n font-family: KaTeX_SansSerif;\n font-style: italic;\n}\n\n.katex .mainrm {\n font-family: KaTeX_Main;\n font-style: normal;\n}\n\n.katex .vlist-t {\n border-collapse: collapse;\n table-layout: fixed;\n display: inline-table;\n}\n\n.katex .vlist-r {\n display: table-row;\n}\n\n.katex .vlist {\n vertical-align: bottom;\n display: table-cell;\n position: relative;\n}\n\n.katex .vlist > span {\n height: 0;\n display: block;\n position: relative;\n}\n\n.katex .vlist > span > span {\n display: inline-block;\n}\n\n.katex .vlist > span > .pstrut {\n width: 0;\n overflow: hidden;\n}\n\n.katex .vlist-t2 {\n margin-right: -2px;\n}\n\n.katex .vlist-s {\n vertical-align: bottom;\n width: 2px;\n min-width: 2px;\n font-size: 1px;\n display: table-cell;\n}\n\n.katex .vbox {\n flex-direction: column;\n align-items: baseline;\n display: inline-flex;\n}\n\n.katex .hbox {\n width: 100%;\n}\n\n.katex .hbox, .katex .thinbox {\n flex-direction: row;\n display: inline-flex;\n}\n\n.katex .thinbox {\n width: 0;\n max-width: 0;\n}\n\n.katex .msupsub {\n text-align: left;\n}\n\n.katex .mfrac > span > span {\n text-align: center;\n}\n\n.katex .mfrac .frac-line {\n border-bottom-style: solid;\n width: 100%;\n display: inline-block;\n}\n\n.katex .hdashline, .katex .hline, .katex .mfrac .frac-line, .katex .overline .overline-line, .katex .rule, .katex .underline .underline-line {\n min-height: 1px;\n}\n\n.katex .mspace {\n display: inline-block;\n}\n\n.katex .clap, .katex .llap, .katex .rlap {\n width: 0;\n position: relative;\n}\n\n.katex .clap > .inner, .katex .llap > .inner, .katex .rlap > .inner {\n position: absolute;\n}\n\n.katex .clap > .fix, .katex .llap > .fix, .katex .rlap > .fix {\n display: inline-block;\n}\n\n.katex .llap > .inner {\n right: 0;\n}\n\n.katex .clap > .inner, .katex .rlap > .inner {\n left: 0;\n}\n\n.katex .clap > .inner > span {\n margin-left: -50%;\n margin-right: 50%;\n}\n\n.katex .rule {\n border: 0 solid;\n display: inline-block;\n position: relative;\n}\n\n.katex .hline, .katex .overline .overline-line, .katex .underline .underline-line {\n border-bottom-style: solid;\n width: 100%;\n display: inline-block;\n}\n\n.katex .hdashline {\n border-bottom-style: dashed;\n width: 100%;\n display: inline-block;\n}\n\n.katex .sqrt > .root {\n margin-left: .277778em;\n margin-right: -.555556em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size1 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size2 {\n font-size: 1.2em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size3 {\n font-size: 1.4em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size4 {\n font-size: 1.6em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size5 {\n font-size: 1.8em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size6 {\n font-size: 2em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size7 {\n font-size: 2.4em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size8 {\n font-size: 2.88em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size9 {\n font-size: 3.456em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.size10 {\n font-size: 4.148em;\n}\n\n.katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.size11 {\n font-size: 4.976em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size1 {\n font-size: .833333em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size2 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size3 {\n font-size: 1.16667em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size4 {\n font-size: 1.33333em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size5 {\n font-size: 1.5em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size6 {\n font-size: 1.66667em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size7 {\n font-size: 2em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size8 {\n font-size: 2.4em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size9 {\n font-size: 2.88em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.size10 {\n font-size: 3.45667em;\n}\n\n.katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.size11 {\n font-size: 4.14667em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size1 {\n font-size: .714286em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size2 {\n font-size: .857143em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size3 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size4 {\n font-size: 1.14286em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size5 {\n font-size: 1.28571em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size6 {\n font-size: 1.42857em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size7 {\n font-size: 1.71429em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size8 {\n font-size: 2.05714em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size9 {\n font-size: 2.46857em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.size10 {\n font-size: 2.96286em;\n}\n\n.katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.size11 {\n font-size: 3.55429em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size1 {\n font-size: .625em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size2 {\n font-size: .75em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size3 {\n font-size: .875em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size4 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size5 {\n font-size: 1.125em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size6 {\n font-size: 1.25em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size7 {\n font-size: 1.5em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size8 {\n font-size: 1.8em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size9 {\n font-size: 2.16em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.size10 {\n font-size: 2.5925em;\n}\n\n.katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.size11 {\n font-size: 3.11em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size1 {\n font-size: .555556em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size2 {\n font-size: .666667em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size3 {\n font-size: .777778em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size4 {\n font-size: .888889em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size5 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size6 {\n font-size: 1.11111em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size7 {\n font-size: 1.33333em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size8 {\n font-size: 1.6em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size9 {\n font-size: 1.92em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.size10 {\n font-size: 2.30444em;\n}\n\n.katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.size11 {\n font-size: 2.76444em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size1 {\n font-size: .5em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size2 {\n font-size: .6em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size3 {\n font-size: .7em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size4 {\n font-size: .8em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size5 {\n font-size: .9em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size6 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size7 {\n font-size: 1.2em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size8 {\n font-size: 1.44em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size9 {\n font-size: 1.728em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.size10 {\n font-size: 2.074em;\n}\n\n.katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.size11 {\n font-size: 2.488em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size1 {\n font-size: .416667em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size2 {\n font-size: .5em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size3 {\n font-size: .583333em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size4 {\n font-size: .666667em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size5 {\n font-size: .75em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size6 {\n font-size: .833333em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size7 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size8 {\n font-size: 1.2em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size9 {\n font-size: 1.44em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.size10 {\n font-size: 1.72833em;\n}\n\n.katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.size11 {\n font-size: 2.07333em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size1 {\n font-size: .347222em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size2 {\n font-size: .416667em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size3 {\n font-size: .486111em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size4 {\n font-size: .555556em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size5 {\n font-size: .625em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size6 {\n font-size: .694444em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size7 {\n font-size: .833333em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size8 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size9 {\n font-size: 1.2em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.size10 {\n font-size: 1.44028em;\n}\n\n.katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.size11 {\n font-size: 1.72778em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size1 {\n font-size: .289352em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size2 {\n font-size: .347222em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size3 {\n font-size: .405093em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size4 {\n font-size: .462963em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size5 {\n font-size: .520833em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size6 {\n font-size: .578704em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size7 {\n font-size: .694444em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size8 {\n font-size: .833333em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size9 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.size10 {\n font-size: 1.20023em;\n}\n\n.katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.size11 {\n font-size: 1.43981em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.size1 {\n font-size: .24108em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.size2 {\n font-size: .289296em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.size3 {\n font-size: .337512em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.size4 {\n font-size: .385728em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.size5 {\n font-size: .433944em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.size6 {\n font-size: .48216em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.size7 {\n font-size: .578592em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.size8 {\n font-size: .694311em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.size9 {\n font-size: .833173em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.size10 {\n font-size: 1em;\n}\n\n.katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.size11 {\n font-size: 1.19961em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.size1 {\n font-size: .200965em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.size2 {\n font-size: .241158em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.size3 {\n font-size: .281351em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.size4 {\n font-size: .321543em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.size5 {\n font-size: .361736em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.size6 {\n font-size: .401929em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.size7 {\n font-size: .482315em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.size8 {\n font-size: .578778em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.size9 {\n font-size: .694534em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.size10 {\n font-size: .833601em;\n}\n\n.katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.size11 {\n font-size: 1em;\n}\n\n.katex .delimsizing.size1 {\n font-family: KaTeX_Size1;\n}\n\n.katex .delimsizing.size2 {\n font-family: KaTeX_Size2;\n}\n\n.katex .delimsizing.size3 {\n font-family: KaTeX_Size3;\n}\n\n.katex .delimsizing.size4 {\n font-family: KaTeX_Size4;\n}\n\n.katex .delimsizing.mult .delim-size1 > span {\n font-family: KaTeX_Size1;\n}\n\n.katex .delimsizing.mult .delim-size4 > span {\n font-family: KaTeX_Size4;\n}\n\n.katex .nulldelimiter {\n width: .12em;\n display: inline-block;\n}\n\n.katex .delimcenter, .katex .op-symbol {\n position: relative;\n}\n\n.katex .op-symbol.small-op {\n font-family: KaTeX_Size1;\n}\n\n.katex .op-symbol.large-op {\n font-family: KaTeX_Size2;\n}\n\n.katex .accent > .vlist-t, .katex .op-limits > .vlist-t {\n text-align: center;\n}\n\n.katex .accent .accent-body {\n position: relative;\n}\n\n.katex .accent .accent-body:not(.accent-full) {\n width: 0;\n}\n\n.katex .overlay {\n display: block;\n}\n\n.katex .mtable .vertical-separator {\n min-width: 1px;\n display: inline-block;\n}\n\n.katex .mtable .arraycolsep {\n display: inline-block;\n}\n\n.katex .mtable .col-align-c > .vlist-t {\n text-align: center;\n}\n\n.katex .mtable .col-align-l > .vlist-t {\n text-align: left;\n}\n\n.katex .mtable .col-align-r > .vlist-t {\n text-align: right;\n}\n\n.katex .svg-align {\n text-align: left;\n}\n\n.katex svg {\n fill: currentColor;\n stroke: currentColor;\n fill-rule: nonzero;\n fill-opacity: 1;\n stroke-width: 1px;\n stroke-linecap: butt;\n stroke-linejoin: miter;\n stroke-miterlimit: 4;\n stroke-dasharray: none;\n stroke-dashoffset: 0;\n stroke-opacity: 1;\n height: inherit;\n width: 100%;\n display: block;\n position: absolute;\n}\n\n.katex svg path {\n stroke: none;\n}\n\n.katex img {\n border-style: none;\n min-width: 0;\n max-width: none;\n min-height: 0;\n max-height: none;\n}\n\n.katex .stretchy {\n width: 100%;\n display: block;\n position: relative;\n overflow: hidden;\n}\n\n.katex .stretchy:after, .katex .stretchy:before {\n content: \"\";\n}\n\n.katex .hide-tail {\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n\n.katex .halfarrow-left {\n width: 50.2%;\n position: absolute;\n left: 0;\n overflow: hidden;\n}\n\n.katex .halfarrow-right {\n width: 50.2%;\n position: absolute;\n right: 0;\n overflow: hidden;\n}\n\n.katex .brace-left {\n width: 25.1%;\n position: absolute;\n left: 0;\n overflow: hidden;\n}\n\n.katex .brace-center {\n width: 50%;\n position: absolute;\n left: 25%;\n overflow: hidden;\n}\n\n.katex .brace-right {\n width: 25.1%;\n position: absolute;\n right: 0;\n overflow: hidden;\n}\n\n.katex .x-arrow-pad {\n padding: 0 .5em;\n}\n\n.katex .cd-arrow-pad {\n padding: 0 .55556em 0 .27778em;\n}\n\n.katex .mover, .katex .munder, .katex .x-arrow {\n text-align: center;\n}\n\n.katex .boxpad {\n padding: 0 .3em;\n}\n\n.katex .fbox, .katex .fcolorbox {\n box-sizing: border-box;\n border: .04em solid;\n}\n\n.katex .cancel-pad {\n padding: 0 .2em;\n}\n\n.katex .cancel-lap {\n margin-left: -.2em;\n margin-right: -.2em;\n}\n\n.katex .sout {\n border-bottom-style: solid;\n border-bottom-width: .08em;\n}\n\n.katex .angl {\n box-sizing: border-box;\n border-top: .049em solid;\n border-right: .049em solid;\n margin-right: .03889em;\n}\n\n.katex .anglpad {\n padding: 0 .03889em;\n}\n\n.katex .eqn-num:before {\n content: \"(\" counter(katexEqnNo) \")\";\n counter-increment: katexEqnNo;\n}\n\n.katex .mml-eqn-num:before {\n content: \"(\" counter(mmlEqnNo) \")\";\n counter-increment: mmlEqnNo;\n}\n\n.katex .mtr-glue {\n width: 50%;\n}\n\n.katex .cd-vert-arrow {\n display: inline-block;\n position: relative;\n}\n\n.katex .cd-label-left {\n text-align: left;\n display: inline-block;\n position: absolute;\n right: calc(50% + .3em);\n}\n\n.katex .cd-label-right {\n text-align: right;\n display: inline-block;\n position: absolute;\n left: calc(50% + .3em);\n}\n\n.katex-display {\n text-align: center;\n margin: 1em 0;\n display: block;\n}\n\n.katex-display > .katex {\n text-align: center;\n white-space: nowrap;\n display: block;\n}\n\n.katex-display > .katex > .katex-html {\n display: block;\n position: relative;\n}\n\n.katex-display > .katex > .katex-html > .tag {\n position: absolute;\n right: 0;\n}\n\n.katex-display.leqno > .katex > .katex-html > .tag {\n left: 0;\n right: auto;\n}\n\n.katex-display.fleqn > .katex {\n text-align: left;\n padding-left: 2em;\n}\n\nbody {\n counter-reset: katexEqnNo mmlEqnNo;\n}\n/*# sourceMappingURL=main.css.map */\n","@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_AMS-Regular.woff) format(\"woff\"),url(fonts/KaTeX_AMS-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Caligraphic-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_Caligraphic-Bold.woff) format(\"woff\"),url(fonts/KaTeX_Caligraphic-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Caligraphic-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Caligraphic-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Caligraphic-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Fraktur-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_Fraktur-Bold.woff) format(\"woff\"),url(fonts/KaTeX_Fraktur-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Fraktur-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Fraktur-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Fraktur-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(fonts/KaTeX_Main-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-Bold.woff) format(\"woff\"),url(fonts/KaTeX_Main-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Main-BoldItalic.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-BoldItalic.woff) format(\"woff\"),url(fonts/KaTeX_Main-BoldItalic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Main-Italic.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-Italic.woff) format(\"woff\"),url(fonts/KaTeX_Main-Italic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Main-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Main-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Main-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(fonts/KaTeX_Math-BoldItalic.woff2) format(\"woff2\"),url(fonts/KaTeX_Math-BoldItalic.woff) format(\"woff\"),url(fonts/KaTeX_Math-BoldItalic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(fonts/KaTeX_Math-Italic.woff2) format(\"woff2\"),url(fonts/KaTeX_Math-Italic.woff) format(\"woff\"),url(fonts/KaTeX_Math-Italic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:700;src:url(fonts/KaTeX_SansSerif-Bold.woff2) format(\"woff2\"),url(fonts/KaTeX_SansSerif-Bold.woff) format(\"woff\"),url(fonts/KaTeX_SansSerif-Bold.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:\"KaTeX_SansSerif\";font-style:italic;font-weight:400;src:url(fonts/KaTeX_SansSerif-Italic.woff2) format(\"woff2\"),url(fonts/KaTeX_SansSerif-Italic.woff) format(\"woff\"),url(fonts/KaTeX_SansSerif-Italic.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:\"KaTeX_SansSerif\";font-style:normal;font-weight:400;src:url(fonts/KaTeX_SansSerif-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_SansSerif-Regular.woff) format(\"woff\"),url(fonts/KaTeX_SansSerif-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Script-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Script-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Script-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size1-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size1-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size1-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size2-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size2-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size2-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size3-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size3-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size3-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Size4-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Size4-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Size4-Regular.ttf) format(\"truetype\")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(fonts/KaTeX_Typewriter-Regular.woff2) format(\"woff2\"),url(fonts/KaTeX_Typewriter-Regular.woff) format(\"woff\"),url(fonts/KaTeX_Typewriter-Regular.ttf) format(\"truetype\")}.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;border-color:currentColor}.katex .katex-version:after{content:\"0.16.25\"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:-moz-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{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:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.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:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.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;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.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:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.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{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;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:\"\"}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:\"(\" counter(katexEqnNo) \")\";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:\"(\" counter(mmlEqnNo) \")\";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.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{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}\n"],"names":[],"version":3,"file":"main.css.map"} \ No newline at end of file diff --git a/src/Elastic.Documentation.Site/package-lock.json b/src/Elastic.Documentation.Site/package-lock.json index 91428aefb..081c4dbfe 100644 --- a/src/Elastic.Documentation.Site/package-lock.json +++ b/src/Elastic.Documentation.Site/package-lock.json @@ -21,6 +21,7 @@ "htmx-ext-head-support": "2.0.4", "htmx-ext-preload": "2.1.1", "htmx.org": "2.0.7", + "katex": "^0.16.25", "marked": "16.4.0", "select-dom": "9.4.0", "tailwindcss": "4.1.14", @@ -44,6 +45,7 @@ "@testing-library/user-event": "14.6.1", "@trivago/prettier-plugin-sort-imports": "5.2.2", "@types/jest": "30.0.0", + "@types/katex": "^0.16.7", "@types/testing-library__jest-dom": "6.0.0", "babel-jest": "30.2.0", "eslint": "9.37.0", @@ -7273,6 +7275,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/katex": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@types/katex/-/katex-0.16.7.tgz", + "integrity": "sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/lodash": { "version": "4.17.20", "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", @@ -12076,6 +12085,31 @@ "node": ">=6" } }, + "node_modules/katex": { + "version": "0.16.25", + "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.25.tgz", + "integrity": "sha512-woHRUZ/iF23GBP1dkDQMh1QBad9dmr8/PAwNA54VrSOVYgI12MAcE14TqnDdQOdzyEonGzMepYnqBMYdsoAr8Q==", + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/keyv": { "version": "4.5.4", "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", diff --git a/src/Elastic.Documentation.Site/package.json b/src/Elastic.Documentation.Site/package.json index dd52ecc20..24496405a 100644 --- a/src/Elastic.Documentation.Site/package.json +++ b/src/Elastic.Documentation.Site/package.json @@ -56,6 +56,7 @@ "@testing-library/user-event": "14.6.1", "@trivago/prettier-plugin-sort-imports": "5.2.2", "@types/jest": "30.0.0", + "@types/katex": "^0.16.7", "@types/testing-library__jest-dom": "6.0.0", "babel-jest": "30.2.0", "eslint": "9.37.0", @@ -93,6 +94,7 @@ "htmx-ext-head-support": "2.0.4", "htmx-ext-preload": "2.1.1", "htmx.org": "2.0.7", + "katex": "^0.16.25", "marked": "16.4.0", "select-dom": "9.4.0", "tailwindcss": "4.1.14", diff --git a/src/Elastic.Markdown/Myst/Directives/AppliesSwitch/AppliesSwitchBlock.cs b/src/Elastic.Markdown/Myst/Directives/AppliesSwitch/AppliesSwitchBlock.cs index 221d555aa..600cd17eb 100644 --- a/src/Elastic.Markdown/Myst/Directives/AppliesSwitch/AppliesSwitchBlock.cs +++ b/src/Elastic.Markdown/Myst/Directives/AppliesSwitch/AppliesSwitchBlock.cs @@ -75,7 +75,7 @@ public static string GenerateSyncKey(string appliesToDefinition, ProductsConfigu if (applicableTo != null) { // Use the object's hash for a consistent, unique identifier - return $"applies-{Math.Abs(applicableTo.GetHashCode())}"; + return $"applies-{System.Math.Abs(applicableTo.GetHashCode())}"; } } catch diff --git a/src/Elastic.Markdown/Myst/Directives/DirectiveBlockParser.cs b/src/Elastic.Markdown/Myst/Directives/DirectiveBlockParser.cs index 87404475f..6e96f39e4 100644 --- a/src/Elastic.Markdown/Myst/Directives/DirectiveBlockParser.cs +++ b/src/Elastic.Markdown/Myst/Directives/DirectiveBlockParser.cs @@ -9,6 +9,7 @@ using Elastic.Markdown.Myst.Directives.Diagram; using Elastic.Markdown.Myst.Directives.Image; using Elastic.Markdown.Myst.Directives.Include; +using Elastic.Markdown.Myst.Directives.Math; using Elastic.Markdown.Myst.Directives.Mermaid; using Elastic.Markdown.Myst.Directives.Settings; using Elastic.Markdown.Myst.Directives.Stepper; @@ -133,6 +134,9 @@ protected override DirectiveBlock CreateFencedBlock(BlockProcessor processor) if (info.IndexOf("{csv-include}") > 0) return new CsvIncludeBlock(this, context); + if (info.IndexOf("{math}") > 0) + return new MathBlock(this, context); + foreach (var admonition in _admonitions) { if (info.IndexOf($"{{{admonition}}}") > 0) @@ -186,7 +190,7 @@ public override BlockState TryOpen(BlockProcessor processor) return BlockState.None; var span = line.AsSpan(); - var lastIndent = Math.Max(span.LastIndexOf("`"), span.LastIndexOf(":")); + var lastIndent = System.Math.Max(span.LastIndexOf("`"), span.LastIndexOf(":")); var startApplies = span.IndexOf("{applies_to}"); var startOpen = span.IndexOf("{"); if (startOpen > lastIndent + 1 || startApplies != -1) diff --git a/src/Elastic.Markdown/Myst/Directives/DirectiveHtmlRenderer.cs b/src/Elastic.Markdown/Myst/Directives/DirectiveHtmlRenderer.cs index 7b2721c80..f5262cdba 100644 --- a/src/Elastic.Markdown/Myst/Directives/DirectiveHtmlRenderer.cs +++ b/src/Elastic.Markdown/Myst/Directives/DirectiveHtmlRenderer.cs @@ -13,6 +13,7 @@ using Elastic.Markdown.Myst.Directives.Dropdown; using Elastic.Markdown.Myst.Directives.Image; using Elastic.Markdown.Myst.Directives.Include; +using Elastic.Markdown.Myst.Directives.Math; using Elastic.Markdown.Myst.Directives.Mermaid; using Elastic.Markdown.Myst.Directives.Settings; using Elastic.Markdown.Myst.Directives.Stepper; @@ -93,6 +94,9 @@ protected override void Write(HtmlRenderer renderer, DirectiveBlock directiveBlo case CsvIncludeBlock csvIncludeBlock: WriteCsvIncludeBlock(renderer, csvIncludeBlock); return; + case MathBlock mathBlock: + WriteMathBlock(renderer, mathBlock); + return; case StepperBlock stepperBlock: WriteStepperBlock(renderer, stepperBlock); return; @@ -476,4 +480,26 @@ private static void WriteCsvIncludeBlock(HtmlRenderer renderer, CsvIncludeBlock var slice = CsvIncludeView.Create(viewModel); RenderRazorSlice(slice, renderer); } + + private static void WriteMathBlock(HtmlRenderer renderer, MathBlock block) + { + // Output HTML that KaTeX can render client-side + var labelAttr = !string.IsNullOrEmpty(block.Label) ? $" id=\"{block.Label}\"" : ""; + + if (block.IsDisplayMath) + { + // Display math should be a block element + _ = renderer.Write($"