diff --git a/index.html b/index.html index b7e49b077..0ac5db541 100644 --- a/index.html +++ b/index.html @@ -1,38 +1,48 @@ - KaTeX - Fast online math rendering - - - - - - + + KaTeX – The fastest math typesetting library for the web + + + + + -
-

- What is KaTeX?
- KaTeX is a math typesetting library for the web.

+
+

KaTeX

+
+ The fastest math typesetting library for the web. +
+ +
+
+
+ Type an expression: +
+ +
+
+
+ See how it renders with KaTeX: +
+
+
+
+
- Advantages:
- - - Interactive demo:
-
-

- - Examples:
-

- - Performance comparison -
+
+
+ Simple API, no dependencies – yet super-fast on all major browsers. +
+
+
+ + diff --git a/lib/font-awesome/css/font-awesome.css b/lib/font-awesome/css/font-awesome.css new file mode 100644 index 000000000..4040b3cf8 --- /dev/null +++ b/lib/font-awesome/css/font-awesome.css @@ -0,0 +1,1672 @@ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.2.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} diff --git a/lib/font-awesome/css/font-awesome.min.css b/lib/font-awesome/css/font-awesome.min.css new file mode 100644 index 000000000..ec53d4d6d --- /dev/null +++ b/lib/font-awesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.2.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.2.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff?v=4.2.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.2.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"} \ No newline at end of file diff --git a/lib/font-awesome/fonts/FontAwesome.otf b/lib/font-awesome/fonts/FontAwesome.otf new file mode 100644 index 000000000..81c9ad949 Binary files /dev/null and b/lib/font-awesome/fonts/FontAwesome.otf differ diff --git a/lib/font-awesome/fonts/fontawesome-webfont.eot b/lib/font-awesome/fonts/fontawesome-webfont.eot new file mode 100644 index 000000000..84677bc0c Binary files /dev/null and b/lib/font-awesome/fonts/fontawesome-webfont.eot differ diff --git a/lib/font-awesome/fonts/fontawesome-webfont.svg b/lib/font-awesome/fonts/fontawesome-webfont.svg new file mode 100644 index 000000000..d907b25ae --- /dev/null +++ b/lib/font-awesome/fonts/fontawesome-webfont.svg @@ -0,0 +1,520 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/font-awesome/fonts/fontawesome-webfont.ttf b/lib/font-awesome/fonts/fontawesome-webfont.ttf new file mode 100644 index 000000000..96a3639cd Binary files /dev/null and b/lib/font-awesome/fonts/fontawesome-webfont.ttf differ diff --git a/lib/font-awesome/fonts/fontawesome-webfont.woff b/lib/font-awesome/fonts/fontawesome-webfont.woff new file mode 100644 index 000000000..628b6a52a Binary files /dev/null and b/lib/font-awesome/fonts/fontawesome-webfont.woff differ diff --git a/lib/katex/katex.min.css b/lib/katex/katex.min.css index 11c9cd17b..9a82c2743 100644 --- a/lib/katex/katex.min.css +++ b/lib/katex/katex.min.css @@ -1 +1,748 @@ -.katex{font:400 1.21em katex_main;line-height:1.2;white-space:nowrap}.katex .base,.katex .katex-inner,.katex .strut{display:inline-block}.katex .mathit{font-family:KaTeX_Math;font-style:italic}.katex .amsrm{font-family:KaTeX_AMS}.katex .fix-ie{display:inline-table;table-layout:fixed}.katex .textstyle>.mord+.mop{margin-left:.16667em}.katex .textstyle>.mord+.mbin{margin-left:.22222em}.katex .textstyle>.mord+.mrel{margin-left:.27778em}.katex .textstyle>.mop+.mop,.katex .textstyle>.mop+.mord,.katex .textstyle>.mord+.minner{margin-left:.16667em}.katex .textstyle>.mop+.mrel{margin-left:.27778em}.katex .textstyle>.mop+.minner{margin-left:.16667em}.katex .textstyle>.mbin+.minner,.katex .textstyle>.mbin+.mop,.katex .textstyle>.mbin+.mopen,.katex .textstyle>.mbin+.mord{margin-left:.22222em}.katex .textstyle>.mrel+.minner,.katex .textstyle>.mrel+.mop,.katex .textstyle>.mrel+.mopen,.katex .textstyle>.mrel+.mord{margin-left:.27778em}.katex .textstyle>.mclose+.mop{margin-left:.16667em}.katex .textstyle>.mclose+.mbin{margin-left:.22222em}.katex .textstyle>.mclose+.mrel{margin-left:.27778em}.katex .textstyle>.mclose+.minner,.katex .textstyle>.minner+.mop,.katex .textstyle>.minner+.mord,.katex .textstyle>.mpunct+.mclose,.katex .textstyle>.mpunct+.minner,.katex .textstyle>.mpunct+.mop,.katex .textstyle>.mpunct+.mopen,.katex .textstyle>.mpunct+.mord,.katex .textstyle>.mpunct+.mpunct,.katex .textstyle>.mpunct+.mrel{margin-left:.16667em}.katex .textstyle>.minner+.mbin{margin-left:.22222em}.katex .textstyle>.minner+.mrel{margin-left:.27778em}.katex .mclose+.mop,.katex .minner+.mop,.katex .mop+.mop,.katex .mop+.mord,.katex .mord+.mop,.katex .textstyle>.minner+.minner,.katex .textstyle>.minner+.mopen,.katex .textstyle>.minner+.mpunct{margin-left:.16667em}.katex .reset-textstyle.textstyle{font-size:1em}.katex .reset-textstyle.scriptstyle{font-size:.7em}.katex .reset-textstyle.scriptscriptstyle{font-size:.5em}.katex .reset-scriptstyle.textstyle{font-size:1.42857em}.katex .reset-scriptstyle.scriptstyle{font-size:1em}.katex .reset-scriptstyle.scriptscriptstyle{font-size:.71429em}.katex .reset-scriptscriptstyle.textstyle{font-size:2em}.katex .reset-scriptscriptstyle.scriptstyle{font-size:1.4em}.katex .reset-scriptscriptstyle.scriptscriptstyle{font-size:1em}.katex .style-wrap{position:relative}.katex .msupsub{display:inline-block;text-align:left}.katex .msupsub .fix-ie,.katex .msupsub .msub,.katex .msupsub .msup{display:block;height:0;position:relative}.katex .mfrac,.katex .msupsub .fix-ie>span,.katex .msupsub .msub>span,.katex .msupsub .msup>span{display:inline-block}.katex .mfrac .fix-ie,.katex .mfrac .mfracden,.katex .mfrac .mfracmid,.katex .mfrac .mfracnum{display:block;height:0;position:relative;text-align:center}.katex .mfrac .fix-ie>span,.katex .mfrac .mfracden>span,.katex .mfrac .mfracmid>span,.katex .mfrac .mfracnum>span{display:inline-block}.katex .mfrac .mfracmid>.line{width:100%}.katex .mfrac .mfracmid>.line:before{border-bottom-style:solid;border-bottom-width:1px;content:"";display:block}.katex .mfrac .mfracmid>.line:after{border-bottom-style:solid;border-bottom-width:.05em;content:"";display:block;margin-top:-1px}.katex .mspace{display:inline-block}.katex .mspace.negativethinspace{margin-left:-.16667em}.katex .mspace.thinspace{width:.16667em}.katex .mspace.mediumspace{width:.22222em}.katex .mspace.thickspace{width:.27778em}.katex .mspace.enspace{width:.5em}.katex .mspace.quad{width:1em}.katex .mspace.qquad{width:2em}.katex .llap,.katex .rlap{width:0;position:relative}.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .rlap>.inner{left:0}.katex .katex-logo .a{font-size:.75em;margin-left:-.32em;position:relative;top:-.2em}.katex .katex-logo .t{margin-left:-.23em}.katex .katex-logo .e{margin-left:-.1667em;position:relative;top:.2155em}.katex .katex-logo .x{margin-left:-.125em}.katex .rule{display:inline-block;border-style:solid}.katex .overline{display:inline-block}.katex .overline>.fix-ie,.katex .overline>.overline-inner,.katex .overline>.overline-line{display:block;height:0;position:relative;text-align:center}.katex .overline>.fix-ie>span,.katex .overline>.overline-inner>span,.katex .overline>.overline-line>span{display:inline-block}.katex .overline>.overline-line>.line{width:100%}.katex .overline>.overline-line>.line:before{border-bottom-style:solid;border-bottom-width:1px;content:"";display:block}.katex .overline>.overline-line>.line:after{border-bottom-style:solid;border-bottom-width:.04em;content:"";display:block;margin-top:-1px}.katex .sqrt>.sqrt-sign{position:relative}.katex .sqrt>.sqrt-body{display:inline-block}.katex .sqrt>.sqrt-body>.fix-ie,.katex .sqrt>.sqrt-body>.sqrt-inner,.katex .sqrt>.sqrt-body>.sqrt-line{display:block;height:0;position:relative}.katex .sqrt>.sqrt-body>.fix-ie>span,.katex .sqrt>.sqrt-body>.sqrt-inner>span,.katex .sqrt>.sqrt-body>.sqrt-line>span{display:inline-block}.katex .sqrt>.sqrt-body>.sqrt-line>.line{width:100%}.katex .sqrt>.sqrt-body>.sqrt-line>.line:before{border-bottom-style:solid;border-bottom-width:1px;content:"";display:block}.katex .sqrt>.sqrt-body>.sqrt-line>.line:after{border-bottom-style:solid;border-bottom-width:.04em;content:"";display:block;margin-top:-1px}.katex .fontsize-ensurer,.katex .sizing{display:inline-block}.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.4em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:2em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:3.46em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:4.14em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.98em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.7142857142857143em}.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.142857142857143em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.2857142857142858em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.4285714285714286em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.7142857142857144em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2.0571428571428574em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4714285714285715em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.9571428571428573em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.557142857142858em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8749999999999999em}.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.125em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.25em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4999999999999998em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7999999999999998em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.1624999999999996em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.5874999999999995em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:3.1125000000000003em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.5555555555555556em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.7777777777777777em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.888888888888889em}.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.1111111111111112em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.3333333333333333em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5999999999999999em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.922222222222222em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.3em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.766666666666667em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.7em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.8em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.9em}.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.2em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.44em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.73em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:2.07em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.49em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.4166666666666667em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.5833333333333334em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.6666666666666667em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.75em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.8333333333333334em}.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.4416666666666667em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.7249999999999999em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.075em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.3472222222222222em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.4861111111111111em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5555555555555556em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.625em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.6944444444444444em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333333334em}.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.2013888888888888em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.4375em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.729166666666667em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.28901734104046245em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.40462427745664736em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.46242774566473993em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5202312138728324em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.5780346820809249em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6936416184971098em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8323699421965318em}.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.1965317919075145em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4393063583815031em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.24154589371980678em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.33816425120772947em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.38647342995169087em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.4347826086956522em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.48309178743961356em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5797101449275363em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6956521739130435em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8357487922705314em}.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.202898550724638em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2008032128514056em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2811244979919678em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.321285140562249em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3614457831325301em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4016064257028112em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.48192771084337344em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5783132530120482em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6947791164658634em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8313253012048192em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{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{display:inline-block}.katex .delimsizing.mult>.delimsizinginner,.katex .delimsizing.mult>.fix-ie{display:block;height:0;position:relative}.katex .delimsizing.mult>.delimsizinginner.size1>span,.katex .delimsizing.mult>.fix-ie.size1>span{font-family:Katex_Size1}.katex .delimsizing.mult>.delimsizinginner.size4>span,.katex .delimsizing.mult>.fix-ie.size4>span{font-family:Katex_Size4}.katex .nulldelimiter{display:inline-block;width:.12em} \ No newline at end of file +/* +things to do: +\sum, \int, \lim +\sqrt +big parens +*/ +.katex { + font: normal 1.21em katex_main; + line-height: 1.2; + white-space: nowrap; +} +.katex .katex-inner { + display: inline-block; +} +.katex .base { + display: inline-block; +} +.katex .strut { + display: inline-block; +} +.katex .mathit { + font-family: KaTeX_Math; + font-style: italic; +} +.katex .amsrm { + font-family: KaTeX_AMS; +} +.katex .textstyle > .mord + .mop { + margin-left: 0.16667em; +} +.katex .textstyle > .mord + .mbin { + margin-left: 0.22222em; +} +.katex .textstyle > .mord + .mrel { + margin-left: 0.27778em; +} +.katex .textstyle > .mord + .minner { + margin-left: 0.16667em; +} +.katex .textstyle > .mop + .mord { + margin-left: 0.16667em; +} +.katex .textstyle > .mop + .mop { + margin-left: 0.16667em; +} +.katex .textstyle > .mop + .mrel { + margin-left: 0.27778em; +} +.katex .textstyle > .mop + .minner { + margin-left: 0.16667em; +} +.katex .textstyle > .mbin + .mord { + margin-left: 0.22222em; +} +.katex .textstyle > .mbin + .mop { + margin-left: 0.22222em; +} +.katex .textstyle > .mbin + .mopen { + margin-left: 0.22222em; +} +.katex .textstyle > .mbin + .minner { + margin-left: 0.22222em; +} +.katex .textstyle > .mrel + .mord { + margin-left: 0.27778em; +} +.katex .textstyle > .mrel + .mop { + margin-left: 0.27778em; +} +.katex .textstyle > .mrel + .mopen { + margin-left: 0.27778em; +} +.katex .textstyle > .mrel + .minner { + margin-left: 0.27778em; +} +.katex .textstyle > .mclose + .mop { + margin-left: 0.16667em; +} +.katex .textstyle > .mclose + .mbin { + margin-left: 0.22222em; +} +.katex .textstyle > .mclose + .mrel { + margin-left: 0.27778em; +} +.katex .textstyle > .mclose + .minner { + margin-left: 0.16667em; +} +.katex .textstyle > .mpunct + .mord { + margin-left: 0.16667em; +} +.katex .textstyle > .mpunct + .mop { + margin-left: 0.16667em; +} +.katex .textstyle > .mpunct + .mrel { + margin-left: 0.16667em; +} +.katex .textstyle > .mpunct + .mopen { + margin-left: 0.16667em; +} +.katex .textstyle > .mpunct + .mclose { + margin-left: 0.16667em; +} +.katex .textstyle > .mpunct + .mpunct { + margin-left: 0.16667em; +} +.katex .textstyle > .mpunct + .minner { + margin-left: 0.16667em; +} +.katex .textstyle > .minner + .mord { + margin-left: 0.16667em; +} +.katex .textstyle > .minner + .mop { + margin-left: 0.16667em; +} +.katex .textstyle > .minner + .mbin { + margin-left: 0.22222em; +} +.katex .textstyle > .minner + .mrel { + margin-left: 0.27778em; +} +.katex .textstyle > .minner + .mopen { + margin-left: 0.16667em; +} +.katex .textstyle > .minner + .mpunct { + margin-left: 0.16667em; +} +.katex .textstyle > .minner + .minner { + margin-left: 0.16667em; +} +.katex .mord + .mop { + margin-left: 0.16667em; +} +.katex .mop + .mord { + margin-left: 0.16667em; +} +.katex .mop + .mop { + margin-left: 0.16667em; +} +.katex .mclose + .mop { + margin-left: 0.16667em; +} +.katex .minner + .mop { + margin-left: 0.16667em; +} +.katex .reset-textstyle.textstyle { + font-size: 1em; +} +.katex .reset-textstyle.scriptstyle { + font-size: 0.7em; +} +.katex .reset-textstyle.scriptscriptstyle { + font-size: 0.5em; +} +.katex .reset-scriptstyle.textstyle { + font-size: 1.42857em; +} +.katex .reset-scriptstyle.scriptstyle { + font-size: 1em; +} +.katex .reset-scriptstyle.scriptscriptstyle { + font-size: 0.71429em; +} +.katex .reset-scriptscriptstyle.textstyle { + font-size: 2em; +} +.katex .reset-scriptscriptstyle.scriptstyle { + font-size: 1.4em; +} +.katex .reset-scriptscriptstyle.scriptscriptstyle { + font-size: 1em; +} +.katex .style-wrap { + position: relative; +} +.katex .vlist { + display: inline-block; +} +.katex .vlist > span { + display: block; + height: 0; + position: relative; +} +.katex .vlist > span > span { + display: inline-block; +} +.katex .vlist .baseline-fix { + display: inline-table; + table-layout: fixed; +} +.katex .msupsub { + text-align: left; +} +.katex .mfrac > span > span { + text-align: center; +} +.katex .mfrac .frac-line { + width: 100%; +} +.katex .mfrac .frac-line:before { + border-bottom-style: solid; + border-bottom-width: 1px; + content: ""; + display: block; +} +.katex .mfrac .frac-line:after { + border-bottom-style: solid; + border-bottom-width: 0.04em; + content: ""; + display: block; + margin-top: -1px; +} +.katex .mspace { + display: inline-block; +} +.katex .mspace.negativethinspace { + margin-left: -0.16667em; +} +.katex .mspace.thinspace { + width: 0.16667em; +} +.katex .mspace.mediumspace { + width: 0.22222em; +} +.katex .mspace.thickspace { + width: 0.27778em; +} +.katex .mspace.enspace { + width: 0.5em; +} +.katex .mspace.quad { + width: 1em; +} +.katex .mspace.qquad { + width: 2em; +} +.katex .llap, +.katex .rlap { + width: 0; + position: relative; +} +.katex .llap > .inner, +.katex .rlap > .inner { + position: absolute; +} +.katex .llap > .fix, +.katex .rlap > .fix { + display: inline-block; +} +.katex .llap > .inner { + right: 0; +} +.katex .rlap > .inner { + left: 0; +} +.katex .katex-logo .a { + font-size: 0.75em; + margin-left: -0.32em; + position: relative; + top: -0.2em; +} +.katex .katex-logo .t { + margin-left: -0.23em; +} +.katex .katex-logo .e { + margin-left: -0.1667em; + position: relative; + top: 0.2155em; +} +.katex .katex-logo .x { + margin-left: -0.125em; +} +.katex .rule { + display: inline-block; + border-style: solid; +} +.katex .overline .overline-line { + width: 100%; +} +.katex .overline .overline-line:before { + border-bottom-style: solid; + border-bottom-width: 1px; + content: ""; + display: block; +} +.katex .overline .overline-line:after { + border-bottom-style: solid; + border-bottom-width: 0.04em; + content: ""; + display: block; + margin-top: -1px; +} +.katex .sqrt > .sqrt-sign { + position: relative; +} +.katex .sqrt .sqrt-line { + width: 100%; +} +.katex .sqrt .sqrt-line:before { + border-bottom-style: solid; + border-bottom-width: 1px; + content: ""; + display: block; +} +.katex .sqrt .sqrt-line:after { + border-bottom-style: solid; + border-bottom-width: 0.04em; + content: ""; + display: block; + margin-top: -1px; +} +.katex .sizing, +.katex .fontsize-ensurer { + display: inline-block; +} +.katex .sizing.reset-size1.size1, +.katex .fontsize-ensurer.reset-size1.size1 { + font-size: 1em; +} +.katex .sizing.reset-size1.size2, +.katex .fontsize-ensurer.reset-size1.size2 { + font-size: 1.4em; +} +.katex .sizing.reset-size1.size3, +.katex .fontsize-ensurer.reset-size1.size3 { + font-size: 1.6em; +} +.katex .sizing.reset-size1.size4, +.katex .fontsize-ensurer.reset-size1.size4 { + font-size: 1.8em; +} +.katex .sizing.reset-size1.size5, +.katex .fontsize-ensurer.reset-size1.size5 { + font-size: 2em; +} +.katex .sizing.reset-size1.size6, +.katex .fontsize-ensurer.reset-size1.size6 { + font-size: 2.4em; +} +.katex .sizing.reset-size1.size7, +.katex .fontsize-ensurer.reset-size1.size7 { + font-size: 2.88em; +} +.katex .sizing.reset-size1.size8, +.katex .fontsize-ensurer.reset-size1.size8 { + font-size: 3.46em; +} +.katex .sizing.reset-size1.size9, +.katex .fontsize-ensurer.reset-size1.size9 { + font-size: 4.14em; +} +.katex .sizing.reset-size1.size10, +.katex .fontsize-ensurer.reset-size1.size10 { + font-size: 4.98em; +} +.katex .sizing.reset-size2.size1, +.katex .fontsize-ensurer.reset-size2.size1 { + font-size: 0.7142857142857143em; +} +.katex .sizing.reset-size2.size2, +.katex .fontsize-ensurer.reset-size2.size2 { + font-size: 1em; +} +.katex .sizing.reset-size2.size3, +.katex .fontsize-ensurer.reset-size2.size3 { + font-size: 1.142857142857143em; +} +.katex .sizing.reset-size2.size4, +.katex .fontsize-ensurer.reset-size2.size4 { + font-size: 1.2857142857142858em; +} +.katex .sizing.reset-size2.size5, +.katex .fontsize-ensurer.reset-size2.size5 { + font-size: 1.4285714285714286em; +} +.katex .sizing.reset-size2.size6, +.katex .fontsize-ensurer.reset-size2.size6 { + font-size: 1.7142857142857144em; +} +.katex .sizing.reset-size2.size7, +.katex .fontsize-ensurer.reset-size2.size7 { + font-size: 2.0571428571428574em; +} +.katex .sizing.reset-size2.size8, +.katex .fontsize-ensurer.reset-size2.size8 { + font-size: 2.4714285714285715em; +} +.katex .sizing.reset-size2.size9, +.katex .fontsize-ensurer.reset-size2.size9 { + font-size: 2.9571428571428573em; +} +.katex .sizing.reset-size2.size10, +.katex .fontsize-ensurer.reset-size2.size10 { + font-size: 3.557142857142858em; +} +.katex .sizing.reset-size3.size1, +.katex .fontsize-ensurer.reset-size3.size1 { + font-size: 0.625em; +} +.katex .sizing.reset-size3.size2, +.katex .fontsize-ensurer.reset-size3.size2 { + font-size: 0.8749999999999999em; +} +.katex .sizing.reset-size3.size3, +.katex .fontsize-ensurer.reset-size3.size3 { + font-size: 1em; +} +.katex .sizing.reset-size3.size4, +.katex .fontsize-ensurer.reset-size3.size4 { + font-size: 1.125em; +} +.katex .sizing.reset-size3.size5, +.katex .fontsize-ensurer.reset-size3.size5 { + font-size: 1.25em; +} +.katex .sizing.reset-size3.size6, +.katex .fontsize-ensurer.reset-size3.size6 { + font-size: 1.4999999999999998em; +} +.katex .sizing.reset-size3.size7, +.katex .fontsize-ensurer.reset-size3.size7 { + font-size: 1.7999999999999998em; +} +.katex .sizing.reset-size3.size8, +.katex .fontsize-ensurer.reset-size3.size8 { + font-size: 2.1624999999999996em; +} +.katex .sizing.reset-size3.size9, +.katex .fontsize-ensurer.reset-size3.size9 { + font-size: 2.5874999999999995em; +} +.katex .sizing.reset-size3.size10, +.katex .fontsize-ensurer.reset-size3.size10 { + font-size: 3.1125000000000003em; +} +.katex .sizing.reset-size4.size1, +.katex .fontsize-ensurer.reset-size4.size1 { + font-size: 0.5555555555555556em; +} +.katex .sizing.reset-size4.size2, +.katex .fontsize-ensurer.reset-size4.size2 { + font-size: 0.7777777777777777em; +} +.katex .sizing.reset-size4.size3, +.katex .fontsize-ensurer.reset-size4.size3 { + font-size: 0.888888888888889em; +} +.katex .sizing.reset-size4.size4, +.katex .fontsize-ensurer.reset-size4.size4 { + font-size: 1em; +} +.katex .sizing.reset-size4.size5, +.katex .fontsize-ensurer.reset-size4.size5 { + font-size: 1.1111111111111112em; +} +.katex .sizing.reset-size4.size6, +.katex .fontsize-ensurer.reset-size4.size6 { + font-size: 1.3333333333333333em; +} +.katex .sizing.reset-size4.size7, +.katex .fontsize-ensurer.reset-size4.size7 { + font-size: 1.5999999999999999em; +} +.katex .sizing.reset-size4.size8, +.katex .fontsize-ensurer.reset-size4.size8 { + font-size: 1.922222222222222em; +} +.katex .sizing.reset-size4.size9, +.katex .fontsize-ensurer.reset-size4.size9 { + font-size: 2.3em; +} +.katex .sizing.reset-size4.size10, +.katex .fontsize-ensurer.reset-size4.size10 { + font-size: 2.766666666666667em; +} +.katex .sizing.reset-size5.size1, +.katex .fontsize-ensurer.reset-size5.size1 { + font-size: 0.5em; +} +.katex .sizing.reset-size5.size2, +.katex .fontsize-ensurer.reset-size5.size2 { + font-size: 0.7em; +} +.katex .sizing.reset-size5.size3, +.katex .fontsize-ensurer.reset-size5.size3 { + font-size: 0.8em; +} +.katex .sizing.reset-size5.size4, +.katex .fontsize-ensurer.reset-size5.size4 { + font-size: 0.9em; +} +.katex .sizing.reset-size5.size5, +.katex .fontsize-ensurer.reset-size5.size5 { + font-size: 1em; +} +.katex .sizing.reset-size5.size6, +.katex .fontsize-ensurer.reset-size5.size6 { + font-size: 1.2em; +} +.katex .sizing.reset-size5.size7, +.katex .fontsize-ensurer.reset-size5.size7 { + font-size: 1.44em; +} +.katex .sizing.reset-size5.size8, +.katex .fontsize-ensurer.reset-size5.size8 { + font-size: 1.73em; +} +.katex .sizing.reset-size5.size9, +.katex .fontsize-ensurer.reset-size5.size9 { + font-size: 2.07em; +} +.katex .sizing.reset-size5.size10, +.katex .fontsize-ensurer.reset-size5.size10 { + font-size: 2.49em; +} +.katex .sizing.reset-size6.size1, +.katex .fontsize-ensurer.reset-size6.size1 { + font-size: 0.4166666666666667em; +} +.katex .sizing.reset-size6.size2, +.katex .fontsize-ensurer.reset-size6.size2 { + font-size: 0.5833333333333334em; +} +.katex .sizing.reset-size6.size3, +.katex .fontsize-ensurer.reset-size6.size3 { + font-size: 0.6666666666666667em; +} +.katex .sizing.reset-size6.size4, +.katex .fontsize-ensurer.reset-size6.size4 { + font-size: 0.75em; +} +.katex .sizing.reset-size6.size5, +.katex .fontsize-ensurer.reset-size6.size5 { + font-size: 0.8333333333333334em; +} +.katex .sizing.reset-size6.size6, +.katex .fontsize-ensurer.reset-size6.size6 { + font-size: 1em; +} +.katex .sizing.reset-size6.size7, +.katex .fontsize-ensurer.reset-size6.size7 { + font-size: 1.2em; +} +.katex .sizing.reset-size6.size8, +.katex .fontsize-ensurer.reset-size6.size8 { + font-size: 1.4416666666666667em; +} +.katex .sizing.reset-size6.size9, +.katex .fontsize-ensurer.reset-size6.size9 { + font-size: 1.7249999999999999em; +} +.katex .sizing.reset-size6.size10, +.katex .fontsize-ensurer.reset-size6.size10 { + font-size: 2.075em; +} +.katex .sizing.reset-size7.size1, +.katex .fontsize-ensurer.reset-size7.size1 { + font-size: 0.3472222222222222em; +} +.katex .sizing.reset-size7.size2, +.katex .fontsize-ensurer.reset-size7.size2 { + font-size: 0.4861111111111111em; +} +.katex .sizing.reset-size7.size3, +.katex .fontsize-ensurer.reset-size7.size3 { + font-size: 0.5555555555555556em; +} +.katex .sizing.reset-size7.size4, +.katex .fontsize-ensurer.reset-size7.size4 { + font-size: 0.625em; +} +.katex .sizing.reset-size7.size5, +.katex .fontsize-ensurer.reset-size7.size5 { + font-size: 0.6944444444444444em; +} +.katex .sizing.reset-size7.size6, +.katex .fontsize-ensurer.reset-size7.size6 { + font-size: 0.8333333333333334em; +} +.katex .sizing.reset-size7.size7, +.katex .fontsize-ensurer.reset-size7.size7 { + font-size: 1em; +} +.katex .sizing.reset-size7.size8, +.katex .fontsize-ensurer.reset-size7.size8 { + font-size: 1.2013888888888888em; +} +.katex .sizing.reset-size7.size9, +.katex .fontsize-ensurer.reset-size7.size9 { + font-size: 1.4375em; +} +.katex .sizing.reset-size7.size10, +.katex .fontsize-ensurer.reset-size7.size10 { + font-size: 1.729166666666667em; +} +.katex .sizing.reset-size8.size1, +.katex .fontsize-ensurer.reset-size8.size1 { + font-size: 0.28901734104046245em; +} +.katex .sizing.reset-size8.size2, +.katex .fontsize-ensurer.reset-size8.size2 { + font-size: 0.40462427745664736em; +} +.katex .sizing.reset-size8.size3, +.katex .fontsize-ensurer.reset-size8.size3 { + font-size: 0.46242774566473993em; +} +.katex .sizing.reset-size8.size4, +.katex .fontsize-ensurer.reset-size8.size4 { + font-size: 0.5202312138728324em; +} +.katex .sizing.reset-size8.size5, +.katex .fontsize-ensurer.reset-size8.size5 { + font-size: 0.5780346820809249em; +} +.katex .sizing.reset-size8.size6, +.katex .fontsize-ensurer.reset-size8.size6 { + font-size: 0.6936416184971098em; +} +.katex .sizing.reset-size8.size7, +.katex .fontsize-ensurer.reset-size8.size7 { + font-size: 0.8323699421965318em; +} +.katex .sizing.reset-size8.size8, +.katex .fontsize-ensurer.reset-size8.size8 { + font-size: 1em; +} +.katex .sizing.reset-size8.size9, +.katex .fontsize-ensurer.reset-size8.size9 { + font-size: 1.1965317919075145em; +} +.katex .sizing.reset-size8.size10, +.katex .fontsize-ensurer.reset-size8.size10 { + font-size: 1.4393063583815031em; +} +.katex .sizing.reset-size9.size1, +.katex .fontsize-ensurer.reset-size9.size1 { + font-size: 0.24154589371980678em; +} +.katex .sizing.reset-size9.size2, +.katex .fontsize-ensurer.reset-size9.size2 { + font-size: 0.33816425120772947em; +} +.katex .sizing.reset-size9.size3, +.katex .fontsize-ensurer.reset-size9.size3 { + font-size: 0.38647342995169087em; +} +.katex .sizing.reset-size9.size4, +.katex .fontsize-ensurer.reset-size9.size4 { + font-size: 0.4347826086956522em; +} +.katex .sizing.reset-size9.size5, +.katex .fontsize-ensurer.reset-size9.size5 { + font-size: 0.48309178743961356em; +} +.katex .sizing.reset-size9.size6, +.katex .fontsize-ensurer.reset-size9.size6 { + font-size: 0.5797101449275363em; +} +.katex .sizing.reset-size9.size7, +.katex .fontsize-ensurer.reset-size9.size7 { + font-size: 0.6956521739130435em; +} +.katex .sizing.reset-size9.size8, +.katex .fontsize-ensurer.reset-size9.size8 { + font-size: 0.8357487922705314em; +} +.katex .sizing.reset-size9.size9, +.katex .fontsize-ensurer.reset-size9.size9 { + font-size: 1em; +} +.katex .sizing.reset-size9.size10, +.katex .fontsize-ensurer.reset-size9.size10 { + font-size: 1.202898550724638em; +} +.katex .sizing.reset-size10.size1, +.katex .fontsize-ensurer.reset-size10.size1 { + font-size: 0.2008032128514056em; +} +.katex .sizing.reset-size10.size2, +.katex .fontsize-ensurer.reset-size10.size2 { + font-size: 0.2811244979919678em; +} +.katex .sizing.reset-size10.size3, +.katex .fontsize-ensurer.reset-size10.size3 { + font-size: 0.321285140562249em; +} +.katex .sizing.reset-size10.size4, +.katex .fontsize-ensurer.reset-size10.size4 { + font-size: 0.3614457831325301em; +} +.katex .sizing.reset-size10.size5, +.katex .fontsize-ensurer.reset-size10.size5 { + font-size: 0.4016064257028112em; +} +.katex .sizing.reset-size10.size6, +.katex .fontsize-ensurer.reset-size10.size6 { + font-size: 0.48192771084337344em; +} +.katex .sizing.reset-size10.size7, +.katex .fontsize-ensurer.reset-size10.size7 { + font-size: 0.5783132530120482em; +} +.katex .sizing.reset-size10.size8, +.katex .fontsize-ensurer.reset-size10.size8 { + font-size: 0.6947791164658634em; +} +.katex .sizing.reset-size10.size9, +.katex .fontsize-ensurer.reset-size10.size9 { + font-size: 0.8313253012048192em; +} +.katex .sizing.reset-size10.size10, +.katex .fontsize-ensurer.reset-size10.size10 { + font-size: 1em; +} +.katex .delimsizing.size1 { + font-family: KaTeX_Size1; +} +.katex .delimsizing.size2 { + font-family: KaTeX_Size2; +} +.katex .delimsizing.size3 { + font-family: KaTeX_Size3; +} +.katex .delimsizing.size4 { + font-family: KaTeX_Size4; +} +.katex .delimsizing.mult .delim-size1 > span { + font-family: KaTeX_Size1; +} +.katex .delimsizing.mult .delim-size4 > span { + font-family: KaTeX_Size4; +} +.katex .nulldelimiter { + display: inline-block; + width: 0.12em; +} +.katex .op-symbol { + position: relative; +} +.katex .op-symbol.small-op { + font-family: KaTeX_Size1; +} +.katex .op-symbol.large-op { + font-family: KaTeX_Size2; +} +.katex .op-limits > .vlist > span { + text-align: center; +} diff --git a/lib/katex/katex.min.js b/lib/katex/katex.min.js index b8c819ac3..30b5a67db 100644 --- a/lib/katex/katex.min.js +++ b/lib/katex/katex.min.js @@ -1,3403 +1,3 @@ -(function(e){if("function"==typeof bootstrap)bootstrap("katex",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeKatex=e}else"undefined"!=typeof window?window.katex=e():global.katex=e()})(function(){var define,ses,bootstrap,module,exports; -return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o:]/, "rel"], - [/^[,;]/, "punct"], - [/^'/, "'"], - [/^\^/, "^"], - [/^_/, "_"], - [/^{/, "{"], - [/^}/, "}"], - [/^[(\[]/, "open"], - [/^[)\]?!]/, "close"], - [/^~/, "spacing"] -]; - -var textNormals = [ - [/^[a-zA-Z0-9`!@*()-=+\[\]'";:?\/.,]/, "textord"], - [/^{/, "{"], - [/^}/, "}"], - [/^~/, "spacing"] -]; - -var whitespaceRegex = /^\s*/; -var whitespaceConcatRegex = /^( +|\\ +)/; - -// Build a regex to easily parse the functions -var anyFunc = /^\\(?:[a-zA-Z]+|.)/; - -Lexer.prototype._innerLex = function(pos, normals, ignoreWhitespace) { - var input = this._input.slice(pos); - - // Get rid of whitespace - if (ignoreWhitespace) { - var whitespace = input.match(whitespaceRegex)[0]; - pos += whitespace.length; - input = input.slice(whitespace.length); - } else { - // Do the funky concatenation of whitespace - var whitespace = input.match(whitespaceConcatRegex); - if (whitespace !== null) { - return new LexResult(" ", " ", pos + whitespace[0].length); - } - } - - // If there's no more input to parse, return an EOF token - if (input.length === 0) { - return new LexResult("EOF", null, pos); - } - - var match; - if ((match = input.match(anyFunc))) { - // If we match one of the tokens, extract the type - return new LexResult(match[0], match[0], pos + match[0].length); - } else { - // Otherwise, we look through the normal token regexes and see if it's - // one of them. - for (var i = 0; i < normals.length; i++) { - var normal = normals[i]; - - if ((match = input.match(normal[0]))) { - // If it is, return it - return new LexResult( - normal[1], match[0], pos + match[0].length); - } - } - } - - // We didn't match any of the tokens, so throw an error. - throw new ParseError("Unexpected character: '" + input[0] + - "'", this, pos); -} - -// A regex to match a CSS color (like #ffffff or BlueViolet) -var cssColor = /^(#[a-z0-9]+|[a-z]+)/i; - -Lexer.prototype._innerLexColor = function(pos) { - var input = this._input.slice(pos); - - // Ignore whitespace - var whitespace = input.match(whitespaceRegex)[0]; - pos += whitespace.length; - input = input.slice(whitespace.length); - - var match; - if ((match = input.match(cssColor))) { - // If we look like a color, return a color - return new LexResult("color", match[0], pos + match[0].length); - } - - // We didn't match a color, so throw an error. - throw new ParseError("Invalid color", this, pos); -}; - -var sizeRegex = /^(\d+(?:\.\d*)?|\.\d+)\s*([a-z]{2})/; - -Lexer.prototype._innerLexSize = function(pos) { - var input = this._input.slice(pos); - - // Ignore whitespace - var whitespace = input.match(whitespaceRegex)[0]; - pos += whitespace.length; - input = input.slice(whitespace.length); - - var match; - if ((match = input.match(sizeRegex))) { - var unit = match[2]; - if (unit !== "em" && unit !== "ex") { - throw new ParseError("Invalid unit: '" + unit + "'", this, pos); - } - return new LexResult("size", { - number: +match[1], - unit: unit - }, pos + match[0].length); - } - - throw new ParseError("Invalid size", this, pos); -}; - -Lexer.prototype._innerLexWhitespace = function(pos) { - var input = this._input.slice(pos); - - var whitespace = input.match(whitespaceRegex)[0]; - pos += whitespace.length; - - return new LexResult("whitespace", whitespace, pos); -}; - -// Lex a single token -Lexer.prototype.lex = function(pos, mode) { - if (mode === "math") { - return this._innerLex(pos, mathNormals, true); - } else if (mode === "text") { - return this._innerLex(pos, textNormals, false); - } else if (mode === "color") { - return this._innerLexColor(pos); - } else if (mode === "size") { - return this._innerLexSize(pos); - } else if (mode === "whitespace") { - return this._innerLexWhitespace(pos); - } -}; - -module.exports = Lexer; - -},{"./ParseError":3}],2:[function(require,module,exports){ -function Options(style, size, color, parentStyle, parentSize) { - this.style = style; - this.color = color; - this.size = size; - - if (parentStyle === undefined) { - parentStyle = style; - } - this.parentStyle = parentStyle; - - if (parentSize === undefined) { - parentSize = size; - } - this.parentSize = parentSize; -} - -Options.prototype.withStyle = function(style) { - return new Options(style, this.size, this.color, this.style, this.size); -}; - -Options.prototype.withSize = function(size) { - return new Options(this.style, size, this.color, this.style, this.size); -}; - -Options.prototype.withColor = function(color) { - return new Options(this.style, this.size, color, this.style, this.size); -}; - -Options.prototype.reset = function() { - return new Options( - this.style, this.size, this.color, this.style, this.size); -}; - -var colorMap = { - "katex-blue": "#6495ed", - "katex-orange": "#ffa500", - "katex-pink": "#ff00af", - "katex-red": "#df0030", - "katex-green": "#28ae7b", - "katex-gray": "gray", - "katex-purple": "#9d38bd" -}; - -Options.prototype.getColor = function() { - return colorMap[this.color] || this.color; -}; - -module.exports = Options; - -},{}],3:[function(require,module,exports){ -function ParseError(message, lexer, position) { - var error = "KaTeX parse error: " + message; - - if (lexer !== undefined && position !== undefined) { - // If we have the input and a position, make the error a bit fancier - // Prepend some information - error += " at position " + position + ": "; - - // Get the input - var input = lexer._input; - // Insert a combining underscore at the correct position - input = input.slice(0, position) + "\u0332" + - input.slice(position); - - // Extract some context from the input and add it to the error - var begin = Math.max(0, position - 15); - var end = position + 15; - error += input.slice(begin, end); - } - - var self = new Error(error); - self.name = "ParseError"; - self.__proto__ = ParseError.prototype; - return self; -} - -ParseError.prototype.__proto__ = Error.prototype; - -module.exports = ParseError; - -},{}],4:[function(require,module,exports){ -var functions = require("./functions"); -var Lexer = require("./Lexer"); -var symbols = require("./symbols"); -var utils = require("./utils"); - -var ParseError = require("./ParseError"); - -// This file contains the parser used to parse out a TeX expression from the -// input. Since TeX isn't context-free, standard parsers don't work particularly -// well. - -// The strategy of this parser is as such: -// -// The main functions (the `.parse...` ones) take a position in the current -// parse string to parse tokens from. The lexer (found in Lexer.js, stored at -// this.lexer) also supports pulling out tokens at arbitrary places. When -// individual tokens are needed at a position, the lexer is called to pull out a -// token, which is then used. -// -// The main functions also take a mode that the parser is currently in -// (currently "math" or "text"), which denotes whether the current environment -// is a math-y one or a text-y one (e.g. inside \text). Currently, this serves -// to limit the functions which can be used in text mode. -// -// The main functions then return an object which contains the useful data that -// was parsed at its given point, and a new position at the end of the parsed -// data. The main functions can call each other and continue the parsing by -// using the returned position as a new starting point. -// -// There are also extra `.handle...` functions, which pull out some reused -// functionality into self-contained functions. -// -// The earlier functions return `ParseResult`s, which contain a ParseNode and a -// new position. -// -// The later functions (which are called deeper in the parse) sometimes return -// ParseFuncOrArgument, which contain a ParseResult as well as some data about -// whether the parsed object is a function which is missing some arguments, or a -// standalone object which can be used as an argument to another function. - -// Main Parser class -function Parser(input) { - // Make a new lexer - this.lexer = new Lexer(input); -}; - -// The resulting parse tree nodes of the parse tree. -function ParseNode(type, value, mode) { - this.type = type; - this.value = value; - this.mode = mode; -} - -// A result and final position returned by the `.parse...` functions. -function ParseResult(result, newPosition) { - this.result = result; - this.position = newPosition; -} - -// An initial function (without its arguments), or an argument to a function. -// The `result` argument should be a ParseResult. -function ParseFuncOrArgument(result, isFunction, allowedInText, numArgs, argTypes) { - this.result = result; - // Is this a function (i.e. is it something defined in functions.js)? - this.isFunction = isFunction; - // Is it allowed in text mode? - this.allowedInText = allowedInText; - // How many arguments? - this.numArgs = numArgs; - // What types of arguments? - this.argTypes = argTypes; -} - -// Checks a result to make sure it has the right type, and throws an -// appropriate error otherwise. -Parser.prototype.expect = function(result, type) { - if (result.type !== type) { - throw new ParseError( - "Expected '" + type + "', got '" + result.type + "'", - this.lexer, result.position - ); - } -}; - -// Main parsing function, which parses an entire input. Returns either a list -// of parseNodes or null if the parse fails. -Parser.prototype.parse = function(input) { - // Try to parse the input - var parse = this.parseInput(0, "math"); - return parse.result; -}; - -// Parses an entire input tree -Parser.prototype.parseInput = function(pos, mode) { - // Parse an expression - var expression = this.parseExpression(pos, mode); - // If we succeeded, make sure there's an EOF at the end - var EOF = this.lexer.lex(expression.position, mode); - this.expect(EOF, "EOF"); - return expression; -}; - -// Handles a body of an expression -Parser.prototype.handleExpressionBody = function(pos, mode) { - var body = []; - var atom; - // Keep adding atoms to the body until we can't parse any more atoms (either - // we reached the end, a }, or a \right) - while ((atom = this.parseAtom(pos, mode))) { - body.push(atom.result); - pos = atom.position; - } - return { - body: body, - position: pos - }; -}; - -// Parses an "expression", which is a list of atoms -// -// Returns ParseResult -Parser.prototype.parseExpression = function(pos, mode) { - var body = this.handleExpressionBody(pos, mode); - return new ParseResult(body.body, body.position); -}; - -// The greediness of a superscript or subscript -var SUPSUB_GREEDINESS = 1; - -// Handle a subscript or superscript with nice errors -Parser.prototype.handleSupSubscript = function(pos, mode, symbol, name) { - var group = this.parseGroup(pos, mode); - - if (!group) { - throw new ParseError( - "Expected group after '" + symbol + "'", this.lexer, pos); - } else if (group.numArgs > 0) { - // ^ and _ have a greediness, so handle interactions with functions' - // greediness - var funcGreediness = functions.getGreediness(group.result.result); - if (funcGreediness > SUPSUB_GREEDINESS) { - return this.parseFunction(pos, mode); - } else { - throw new ParseError( - "Got function '" + group.result.result + "' with no arguments " + - "as " + name, - this.lexer, pos); - } - } else { - return group.result; - } -}; - -// Parses a group with optional super/subscripts -// -// Returns ParseResult or null -Parser.prototype.parseAtom = function(pos, mode) { - // The body of an atom is an implicit group, so that things like - // \left(x\right)^2 work correctly. - var base = this.parseImplicitGroup(pos, mode); - - // In text mode, we don't have superscripts or subscripts - if (mode === "text") { - return base; - } - - // Handle an empty base - var currPos; - if (!base) { - currPos = pos; - base = undefined; - } else { - currPos = base.position; - } - - var superscript; - var subscript; - while (true) { - // Lex the first token - var lex = this.lexer.lex(currPos, mode); - - var group; - if (lex.type === "^") { - // We got a superscript start - if (superscript) { - throw new ParseError( - "Double superscript", this.lexer, currPos); - } - var result = this.handleSupSubscript( - lex.position, mode, lex.type, "superscript"); - currPos = result.position; - superscript = result.result; - } else if (lex.type === "_") { - // We got a subscript start - if (subscript) { - throw new ParseError( - "Double subscript", this.lexer, currPos); - } - var result = this.handleSupSubscript( - lex.position, mode, lex.type, "subscript"); - currPos = result.position; - subscript = result.result; - } else if (lex.type === "'") { - // We got a prime - var prime = new ParseNode("textord", "\\prime", mode); - - // Many primes can be grouped together, so we handle this here - var primes = [prime]; - currPos = lex.position; - // Keep lexing tokens until we get something that's not a prime - while ((lex = this.lexer.lex(currPos, mode)).type === "'") { - // For each one, add another prime to the list - primes.push(prime); - currPos = lex.position; - } - // Put them into an ordgroup as the superscript - superscript = new ParseNode("ordgroup", primes, mode); - } else { - // If it wasn't ^, _, or ', stop parsing super/subscripts - break; - } - } - - if (superscript || subscript) { - // If we got either a superscript or subscript, create a supsub - return new ParseResult( - new ParseNode("supsub", { - base: base && base.result, - sup: superscript, - sub: subscript - }, mode), - currPos); - } else { - // Otherwise return the original body - return base; - } -}; - -// A list of the size-changing functions, for use in parseImplicitGroup -var sizeFuncs = [ - "\\tiny", "\\scriptsize", "\\footnotesize", "\\small", "\\normalsize", - "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge" -]; - -// Parses an implicit group, which is a group that starts at the end of a -// specified, and ends right before a higher explicit group ends, or at EOL. It -// is used for functions that appear to affect the current style, like \Large or -// \textrm, where instead of keeping a style we just pretend that there is an -// implicit grouping after it until the end of the group. E.g. -// small text {\Large large text} small text again -// It is also used for \left and \right to get the correct grouping. -// -// Returns ParseResult or null -Parser.prototype.parseImplicitGroup = function(pos, mode) { - var start = this.parseSymbol(pos, mode); - - if (!start || !start.result) { - // If we didn't get anything we handle, fall back to parseFunction - return this.parseFunction(pos, mode); - } - - if (start.result.result === "\\left") { - // If we see a left: - // Parse the entire left function (including the delimiter) - var left = this.parseFunction(pos, mode); - // Parse out the implicit body - var body = this.handleExpressionBody(left.position, mode); - // Check the next token - var rightLex = this.parseSymbol(body.position, mode); - - if (rightLex && rightLex.result.result === "\\right") { - // If it's a \right, parse the entire right function (including the delimiter) - var right = this.parseFunction(body.position, mode); - - return new ParseResult( - new ParseNode("leftright", { - body: body.body, - left: left.result.value.value, - right: right.result.value.value - }, mode), - right.position); - } else { - throw new ParseError("Missing \\right", this.lexer, body.position); - } - } else if (start.result.result === "\\right") { - // If we see a right, explicitly fail the parsing here so the \left - // handling ends the group - return null; - } else if (utils.contains(sizeFuncs, start.result.result)) { - // If we see a sizing function, parse out the implict body - var body = this.handleExpressionBody(start.result.position, mode); - return new ParseResult( - new ParseNode("sizing", { - // Figure out what size to use based on the list of functions above - size: "size" + (utils.indexOf(sizeFuncs, start.result.result) + 1), - value: body.body - }, mode), - body.position); - } else { - // Defer to parseFunction if it's not a function we handle - return this.parseFunction(pos, mode); - } -}; - -// Parses an entire function, including its base and all of its arguments -// -// Returns ParseResult or null -Parser.prototype.parseFunction = function(pos, mode) { - var baseGroup = this.parseGroup(pos, mode); - - if (baseGroup) { - if (baseGroup.isFunction) { - var func = baseGroup.result.result; - if (mode === "text" && !baseGroup.allowedInText) { - throw new ParseError( - "Can't use function '" + func + "' in text mode", - this.lexer, baseGroup.position); - } - - var newPos = baseGroup.result.position; - var result; - if (baseGroup.numArgs > 0) { - var baseGreediness = functions.getGreediness(func); - var args = [func]; - var positions = [newPos]; - for (var i = 0; i < baseGroup.numArgs; i++) { - var argType = baseGroup.argTypes && baseGroup.argTypes[i]; - if (argType) { - var arg = this.parseSpecialGroup(newPos, argType, mode); - } else { - var arg = this.parseGroup(newPos, mode); - } - if (!arg) { - throw new ParseError( - "Expected group after '" + baseGroup.result.result + - "'", - this.lexer, newPos); - } - var argNode; - if (arg.numArgs > 0) { - var argGreediness = functions.getGreediness(arg.result.result); - if (argGreediness > baseGreediness) { - argNode = this.parseFunction(newPos, mode); - } else { - throw new ParseError( - "Got function '" + arg.result.result + "' as " + - "argument to function '" + - baseGroup.result.result + "'", - this.lexer, arg.result.position - 1); - } - } else { - argNode = arg.result; - } - args.push(argNode.result); - positions.push(argNode.position); - newPos = argNode.position; - } - - args.push(positions); - - result = functions.funcs[func].handler.apply(this, args); - } else { - result = functions.funcs[func].handler.apply(this, [func]); - } - - return new ParseResult( - new ParseNode(result.type, result, mode), - newPos); - } else { - return baseGroup.result; - } - } else { - return null; - } -}; - -// Parses a group when the mode is changing. Takes a position, a new mode, and -// an outer mode that is used to parse the outside. -// -// Returns a ParseFuncOrArgument or null -Parser.prototype.parseSpecialGroup = function(pos, mode, outerMode) { - if (mode === "color" || mode === "size") { - // color and size modes are special because they should have braces and - // should only lex a single symbol inside - var openBrace = this.lexer.lex(pos, outerMode); - this.expect(openBrace, "{"); - var inner = this.lexer.lex(openBrace.position, mode); - var closeBrace = this.lexer.lex(inner.position, outerMode); - this.expect(closeBrace, "}"); - return new ParseFuncOrArgument( - new ParseResult( - new ParseNode("color", inner.text, outerMode), - closeBrace.position), - false); - } else if (mode === "text") { - // text mode is special because it should ignore the whitespace before - // it - var whitespace = this.lexer.lex(pos, "whitespace"); - return this.parseGroup(whitespace.position, mode); - } else { - return this.parseGroup(pos, mode); - } -}; - -// Parses a group, which is either a single nucleus (like "x") or an expression -// in braces (like "{x+y}") -// -// Returns a ParseFuncOrArgument or null -Parser.prototype.parseGroup = function(pos, mode) { - var start = this.lexer.lex(pos, mode); - // Try to parse an open brace - if (start.type === "{") { - // If we get a brace, parse an expression - var expression = this.parseExpression(start.position, mode); - // Make sure we get a close brace - var closeBrace = this.lexer.lex(expression.position, mode); - this.expect(closeBrace, "}"); - return new ParseFuncOrArgument( - new ParseResult( - new ParseNode("ordgroup", expression.result, mode), - closeBrace.position), - false); - } else { - // Otherwise, just return a nucleus - return this.parseSymbol(pos, mode); - } -}; - -// Parse a single symbol out of the string. Here, we handle both the functions -// we have defined, as well as the single character symbols -// -// Returns a ParseFuncOrArgument or null -Parser.prototype.parseSymbol = function(pos, mode) { - var nucleus = this.lexer.lex(pos, mode); - - if (functions.funcs[nucleus.type]) { - // If there is a function with this name, we use its data - var func = functions.funcs[nucleus.type]; - - // Here, we replace "original" argTypes with the current mode - var argTypes = func.argTypes; - if (argTypes) { - argTypes = argTypes.slice(); - for (var i = 0; i < argTypes.length; i++) { - if (argTypes[i] === "original") { - argTypes[i] = mode; - } - } - } - - return new ParseFuncOrArgument( - new ParseResult(nucleus.type, nucleus.position), - true, func.allowedInText, func.numArgs, argTypes); - } else if (symbols[mode][nucleus.text]) { - // Otherwise if this is a no-argument function, find the type it - // corresponds to in the symbols map - return new ParseFuncOrArgument( - new ParseResult( - new ParseNode(symbols[mode][nucleus.text].group, - nucleus.text, mode), - nucleus.position), - false); - } else { - return null; - } -}; - -module.exports = Parser; - -},{"./Lexer":1,"./ParseError":3,"./functions":11,"./symbols":14,"./utils":15}],5:[function(require,module,exports){ -function Style(id, size, multiplier, cramped) { - this.id = id; - this.size = size; - this.cramped = cramped; - this.sizeMultiplier = multiplier; -} - -Style.prototype.sup = function() { - return styles[sup[this.id]]; -}; - -Style.prototype.sub = function() { - return styles[sub[this.id]]; -}; - -Style.prototype.fracNum = function() { - return styles[fracNum[this.id]]; -}; - -Style.prototype.fracDen = function() { - return styles[fracDen[this.id]]; -}; - -Style.prototype.cramp = function() { - return styles[cramp[this.id]]; -}; - -// HTML class name, like "displaystyle cramped" -Style.prototype.cls = function() { - return sizeNames[this.size] + (this.cramped ? " cramped" : " uncramped"); -}; - -// HTML Reset class name, like "reset-textstyle" -Style.prototype.reset = function() { - return resetNames[this.size]; -}; - -var D = 0; -var Dc = 1; -var T = 2; -var Tc = 3; -var S = 4; -var Sc = 5; -var SS = 6; -var SSc = 7; - -var sizeNames = [ - "displaystyle textstyle", - "textstyle", - "scriptstyle", - "scriptscriptstyle" -]; - -var resetNames = [ - "reset-textstyle", - "reset-textstyle", - "reset-scriptstyle", - "reset-scriptscriptstyle", -]; - -var styles = [ - new Style(D, 0, 1.0, false), - new Style(Dc, 0, 1.0, true), - new Style(T, 1, 1.0, false), - new Style(Tc, 1, 1.0, true), - new Style(S, 2, 0.7, false), - new Style(Sc, 2, 0.7, true), - new Style(SS, 3, 0.5, false), - new Style(SSc, 3, 0.5, true) -]; - -var sup = [S, Sc, S, Sc, SS, SSc, SS, SSc]; -var sub = [Sc, Sc, Sc, Sc, SSc, SSc, SSc, SSc]; -var fracNum = [T, Tc, S, Sc, SS, SSc, SS, SSc]; -var fracDen = [Tc, Tc, Sc, Sc, SSc, SSc, SSc, SSc]; -var cramp = [Dc, Dc, Tc, Tc, Sc, Sc, SSc, SSc]; - -module.exports = { - DISPLAY: styles[D], - TEXT: styles[T], - SCRIPT: styles[S], - SCRIPTSCRIPT: styles[SS] -}; - -},{}],6:[function(require,module,exports){ -var domTree = require("./domTree"); -var fontMetrics = require("./fontMetrics"); -var symbols = require("./symbols"); - -var makeText = function(value, style, mode) { - if (symbols[mode][value] && symbols[mode][value].replace) { - value = symbols[mode][value].replace; - } - - var metrics = fontMetrics.getCharacterMetrics(value, style); - - if (metrics) { - var textNode = new domTree.textNode(value, metrics.height, - metrics.depth); - if (metrics.italic > 0) { - var span = makeSpan([], [textNode]); - span.style.marginRight = metrics.italic + "em"; - - return span; - } else { - return textNode; - } - } else { - console && console.warn("No character metrics for '" + value + - "' in style '" + style + "'"); - return new domTree.textNode(value, 0, 0); - } -}; - -var mathit = function(value, mode) { - return makeSpan(["mathit"], [makeText(value, "Math-Italic", mode)]); -}; - -var mathrm = function(value, mode) { - if (symbols[mode][value].font === "main") { - return makeText(value, "Main-Regular", mode); - } else { - return makeSpan(["amsrm"], [makeText(value, "AMS-Regular", mode)]); - } -}; - -var sizeElementFromChildren = function(elem) { - var height = 0; - var depth = 0; - var maxFontSize = 0; - - if (elem.children) { - for (var i = 0; i < elem.children.length; i++) { - if (elem.children[i].height > height) { - height = elem.children[i].height; - } - if (elem.children[i].depth > depth) { - depth = elem.children[i].depth; - } - if (elem.children[i].maxFontSize > maxFontSize) { - maxFontSize = elem.children[i].maxFontSize; - } - } - } - - elem.height = height; - elem.depth = depth; - elem.maxFontSize = maxFontSize; -}; - -var makeSpan = function(classes, children, color) { - var span = new domTree.span(classes, children); - - sizeElementFromChildren(span); - - if (color) { - span.style.color = color; - } - - return span; -}; - -var makeFragment = function(children) { - var fragment = new domTree.documentFragment(children); - - sizeElementFromChildren(fragment); - - return fragment; -}; - -var makeFontSizer = function(options, fontSize) { - var fontSizeInner = makeSpan([], [new domTree.textNode("\u200b")]); - fontSizeInner.style.fontSize = (fontSize / options.style.sizeMultiplier) + "em"; - - var fontSizer = makeSpan( - ["fontsize-ensurer", "reset-" + options.size, "size5"], - [fontSizeInner]); - - return fontSizer; -}; - -module.exports = { - makeText: makeText, - mathit: mathit, - mathrm: mathrm, - makeSpan: makeSpan, - makeFragment: makeFragment, - makeFontSizer: makeFontSizer -}; - -},{"./domTree":9,"./fontMetrics":10,"./symbols":14}],7:[function(require,module,exports){ -var Options = require("./Options"); -var ParseError = require("./ParseError"); -var Style = require("./Style"); - -var buildCommon = require("./buildCommon"); -var delimiter = require("./delimiter"); -var domTree = require("./domTree"); -var fontMetrics = require("./fontMetrics"); -var parseTree = require("./parseTree"); -var symbols = require("./symbols"); -var utils = require("./utils"); - -var makeSpan = buildCommon.makeSpan; - -var buildExpression = function(expression, options, prev) { - var groups = []; - for (var i = 0; i < expression.length; i++) { - var group = expression[i]; - groups.push(buildGroup(group, options, prev)); - prev = group; - } - return groups; -}; - -var groupToType = { - mathord: "mord", - textord: "mord", - bin: "mbin", - rel: "mrel", - text: "mord", - open: "mopen", - close: "mclose", - frac: "minner", - spacing: "mord", - punct: "mpunct", - ordgroup: "mord", - namedfn: "mop", - katex: "mord", - overline: "mord", - rule: "mord", - leftright: "minner", - sqrt: "mord" -}; - -var getTypeOfGroup = function(group) { - if (group == null) { - // Like when typesetting $^3$ - return groupToType.mathord; - } else if (group.type === "supsub") { - return getTypeOfGroup(group.value.base); - } else if (group.type === "llap" || group.type === "rlap") { - return getTypeOfGroup(group.value); - } else if (group.type === "color") { - return getTypeOfGroup(group.value.value); - } else if (group.type === "sizing") { - return getTypeOfGroup(group.value.value); - } else if (group.type === "delimsizing") { - return groupToType[group.value.delimType]; - } else { - return groupToType[group.type]; - } -}; - -var isCharacterBox = function(group) { - if (group == null) { - return false; - } else if (group.type === "mathord" || - group.type === "textord" || - group.type === "bin" || - group.type === "rel" || - group.type === "open" || - group.type === "close" || - group.type === "punct") { - return true; - } else if (group.type === "ordgroup") { - return group.value.length === 1 && isCharacterBox(group.value[0]); - } else { - return false; - } -}; - -var groupTypes = { - mathord: function(group, options, prev) { - return makeSpan( - ["mord"], - [buildCommon.mathit(group.value, group.mode)], - options.getColor() - ); - }, - - textord: function(group, options, prev) { - return makeSpan( - ["mord"], - [buildCommon.mathrm(group.value, group.mode)], - options.getColor() - ); - }, - - bin: function(group, options, prev) { - var className = "mbin"; - var prevAtom = prev; - while (prevAtom && prevAtom.type == "color") { - var atoms = prevAtom.value.value; - prevAtom = atoms[atoms.length - 1]; - } - if (!prev || utils.contains(["mbin", "mopen", "mrel", "mop", "mpunct"], - getTypeOfGroup(prevAtom))) { - group.type = "ord"; - className = "mord"; - } - return makeSpan( - [className], - [buildCommon.mathrm(group.value, group.mode)], - options.getColor() - ); - }, - - rel: function(group, options, prev) { - return makeSpan( - ["mrel"], - [buildCommon.mathrm(group.value, group.mode)], - options.getColor() - ); - }, - - text: function(group, options, prev) { - return makeSpan(["text mord", options.style.cls()], - buildExpression(group.value.body, options.reset())); - }, - - supsub: function(group, options, prev) { - var base = buildGroup(group.value.base, options.reset()); - - if (group.value.sup) { - var sup = buildGroup(group.value.sup, - options.withStyle(options.style.sup())); - var supmid = makeSpan( - [options.style.reset(), options.style.sup().cls()], [sup]); - } - - if (group.value.sub) { - var sub = buildGroup(group.value.sub, - options.withStyle(options.style.sub())); - var submid = makeSpan( - [options.style.reset(), options.style.sub().cls()], [sub]); - } - - if (isCharacterBox(group.value.base)) { - var u = 0; - var v = 0; - } else { - var u = base.height - fontMetrics.metrics.supDrop; - var v = base.depth + fontMetrics.metrics.subDrop; - } - - var p; - if (options.style === Style.DISPLAY) { - p = fontMetrics.metrics.sup1; - } else if (options.style.cramped) { - p = fontMetrics.metrics.sup3; - } else { - p = fontMetrics.metrics.sup2; - } - - var multiplier = Style.TEXT.sizeMultiplier * - options.style.sizeMultiplier; - var scriptspace = - (0.5 / fontMetrics.metrics.ptPerEm) / multiplier + "em"; - - var supsub; - - if (!group.value.sup) { - var fontSizer = buildCommon.makeFontSizer(options, submid.maxFontSize); - var subwrap = makeSpan(["msub"], [fontSizer, submid]); - - v = Math.max(v, fontMetrics.metrics.sub1, - sub.height - 0.8 * fontMetrics.metrics.xHeight); - - subwrap.style.top = v + "em"; - subwrap.style.marginRight = scriptspace; - - subwrap.depth = subwrap.depth + v; - subwrap.height = 0; - - var fixIE = makeSpan(["fix-ie"], [fontSizer, new domTree.textNode("\u00a0")]); - - supsub = makeSpan(["msupsub"], [subwrap, fixIE]); - } else if (!group.value.sub) { - var fontSizer = buildCommon.makeFontSizer(options, supmid.maxFontSize); - var supwrap = makeSpan(["msup"], [fontSizer, supmid]); - - u = Math.max(u, p, - sup.depth + 0.25 * fontMetrics.metrics.xHeight); - - supwrap.style.top = -u + "em"; - supwrap.style.marginRight = scriptspace; - - supwrap.height = supwrap.height + u; - supwrap.depth = 0; - - var fixIE = makeSpan(["fix-ie"], [fontSizer, new domTree.textNode("\u00a0")]); - - supsub = makeSpan(["msupsub"], [supwrap, fixIE]); - } else { - var fontSizer = buildCommon.makeFontSizer(options, - Math.max(submid.maxFontSize, supmid.maxFontSize)); - var subwrap = makeSpan(["msub"], [fontSizer, submid]); - var supwrap = makeSpan(["msup"], [fontSizer, supmid]); - - u = Math.max(u, p, - sup.depth + 0.25 * fontMetrics.metrics.xHeight); - v = Math.max(v, fontMetrics.metrics.sub2); - - var theta = fontMetrics.metrics.defaultRuleThickness; - - if ((u - sup.depth) - (sub.height - v) < 4 * theta) { - v = 4 * theta - (u - sup.depth) + sub.height; - var psi = 0.8 * fontMetrics.metrics.xHeight - (u - sup.depth); - if (psi > 0) { - u += psi; - v -= psi; - } - } - - supwrap.style.top = -u + "em"; - subwrap.style.top = v + "em"; - - supwrap.style.marginRight = scriptspace; - subwrap.style.marginRight = scriptspace; - - supwrap.height = supwrap.height + u; - supwrap.depth = 0; - - subwrap.height = 0; - subwrap.depth = subwrap.depth + v; - - var fixIE = makeSpan(["fix-ie"], [fontSizer, new domTree.textNode("\u00a0")]); - - supsub = makeSpan(["msupsub"], [supwrap, subwrap, fixIE]); - } - - return makeSpan([getTypeOfGroup(group.value.base)], - [base, supsub]); - }, - - open: function(group, options, prev) { - return makeSpan( - ["mopen"], - [buildCommon.mathrm(group.value, group.mode)], - options.getColor() - ); - }, - - close: function(group, options, prev) { - return makeSpan( - ["mclose"], - [buildCommon.mathrm(group.value, group.mode)], - options.getColor() - ); - }, - - frac: function(group, options, prev) { - var fstyle = options.style; - if (group.value.size === "dfrac") { - fstyle = Style.DISPLAY; - } else if (group.value.size === "tfrac") { - fstyle = Style.TEXT; - } - - var nstyle = fstyle.fracNum(); - var dstyle = fstyle.fracDen(); - - var numer = buildGroup(group.value.numer, options.withStyle(nstyle)); - var numernumer = makeSpan([fstyle.reset(), nstyle.cls()], [numer]); - - var denom = buildGroup(group.value.denom, options.withStyle(dstyle)); - var denomdenom = makeSpan([fstyle.reset(), dstyle.cls()], [denom]) - - var fontSizer = buildCommon.makeFontSizer(options, - Math.max(numer.maxFontSize, denom.maxFontSize)); - - var numerrow = makeSpan(["mfracnum"], [fontSizer, numernumer]); - var mid = makeSpan(["mfracmid"], [fontSizer, makeSpan(["line"])]); - var denomrow = makeSpan(["mfracden"], [fontSizer, denomdenom]); - - var theta = fontMetrics.metrics.defaultRuleThickness; - - var u, v, phi; - if (fstyle.size === Style.DISPLAY.size) { - u = fontMetrics.metrics.num1; - v = fontMetrics.metrics.denom1; - phi = 3 * theta; - } else { - u = fontMetrics.metrics.num2; - v = fontMetrics.metrics.denom2; - phi = theta; - } - - var a = fontMetrics.metrics.axisHeight; - - if ((u - numer.depth) - (a + 0.5 * theta) < phi) { - u += phi - ((u - numer.depth) - (a + 0.5 * theta)); - } - - if ((a - 0.5 * theta) - (denom.height - v) < phi) { - v += phi - ((a - 0.5 * theta) - (denom.height - v)); - } - - numerrow.style.top = -u + "em"; - mid.style.top = -(a - 0.5 * theta) + "em"; - denomrow.style.top = v + "em"; - - numerrow.height = numerrow.height + u; - numerrow.depth = 0; - - denomrow.height = 0; - denomrow.depth = denomrow.depth + v; - - var fixIE = makeSpan(["fix-ie"], [ - fontSizer, new domTree.textNode("\u00a0")]); - - var frac = makeSpan([], [numerrow, mid, denomrow, fixIE]); - - frac.height *= fstyle.sizeMultiplier / options.style.sizeMultiplier; - frac.depth *= fstyle.sizeMultiplier / options.style.sizeMultiplier; - - var wrap = makeSpan( - [options.style.reset(), fstyle.cls()], [frac]); - - return makeSpan(["minner"], [ - makeSpan(["mfrac"], [wrap]) - ], options.getColor()); - }, - - color: function(group, options, prev) { - var elements = buildExpression( - group.value.value, - options.withColor(group.value.color), - prev - ); - - return new buildCommon.makeFragment(elements); - }, - - spacing: function(group, options, prev) { - if (group.value === "\\ " || group.value === "\\space" || - group.value === " " || group.value === "~") { - return makeSpan( - ["mord", "mspace"], - [buildCommon.mathrm(group.value, group.mode)] - ); - } else { - var spacingClassMap = { - "\\qquad": "qquad", - "\\quad": "quad", - "\\enspace": "enspace", - "\\;": "thickspace", - "\\:": "mediumspace", - "\\,": "thinspace", - "\\!": "negativethinspace" - }; - - return makeSpan( - ["mord", "mspace", spacingClassMap[group.value]]); - } - }, - - llap: function(group, options, prev) { - var inner = makeSpan( - ["inner"], [buildGroup(group.value.body, options.reset())]); - var fix = makeSpan(["fix"], []); - return makeSpan( - ["llap", options.style.cls()], [inner, fix]); - }, - - rlap: function(group, options, prev) { - var inner = makeSpan( - ["inner"], [buildGroup(group.value.body, options.reset())]); - var fix = makeSpan(["fix"], []); - return makeSpan( - ["rlap", options.style.cls()], [inner, fix]); - }, - - punct: function(group, options, prev) { - return makeSpan( - ["mpunct"], - [buildCommon.mathrm(group.value, group.mode)], - options.getColor() - ); - }, - - ordgroup: function(group, options, prev) { - return makeSpan( - ["mord", options.style.cls()], - buildExpression(group.value, options.reset()) - ); - }, - - namedfn: function(group, options, prev) { - var chars = []; - for (var i = 1; i < group.value.body.length; i++) { - chars.push(buildCommon.mathrm(group.value.body[i], group.mode)); - } - - return makeSpan(["mop"], chars, options.getColor()); - }, - - katex: function(group, options, prev) { - var k = makeSpan( - ["k"], [buildCommon.mathrm("K", group.mode)]); - var a = makeSpan( - ["a"], [buildCommon.mathrm("A", group.mode)]); - - a.height = (a.height + 0.2) * 0.75; - a.depth = (a.height - 0.2) * 0.75; - - var t = makeSpan( - ["t"], [buildCommon.mathrm("T", group.mode)]); - var e = makeSpan( - ["e"], [buildCommon.mathrm("E", group.mode)]); - - e.height = (e.height - 0.2155); - e.depth = (e.depth + 0.2155); - - var x = makeSpan( - ["x"], [buildCommon.mathrm("X", group.mode)]); - - return makeSpan( - ["katex-logo"], [k, a, t, e, x], options.getColor()); - }, - - sqrt: function(group, options, prev) { - var innerGroup = buildGroup(group.value.body, - options.withStyle(options.style.cramp())); - - var fontSizer = buildCommon.makeFontSizer( - options, Math.max(innerGroup.maxFontSize, 1.0)); - - // The theta variable in the TeXbook - var lineWidth = fontMetrics.metrics.defaultRuleThickness; - - var lineInner = - makeSpan([options.style.reset(), Style.TEXT.cls(), "line"]); - lineInner.maxFontSize = 1.0; - var line = makeSpan(["sqrt-line"], [fontSizer, lineInner]); - - var inner = makeSpan(["sqrt-inner"], [fontSizer, innerGroup]); - var fixIE = makeSpan( - ["fix-ie"], [fontSizer, new domTree.textNode("\u00a0")]); - - var theta = fontMetrics.metrics.defaultRuleThickness / - options.style.sizeMultiplier; - var phi = theta; - if (options.style.id < Style.TEXT.id) { - phi = fontMetrics.metrics.xHeight; - } - - var psi = theta + phi / 4; - - var innerHeight = - (inner.height + inner.depth) * options.style.sizeMultiplier; - var minDelimiterHeight = innerHeight + psi + theta; - - var delim = makeSpan(["sqrt-sign"], [ - delimiter.customSizedDelim("\\surd", minDelimiterHeight, - false, options, group.mode)]); - - var delimDepth = delim.height + delim.depth; - - if (delimDepth > inner.height + inner.depth + psi) { - psi = (psi + delimDepth - inner.height - inner.depth) / 2; - } - - delim.style.top = (-inner.height - psi + delim.height - theta) + "em"; - - line.style.top = (-inner.height - psi) + "em"; - line.height = inner.height + psi + 2 * theta; - - // We add a special case here, because even when `inner` is empty, we - // still get a line. So, we use a simple heuristic to decide if we - // should omit the body entirely. (note this doesn't work for something - // like `\sqrt{\rlap{x}}`, but if someone is doing that they deserve for - // it not to work. - var body; - if (inner.height === 0 && inner.depth === 0) { - body = makeSpan(); - } else { - body = makeSpan(["sqrt-body"], [line, inner, fixIE]); - } - - return makeSpan(["sqrt", "mord"], [delim, body]); - }, - - overline: function(group, options, prev) { - var innerGroup = buildGroup(group.value.body, - options.withStyle(options.style.cramp())); - - var fontSizer = buildCommon.makeFontSizer(options, innerGroup.maxFontSize); - - // The theta variable in the TeXbook - var lineWidth = fontMetrics.metrics.defaultRuleThickness; - - var line = makeSpan( - ["overline-line"], [fontSizer, makeSpan(["line"])]); - var inner = makeSpan(["overline-inner"], [fontSizer, innerGroup]); - var fixIE = makeSpan( - ["fix-ie"], [fontSizer, new domTree.textNode("\u00a0")]); - - line.style.top = (-inner.height - 3 * lineWidth) + "em"; - // The line is supposed to have 1 extra line width above it in height - // (TeXbook pg. 443, nr. 9) - line.height = inner.height + 5 * lineWidth; - - return makeSpan(["overline", "mord"], [ - line, inner, fixIE - ], options.getColor()); - }, - - sizing: function(group, options, prev) { - var inner = buildExpression(group.value.value, - options.withSize(group.value.size), prev); - - var span = makeSpan(["mord"], - [makeSpan(["sizing", "reset-" + options.size, group.value.size, - options.style.cls()], - inner)]); - - var sizeToFontSize = { - "size1": 0.5, - "size2": 0.7, - "size3": 0.8, - "size4": 0.9, - "size5": 1.0, - "size6": 1.2, - "size7": 1.44, - "size8": 1.73, - "size9": 2.07, - "size10": 2.49 - }; - - var fontSize = sizeToFontSize[group.value.size]; - span.maxFontSize = fontSize * options.style.sizeMultiplier; - - return span; - }, - - delimsizing: function(group, options, prev) { - var delim = group.value.value; - - if (delim === ".") { - return makeSpan([groupToType[group.value.delimType]]); - } - - return makeSpan( - [groupToType[group.value.delimType]], - [delimiter.sizedDelim( - delim, group.value.size, options, group.mode)]); - }, - - leftright: function(group, options, prev) { - var inner = buildExpression(group.value.body, options.reset()); - - var innerHeight = 0; - var innerDepth = 0; - - for (var i = 0; i < inner.length; i++) { - innerHeight = Math.max(inner[i].height, innerHeight); - innerDepth = Math.max(inner[i].depth, innerDepth); - } - - innerHeight *= options.style.sizeMultiplier; - innerDepth *= options.style.sizeMultiplier; - - var leftDelim; - if (group.value.left === ".") { - leftDelim = makeSpan(["nulldelimiter"]); - } else { - leftDelim = delimiter.leftRightDelim( - group.value.left, innerHeight, innerDepth, options, - group.mode); - } - inner.unshift(leftDelim); - - var rightDelim; - if (group.value.right === ".") { - rightDelim = makeSpan(["nulldelimiter"]); - } else { - rightDelim = delimiter.leftRightDelim( - group.value.right, innerHeight, innerDepth, options, - group.mode); - } - inner.push(rightDelim); - - return makeSpan(["minner"], inner, options.getColor()); - }, - - rule: function(group, options, prev) { - // Make an empty span for the rule - var rule = makeSpan(["mord", "rule"], [], options.getColor()); - - var width = group.value.width.number; - if (group.value.width.unit === "ex") { - width *= fontMetrics.metrics.xHeight; - } - - var height = group.value.height.number; - if (group.value.height.unit === "ex") { - height *= fontMetrics.metrics.xHeight; - } - - width /= options.style.sizeMultiplier; - height /= options.style.sizeMultiplier; - - // Style the rule to the right size - rule.style.borderRightWidth = width + "em"; - rule.style.borderTopWidth = height + "em"; - - // Record the height and width - rule.width = width; - rule.height = height; - - return rule; - } -}; - -var sizingMultiplier = { - size1: 0.5, - size2: 0.7, - size3: 0.8, - size4: 0.9, - size5: 1.0, - size6: 1.2, - size7: 1.44, - size8: 1.73, - size9: 2.07, - size10: 2.49 -}; - -var buildGroup = function(group, options, prev) { - if (!group) { - return makeSpan(); - } - - if (groupTypes[group.type]) { - var groupNode = groupTypes[group.type](group, options, prev); - - if (options.style !== options.parentStyle) { - var multiplier = options.style.sizeMultiplier / - options.parentStyle.sizeMultiplier; - - groupNode.height *= multiplier; - groupNode.depth *= multiplier; - } - - if (options.size !== options.parentSize) { - var multiplier = sizingMultiplier[options.size] / - sizingMultiplier[options.parentSize]; - - groupNode.height *= multiplier; - groupNode.depth *= multiplier; - } - - return groupNode; - } else { - throw new ParseError( - "Got group of unknown type: '" + group.type + "'"); - } -}; - -var buildTree = function(tree) { - // Setup the default options - var options = new Options(Style.TEXT, "size5", ""); - - var expression = buildExpression(tree, options); - var span = makeSpan(["base", options.style.cls()], expression); - var topStrut = makeSpan(["strut"]); - var bottomStrut = makeSpan(["strut", "bottom"]); - - topStrut.style.height = span.height + "em"; - bottomStrut.style.height = (span.height + span.depth) + "em"; - // We'd like to use `vertical-align: top` but in IE 9 this lowers the - // baseline of the box to the bottom of this strut (instead staying in the - // normal place) so we use an absolute value for vertical-align instead - bottomStrut.style.verticalAlign = -span.depth + "em"; - - var katexNode = makeSpan(["katex"], [ - makeSpan(["katex-inner"], [topStrut, bottomStrut, span]) - ]); - - return katexNode.toDOM(); -}; - -module.exports = buildTree; - -},{"./Options":2,"./ParseError":3,"./Style":5,"./buildCommon":6,"./delimiter":8,"./domTree":9,"./fontMetrics":10,"./parseTree":13,"./symbols":14,"./utils":15}],8:[function(require,module,exports){ -var Options = require("./Options"); -var ParseError = require("./ParseError"); -var Style = require("./Style"); - -var domTree = require("./domTree"); -var fontMetrics = require("./fontMetrics"); -var parseTree = require("./parseTree"); -var utils = require("./utils"); -var symbols = require("./symbols"); -var buildCommon = require("./buildCommon"); -var makeSpan = require("./buildCommon").makeSpan; - -// Get the metrics for a given symbol and font, after transformation (i.e. -// after following replacement from symbols.js) -var getMetrics = function(symbol, font) { - if (symbols["math"][symbol] && symbols["math"][symbol].replace) { - return fontMetrics.getCharacterMetrics( - symbols["math"][symbol].replace, font); - } else { - return fontMetrics.getCharacterMetrics( - symbol, font); - } -}; - -var mathrmSize = function(value, size, mode) { - return buildCommon.makeText(value, "Size" + size + "-Regular", mode); -}; - -var styleWrap = function(delim, toStyle, options) { - var span = makeSpan(["style-wrap", options.style.reset(), toStyle.cls()], [delim]); - - var multiplier = toStyle.sizeMultiplier / options.style.sizeMultiplier; - - span.height *= multiplier; - span.depth *= multiplier; - span.maxFontSize = toStyle.sizeMultiplier; - - return span; -}; - -var makeSmallDelim = function(delim, style, center, options, mode) { - var text = buildCommon.makeText(delim, "Main-Regular", mode); - - var span = styleWrap(text, style, options); - - if (center) { - var shift = - (1 - options.style.sizeMultiplier / style.sizeMultiplier) * - fontMetrics.metrics.axisHeight; - - span.style.top = shift + "em"; - span.height -= shift; - span.depth += shift; - } - - return span; -}; - -var makeLargeDelim = function(delim, size, center, options, mode) { - var inner = mathrmSize(delim, size, mode); - - var span = styleWrap( - makeSpan(["delimsizing", "size" + size], - [inner], options.getColor()), - Style.TEXT, options); - - if (center) { - var shift = (1 - options.style.sizeMultiplier) * - fontMetrics.metrics.axisHeight; - - span.style.top = shift + "em"; - span.height -= shift; - span.depth += shift; - } - - return span; -}; - -// Make an inner span with the given offset and in the given font -var makeInner = function(symbol, offset, font, mode) { - var sizeClass; - if (font === "Size1-Regular") { - sizeClass = "size1"; - } else if (font === "Size4-Regular") { - sizeClass = "size4"; - } - - var inner = makeSpan( - ["delimsizinginner", sizeClass], - [makeSpan([], [buildCommon.makeText(symbol, font, mode)])]); - - inner.style.top = offset + "em"; - inner.height -= offset; - inner.depth += offset; - - return inner; -}; - -var makeStackedDelim = function(delim, heightTotal, center, options, mode) { - // There are four parts, the top, a middle, a repeated part, and a bottom. - var top, middle, repeat, bottom; - top = repeat = bottom = delim; - middle = null; - var font = "Size1-Regular"; - var overlap = false; - - // We set the parts and font based on the symbol. Note that we use - // '\u23d0' instead of '|' and '\u2016' instead of '\\|' for the - // repeats of the arrows - if (delim === "\\uparrow") { - repeat = bottom = "\u23d0"; - } else if (delim === "\\Uparrow") { - repeat = bottom = "\u2016"; - } else if (delim === "\\downarrow") { - top = repeat = "\u23d0"; - } else if (delim === "\\Downarrow") { - top = repeat = "\u2016"; - } else if (delim === "\\updownarrow") { - top = "\\uparrow"; - repeat = "\u23d0"; - bottom = "\\downarrow"; - } else if (delim === "\\Updownarrow") { - top = "\\Uparrow"; - repeat = "\u2016"; - bottom = "\\Downarrow"; - - // For some reason, the sizes of this one delimiter don't work out - // right, so we shrink it a bit to make it now add an extraneous - // repeating part - if (height + depth <= 1.21) { - height -= 0.01; - depth -= 0.01; - } - } else if (delim === "|" || delim === "\\vert") { - overlap = true; - } else if (delim === "\\|" || delim === "\\Vert") { - overlap = true; - } else if (delim === "[" || delim === "\\lbrack") { - top = "\u23a1"; - repeat = "\u23a2"; - bottom = "\u23a3"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === "]" || delim === "\\rbrack") { - top = "\u23a4"; - repeat = "\u23a5"; - bottom = "\u23a6"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === "\\lfloor") { - repeat = top = "\u23a2"; - bottom = "\u23a3"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === "\\lceil") { - top = "\u23a1"; - repeat = bottom = "\u23a2"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === "\\rfloor") { - repeat = top = "\u23a5"; - bottom = "\u23a6"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === "\\rceil") { - top = "\u23a4"; - repeat = bottom = "\u23a5"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === "(") { - top = "\u239b"; - repeat = "\u239c"; - bottom = "\u239d"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === ")") { - top = "\u239e"; - repeat = "\u239f"; - bottom = "\u23a0"; - font = "Size4-Regular"; - overlap = true; - } else if (delim === "\\{" || delim === "\\lbrace") { - top = "\u23a7"; - middle = "\u23a8"; - bottom = "\u23a9"; - repeat = "\u23aa"; - font = "Size4-Regular"; - } else if (delim === "\\}" || delim === "\\rbrace") { - top = "\u23ab"; - middle = "\u23ac"; - bottom = "\u23ad"; - repeat = "\u23aa"; - font = "Size4-Regular"; - } else if (delim === "\\surd") { - top = "\ue001"; - bottom = "\u23b7"; - repeat = "\ue000"; - font = "Size4-Regular"; - overlap = true; - } - - // Get the metrics of the three sections - var topMetrics = getMetrics(top, font); - var topHeightTotal = topMetrics.height + topMetrics.depth; - var repeatMetrics = getMetrics(repeat, font); - var repeatHeightTotal = repeatMetrics.height + repeatMetrics.depth; - var bottomMetrics = getMetrics(bottom, font); - var bottomHeightTotal = bottomMetrics.height + bottomMetrics.depth; - var middleMetrics, middleHeightTotal; - if (middle !== null) { - middleMetrics = getMetrics(middle, font); - middleHeightTotal = middleMetrics.height + middleMetrics.depth; - } - - var realHeightTotal = topHeightTotal + bottomHeightTotal; - if (middle !== null) { - realHeightTotal += middleHeightTotal; - } - - while (realHeightTotal < heightTotal) { - realHeightTotal += repeatHeightTotal; - if (middle !== null) { - realHeightTotal += repeatHeightTotal; - } - } - - var axisHeight = fontMetrics.metrics.axisHeight; - if (center) { - axisHeight *= options.style.sizeMultiplier; - } - var height = realHeightTotal / 2 + axisHeight; - var depth = realHeightTotal / 2 - axisHeight; - - // Keep a list of the inner spans - var inners = []; - - // Add the top symbol - inners.push( - makeInner(top, topMetrics.height - height, font, mode)); - - if (middle === null) { - var repeatHeight = realHeightTotal - topHeightTotal - bottomHeightTotal; - var symbolCount = Math.ceil(repeatHeight / repeatHeightTotal); - - var overlapAmount; - if (overlap) { - // 2 * overlapAmount + repeatHeight = - // (symbolCount - 1) * (repeatHeightTotal - overlapAmount) + - // repeatHeightTotal - overlapAmount = (symbolCount * repeatHeightTotal - - repeatHeight) / (symbolCount + 1); - } else { - overlapAmount = 0; - } - - // Add repeat symbols until there's only space for the bottom symbol - var currHeight = height - topHeightTotal + overlapAmount; - for (var i = 0; i < symbolCount; i++) { - inners.push( - makeInner(repeat, - repeatMetrics.height - currHeight, font, mode)); - currHeight -= repeatHeightTotal - overlapAmount; - } - } else { - // When there is a middle bit, we need the middle part and two repeated - // sections - - // Calculate the number of symbols needed for the top and bottom - // repeated parts - var topRepeatHeight = - realHeightTotal / 2 - topHeightTotal - middleHeightTotal / 2; - var topSymbolCount = Math.ceil(topRepeatHeight / repeatHeightTotal); - - var bottomRepeatHeight = - realHeightTotal / 2 - topHeightTotal - middleHeightTotal / 2; - var bottomSymbolCount = - Math.ceil(bottomRepeatHeight / repeatHeightTotal); - - // Add the top repeated part - var currHeight = height - topHeightTotal; - for (var i = 0; i < topSymbolCount; i++) { - inners.push( - makeInner(repeat, - repeatMetrics.height - currHeight, font, mode)); - currHeight -= repeatHeightTotal; - } - - // Add the middle piece - var midPoint = realHeightTotal / 2 - depth; - inners.push( - makeInner(middle, - middleMetrics.height - midPoint - middleHeightTotal / 2, - font, mode)); - - // Add the bottom repeated part - currHeight = midPoint - middleHeightTotal / 2; - for (var i = 0; i < bottomSymbolCount; i++) { - inners.push( - makeInner(repeat, - repeatMetrics.height - currHeight, font, mode)); - currHeight -= repeatHeightTotal; - } - } - - // Add the bottom symbol - inners.push( - makeInner(bottom, depth - bottomMetrics.depth, font, mode)); - - var fixIE = makeSpan(["fix-ie"], [new domTree.textNode("\u00a0")]); - inners.push(fixIE); - - return styleWrap( - makeSpan(["delimsizing", "mult"], inners, options.getColor()), - Style.TEXT, options); -}; - -var normalDelimiters = [ - "(", ")", "[", "\\lbrack", "]", "\\rbrack", - "\\{", "\\lbrace", "\\}", "\\rbrace", - "\\lfloor", "\\rfloor", "\\lceil", "\\rceil", - "<", ">", "\\langle", "\\rangle", "/", "\\backslash", - "\\surd" -]; - -var stackDelimiters = [ - "\\uparrow", "\\downarrow", "\\updownarrow", - "\\Uparrow", "\\Downarrow", "\\Updownarrow", - "|", "\\|", "\\vert", "\\Vert" -]; - -var onlyNormalDelimiters = [ - "<", ">", "\\langle", "\\rangle", "/", "\\backslash" -]; - -// Metrics of the different sizes. Found by looking at TeX's output of -// $\bigl| \Bigl| \biggl| \Biggl| \showlists$ -var sizeToMaxHeight = [0, 1.2, 1.8, 2.4, 3.0]; - -var makeSizedDelim = function(delim, size, options, mode) { - if (delim === "<") { - delim = "\\langle"; - } else if (delim === ">") { - delim = "\\rangle"; - } - - var retDelim; - - if (utils.contains(normalDelimiters, delim)) { - return makeLargeDelim(delim, size, false, options, mode); - } else if (utils.contains(stackDelimiters, delim)) { - return makeStackedDelim( - delim, sizeToMaxHeight[size], false, options, mode); - } else { - throw new ParseError("Illegal delimiter: '" + delim + "'"); - } -}; - -var normalDelimiterSequence = [ - {type: "small", style: Style.SCRIPTSCRIPT}, - {type: "small", style: Style.SCRIPT}, - {type: "small", style: Style.TEXT}, - {type: "large", size: 1}, - {type: "large", size: 2}, - {type: "large", size: 3}, - {type: "large", size: 4} -]; - -var stackAlwaysDelimiterSequence = [ - {type: "small", style: Style.SCRIPTSCRIPT}, - {type: "small", style: Style.SCRIPT}, - {type: "small", style: Style.TEXT}, - {type: "stack"} -]; - -var stackLargeDelimiterSequence = [ - {type: "small", style: Style.SCRIPTSCRIPT}, - {type: "small", style: Style.SCRIPT}, - {type: "small", style: Style.TEXT}, - {type: "large", size: 1}, - {type: "large", size: 2}, - {type: "large", size: 3}, - {type: "large", size: 4}, - {type: "stack"} -]; - -var delimTypeToFont = function(type) { - if (type.type === "small") { - return "Main-Regular"; - } else if (type.type === "large") { - return "Size" + type.size + "-Regular"; - } else if (type.type === "stack") { - return "Size4-Regular"; - } -}; - -var traverseSequence = function(delim, height, sequence, options) { - // Here, we choose the index we should start at in the sequences. In smaller - // sizes (which correspond to larger numbers in style.size) we start earlier - // in the sequence. Thus, scriptscript starts at index 3-3=0, script starts - // at index 3-2=1, text starts at 3-1=2, and display starts at min(2,3-0)=2 - var start = Math.min(2, 3 - options.style.size); - for (var i = start; i < sequence.length; i++) { - if (sequence[i].type === "stack") { - // This is always the last delimiter, so we just break the loop now. - break; - } - - var metrics = getMetrics(delim, delimTypeToFont(sequence[i])); - - var heightDepth = metrics.height + metrics.depth; - - if (sequence[i].type === "small") { - heightDepth *= sequence[i].style.sizeMultiplier; - } - - if (heightDepth > height) { - return sequence[i]; - } - } - - return sequence[sequence.length - 1]; -}; - -var makeCustomSizedDelim = function(delim, height, center, options, mode) { - if (delim === "<") { - delim = "\\langle"; - } else if (delim === ">") { - delim = "\\rangle"; - } - - var sequence; - if (utils.contains(onlyNormalDelimiters, delim)) { - sequence = normalDelimiterSequence; - } else if (utils.contains(normalDelimiters, delim)) { - sequence = stackLargeDelimiterSequence; - } else { - sequence = stackAlwaysDelimiterSequence; - } - - var delimType = traverseSequence(delim, height, sequence, options); - - if (delimType.type === "small") { - return makeSmallDelim(delim, delimType.style, center, options, mode); - } else if (delimType.type === "large") { - return makeLargeDelim(delim, delimType.size, center, options, mode); - } else if (delimType.type === "stack") { - return makeStackedDelim(delim, height, center, options, mode); - } -}; - -var makeLeftRightDelim = function(delim, height, depth, options, mode) { - var axisHeight = - fontMetrics.metrics.axisHeight * options.style.sizeMultiplier; - - // Taken from TeX source, tex.web, function make_left_right - var delimiterFactor = 901; - var delimiterExtend = 5.0 / fontMetrics.metrics.ptPerEm; - - var maxDistFromAxis = Math.max( - height - axisHeight, depth + axisHeight); - - var totalHeight = Math.max( - // In real TeX, calculations are done using integral values which are - // 65536 per pt, or 655360 per em. So, the division here truncates in - // TeX but doesn't here, producing different results. If we wanted to - // exactly match TeX's calculation, we could do - // Math.floor(655360 * maxDistFromAxis / 500) * - // delimiterFactor / 655360 - // (To see the difference, compare - // x^{x^{\left(\rule{0.1em}{0.68em}\right)}} - // in TeX and KaTeX) - maxDistFromAxis / 500 * delimiterFactor, - 2 * maxDistFromAxis - delimiterExtend); - - return makeCustomSizedDelim(delim, totalHeight, true, options, mode); -}; - -module.exports = { - sizedDelim: makeSizedDelim, - customSizedDelim: makeCustomSizedDelim, - leftRightDelim: makeLeftRightDelim -}; - -},{"./Options":2,"./ParseError":3,"./Style":5,"./buildCommon":6,"./domTree":9,"./fontMetrics":10,"./parseTree":13,"./symbols":14,"./utils":15}],9:[function(require,module,exports){ -// These objects store the data about the DOM nodes we create, as well as some -// extra data. They can then be transformed into real DOM nodes with the toDOM -// function. They are useful for both storing extra properties on the nodes, as -// well as providing a way to easily work with the DOM. - -function span(classes, children, height, depth, maxFontSize, style) { - this.classes = classes || []; - this.children = children || []; - this.height = height || 0; - this.depth = depth || 0; - this.maxFontSize = maxFontSize || 0; - this.style = style || {}; -} - -span.prototype.toDOM = function() { - var span = document.createElement("span"); - - var classes = this.classes.slice(); - for (var i = classes.length - 1; i >= 0; i--) { - if (!classes[i]) { - classes.splice(i, 1); - } - } - - span.className = classes.join(" "); - - for (var style in this.style) { - if (this.style.hasOwnProperty(style)) { - span.style[style] = this.style[style]; - } - } - - for (var i = 0; i < this.children.length; i++) { - span.appendChild(this.children[i].toDOM()); - } - - return span; -}; - -function documentFragment(children, height, depth, maxFontSize) { - this.children = children || []; - this.height = height || 0; - this.depth = depth || 0; - this.maxFontSize = maxFontSize || 0; -} - -documentFragment.prototype.toDOM = function() { - var frag = document.createDocumentFragment(); - - for (var i = 0; i < this.children.length; i++) { - frag.appendChild(this.children[i].toDOM()); - } - - return frag; -}; - -function textNode(value, height, depth) { - this.value = value || ""; - this.height = height || 0; - this.depth = depth || 0; -} - -textNode.prototype.toDOM = function() { - return document.createTextNode(this.value); -}; - -module.exports = { - span: span, - documentFragment: documentFragment, - textNode: textNode -}; - -},{}],10:[function(require,module,exports){ -// These font metrics are extracted from TeX -var sigma1 = 0.025; -var sigma2 = 0; -var sigma3 = 0; -var sigma4 = 0; -var sigma5 = 0.431; -var sigma6 = 1; -var sigma7 = 0; -var sigma8 = 0.677; -var sigma9 = 0.394; -var sigma10 = 0.444; -var sigma11 = 0.686; -var sigma12 = 0.345; -var sigma13 = 0.413; -var sigma14 = 0.363; -var sigma15 = 0.289; -var sigma16 = 0.150; -var sigma17 = 0.247; -var sigma18 = 0.386; -var sigma19 = 0.050; -var sigma20 = 2.390; -var sigma21 = 0.101; -var sigma22 = 0.250; - -var xi1 = 0; -var xi2 = 0; -var xi3 = 0; -var xi4 = 0; -var xi5 = .431; -var xi6 = 1; -var xi7 = 0; -var xi8 = .04; -var xi9 = .111; -var xi10 = .166; -var xi11 = .2; -var xi12 = .6; -var xi13 = .1; - -// This value is also used in katex.less, if you change it make sure the values -// match. -var ptPerEm = 10.0; - -// This is just a mapping from common names to real metrics -var metrics = { - xHeight: sigma5, - quad: sigma6, - num1: sigma8, - num2: sigma9, - num3: sigma10, - denom1: sigma11, - denom2: sigma12, - sup1: sigma13, - sup2: sigma14, - sup3: sigma15, - sub1: sigma16, - sub2: sigma17, - supDrop: sigma18, - subDrop: sigma19, - delim1: sigma20, - delim2: sigma21, - axisHeight: sigma22, - defaultRuleThickness: xi8, - bigOpSpacing1: xi9, - bigOpSpacing2: xi10, - bigOpSpacing3: xi11, - bigOpSpacing4: xi12, - bigOpSpacing5: xi13, - ptPerEm: ptPerEm -}; - -// This map is generated by metric_parse.rb -var metricMap = {"AMS-Regular":{"65":{"depth":0.0,"height":0.68889,"italic":0.0},"66":{"depth":0.0,"height":0.68889,"italic":0.0},"67":{"depth":0.0,"height":0.68889,"italic":0.0},"68":{"depth":0.0,"height":0.68889,"italic":0.0},"69":{"depth":0.0,"height":0.68889,"italic":0.0},"70":{"depth":0.0,"height":0.68889,"italic":0.0},"71":{"depth":0.0,"height":0.68889,"italic":0.0},"72":{"depth":0.0,"height":0.68889,"italic":0.0},"73":{"depth":0.0,"height":0.68889,"italic":0.0},"74":{"depth":0.16667,"height":0.68889,"italic":0.0},"75":{"depth":0.0,"height":0.68889,"italic":0.0},"76":{"depth":0.0,"height":0.68889,"italic":0.0},"77":{"depth":0.0,"height":0.68889,"italic":0.0},"78":{"depth":0.0,"height":0.68889,"italic":0.0},"79":{"depth":0.16667,"height":0.68889,"italic":0.0},"80":{"depth":0.0,"height":0.68889,"italic":0.0},"81":{"depth":0.16667,"height":0.68889,"italic":0.0},"82":{"depth":0.0,"height":0.68889,"italic":0.0},"83":{"depth":0.0,"height":0.68889,"italic":0.0},"84":{"depth":0.0,"height":0.68889,"italic":0.0},"85":{"depth":0.0,"height":0.68889,"italic":0.0},"86":{"depth":0.0,"height":0.68889,"italic":0.0},"87":{"depth":0.0,"height":0.68889,"italic":0.0},"88":{"depth":0.0,"height":0.68889,"italic":0.0},"89":{"depth":0.0,"height":0.68889,"italic":0.0},"90":{"depth":0.0,"height":0.68889,"italic":0.0},"107":{"depth":0.0,"height":0.68889,"italic":0.0},"165":{"depth":0.0,"height":0.675,"italic":0.025},"174":{"depth":0.15559,"height":0.69224,"italic":0.0},"240":{"depth":0.0,"height":0.68889,"italic":0.0},"295":{"depth":0.0,"height":0.68889,"italic":0.0},"710":{"depth":0.0,"height":0.825,"italic":0.0},"732":{"depth":0.0,"height":0.9,"italic":0.0},"770":{"depth":0.0,"height":0.825,"italic":0.0},"771":{"depth":0.0,"height":0.9,"italic":0.0},"989":{"depth":0.08167,"height":0.58167,"italic":0.0},"1008":{"depth":0.0,"height":0.43056,"italic":0.04028},"8245":{"depth":0.0,"height":0.54986,"italic":0.0},"8463":{"depth":0.0,"height":0.68889,"italic":0.0},"8487":{"depth":0.0,"height":0.68889,"italic":0.0},"8498":{"depth":0.0,"height":0.68889,"italic":0.0},"8502":{"depth":0.0,"height":0.68889,"italic":0.0},"8503":{"depth":0.0,"height":0.68889,"italic":0.0},"8504":{"depth":0.0,"height":0.68889,"italic":0.0},"8513":{"depth":0.0,"height":0.68889,"italic":0.0},"8592":{"depth":-0.03598,"height":0.46402,"italic":0.0},"8594":{"depth":-0.03598,"height":0.46402,"italic":0.0},"8602":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8603":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8606":{"depth":0.01354,"height":0.52239,"italic":0.0},"8608":{"depth":0.01354,"height":0.52239,"italic":0.0},"8610":{"depth":0.01354,"height":0.52239,"italic":0.0},"8611":{"depth":0.01354,"height":0.52239,"italic":0.0},"8619":{"depth":0.0,"height":0.54986,"italic":0.0},"8620":{"depth":0.0,"height":0.54986,"italic":0.0},"8621":{"depth":-0.13313,"height":0.37788,"italic":0.0},"8622":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8624":{"depth":0.0,"height":0.69224,"italic":0.0},"8625":{"depth":0.0,"height":0.69224,"italic":0.0},"8630":{"depth":0.0,"height":0.43056,"italic":0.0},"8631":{"depth":0.0,"height":0.43056,"italic":0.0},"8634":{"depth":0.08198,"height":0.58198,"italic":0.0},"8635":{"depth":0.08198,"height":0.58198,"italic":0.0},"8638":{"depth":0.19444,"height":0.69224,"italic":0.0},"8639":{"depth":0.19444,"height":0.69224,"italic":0.0},"8642":{"depth":0.19444,"height":0.69224,"italic":0.0},"8643":{"depth":0.19444,"height":0.69224,"italic":0.0},"8644":{"depth":0.1808,"height":0.675,"italic":0.0},"8646":{"depth":0.1808,"height":0.675,"italic":0.0},"8647":{"depth":0.1808,"height":0.675,"italic":0.0},"8648":{"depth":0.19444,"height":0.69224,"italic":0.0},"8649":{"depth":0.1808,"height":0.675,"italic":0.0},"8650":{"depth":0.19444,"height":0.69224,"italic":0.0},"8651":{"depth":0.01354,"height":0.52239,"italic":0.0},"8652":{"depth":0.01354,"height":0.52239,"italic":0.0},"8653":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8654":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8655":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8666":{"depth":0.13667,"height":0.63667,"italic":0.0},"8667":{"depth":0.13667,"height":0.63667,"italic":0.0},"8669":{"depth":-0.13313,"height":0.37788,"italic":0.0},"8705":{"depth":0.0,"height":0.825,"italic":0.0},"8708":{"depth":0.0,"height":0.68889,"italic":0.0},"8709":{"depth":0.08167,"height":0.58167,"italic":0.0},"8717":{"depth":0.0,"height":0.43056,"italic":0.0},"8722":{"depth":-0.03598,"height":0.46402,"italic":0.0},"8724":{"depth":0.08198,"height":0.69224,"italic":0.0},"8726":{"depth":0.08167,"height":0.58167,"italic":0.0},"8733":{"depth":0.0,"height":0.69224,"italic":0.0},"8736":{"depth":0.0,"height":0.69224,"italic":0.0},"8737":{"depth":0.0,"height":0.69224,"italic":0.0},"8738":{"depth":0.03517,"height":0.52239,"italic":0.0},"8739":{"depth":0.08167,"height":0.58167,"italic":0.0},"8740":{"depth":0.25142,"height":0.74111,"italic":0.0},"8741":{"depth":0.08167,"height":0.58167,"italic":0.0},"8742":{"depth":0.25142,"height":0.74111,"italic":0.0},"8756":{"depth":0.0,"height":0.69224,"italic":0.0},"8757":{"depth":0.0,"height":0.69224,"italic":0.0},"8764":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8765":{"depth":-0.13313,"height":0.37788,"italic":0.0},"8769":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8770":{"depth":-0.03625,"height":0.46375,"italic":0.0},"8774":{"depth":0.30274,"height":0.79383,"italic":0.0},"8776":{"depth":-0.01688,"height":0.48312,"italic":0.0},"8778":{"depth":0.08167,"height":0.58167,"italic":0.0},"8782":{"depth":0.06062,"height":0.54986,"italic":0.0},"8783":{"depth":0.06062,"height":0.54986,"italic":0.0},"8785":{"depth":0.08198,"height":0.58198,"italic":0.0},"8786":{"depth":0.08198,"height":0.58198,"italic":0.0},"8787":{"depth":0.08198,"height":0.58198,"italic":0.0},"8790":{"depth":0.0,"height":0.69224,"italic":0.0},"8791":{"depth":0.22958,"height":0.72958,"italic":0.0},"8796":{"depth":0.08198,"height":0.91667,"italic":0.0},"8806":{"depth":0.25583,"height":0.75583,"italic":0.0},"8807":{"depth":0.25583,"height":0.75583,"italic":0.0},"8808":{"depth":0.25142,"height":0.75726,"italic":0.0},"8809":{"depth":0.25142,"height":0.75726,"italic":0.0},"8812":{"depth":0.25583,"height":0.75583,"italic":0.0},"8814":{"depth":0.20576,"height":0.70576,"italic":0.0},"8815":{"depth":0.20576,"height":0.70576,"italic":0.0},"8816":{"depth":0.30274,"height":0.79383,"italic":0.0},"8817":{"depth":0.30274,"height":0.79383,"italic":0.0},"8818":{"depth":0.22958,"height":0.72958,"italic":0.0},"8819":{"depth":0.22958,"height":0.72958,"italic":0.0},"8822":{"depth":0.1808,"height":0.675,"italic":0.0},"8823":{"depth":0.1808,"height":0.675,"italic":0.0},"8828":{"depth":0.13667,"height":0.63667,"italic":0.0},"8829":{"depth":0.13667,"height":0.63667,"italic":0.0},"8830":{"depth":0.22958,"height":0.72958,"italic":0.0},"8831":{"depth":0.22958,"height":0.72958,"italic":0.0},"8832":{"depth":0.20576,"height":0.70576,"italic":0.0},"8833":{"depth":0.20576,"height":0.70576,"italic":0.0},"8840":{"depth":0.30274,"height":0.79383,"italic":0.0},"8841":{"depth":0.30274,"height":0.79383,"italic":0.0},"8842":{"depth":0.13597,"height":0.63597,"italic":0.0},"8843":{"depth":0.13597,"height":0.63597,"italic":0.0},"8847":{"depth":0.03517,"height":0.54986,"italic":0.0},"8848":{"depth":0.03517,"height":0.54986,"italic":0.0},"8858":{"depth":0.08198,"height":0.58198,"italic":0.0},"8859":{"depth":0.08198,"height":0.58198,"italic":0.0},"8861":{"depth":0.08198,"height":0.58198,"italic":0.0},"8862":{"depth":0.0,"height":0.675,"italic":0.0},"8863":{"depth":0.0,"height":0.675,"italic":0.0},"8864":{"depth":0.0,"height":0.675,"italic":0.0},"8865":{"depth":0.0,"height":0.675,"italic":0.0},"8872":{"depth":0.0,"height":0.69224,"italic":0.0},"8873":{"depth":0.0,"height":0.69224,"italic":0.0},"8874":{"depth":0.0,"height":0.69224,"italic":0.0},"8876":{"depth":0.0,"height":0.68889,"italic":0.0},"8877":{"depth":0.0,"height":0.68889,"italic":0.0},"8878":{"depth":0.0,"height":0.68889,"italic":0.0},"8879":{"depth":0.0,"height":0.68889,"italic":0.0},"8882":{"depth":0.03517,"height":0.54986,"italic":0.0},"8883":{"depth":0.03517,"height":0.54986,"italic":0.0},"8884":{"depth":0.13667,"height":0.63667,"italic":0.0},"8885":{"depth":0.13667,"height":0.63667,"italic":0.0},"8888":{"depth":0.0,"height":0.54986,"italic":0.0},"8890":{"depth":0.19444,"height":0.43056,"italic":0.0},"8891":{"depth":0.19444,"height":0.69224,"italic":0.0},"8892":{"depth":0.19444,"height":0.69224,"italic":0.0},"8901":{"depth":0.0,"height":0.54986,"italic":0.0},"8903":{"depth":0.08167,"height":0.58167,"italic":0.0},"8905":{"depth":0.08167,"height":0.58167,"italic":0.0},"8906":{"depth":0.08167,"height":0.58167,"italic":0.0},"8907":{"depth":0.0,"height":0.69224,"italic":0.0},"8908":{"depth":0.0,"height":0.69224,"italic":0.0},"8909":{"depth":-0.03598,"height":0.46402,"italic":0.0},"8910":{"depth":0.0,"height":0.54986,"italic":0.0},"8911":{"depth":0.0,"height":0.54986,"italic":0.0},"8912":{"depth":0.03517,"height":0.54986,"italic":0.0},"8913":{"depth":0.03517,"height":0.54986,"italic":0.0},"8914":{"depth":0.0,"height":0.54986,"italic":0.0},"8915":{"depth":0.0,"height":0.54986,"italic":0.0},"8916":{"depth":0.0,"height":0.69224,"italic":0.0},"8918":{"depth":0.0391,"height":0.5391,"italic":0.0},"8919":{"depth":0.0391,"height":0.5391,"italic":0.0},"8920":{"depth":0.03517,"height":0.54986,"italic":0.0},"8921":{"depth":0.03517,"height":0.54986,"italic":0.0},"8922":{"depth":0.38569,"height":0.88569,"italic":0.0},"8923":{"depth":0.38569,"height":0.88569,"italic":0.0},"8926":{"depth":0.13667,"height":0.63667,"italic":0.0},"8927":{"depth":0.13667,"height":0.63667,"italic":0.0},"8928":{"depth":0.30274,"height":0.79383,"italic":0.0},"8929":{"depth":0.30274,"height":0.79383,"italic":0.0},"8934":{"depth":0.23222,"height":0.74111,"italic":0.0},"8935":{"depth":0.23222,"height":0.74111,"italic":0.0},"8936":{"depth":0.23222,"height":0.74111,"italic":0.0},"8937":{"depth":0.23222,"height":0.74111,"italic":0.0},"8938":{"depth":0.20576,"height":0.70576,"italic":0.0},"8939":{"depth":0.20576,"height":0.70576,"italic":0.0},"8940":{"depth":0.30274,"height":0.79383,"italic":0.0},"8941":{"depth":0.30274,"height":0.79383,"italic":0.0},"8994":{"depth":0.19444,"height":0.69224,"italic":0.0},"8995":{"depth":0.19444,"height":0.69224,"italic":0.0},"9416":{"depth":0.15559,"height":0.69224,"italic":0.0},"9484":{"depth":0.0,"height":0.69224,"italic":0.0},"9488":{"depth":0.0,"height":0.69224,"italic":0.0},"9492":{"depth":0.0,"height":0.37788,"italic":0.0},"9496":{"depth":0.0,"height":0.37788,"italic":0.0},"9585":{"depth":0.19444,"height":0.68889,"italic":0.0},"9586":{"depth":0.19444,"height":0.74111,"italic":0.0},"9632":{"depth":0.0,"height":0.675,"italic":0.0},"9633":{"depth":0.0,"height":0.675,"italic":0.0},"9650":{"depth":0.0,"height":0.54986,"italic":0.0},"9651":{"depth":0.0,"height":0.54986,"italic":0.0},"9654":{"depth":0.03517,"height":0.54986,"italic":0.0},"9660":{"depth":0.0,"height":0.54986,"italic":0.0},"9661":{"depth":0.0,"height":0.54986,"italic":0.0},"9664":{"depth":0.03517,"height":0.54986,"italic":0.0},"9674":{"depth":0.11111,"height":0.69224,"italic":0.0},"9733":{"depth":0.19444,"height":0.69224,"italic":0.0},"10003":{"depth":0.0,"height":0.69224,"italic":0.0},"10016":{"depth":0.0,"height":0.69224,"italic":0.0},"10731":{"depth":0.11111,"height":0.69224,"italic":0.0},"10846":{"depth":0.19444,"height":0.75583,"italic":0.0},"10877":{"depth":0.13667,"height":0.63667,"italic":0.0},"10878":{"depth":0.13667,"height":0.63667,"italic":0.0},"10885":{"depth":0.25583,"height":0.75583,"italic":0.0},"10886":{"depth":0.25583,"height":0.75583,"italic":0.0},"10887":{"depth":0.13597,"height":0.63597,"italic":0.0},"10888":{"depth":0.13597,"height":0.63597,"italic":0.0},"10889":{"depth":0.26167,"height":0.75726,"italic":0.0},"10890":{"depth":0.26167,"height":0.75726,"italic":0.0},"10891":{"depth":0.48256,"height":0.98256,"italic":0.0},"10892":{"depth":0.48256,"height":0.98256,"italic":0.0},"10901":{"depth":0.13667,"height":0.63667,"italic":0.0},"10902":{"depth":0.13667,"height":0.63667,"italic":0.0},"10933":{"depth":0.25142,"height":0.75726,"italic":0.0},"10934":{"depth":0.25142,"height":0.75726,"italic":0.0},"10935":{"depth":0.26167,"height":0.75726,"italic":0.0},"10936":{"depth":0.26167,"height":0.75726,"italic":0.0},"10937":{"depth":0.26167,"height":0.75726,"italic":0.0},"10938":{"depth":0.26167,"height":0.75726,"italic":0.0},"10949":{"depth":0.25583,"height":0.75583,"italic":0.0},"10950":{"depth":0.25583,"height":0.75583,"italic":0.0},"10955":{"depth":0.28481,"height":0.79383,"italic":0.0},"10956":{"depth":0.28481,"height":0.79383,"italic":0.0},"57350":{"depth":0.08167,"height":0.58167,"italic":0.0},"57351":{"depth":0.08167,"height":0.58167,"italic":0.0},"57352":{"depth":0.08167,"height":0.58167,"italic":0.0},"57353":{"depth":0.0,"height":0.43056,"italic":0.04028},"57356":{"depth":0.25142,"height":0.75726,"italic":0.0},"57357":{"depth":0.25142,"height":0.75726,"italic":0.0},"57358":{"depth":0.41951,"height":0.91951,"italic":0.0},"57359":{"depth":0.30274,"height":0.79383,"italic":0.0},"57360":{"depth":0.30274,"height":0.79383,"italic":0.0},"57361":{"depth":0.41951,"height":0.91951,"italic":0.0},"57366":{"depth":0.25142,"height":0.75726,"italic":0.0},"57367":{"depth":0.25142,"height":0.75726,"italic":0.0},"57368":{"depth":0.25142,"height":0.75726,"italic":0.0},"57369":{"depth":0.25142,"height":0.75726,"italic":0.0},"57370":{"depth":0.13597,"height":0.63597,"italic":0.0},"57371":{"depth":0.13597,"height":0.63597,"italic":0.0}},"Main-Bold":{"33":{"depth":0.0,"height":0.69444,"italic":0.0},"34":{"depth":0.0,"height":0.69444,"italic":0.0},"35":{"depth":0.19444,"height":0.69444,"italic":0.0},"36":{"depth":0.05556,"height":0.75,"italic":0.0},"37":{"depth":0.05556,"height":0.75,"italic":0.0},"38":{"depth":0.0,"height":0.69444,"italic":0.0},"39":{"depth":0.0,"height":0.69444,"italic":0.0},"40":{"depth":0.25,"height":0.75,"italic":0.0},"41":{"depth":0.25,"height":0.75,"italic":0.0},"42":{"depth":0.0,"height":0.75,"italic":0.0},"43":{"depth":0.13333,"height":0.63333,"italic":0.0},"44":{"depth":0.19444,"height":0.15556,"italic":0.0},"45":{"depth":0.0,"height":0.44444,"italic":0.0},"46":{"depth":0.0,"height":0.15556,"italic":0.0},"47":{"depth":0.25,"height":0.75,"italic":0.0},"48":{"depth":0.0,"height":0.64444,"italic":0.0},"49":{"depth":0.0,"height":0.64444,"italic":0.0},"50":{"depth":0.0,"height":0.64444,"italic":0.0},"51":{"depth":0.0,"height":0.64444,"italic":0.0},"52":{"depth":0.0,"height":0.64444,"italic":0.0},"53":{"depth":0.0,"height":0.64444,"italic":0.0},"54":{"depth":0.0,"height":0.64444,"italic":0.0},"55":{"depth":0.0,"height":0.64444,"italic":0.0},"56":{"depth":0.0,"height":0.64444,"italic":0.0},"57":{"depth":0.0,"height":0.64444,"italic":0.0},"58":{"depth":0.0,"height":0.44444,"italic":0.0},"59":{"depth":0.19444,"height":0.44444,"italic":0.0},"60":{"depth":0.08556,"height":0.58556,"italic":0.0},"61":{"depth":-0.10889,"height":0.39111,"italic":0.0},"62":{"depth":0.08556,"height":0.58556,"italic":0.0},"63":{"depth":0.0,"height":0.69444,"italic":0.0},"64":{"depth":0.0,"height":0.69444,"italic":0.0},"65":{"depth":0.0,"height":0.68611,"italic":0.0},"66":{"depth":0.0,"height":0.68611,"italic":0.0},"67":{"depth":0.0,"height":0.68611,"italic":0.0},"68":{"depth":0.0,"height":0.68611,"italic":0.0},"69":{"depth":0.0,"height":0.68611,"italic":0.0},"70":{"depth":0.0,"height":0.68611,"italic":0.0},"71":{"depth":0.0,"height":0.68611,"italic":0.0},"72":{"depth":0.0,"height":0.68611,"italic":0.0},"73":{"depth":0.0,"height":0.68611,"italic":0.0},"74":{"depth":0.0,"height":0.68611,"italic":0.0},"75":{"depth":0.0,"height":0.68611,"italic":0.0},"76":{"depth":0.0,"height":0.68611,"italic":0.0},"77":{"depth":0.0,"height":0.68611,"italic":0.0},"78":{"depth":0.0,"height":0.68611,"italic":0.0},"79":{"depth":0.0,"height":0.68611,"italic":0.0},"80":{"depth":0.0,"height":0.68611,"italic":0.0},"81":{"depth":0.19444,"height":0.68611,"italic":0.0},"82":{"depth":0.0,"height":0.68611,"italic":0.0},"83":{"depth":0.0,"height":0.68611,"italic":0.0},"84":{"depth":0.0,"height":0.68611,"italic":0.0},"85":{"depth":0.0,"height":0.68611,"italic":0.0},"86":{"depth":0.0,"height":0.68611,"italic":0.01597},"87":{"depth":0.0,"height":0.68611,"italic":0.01597},"88":{"depth":0.0,"height":0.68611,"italic":0.0},"89":{"depth":0.0,"height":0.68611,"italic":0.02875},"90":{"depth":0.0,"height":0.68611,"italic":0.0},"91":{"depth":0.25,"height":0.75,"italic":0.0},"92":{"depth":0.25,"height":0.75,"italic":0.0},"93":{"depth":0.25,"height":0.75,"italic":0.0},"94":{"depth":0.0,"height":0.69444,"italic":0.0},"95":{"depth":0.31,"height":0.13444,"italic":0.03194},"96":{"depth":0.0,"height":0.69444,"italic":0.0},"97":{"depth":0.0,"height":0.44444,"italic":0.0},"98":{"depth":0.0,"height":0.69444,"italic":0.0},"99":{"depth":0.0,"height":0.44444,"italic":0.0},"100":{"depth":0.0,"height":0.69444,"italic":0.0},"101":{"depth":0.0,"height":0.44444,"italic":0.0},"102":{"depth":0.0,"height":0.69444,"italic":0.10903},"103":{"depth":0.19444,"height":0.44444,"italic":0.01597},"104":{"depth":0.0,"height":0.69444,"italic":0.0},"105":{"depth":0.0,"height":0.69444,"italic":0.0},"106":{"depth":0.19444,"height":0.69444,"italic":0.0},"107":{"depth":0.0,"height":0.69444,"italic":0.0},"108":{"depth":0.0,"height":0.69444,"italic":0.0},"109":{"depth":0.0,"height":0.44444,"italic":0.0},"110":{"depth":0.0,"height":0.44444,"italic":0.0},"111":{"depth":0.0,"height":0.44444,"italic":0.0},"112":{"depth":0.19444,"height":0.44444,"italic":0.0},"113":{"depth":0.19444,"height":0.44444,"italic":0.0},"114":{"depth":0.0,"height":0.44444,"italic":0.0},"115":{"depth":0.0,"height":0.44444,"italic":0.0},"116":{"depth":0.0,"height":0.63492,"italic":0.0},"117":{"depth":0.0,"height":0.44444,"italic":0.0},"118":{"depth":0.0,"height":0.44444,"italic":0.01597},"119":{"depth":0.0,"height":0.44444,"italic":0.01597},"120":{"depth":0.0,"height":0.44444,"italic":0.0},"121":{"depth":0.19444,"height":0.44444,"italic":0.01597},"122":{"depth":0.0,"height":0.44444,"italic":0.0},"123":{"depth":0.25,"height":0.75,"italic":0.0},"124":{"depth":0.25,"height":0.75,"italic":0.0},"125":{"depth":0.25,"height":0.75,"italic":0.0},"126":{"depth":0.35,"height":0.34444,"italic":0.0},"168":{"depth":0.0,"height":0.69444,"italic":0.0},"172":{"depth":0.0,"height":0.44444,"italic":0.0},"175":{"depth":0.0,"height":0.59611,"italic":0.0},"176":{"depth":0.0,"height":0.69444,"italic":0.0},"177":{"depth":0.13333,"height":0.63333,"italic":0.0},"180":{"depth":0.0,"height":0.69444,"italic":0.0},"215":{"depth":0.13333,"height":0.63333,"italic":0.0},"247":{"depth":0.13333,"height":0.63333,"italic":0.0},"305":{"depth":0.0,"height":0.44444,"italic":0.0},"567":{"depth":0.19444,"height":0.44444,"italic":0.0},"710":{"depth":0.0,"height":0.69444,"italic":0.0},"711":{"depth":0.0,"height":0.63194,"italic":0.0},"713":{"depth":0.0,"height":0.59611,"italic":0.0},"714":{"depth":0.0,"height":0.69444,"italic":0.0},"715":{"depth":0.0,"height":0.69444,"italic":0.0},"728":{"depth":0.0,"height":0.69444,"italic":0.0},"729":{"depth":0.0,"height":0.69444,"italic":0.0},"730":{"depth":0.0,"height":0.69444,"italic":0.0},"732":{"depth":0.0,"height":0.69444,"italic":0.0},"768":{"depth":0.0,"height":0.69444,"italic":0.0},"769":{"depth":0.0,"height":0.69444,"italic":0.0},"770":{"depth":0.0,"height":0.69444,"italic":0.0},"771":{"depth":0.0,"height":0.69444,"italic":0.0},"772":{"depth":0.0,"height":0.59611,"italic":0.0},"774":{"depth":0.0,"height":0.69444,"italic":0.0},"775":{"depth":0.0,"height":0.69444,"italic":0.0},"776":{"depth":0.0,"height":0.69444,"italic":0.0},"778":{"depth":0.0,"height":0.69444,"italic":0.0},"779":{"depth":0.0,"height":0.69444,"italic":0.0},"780":{"depth":0.0,"height":0.63194,"italic":0.0},"824":{"depth":0.19444,"height":0.69444,"italic":0.0},"915":{"depth":0.0,"height":0.68611,"italic":0.0},"916":{"depth":0.0,"height":0.68611,"italic":0.0},"920":{"depth":0.0,"height":0.68611,"italic":0.0},"923":{"depth":0.0,"height":0.68611,"italic":0.0},"926":{"depth":0.0,"height":0.68611,"italic":0.0},"928":{"depth":0.0,"height":0.68611,"italic":0.0},"931":{"depth":0.0,"height":0.68611,"italic":0.0},"933":{"depth":0.0,"height":0.68611,"italic":0.0},"934":{"depth":0.0,"height":0.68611,"italic":0.0},"936":{"depth":0.0,"height":0.68611,"italic":0.0},"937":{"depth":0.0,"height":0.68611,"italic":0.0},"8211":{"depth":0.0,"height":0.44444,"italic":0.03194},"8212":{"depth":0.0,"height":0.44444,"italic":0.03194},"8216":{"depth":0.0,"height":0.69444,"italic":0.0},"8217":{"depth":0.0,"height":0.69444,"italic":0.0},"8220":{"depth":0.0,"height":0.69444,"italic":0.0},"8221":{"depth":0.0,"height":0.69444,"italic":0.0},"8224":{"depth":0.19444,"height":0.69444,"italic":0.0},"8225":{"depth":0.19444,"height":0.69444,"italic":0.0},"8242":{"depth":0.0,"height":0.55556,"italic":0.0},"8407":{"depth":0.0,"height":0.72444,"italic":0.15486},"8463":{"depth":0.0,"height":0.69444,"italic":0.0},"8465":{"depth":0.0,"height":0.69444,"italic":0.0},"8467":{"depth":0.0,"height":0.69444,"italic":0.0},"8472":{"depth":0.19444,"height":0.44444,"italic":0.0},"8476":{"depth":0.0,"height":0.69444,"italic":0.0},"8501":{"depth":0.0,"height":0.69444,"italic":0.0},"8592":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8593":{"depth":0.19444,"height":0.69444,"italic":0.0},"8594":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8595":{"depth":0.19444,"height":0.69444,"italic":0.0},"8596":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8597":{"depth":0.25,"height":0.75,"italic":0.0},"8598":{"depth":0.19444,"height":0.69444,"italic":0.0},"8599":{"depth":0.19444,"height":0.69444,"italic":0.0},"8600":{"depth":0.19444,"height":0.69444,"italic":0.0},"8601":{"depth":0.19444,"height":0.69444,"italic":0.0},"8636":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8637":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8640":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8641":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8656":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8657":{"depth":0.19444,"height":0.69444,"italic":0.0},"8658":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8659":{"depth":0.19444,"height":0.69444,"italic":0.0},"8660":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8661":{"depth":0.25,"height":0.75,"italic":0.0},"8704":{"depth":0.0,"height":0.69444,"italic":0.0},"8706":{"depth":0.0,"height":0.69444,"italic":0.06389},"8707":{"depth":0.0,"height":0.69444,"italic":0.0},"8709":{"depth":0.05556,"height":0.75,"italic":0.0},"8711":{"depth":0.0,"height":0.68611,"italic":0.0},"8712":{"depth":0.08556,"height":0.58556,"italic":0.0},"8715":{"depth":0.08556,"height":0.58556,"italic":0.0},"8722":{"depth":0.13333,"height":0.63333,"italic":0.0},"8723":{"depth":0.13333,"height":0.63333,"italic":0.0},"8725":{"depth":0.25,"height":0.75,"italic":0.0},"8726":{"depth":0.25,"height":0.75,"italic":0.0},"8727":{"depth":-0.02778,"height":0.47222,"italic":0.0},"8728":{"depth":-0.02639,"height":0.47361,"italic":0.0},"8729":{"depth":-0.02639,"height":0.47361,"italic":0.0},"8730":{"depth":0.18,"height":0.82,"italic":0.0},"8733":{"depth":0.0,"height":0.44444,"italic":0.0},"8734":{"depth":0.0,"height":0.44444,"italic":0.0},"8736":{"depth":0.0,"height":0.69224,"italic":0.0},"8739":{"depth":0.25,"height":0.75,"italic":0.0},"8741":{"depth":0.25,"height":0.75,"italic":0.0},"8743":{"depth":0.0,"height":0.55556,"italic":0.0},"8744":{"depth":0.0,"height":0.55556,"italic":0.0},"8745":{"depth":0.0,"height":0.55556,"italic":0.0},"8746":{"depth":0.0,"height":0.55556,"italic":0.0},"8747":{"depth":0.19444,"height":0.69444,"italic":0.12778},"8764":{"depth":-0.10889,"height":0.39111,"italic":0.0},"8768":{"depth":0.19444,"height":0.69444,"italic":0.0},"8771":{"depth":0.00222,"height":0.50222,"italic":0.0},"8776":{"depth":0.02444,"height":0.52444,"italic":0.0},"8781":{"depth":0.00222,"height":0.50222,"italic":0.0},"8801":{"depth":0.00222,"height":0.50222,"italic":0.0},"8804":{"depth":0.19667,"height":0.69667,"italic":0.0},"8805":{"depth":0.19667,"height":0.69667,"italic":0.0},"8810":{"depth":0.08556,"height":0.58556,"italic":0.0},"8811":{"depth":0.08556,"height":0.58556,"italic":0.0},"8826":{"depth":0.08556,"height":0.58556,"italic":0.0},"8827":{"depth":0.08556,"height":0.58556,"italic":0.0},"8834":{"depth":0.08556,"height":0.58556,"italic":0.0},"8835":{"depth":0.08556,"height":0.58556,"italic":0.0},"8838":{"depth":0.19667,"height":0.69667,"italic":0.0},"8839":{"depth":0.19667,"height":0.69667,"italic":0.0},"8846":{"depth":0.0,"height":0.55556,"italic":0.0},"8849":{"depth":0.19667,"height":0.69667,"italic":0.0},"8850":{"depth":0.19667,"height":0.69667,"italic":0.0},"8851":{"depth":0.0,"height":0.55556,"italic":0.0},"8852":{"depth":0.0,"height":0.55556,"italic":0.0},"8853":{"depth":0.13333,"height":0.63333,"italic":0.0},"8854":{"depth":0.13333,"height":0.63333,"italic":0.0},"8855":{"depth":0.13333,"height":0.63333,"italic":0.0},"8856":{"depth":0.13333,"height":0.63333,"italic":0.0},"8857":{"depth":0.13333,"height":0.63333,"italic":0.0},"8866":{"depth":0.0,"height":0.69444,"italic":0.0},"8867":{"depth":0.0,"height":0.69444,"italic":0.0},"8868":{"depth":0.0,"height":0.69444,"italic":0.0},"8869":{"depth":0.0,"height":0.69444,"italic":0.0},"8900":{"depth":-0.02639,"height":0.47361,"italic":0.0},"8901":{"depth":-0.02639,"height":0.47361,"italic":0.0},"8902":{"depth":-0.02778,"height":0.47222,"italic":0.0},"8968":{"depth":0.25,"height":0.75,"italic":0.0},"8969":{"depth":0.25,"height":0.75,"italic":0.0},"8970":{"depth":0.25,"height":0.75,"italic":0.0},"8971":{"depth":0.25,"height":0.75,"italic":0.0},"8994":{"depth":-0.13889,"height":0.36111,"italic":0.0},"8995":{"depth":-0.13889,"height":0.36111,"italic":0.0},"9651":{"depth":0.19444,"height":0.69444,"italic":0.0},"9657":{"depth":-0.02778,"height":0.47222,"italic":0.0},"9661":{"depth":0.19444,"height":0.69444,"italic":0.0},"9667":{"depth":-0.02778,"height":0.47222,"italic":0.0},"9711":{"depth":0.19444,"height":0.69444,"italic":0.0},"9824":{"depth":0.12963,"height":0.69444,"italic":0.0},"9825":{"depth":0.12963,"height":0.69444,"italic":0.0},"9826":{"depth":0.12963,"height":0.69444,"italic":0.0},"9827":{"depth":0.12963,"height":0.69444,"italic":0.0},"9837":{"depth":0.0,"height":0.75,"italic":0.0},"9838":{"depth":0.19444,"height":0.69444,"italic":0.0},"9839":{"depth":0.19444,"height":0.69444,"italic":0.0},"10216":{"depth":0.25,"height":0.75,"italic":0.0},"10217":{"depth":0.25,"height":0.75,"italic":0.0},"10815":{"depth":0.0,"height":0.68611,"italic":0.0},"10927":{"depth":0.19667,"height":0.69667,"italic":0.0},"10928":{"depth":0.19667,"height":0.69667,"italic":0.0}},"Main-Italic":{"33":{"depth":0.0,"height":0.69444,"italic":0.12417},"34":{"depth":0.0,"height":0.69444,"italic":0.06961},"35":{"depth":0.19444,"height":0.69444,"italic":0.06616},"37":{"depth":0.05556,"height":0.75,"italic":0.13639},"38":{"depth":0.0,"height":0.69444,"italic":0.09694},"39":{"depth":0.0,"height":0.69444,"italic":0.12417},"40":{"depth":0.25,"height":0.75,"italic":0.16194},"41":{"depth":0.25,"height":0.75,"italic":0.03694},"42":{"depth":0.0,"height":0.75,"italic":0.14917},"43":{"depth":0.05667,"height":0.56167,"italic":0.03694},"44":{"depth":0.19444,"height":0.10556,"italic":0.0},"45":{"depth":0.0,"height":0.43056,"italic":0.02826},"46":{"depth":0.0,"height":0.10556,"italic":0.0},"47":{"depth":0.25,"height":0.75,"italic":0.16194},"48":{"depth":0.0,"height":0.64444,"italic":0.13556},"49":{"depth":0.0,"height":0.64444,"italic":0.13556},"50":{"depth":0.0,"height":0.64444,"italic":0.13556},"51":{"depth":0.0,"height":0.64444,"italic":0.13556},"52":{"depth":0.19444,"height":0.64444,"italic":0.13556},"53":{"depth":0.0,"height":0.64444,"italic":0.13556},"54":{"depth":0.0,"height":0.64444,"italic":0.13556},"55":{"depth":0.19444,"height":0.64444,"italic":0.13556},"56":{"depth":0.0,"height":0.64444,"italic":0.13556},"57":{"depth":0.0,"height":0.64444,"italic":0.13556},"58":{"depth":0.0,"height":0.43056,"italic":0.0582},"59":{"depth":0.19444,"height":0.43056,"italic":0.0582},"61":{"depth":-0.13313,"height":0.36687,"italic":0.06616},"63":{"depth":0.0,"height":0.69444,"italic":0.1225},"64":{"depth":0.0,"height":0.69444,"italic":0.09597},"65":{"depth":0.0,"height":0.68333,"italic":0.0},"66":{"depth":0.0,"height":0.68333,"italic":0.10257},"67":{"depth":0.0,"height":0.68333,"italic":0.14528},"68":{"depth":0.0,"height":0.68333,"italic":0.09403},"69":{"depth":0.0,"height":0.68333,"italic":0.12028},"70":{"depth":0.0,"height":0.68333,"italic":0.13305},"71":{"depth":0.0,"height":0.68333,"italic":0.08722},"72":{"depth":0.0,"height":0.68333,"italic":0.16389},"73":{"depth":0.0,"height":0.68333,"italic":0.15806},"74":{"depth":0.0,"height":0.68333,"italic":0.14028},"75":{"depth":0.0,"height":0.68333,"italic":0.14528},"76":{"depth":0.0,"height":0.68333,"italic":0.0},"77":{"depth":0.0,"height":0.68333,"italic":0.16389},"78":{"depth":0.0,"height":0.68333,"italic":0.16389},"79":{"depth":0.0,"height":0.68333,"italic":0.09403},"80":{"depth":0.0,"height":0.68333,"italic":0.10257},"81":{"depth":0.19444,"height":0.68333,"italic":0.09403},"82":{"depth":0.0,"height":0.68333,"italic":0.03868},"83":{"depth":0.0,"height":0.68333,"italic":0.11972},"84":{"depth":0.0,"height":0.68333,"italic":0.13305},"85":{"depth":0.0,"height":0.68333,"italic":0.16389},"86":{"depth":0.0,"height":0.68333,"italic":0.18361},"87":{"depth":0.0,"height":0.68333,"italic":0.18361},"88":{"depth":0.0,"height":0.68333,"italic":0.15806},"89":{"depth":0.0,"height":0.68333,"italic":0.19383},"90":{"depth":0.0,"height":0.68333,"italic":0.14528},"91":{"depth":0.25,"height":0.75,"italic":0.1875},"93":{"depth":0.25,"height":0.75,"italic":0.10528},"94":{"depth":0.0,"height":0.69444,"italic":0.06646},"95":{"depth":0.31,"height":0.12056,"italic":0.09208},"97":{"depth":0.0,"height":0.43056,"italic":0.07671},"98":{"depth":0.0,"height":0.69444,"italic":0.06312},"99":{"depth":0.0,"height":0.43056,"italic":0.05653},"100":{"depth":0.0,"height":0.69444,"italic":0.10333},"101":{"depth":0.0,"height":0.43056,"italic":0.07514},"102":{"depth":0.19444,"height":0.69444,"italic":0.21194},"103":{"depth":0.19444,"height":0.43056,"italic":0.08847},"104":{"depth":0.0,"height":0.69444,"italic":0.07671},"105":{"depth":0.0,"height":0.65536,"italic":0.1019},"106":{"depth":0.19444,"height":0.65536,"italic":0.14467},"107":{"depth":0.0,"height":0.69444,"italic":0.10764},"108":{"depth":0.0,"height":0.69444,"italic":0.10333},"109":{"depth":0.0,"height":0.43056,"italic":0.07671},"110":{"depth":0.0,"height":0.43056,"italic":0.07671},"111":{"depth":0.0,"height":0.43056,"italic":0.06312},"112":{"depth":0.19444,"height":0.43056,"italic":0.06312},"113":{"depth":0.19444,"height":0.43056,"italic":0.08847},"114":{"depth":0.0,"height":0.43056,"italic":0.10764},"115":{"depth":0.0,"height":0.43056,"italic":0.08208},"116":{"depth":0.0,"height":0.61508,"italic":0.09486},"117":{"depth":0.0,"height":0.43056,"italic":0.07671},"118":{"depth":0.0,"height":0.43056,"italic":0.10764},"119":{"depth":0.0,"height":0.43056,"italic":0.10764},"120":{"depth":0.0,"height":0.43056,"italic":0.12042},"121":{"depth":0.19444,"height":0.43056,"italic":0.08847},"122":{"depth":0.0,"height":0.43056,"italic":0.12292},"126":{"depth":0.35,"height":0.31786,"italic":0.11585},"163":{"depth":0.0,"height":0.69444,"italic":0.0},"305":{"depth":0.0,"height":0.43056,"italic":0.07671},"567":{"depth":0.19444,"height":0.43056,"italic":0.03736},"768":{"depth":0.0,"height":0.69444,"italic":0.0},"769":{"depth":0.0,"height":0.69444,"italic":0.09694},"770":{"depth":0.0,"height":0.69444,"italic":0.06646},"771":{"depth":0.0,"height":0.66786,"italic":0.11585},"772":{"depth":0.0,"height":0.56167,"italic":0.10333},"774":{"depth":0.0,"height":0.69444,"italic":0.10806},"775":{"depth":0.0,"height":0.66786,"italic":0.11752},"776":{"depth":0.0,"height":0.66786,"italic":0.10474},"778":{"depth":0.0,"height":0.69444,"italic":0.0},"779":{"depth":0.0,"height":0.69444,"italic":0.1225},"780":{"depth":0.0,"height":0.62847,"italic":0.08295},"915":{"depth":0.0,"height":0.68333,"italic":0.13305},"916":{"depth":0.0,"height":0.68333,"italic":0.0},"920":{"depth":0.0,"height":0.68333,"italic":0.09403},"923":{"depth":0.0,"height":0.68333,"italic":0.0},"926":{"depth":0.0,"height":0.68333,"italic":0.15294},"928":{"depth":0.0,"height":0.68333,"italic":0.16389},"931":{"depth":0.0,"height":0.68333,"italic":0.12028},"933":{"depth":0.0,"height":0.68333,"italic":0.11111},"934":{"depth":0.0,"height":0.68333,"italic":0.05986},"936":{"depth":0.0,"height":0.68333,"italic":0.11111},"937":{"depth":0.0,"height":0.68333,"italic":0.10257},"8211":{"depth":0.0,"height":0.43056,"italic":0.09208},"8212":{"depth":0.0,"height":0.43056,"italic":0.09208},"8216":{"depth":0.0,"height":0.69444,"italic":0.12417},"8217":{"depth":0.0,"height":0.69444,"italic":0.12417},"8220":{"depth":0.0,"height":0.69444,"italic":0.1685},"8221":{"depth":0.0,"height":0.69444,"italic":0.06961},"8463":{"depth":0.0,"height":0.68889,"italic":0.0}},"Main-Regular":{"33":{"depth":0.0,"height":0.69444,"italic":0.0},"34":{"depth":0.0,"height":0.69444,"italic":0.0},"35":{"depth":0.19444,"height":0.69444,"italic":0.0},"36":{"depth":0.05556,"height":0.75,"italic":0.0},"37":{"depth":0.05556,"height":0.75,"italic":0.0},"38":{"depth":0.0,"height":0.69444,"italic":0.0},"39":{"depth":0.0,"height":0.69444,"italic":0.0},"40":{"depth":0.25,"height":0.75,"italic":0.0},"41":{"depth":0.25,"height":0.75,"italic":0.0},"42":{"depth":0.0,"height":0.75,"italic":0.0},"43":{"depth":0.08333,"height":0.58333,"italic":0.0},"44":{"depth":0.19444,"height":0.10556,"italic":0.0},"45":{"depth":0.0,"height":0.43056,"italic":0.0},"46":{"depth":0.0,"height":0.10556,"italic":0.0},"47":{"depth":0.25,"height":0.75,"italic":0.0},"48":{"depth":0.0,"height":0.64444,"italic":0.0},"49":{"depth":0.0,"height":0.64444,"italic":0.0},"50":{"depth":0.0,"height":0.64444,"italic":0.0},"51":{"depth":0.0,"height":0.64444,"italic":0.0},"52":{"depth":0.0,"height":0.64444,"italic":0.0},"53":{"depth":0.0,"height":0.64444,"italic":0.0},"54":{"depth":0.0,"height":0.64444,"italic":0.0},"55":{"depth":0.0,"height":0.64444,"italic":0.0},"56":{"depth":0.0,"height":0.64444,"italic":0.0},"57":{"depth":0.0,"height":0.64444,"italic":0.0},"58":{"depth":0.0,"height":0.43056,"italic":0.0},"59":{"depth":0.19444,"height":0.43056,"italic":0.0},"60":{"depth":0.0391,"height":0.5391,"italic":0.0},"61":{"depth":-0.13313,"height":0.36687,"italic":0.0},"62":{"depth":0.0391,"height":0.5391,"italic":0.0},"63":{"depth":0.0,"height":0.69444,"italic":0.0},"64":{"depth":0.0,"height":0.69444,"italic":0.0},"65":{"depth":0.0,"height":0.68333,"italic":0.0},"66":{"depth":0.0,"height":0.68333,"italic":0.0},"67":{"depth":0.0,"height":0.68333,"italic":0.0},"68":{"depth":0.0,"height":0.68333,"italic":0.0},"69":{"depth":0.0,"height":0.68333,"italic":0.0},"70":{"depth":0.0,"height":0.68333,"italic":0.0},"71":{"depth":0.0,"height":0.68333,"italic":0.0},"72":{"depth":0.0,"height":0.68333,"italic":0.0},"73":{"depth":0.0,"height":0.68333,"italic":0.0},"74":{"depth":0.0,"height":0.68333,"italic":0.0},"75":{"depth":0.0,"height":0.68333,"italic":0.0},"76":{"depth":0.0,"height":0.68333,"italic":0.0},"77":{"depth":0.0,"height":0.68333,"italic":0.0},"78":{"depth":0.0,"height":0.68333,"italic":0.0},"79":{"depth":0.0,"height":0.68333,"italic":0.0},"80":{"depth":0.0,"height":0.68333,"italic":0.0},"81":{"depth":0.19444,"height":0.68333,"italic":0.0},"82":{"depth":0.0,"height":0.68333,"italic":0.0},"83":{"depth":0.0,"height":0.68333,"italic":0.0},"84":{"depth":0.0,"height":0.68333,"italic":0.0},"85":{"depth":0.0,"height":0.68333,"italic":0.0},"86":{"depth":0.0,"height":0.68333,"italic":0.01389},"87":{"depth":0.0,"height":0.68333,"italic":0.01389},"88":{"depth":0.0,"height":0.68333,"italic":0.0},"89":{"depth":0.0,"height":0.68333,"italic":0.025},"90":{"depth":0.0,"height":0.68333,"italic":0.0},"91":{"depth":0.25,"height":0.75,"italic":0.0},"92":{"depth":0.25,"height":0.75,"italic":0.0},"93":{"depth":0.25,"height":0.75,"italic":0.0},"94":{"depth":0.0,"height":0.69444,"italic":0.0},"95":{"depth":0.31,"height":0.12056,"italic":0.02778},"96":{"depth":0.0,"height":0.69444,"italic":0.0},"97":{"depth":0.0,"height":0.43056,"italic":0.0},"98":{"depth":0.0,"height":0.69444,"italic":0.0},"99":{"depth":0.0,"height":0.43056,"italic":0.0},"100":{"depth":0.0,"height":0.69444,"italic":0.0},"101":{"depth":0.0,"height":0.43056,"italic":0.0},"102":{"depth":0.0,"height":0.69444,"italic":0.07778},"103":{"depth":0.19444,"height":0.43056,"italic":0.01389},"104":{"depth":0.0,"height":0.69444,"italic":0.0},"105":{"depth":0.0,"height":0.66786,"italic":0.0},"106":{"depth":0.19444,"height":0.66786,"italic":0.0},"107":{"depth":0.0,"height":0.69444,"italic":0.0},"108":{"depth":0.0,"height":0.69444,"italic":0.0},"109":{"depth":0.0,"height":0.43056,"italic":0.0},"110":{"depth":0.0,"height":0.43056,"italic":0.0},"111":{"depth":0.0,"height":0.43056,"italic":0.0},"112":{"depth":0.19444,"height":0.43056,"italic":0.0},"113":{"depth":0.19444,"height":0.43056,"italic":0.0},"114":{"depth":0.0,"height":0.43056,"italic":0.0},"115":{"depth":0.0,"height":0.43056,"italic":0.0},"116":{"depth":0.0,"height":0.61508,"italic":0.0},"117":{"depth":0.0,"height":0.43056,"italic":0.0},"118":{"depth":0.0,"height":0.43056,"italic":0.01389},"119":{"depth":0.0,"height":0.43056,"italic":0.01389},"120":{"depth":0.0,"height":0.43056,"italic":0.0},"121":{"depth":0.19444,"height":0.43056,"italic":0.01389},"122":{"depth":0.0,"height":0.43056,"italic":0.0},"123":{"depth":0.25,"height":0.75,"italic":0.0},"124":{"depth":0.25,"height":0.75,"italic":0.0},"125":{"depth":0.25,"height":0.75,"italic":0.0},"126":{"depth":0.35,"height":0.31786,"italic":0.0},"168":{"depth":0.0,"height":0.66786,"italic":0.0},"172":{"depth":0.0,"height":0.43056,"italic":0.0},"175":{"depth":0.0,"height":0.56778,"italic":0.0},"176":{"depth":0.0,"height":0.69444,"italic":0.0},"177":{"depth":0.08333,"height":0.58333,"italic":0.0},"180":{"depth":0.0,"height":0.69444,"italic":0.0},"215":{"depth":0.08333,"height":0.58333,"italic":0.0},"247":{"depth":0.08333,"height":0.58333,"italic":0.0},"305":{"depth":0.0,"height":0.43056,"italic":0.0},"567":{"depth":0.19444,"height":0.43056,"italic":0.0},"710":{"depth":0.0,"height":0.69444,"italic":0.0},"711":{"depth":0.0,"height":0.62847,"italic":0.0},"713":{"depth":0.0,"height":0.56778,"italic":0.0},"714":{"depth":0.0,"height":0.69444,"italic":0.0},"715":{"depth":0.0,"height":0.69444,"italic":0.0},"728":{"depth":0.0,"height":0.69444,"italic":0.0},"729":{"depth":0.0,"height":0.66786,"italic":0.0},"730":{"depth":0.0,"height":0.69444,"italic":0.0},"732":{"depth":0.0,"height":0.66786,"italic":0.0},"768":{"depth":0.0,"height":0.69444,"italic":0.0},"769":{"depth":0.0,"height":0.69444,"italic":0.0},"770":{"depth":0.0,"height":0.69444,"italic":0.0},"771":{"depth":0.0,"height":0.66786,"italic":0.0},"772":{"depth":0.0,"height":0.56778,"italic":0.0},"774":{"depth":0.0,"height":0.69444,"italic":0.0},"775":{"depth":0.0,"height":0.66786,"italic":0.0},"776":{"depth":0.0,"height":0.66786,"italic":0.0},"778":{"depth":0.0,"height":0.69444,"italic":0.0},"779":{"depth":0.0,"height":0.69444,"italic":0.0},"780":{"depth":0.0,"height":0.62847,"italic":0.0},"824":{"depth":0.19444,"height":0.69444,"italic":0.0},"915":{"depth":0.0,"height":0.68333,"italic":0.0},"916":{"depth":0.0,"height":0.68333,"italic":0.0},"920":{"depth":0.0,"height":0.68333,"italic":0.0},"923":{"depth":0.0,"height":0.68333,"italic":0.0},"926":{"depth":0.0,"height":0.68333,"italic":0.0},"928":{"depth":0.0,"height":0.68333,"italic":0.0},"931":{"depth":0.0,"height":0.68333,"italic":0.0},"933":{"depth":0.0,"height":0.68333,"italic":0.0},"934":{"depth":0.0,"height":0.68333,"italic":0.0},"936":{"depth":0.0,"height":0.68333,"italic":0.0},"937":{"depth":0.0,"height":0.68333,"italic":0.0},"8211":{"depth":0.0,"height":0.43056,"italic":0.02778},"8212":{"depth":0.0,"height":0.43056,"italic":0.02778},"8216":{"depth":0.0,"height":0.69444,"italic":0.0},"8217":{"depth":0.0,"height":0.69444,"italic":0.0},"8220":{"depth":0.0,"height":0.69444,"italic":0.0},"8221":{"depth":0.0,"height":0.69444,"italic":0.0},"8224":{"depth":0.19444,"height":0.69444,"italic":0.0},"8225":{"depth":0.19444,"height":0.69444,"italic":0.0},"8242":{"depth":0.0,"height":0.55556,"italic":0.0},"8407":{"depth":0.0,"height":0.71444,"italic":0.15382},"8463":{"depth":0.0,"height":0.68889,"italic":0.0},"8465":{"depth":0.0,"height":0.69444,"italic":0.0},"8467":{"depth":0.0,"height":0.69444,"italic":0.0},"8472":{"depth":0.19444,"height":0.43056,"italic":0.0},"8476":{"depth":0.0,"height":0.69444,"italic":0.0},"8501":{"depth":0.0,"height":0.69444,"italic":0.0},"8592":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8593":{"depth":0.19444,"height":0.69444,"italic":0.0},"8594":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8595":{"depth":0.19444,"height":0.69444,"italic":0.0},"8596":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8597":{"depth":0.25,"height":0.75,"italic":0.0},"8598":{"depth":0.19444,"height":0.69444,"italic":0.0},"8599":{"depth":0.19444,"height":0.69444,"italic":0.0},"8600":{"depth":0.19444,"height":0.69444,"italic":0.0},"8601":{"depth":0.19444,"height":0.69444,"italic":0.0},"8636":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8637":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8640":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8641":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8656":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8657":{"depth":0.19444,"height":0.69444,"italic":0.0},"8658":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8659":{"depth":0.19444,"height":0.69444,"italic":0.0},"8660":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8661":{"depth":0.25,"height":0.75,"italic":0.0},"8704":{"depth":0.0,"height":0.69444,"italic":0.0},"8706":{"depth":0.0,"height":0.69444,"italic":0.05556},"8707":{"depth":0.0,"height":0.69444,"italic":0.0},"8709":{"depth":0.05556,"height":0.75,"italic":0.0},"8711":{"depth":0.0,"height":0.68333,"italic":0.0},"8712":{"depth":0.0391,"height":0.5391,"italic":0.0},"8715":{"depth":0.0391,"height":0.5391,"italic":0.0},"8722":{"depth":0.08333,"height":0.58333,"italic":0.0},"8723":{"depth":0.08333,"height":0.58333,"italic":0.0},"8725":{"depth":0.25,"height":0.75,"italic":0.0},"8726":{"depth":0.25,"height":0.75,"italic":0.0},"8727":{"depth":-0.03472,"height":0.46528,"italic":0.0},"8728":{"depth":-0.05555,"height":0.44445,"italic":0.0},"8729":{"depth":-0.05555,"height":0.44445,"italic":0.0},"8730":{"depth":0.2,"height":0.8,"italic":0.0},"8733":{"depth":0.0,"height":0.43056,"italic":0.0},"8734":{"depth":0.0,"height":0.43056,"italic":0.0},"8736":{"depth":0.0,"height":0.69224,"italic":0.0},"8739":{"depth":0.25,"height":0.75,"italic":0.0},"8741":{"depth":0.25,"height":0.75,"italic":0.0},"8743":{"depth":0.0,"height":0.55556,"italic":0.0},"8744":{"depth":0.0,"height":0.55556,"italic":0.0},"8745":{"depth":0.0,"height":0.55556,"italic":0.0},"8746":{"depth":0.0,"height":0.55556,"italic":0.0},"8747":{"depth":0.19444,"height":0.69444,"italic":0.11111},"8764":{"depth":-0.13313,"height":0.36687,"italic":0.0},"8768":{"depth":0.19444,"height":0.69444,"italic":0.0},"8771":{"depth":-0.03625,"height":0.46375,"italic":0.0},"8776":{"depth":-0.01688,"height":0.48312,"italic":0.0},"8781":{"depth":-0.03625,"height":0.46375,"italic":0.0},"8801":{"depth":-0.03625,"height":0.46375,"italic":0.0},"8804":{"depth":0.13597,"height":0.63597,"italic":0.0},"8805":{"depth":0.13597,"height":0.63597,"italic":0.0},"8810":{"depth":0.0391,"height":0.5391,"italic":0.0},"8811":{"depth":0.0391,"height":0.5391,"italic":0.0},"8826":{"depth":0.0391,"height":0.5391,"italic":0.0},"8827":{"depth":0.0391,"height":0.5391,"italic":0.0},"8834":{"depth":0.0391,"height":0.5391,"italic":0.0},"8835":{"depth":0.0391,"height":0.5391,"italic":0.0},"8838":{"depth":0.13597,"height":0.63597,"italic":0.0},"8839":{"depth":0.13597,"height":0.63597,"italic":0.0},"8846":{"depth":0.0,"height":0.55556,"italic":0.0},"8849":{"depth":0.13597,"height":0.63597,"italic":0.0},"8850":{"depth":0.13597,"height":0.63597,"italic":0.0},"8851":{"depth":0.0,"height":0.55556,"italic":0.0},"8852":{"depth":0.0,"height":0.55556,"italic":0.0},"8853":{"depth":0.08333,"height":0.58333,"italic":0.0},"8854":{"depth":0.08333,"height":0.58333,"italic":0.0},"8855":{"depth":0.08333,"height":0.58333,"italic":0.0},"8856":{"depth":0.08333,"height":0.58333,"italic":0.0},"8857":{"depth":0.08333,"height":0.58333,"italic":0.0},"8866":{"depth":0.0,"height":0.69444,"italic":0.0},"8867":{"depth":0.0,"height":0.69444,"italic":0.0},"8868":{"depth":0.0,"height":0.69444,"italic":0.0},"8869":{"depth":0.0,"height":0.69444,"italic":0.0},"8900":{"depth":-0.05555,"height":0.44445,"italic":0.0},"8901":{"depth":-0.05555,"height":0.44445,"italic":0.0},"8902":{"depth":-0.03472,"height":0.46528,"italic":0.0},"8968":{"depth":0.25,"height":0.75,"italic":0.0},"8969":{"depth":0.25,"height":0.75,"italic":0.0},"8970":{"depth":0.25,"height":0.75,"italic":0.0},"8971":{"depth":0.25,"height":0.75,"italic":0.0},"8994":{"depth":-0.14236,"height":0.35764,"italic":0.0},"8995":{"depth":-0.14236,"height":0.35764,"italic":0.0},"9651":{"depth":0.19444,"height":0.69444,"italic":0.0},"9657":{"depth":-0.03472,"height":0.46528,"italic":0.0},"9661":{"depth":0.19444,"height":0.69444,"italic":0.0},"9667":{"depth":-0.03472,"height":0.46528,"italic":0.0},"9711":{"depth":0.19444,"height":0.69444,"italic":0.0},"9824":{"depth":0.12963,"height":0.69444,"italic":0.0},"9825":{"depth":0.12963,"height":0.69444,"italic":0.0},"9826":{"depth":0.12963,"height":0.69444,"italic":0.0},"9827":{"depth":0.12963,"height":0.69444,"italic":0.0},"9837":{"depth":0.0,"height":0.75,"italic":0.0},"9838":{"depth":0.19444,"height":0.69444,"italic":0.0},"9839":{"depth":0.19444,"height":0.69444,"italic":0.0},"10216":{"depth":0.25,"height":0.75,"italic":0.0},"10217":{"depth":0.25,"height":0.75,"italic":0.0},"10815":{"depth":0.0,"height":0.68333,"italic":0.0},"10927":{"depth":0.13597,"height":0.63597,"italic":0.0},"10928":{"depth":0.13597,"height":0.63597,"italic":0.0}},"Math-BoldItalic":{"47":{"depth":0.19444,"height":0.69444,"italic":0.0},"65":{"depth":0.0,"height":0.68611,"italic":0.0},"66":{"depth":0.0,"height":0.68611,"italic":0.04835},"67":{"depth":0.0,"height":0.68611,"italic":0.06979},"68":{"depth":0.0,"height":0.68611,"italic":0.03194},"69":{"depth":0.0,"height":0.68611,"italic":0.05451},"70":{"depth":0.0,"height":0.68611,"italic":0.15972},"71":{"depth":0.0,"height":0.68611,"italic":0.0},"72":{"depth":0.0,"height":0.68611,"italic":0.08229},"73":{"depth":0.0,"height":0.68611,"italic":0.07778},"74":{"depth":0.0,"height":0.68611,"italic":0.10069},"75":{"depth":0.0,"height":0.68611,"italic":0.06979},"76":{"depth":0.0,"height":0.68611,"italic":0.0},"77":{"depth":0.0,"height":0.68611,"italic":0.11424},"78":{"depth":0.0,"height":0.68611,"italic":0.11424},"79":{"depth":0.0,"height":0.68611,"italic":0.03194},"80":{"depth":0.0,"height":0.68611,"italic":0.15972},"81":{"depth":0.19444,"height":0.68611,"italic":0.0},"82":{"depth":0.0,"height":0.68611,"italic":0.00421},"83":{"depth":0.0,"height":0.68611,"italic":0.05382},"84":{"depth":0.0,"height":0.68611,"italic":0.15972},"85":{"depth":0.0,"height":0.68611,"italic":0.11424},"86":{"depth":0.0,"height":0.68611,"italic":0.25555},"87":{"depth":0.0,"height":0.68611,"italic":0.15972},"88":{"depth":0.0,"height":0.68611,"italic":0.07778},"89":{"depth":0.0,"height":0.68611,"italic":0.25555},"90":{"depth":0.0,"height":0.68611,"italic":0.06979},"97":{"depth":0.0,"height":0.44444,"italic":0.0},"98":{"depth":0.0,"height":0.69444,"italic":0.0},"99":{"depth":0.0,"height":0.44444,"italic":0.0},"100":{"depth":0.0,"height":0.69444,"italic":0.0},"101":{"depth":0.0,"height":0.44444,"italic":0.0},"102":{"depth":0.19444,"height":0.69444,"italic":0.11042},"103":{"depth":0.19444,"height":0.44444,"italic":0.03704},"104":{"depth":0.0,"height":0.69444,"italic":0.0},"105":{"depth":0.0,"height":0.69326,"italic":0.0},"106":{"depth":0.19444,"height":0.69326,"italic":0.0622},"107":{"depth":0.0,"height":0.69444,"italic":0.01852},"108":{"depth":0.0,"height":0.69444,"italic":0.0088},"109":{"depth":0.0,"height":0.44444,"italic":0.0},"110":{"depth":0.0,"height":0.44444,"italic":0.0},"111":{"depth":0.0,"height":0.44444,"italic":0.0},"112":{"depth":0.19444,"height":0.44444,"italic":0.0},"113":{"depth":0.19444,"height":0.44444,"italic":0.03704},"114":{"depth":0.0,"height":0.44444,"italic":0.03194},"115":{"depth":0.0,"height":0.44444,"italic":0.0},"116":{"depth":0.0,"height":0.63492,"italic":0.0},"117":{"depth":0.0,"height":0.44444,"italic":0.0},"118":{"depth":0.0,"height":0.44444,"italic":0.03704},"119":{"depth":0.0,"height":0.44444,"italic":0.02778},"120":{"depth":0.0,"height":0.44444,"italic":0.0},"121":{"depth":0.19444,"height":0.44444,"italic":0.03704},"122":{"depth":0.0,"height":0.44444,"italic":0.04213},"915":{"depth":0.0,"height":0.68611,"italic":0.15972},"916":{"depth":0.0,"height":0.68611,"italic":0.0},"920":{"depth":0.0,"height":0.68611,"italic":0.03194},"923":{"depth":0.0,"height":0.68611,"italic":0.0},"926":{"depth":0.0,"height":0.68611,"italic":0.07458},"928":{"depth":0.0,"height":0.68611,"italic":0.08229},"931":{"depth":0.0,"height":0.68611,"italic":0.05451},"933":{"depth":0.0,"height":0.68611,"italic":0.15972},"934":{"depth":0.0,"height":0.68611,"italic":0.0},"936":{"depth":0.0,"height":0.68611,"italic":0.11653},"937":{"depth":0.0,"height":0.68611,"italic":0.04835},"945":{"depth":0.0,"height":0.44444,"italic":0.0},"946":{"depth":0.19444,"height":0.69444,"italic":0.03403},"947":{"depth":0.19444,"height":0.44444,"italic":0.06389},"948":{"depth":0.0,"height":0.69444,"italic":0.03819},"949":{"depth":0.0,"height":0.44444,"italic":0.0},"950":{"depth":0.19444,"height":0.69444,"italic":0.06215},"951":{"depth":0.19444,"height":0.44444,"italic":0.03704},"952":{"depth":0.0,"height":0.69444,"italic":0.03194},"953":{"depth":0.0,"height":0.44444,"italic":0.0},"954":{"depth":0.0,"height":0.44444,"italic":0.0},"955":{"depth":0.0,"height":0.69444,"italic":0.0},"956":{"depth":0.19444,"height":0.44444,"italic":0.0},"957":{"depth":0.0,"height":0.44444,"italic":0.06898},"958":{"depth":0.19444,"height":0.69444,"italic":0.03021},"959":{"depth":0.0,"height":0.44444,"italic":0.0},"960":{"depth":0.0,"height":0.44444,"italic":0.03704},"961":{"depth":0.19444,"height":0.44444,"italic":0.0},"962":{"depth":0.09722,"height":0.44444,"italic":0.07917},"963":{"depth":0.0,"height":0.44444,"italic":0.03704},"964":{"depth":0.0,"height":0.44444,"italic":0.13472},"965":{"depth":0.0,"height":0.44444,"italic":0.03704},"966":{"depth":0.19444,"height":0.44444,"italic":0.0},"967":{"depth":0.19444,"height":0.44444,"italic":0.0},"968":{"depth":0.19444,"height":0.69444,"italic":0.03704},"969":{"depth":0.0,"height":0.44444,"italic":0.03704},"977":{"depth":0.0,"height":0.69444,"italic":0.0},"981":{"depth":0.19444,"height":0.69444,"italic":0.0},"982":{"depth":0.0,"height":0.44444,"italic":0.03194},"1009":{"depth":0.19444,"height":0.44444,"italic":0.0},"1013":{"depth":0.0,"height":0.44444,"italic":0.0}},"Math-Italic":{"47":{"depth":0.19444,"height":0.69444,"italic":0.0},"65":{"depth":0.0,"height":0.68333,"italic":0.0},"66":{"depth":0.0,"height":0.68333,"italic":0.05017},"67":{"depth":0.0,"height":0.68333,"italic":0.07153},"68":{"depth":0.0,"height":0.68333,"italic":0.02778},"69":{"depth":0.0,"height":0.68333,"italic":0.05764},"70":{"depth":0.0,"height":0.68333,"italic":0.13889},"71":{"depth":0.0,"height":0.68333,"italic":0.0},"72":{"depth":0.0,"height":0.68333,"italic":0.08125},"73":{"depth":0.0,"height":0.68333,"italic":0.07847},"74":{"depth":0.0,"height":0.68333,"italic":0.09618},"75":{"depth":0.0,"height":0.68333,"italic":0.07153},"76":{"depth":0.0,"height":0.68333,"italic":0.0},"77":{"depth":0.0,"height":0.68333,"italic":0.10903},"78":{"depth":0.0,"height":0.68333,"italic":0.10903},"79":{"depth":0.0,"height":0.68333,"italic":0.02778},"80":{"depth":0.0,"height":0.68333,"italic":0.13889},"81":{"depth":0.19444,"height":0.68333,"italic":0.0},"82":{"depth":0.0,"height":0.68333,"italic":0.00773},"83":{"depth":0.0,"height":0.68333,"italic":0.05764},"84":{"depth":0.0,"height":0.68333,"italic":0.13889},"85":{"depth":0.0,"height":0.68333,"italic":0.10903},"86":{"depth":0.0,"height":0.68333,"italic":0.22222},"87":{"depth":0.0,"height":0.68333,"italic":0.13889},"88":{"depth":0.0,"height":0.68333,"italic":0.07847},"89":{"depth":0.0,"height":0.68333,"italic":0.22222},"90":{"depth":0.0,"height":0.68333,"italic":0.07153},"97":{"depth":0.0,"height":0.43056,"italic":0.0},"98":{"depth":0.0,"height":0.69444,"italic":0.0},"99":{"depth":0.0,"height":0.43056,"italic":0.0},"100":{"depth":0.0,"height":0.69444,"italic":0.0},"101":{"depth":0.0,"height":0.43056,"italic":0.0},"102":{"depth":0.19444,"height":0.69444,"italic":0.10764},"103":{"depth":0.19444,"height":0.43056,"italic":0.03588},"104":{"depth":0.0,"height":0.69444,"italic":0.0},"105":{"depth":0.0,"height":0.65952,"italic":0.0},"106":{"depth":0.19444,"height":0.65952,"italic":0.05724},"107":{"depth":0.0,"height":0.69444,"italic":0.03148},"108":{"depth":0.0,"height":0.69444,"italic":0.01968},"109":{"depth":0.0,"height":0.43056,"italic":0.0},"110":{"depth":0.0,"height":0.43056,"italic":0.0},"111":{"depth":0.0,"height":0.43056,"italic":0.0},"112":{"depth":0.19444,"height":0.43056,"italic":0.0},"113":{"depth":0.19444,"height":0.43056,"italic":0.03588},"114":{"depth":0.0,"height":0.43056,"italic":0.02778},"115":{"depth":0.0,"height":0.43056,"italic":0.0},"116":{"depth":0.0,"height":0.61508,"italic":0.0},"117":{"depth":0.0,"height":0.43056,"italic":0.0},"118":{"depth":0.0,"height":0.43056,"italic":0.03588},"119":{"depth":0.0,"height":0.43056,"italic":0.02691},"120":{"depth":0.0,"height":0.43056,"italic":0.0},"121":{"depth":0.19444,"height":0.43056,"italic":0.03588},"122":{"depth":0.0,"height":0.43056,"italic":0.04398},"915":{"depth":0.0,"height":0.68333,"italic":0.13889},"916":{"depth":0.0,"height":0.68333,"italic":0.0},"920":{"depth":0.0,"height":0.68333,"italic":0.02778},"923":{"depth":0.0,"height":0.68333,"italic":0.0},"926":{"depth":0.0,"height":0.68333,"italic":0.07569},"928":{"depth":0.0,"height":0.68333,"italic":0.08125},"931":{"depth":0.0,"height":0.68333,"italic":0.05764},"933":{"depth":0.0,"height":0.68333,"italic":0.13889},"934":{"depth":0.0,"height":0.68333,"italic":0.0},"936":{"depth":0.0,"height":0.68333,"italic":0.11},"937":{"depth":0.0,"height":0.68333,"italic":0.05017},"945":{"depth":0.0,"height":0.43056,"italic":0.0037},"946":{"depth":0.19444,"height":0.69444,"italic":0.05278},"947":{"depth":0.19444,"height":0.43056,"italic":0.05556},"948":{"depth":0.0,"height":0.69444,"italic":0.03785},"949":{"depth":0.0,"height":0.43056,"italic":0.0},"950":{"depth":0.19444,"height":0.69444,"italic":0.07378},"951":{"depth":0.19444,"height":0.43056,"italic":0.03588},"952":{"depth":0.0,"height":0.69444,"italic":0.02778},"953":{"depth":0.0,"height":0.43056,"italic":0.0},"954":{"depth":0.0,"height":0.43056,"italic":0.0},"955":{"depth":0.0,"height":0.69444,"italic":0.0},"956":{"depth":0.19444,"height":0.43056,"italic":0.0},"957":{"depth":0.0,"height":0.43056,"italic":0.06366},"958":{"depth":0.19444,"height":0.69444,"italic":0.04601},"959":{"depth":0.0,"height":0.43056,"italic":0.0},"960":{"depth":0.0,"height":0.43056,"italic":0.03588},"961":{"depth":0.19444,"height":0.43056,"italic":0.0},"962":{"depth":0.09722,"height":0.43056,"italic":0.07986},"963":{"depth":0.0,"height":0.43056,"italic":0.03588},"964":{"depth":0.0,"height":0.43056,"italic":0.1132},"965":{"depth":0.0,"height":0.43056,"italic":0.03588},"966":{"depth":0.19444,"height":0.43056,"italic":0.0},"967":{"depth":0.19444,"height":0.43056,"italic":0.0},"968":{"depth":0.19444,"height":0.69444,"italic":0.03588},"969":{"depth":0.0,"height":0.43056,"italic":0.03588},"977":{"depth":0.0,"height":0.69444,"italic":0.0},"981":{"depth":0.19444,"height":0.69444,"italic":0.0},"982":{"depth":0.0,"height":0.43056,"italic":0.02778},"1009":{"depth":0.19444,"height":0.43056,"italic":0.0},"1013":{"depth":0.0,"height":0.43056,"italic":0.0}},"Math-Regular":{"65":{"depth":0.0,"height":0.68333,"italic":0.0},"66":{"depth":0.0,"height":0.68333,"italic":0.05017},"67":{"depth":0.0,"height":0.68333,"italic":0.07153},"68":{"depth":0.0,"height":0.68333,"italic":0.02778},"69":{"depth":0.0,"height":0.68333,"italic":0.05764},"70":{"depth":0.0,"height":0.68333,"italic":0.13889},"71":{"depth":0.0,"height":0.68333,"italic":0.0},"72":{"depth":0.0,"height":0.68333,"italic":0.08125},"73":{"depth":0.0,"height":0.68333,"italic":0.07847},"74":{"depth":0.0,"height":0.68333,"italic":0.09618},"75":{"depth":0.0,"height":0.68333,"italic":0.07153},"76":{"depth":0.0,"height":0.68333,"italic":0.0},"77":{"depth":0.0,"height":0.68333,"italic":0.10903},"78":{"depth":0.0,"height":0.68333,"italic":0.10903},"79":{"depth":0.0,"height":0.68333,"italic":0.02778},"80":{"depth":0.0,"height":0.68333,"italic":0.13889},"81":{"depth":0.19444,"height":0.68333,"italic":0.0},"82":{"depth":0.0,"height":0.68333,"italic":0.00773},"83":{"depth":0.0,"height":0.68333,"italic":0.05764},"84":{"depth":0.0,"height":0.68333,"italic":0.13889},"85":{"depth":0.0,"height":0.68333,"italic":0.10903},"86":{"depth":0.0,"height":0.68333,"italic":0.22222},"87":{"depth":0.0,"height":0.68333,"italic":0.13889},"88":{"depth":0.0,"height":0.68333,"italic":0.07847},"89":{"depth":0.0,"height":0.68333,"italic":0.22222},"90":{"depth":0.0,"height":0.68333,"italic":0.07153},"97":{"depth":0.0,"height":0.43056,"italic":0.0},"98":{"depth":0.0,"height":0.69444,"italic":0.0},"99":{"depth":0.0,"height":0.43056,"italic":0.0},"100":{"depth":0.0,"height":0.69444,"italic":0.0},"101":{"depth":0.0,"height":0.43056,"italic":0.0},"102":{"depth":0.19444,"height":0.69444,"italic":0.10764},"103":{"depth":0.19444,"height":0.43056,"italic":0.03588},"104":{"depth":0.0,"height":0.69444,"italic":0.0},"105":{"depth":0.0,"height":0.65952,"italic":0.0},"106":{"depth":0.19444,"height":0.65952,"italic":0.05724},"107":{"depth":0.0,"height":0.69444,"italic":0.03148},"108":{"depth":0.0,"height":0.69444,"italic":0.01968},"109":{"depth":0.0,"height":0.43056,"italic":0.0},"110":{"depth":0.0,"height":0.43056,"italic":0.0},"111":{"depth":0.0,"height":0.43056,"italic":0.0},"112":{"depth":0.19444,"height":0.43056,"italic":0.0},"113":{"depth":0.19444,"height":0.43056,"italic":0.03588},"114":{"depth":0.0,"height":0.43056,"italic":0.02778},"115":{"depth":0.0,"height":0.43056,"italic":0.0},"116":{"depth":0.0,"height":0.61508,"italic":0.0},"117":{"depth":0.0,"height":0.43056,"italic":0.0},"118":{"depth":0.0,"height":0.43056,"italic":0.03588},"119":{"depth":0.0,"height":0.43056,"italic":0.02691},"120":{"depth":0.0,"height":0.43056,"italic":0.0},"121":{"depth":0.19444,"height":0.43056,"italic":0.03588},"122":{"depth":0.0,"height":0.43056,"italic":0.04398},"915":{"depth":0.0,"height":0.68333,"italic":0.13889},"916":{"depth":0.0,"height":0.68333,"italic":0.0},"920":{"depth":0.0,"height":0.68333,"italic":0.02778},"923":{"depth":0.0,"height":0.68333,"italic":0.0},"926":{"depth":0.0,"height":0.68333,"italic":0.07569},"928":{"depth":0.0,"height":0.68333,"italic":0.08125},"931":{"depth":0.0,"height":0.68333,"italic":0.05764},"933":{"depth":0.0,"height":0.68333,"italic":0.13889},"934":{"depth":0.0,"height":0.68333,"italic":0.0},"936":{"depth":0.0,"height":0.68333,"italic":0.11},"937":{"depth":0.0,"height":0.68333,"italic":0.05017},"945":{"depth":0.0,"height":0.43056,"italic":0.0037},"946":{"depth":0.19444,"height":0.69444,"italic":0.05278},"947":{"depth":0.19444,"height":0.43056,"italic":0.05556},"948":{"depth":0.0,"height":0.69444,"italic":0.03785},"949":{"depth":0.0,"height":0.43056,"italic":0.0},"950":{"depth":0.19444,"height":0.69444,"italic":0.07378},"951":{"depth":0.19444,"height":0.43056,"italic":0.03588},"952":{"depth":0.0,"height":0.69444,"italic":0.02778},"953":{"depth":0.0,"height":0.43056,"italic":0.0},"954":{"depth":0.0,"height":0.43056,"italic":0.0},"955":{"depth":0.0,"height":0.69444,"italic":0.0},"956":{"depth":0.19444,"height":0.43056,"italic":0.0},"957":{"depth":0.0,"height":0.43056,"italic":0.06366},"958":{"depth":0.19444,"height":0.69444,"italic":0.04601},"959":{"depth":0.0,"height":0.43056,"italic":0.0},"960":{"depth":0.0,"height":0.43056,"italic":0.03588},"961":{"depth":0.19444,"height":0.43056,"italic":0.0},"962":{"depth":0.09722,"height":0.43056,"italic":0.07986},"963":{"depth":0.0,"height":0.43056,"italic":0.03588},"964":{"depth":0.0,"height":0.43056,"italic":0.1132},"965":{"depth":0.0,"height":0.43056,"italic":0.03588},"966":{"depth":0.19444,"height":0.43056,"italic":0.0},"967":{"depth":0.19444,"height":0.43056,"italic":0.0},"968":{"depth":0.19444,"height":0.69444,"italic":0.03588},"969":{"depth":0.0,"height":0.43056,"italic":0.03588},"977":{"depth":0.0,"height":0.69444,"italic":0.0},"981":{"depth":0.19444,"height":0.69444,"italic":0.0},"982":{"depth":0.0,"height":0.43056,"italic":0.02778},"1009":{"depth":0.19444,"height":0.43056,"italic":0.0},"1013":{"depth":0.0,"height":0.43056,"italic":0.0}},"Size1-Regular":{"40":{"depth":0.35001,"height":0.85,"italic":0.0},"41":{"depth":0.35001,"height":0.85,"italic":0.0},"47":{"depth":0.35001,"height":0.85,"italic":0.0},"91":{"depth":0.35001,"height":0.85,"italic":0.0},"92":{"depth":0.35001,"height":0.85,"italic":0.0},"93":{"depth":0.35001,"height":0.85,"italic":0.0},"123":{"depth":0.35001,"height":0.85,"italic":0.0},"125":{"depth":0.35001,"height":0.85,"italic":0.0},"710":{"depth":0.0,"height":0.72222,"italic":0.0},"732":{"depth":0.0,"height":0.72222,"italic":0.0},"770":{"depth":0.0,"height":0.72222,"italic":0.0},"771":{"depth":0.0,"height":0.72222,"italic":0.0},"8214":{"depth":-0.00099,"height":0.601,"italic":0.0},"8593":{"depth":1e-05,"height":0.6,"italic":0.0},"8595":{"depth":1e-05,"height":0.6,"italic":0.0},"8657":{"depth":1e-05,"height":0.6,"italic":0.0},"8659":{"depth":1e-05,"height":0.6,"italic":0.0},"8719":{"depth":0.25001,"height":0.75,"italic":0.0},"8720":{"depth":0.25001,"height":0.75,"italic":0.0},"8721":{"depth":0.25001,"height":0.75,"italic":0.0},"8730":{"depth":0.35001,"height":0.85,"italic":0.0},"8739":{"depth":-0.00599,"height":0.606,"italic":0.0},"8741":{"depth":-0.00599,"height":0.606,"italic":0.0},"8747":{"depth":0.30612,"height":0.805,"italic":0.19445},"8750":{"depth":0.30612,"height":0.805,"italic":0.19445},"8896":{"depth":0.25001,"height":0.75,"italic":0.0},"8897":{"depth":0.25001,"height":0.75,"italic":0.0},"8898":{"depth":0.25001,"height":0.75,"italic":0.0},"8899":{"depth":0.25001,"height":0.75,"italic":0.0},"8968":{"depth":0.35001,"height":0.85,"italic":0.0},"8969":{"depth":0.35001,"height":0.85,"italic":0.0},"8970":{"depth":0.35001,"height":0.85,"italic":0.0},"8971":{"depth":0.35001,"height":0.85,"italic":0.0},"9168":{"depth":-0.00099,"height":0.601,"italic":0.0},"10216":{"depth":0.35001,"height":0.85,"italic":0.0},"10217":{"depth":0.35001,"height":0.85,"italic":0.0},"10752":{"depth":0.25001,"height":0.75,"italic":0.0},"10753":{"depth":0.25001,"height":0.75,"italic":0.0},"10754":{"depth":0.25001,"height":0.75,"italic":0.0},"10756":{"depth":0.25001,"height":0.75,"italic":0.0},"10758":{"depth":0.25001,"height":0.75,"italic":0.0}},"Size2-Regular":{"40":{"depth":0.65002,"height":1.15,"italic":0.0},"41":{"depth":0.65002,"height":1.15,"italic":0.0},"47":{"depth":0.65002,"height":1.15,"italic":0.0},"91":{"depth":0.65002,"height":1.15,"italic":0.0},"92":{"depth":0.65002,"height":1.15,"italic":0.0},"93":{"depth":0.65002,"height":1.15,"italic":0.0},"123":{"depth":0.65002,"height":1.15,"italic":0.0},"125":{"depth":0.65002,"height":1.15,"italic":0.0},"710":{"depth":0.0,"height":0.75,"italic":0.0},"732":{"depth":0.0,"height":0.75,"italic":0.0},"770":{"depth":0.0,"height":0.75,"italic":0.0},"771":{"depth":0.0,"height":0.75,"italic":0.0},"8719":{"depth":0.55001,"height":1.05,"italic":0.0},"8720":{"depth":0.55001,"height":1.05,"italic":0.0},"8721":{"depth":0.55001,"height":1.05,"italic":0.0},"8730":{"depth":0.65002,"height":1.15,"italic":0.0},"8747":{"depth":0.86225,"height":1.36,"italic":0.44445},"8750":{"depth":0.86225,"height":1.36,"italic":0.44445},"8896":{"depth":0.55001,"height":1.05,"italic":0.0},"8897":{"depth":0.55001,"height":1.05,"italic":0.0},"8898":{"depth":0.55001,"height":1.05,"italic":0.0},"8899":{"depth":0.55001,"height":1.05,"italic":0.0},"8968":{"depth":0.65002,"height":1.15,"italic":0.0},"8969":{"depth":0.65002,"height":1.15,"italic":0.0},"8970":{"depth":0.65002,"height":1.15,"italic":0.0},"8971":{"depth":0.65002,"height":1.15,"italic":0.0},"10216":{"depth":0.65002,"height":1.15,"italic":0.0},"10217":{"depth":0.65002,"height":1.15,"italic":0.0},"10752":{"depth":0.55001,"height":1.05,"italic":0.0},"10753":{"depth":0.55001,"height":1.05,"italic":0.0},"10754":{"depth":0.55001,"height":1.05,"italic":0.0},"10756":{"depth":0.55001,"height":1.05,"italic":0.0},"10758":{"depth":0.55001,"height":1.05,"italic":0.0}},"Size3-Regular":{"40":{"depth":0.95003,"height":1.45,"italic":0.0},"41":{"depth":0.95003,"height":1.45,"italic":0.0},"47":{"depth":0.95003,"height":1.45,"italic":0.0},"91":{"depth":0.95003,"height":1.45,"italic":0.0},"92":{"depth":0.95003,"height":1.45,"italic":0.0},"93":{"depth":0.95003,"height":1.45,"italic":0.0},"123":{"depth":0.95003,"height":1.45,"italic":0.0},"125":{"depth":0.95003,"height":1.45,"italic":0.0},"710":{"depth":0.0,"height":0.75,"italic":0.0},"732":{"depth":0.0,"height":0.75,"italic":0.0},"770":{"depth":0.0,"height":0.75,"italic":0.0},"771":{"depth":0.0,"height":0.75,"italic":0.0},"8730":{"depth":0.95003,"height":1.45,"italic":0.0},"8968":{"depth":0.95003,"height":1.45,"italic":0.0},"8969":{"depth":0.95003,"height":1.45,"italic":0.0},"8970":{"depth":0.95003,"height":1.45,"italic":0.0},"8971":{"depth":0.95003,"height":1.45,"italic":0.0},"10216":{"depth":0.95003,"height":1.45,"italic":0.0},"10217":{"depth":0.95003,"height":1.45,"italic":0.0}},"Size4-Regular":{"40":{"depth":1.25003,"height":1.75,"italic":0.0},"41":{"depth":1.25003,"height":1.75,"italic":0.0},"47":{"depth":1.25003,"height":1.75,"italic":0.0},"91":{"depth":1.25003,"height":1.75,"italic":0.0},"92":{"depth":1.25003,"height":1.75,"italic":0.0},"93":{"depth":1.25003,"height":1.75,"italic":0.0},"123":{"depth":1.25003,"height":1.75,"italic":0.0},"125":{"depth":1.25003,"height":1.75,"italic":0.0},"710":{"depth":0.0,"height":0.825,"italic":0.0},"732":{"depth":0.0,"height":0.825,"italic":0.0},"770":{"depth":0.0,"height":0.825,"italic":0.0},"771":{"depth":0.0,"height":0.825,"italic":0.0},"8730":{"depth":1.25003,"height":1.75,"italic":0.0},"8968":{"depth":1.25003,"height":1.75,"italic":0.0},"8969":{"depth":1.25003,"height":1.75,"italic":0.0},"8970":{"depth":1.25003,"height":1.75,"italic":0.0},"8971":{"depth":1.25003,"height":1.75,"italic":0.0},"9115":{"depth":0.64502,"height":1.155,"italic":0.0},"9116":{"depth":1e-05,"height":0.6,"italic":0.0},"9117":{"depth":0.64502,"height":1.155,"italic":0.0},"9118":{"depth":0.64502,"height":1.155,"italic":0.0},"9119":{"depth":1e-05,"height":0.6,"italic":0.0},"9120":{"depth":0.64502,"height":1.155,"italic":0.0},"9121":{"depth":0.64502,"height":1.155,"italic":0.0},"9122":{"depth":-0.00099,"height":0.601,"italic":0.0},"9123":{"depth":0.64502,"height":1.155,"italic":0.0},"9124":{"depth":0.64502,"height":1.155,"italic":0.0},"9125":{"depth":-0.00099,"height":0.601,"italic":0.0},"9126":{"depth":0.64502,"height":1.155,"italic":0.0},"9127":{"depth":1e-05,"height":0.9,"italic":0.0},"9128":{"depth":0.65002,"height":1.15,"italic":0.0},"9129":{"depth":0.90001,"height":0.0,"italic":0.0},"9130":{"depth":0.0,"height":0.3,"italic":0.0},"9131":{"depth":1e-05,"height":0.9,"italic":0.0},"9132":{"depth":0.65002,"height":1.15,"italic":0.0},"9133":{"depth":0.90001,"height":0.0,"italic":0.0},"9143":{"depth":0.88502,"height":0.915,"italic":0.0},"10216":{"depth":1.25003,"height":1.75,"italic":0.0},"10217":{"depth":1.25003,"height":1.75,"italic":0.0},"57344":{"depth":-0.00499,"height":0.605,"italic":0.0},"57345":{"depth":-0.00499,"height":0.605,"italic":0.0},"57680":{"depth":0.0,"height":0.12,"italic":0.0},"57681":{"depth":0.0,"height":0.12,"italic":0.0},"57682":{"depth":0.0,"height":0.12,"italic":0.0},"57683":{"depth":0.0,"height":0.12,"italic":0.0}}}; - -var getCharacterMetrics = function(character, style) { - return metricMap[style][character.charCodeAt(0)]; -}; - -module.exports = { - metrics: metrics, - getCharacterMetrics: getCharacterMetrics -}; - -},{}],11:[function(require,module,exports){ -var utils = require("./utils"); -var ParseError = require("./ParseError"); - -// This file contains a list of functions that we parse. The functions map -// contains the following data: - -/* - * Keys are the name of the functions to parse - * The data contains the following keys: - * - numArgs: The number of arguments the function takes. - * - argTypes: (optional) An array corresponding to each argument of the - * function, giving the type of argument that should be parsed. - * Valid types: - * - "size": A size-like thing, such as "1em" or "5ex" - * - "color": An html color, like "#abc" or "blue" - * - "original": The same type as the environment that the - * function being parsed is in (e.g. used for the - * bodies of functions like \color where the first - * argument is special and the second argument is - * parsed normally) - * Other possible types (probably shouldn't be used) - * - "text": Text-like (e.g. \text) - * - "math": Normal math - * If undefined, this will be treated as an appropriate length - * array of "original" strings - * - greediness: (optional) The greediness of the function to use ungrouped - * arguments. - * - * E.g. if you have an expression - * \sqrt \frac 1 2 - * since \frac has greediness=2 vs \sqrt's greediness=1, \frac - * will use the two arguments '1' and '2' as its two arguments, - * then that whole function will be used as the argument to - * \sqrt. On the other hand, the expressions - * \frac \frac 1 2 3 - * and - * \frac \sqrt 1 2 - * will fail because \frac and \frac have equal greediness - * and \sqrt has a lower greediness than \frac respectively. To - * make these parse, we would have to change them to: - * \frac {\frac 1 2} 3 - * and - * \frac {\sqrt 1} 2 - * - * The default value is `1` - * - allowedInText: (optional) Whether or not the function is allowed inside - * text mode (default false) - * - handler: The function that is called to handle this function and its - * arguments. The arguments are: - * - func: the text of the function - * - [args]: the next arguments are the arguments to the function, - * of which there are numArgs of them - * - positions: the positions in the overall string of the function - * and the arguments. Should only be used to produce - * error messages - * The function should return an object with the following keys: - * - type: The type of element that this is. This is then used in - * buildTree to determine which function should be called - * to build this node into a DOM node - * Any other data can be added to the object, which will be passed - * in to the function in buildTree as `group.value`. - */ - -var functions = { - // A normal square root - "\\sqrt": { - numArgs: 1, - handler: function(func, body) { - return { - type: "sqrt", - body: body - }; - } - }, - - // Some non-mathy text - "\\text": { - numArgs: 1, - argTypes: ["text"], - greediness: 2, - handler: function(func, body) { - // Since the corresponding buildTree function expects a list of - // elements, we normalize for different kinds of arguments - // TODO(emily): maybe this should be done somewhere else - var inner; - if (body.type === "ordgroup") { - inner = body.value; - } else { - inner = [body]; - } - - return { - type: "text", - body: inner - }; - } - }, - - // A two-argument custom color - "\\color": { - numArgs: 2, - allowedInText: true, - argTypes: ["color", "original"], - handler: function(func, color, body) { - // Normalize the different kinds of bodies (see \text above) - var inner; - if (body.type === "ordgroup") { - inner = body.value; - } else { - inner = [body]; - } - - return { - type: "color", - color: color.value, - value: inner - }; - } - }, - - // An overline - "\\overline": { - numArgs: 1, - handler: function(func, body) { - return { - type: "overline", - body: body - }; - } - }, - - // A box of the width and height - "\\rule": { - numArgs: 2, - argTypes: ["size", "size"], - handler: function(func, width, height) { - return { - type: "rule", - width: width.value, - height: height.value - }; - } - }, - - // A KaTeX logo - "\\KaTeX": { - numArgs: 0, - handler: function(func) { - return { - type: "katex" - }; - } - } -}; - -// Extra data needed for the delimiter handler down below -var delimiterSizes = { - "\\bigl" : {type: "open", size: 1}, - "\\Bigl" : {type: "open", size: 2}, - "\\biggl": {type: "open", size: 3}, - "\\Biggl": {type: "open", size: 4}, - "\\bigr" : {type: "close", size: 1}, - "\\Bigr" : {type: "close", size: 2}, - "\\biggr": {type: "close", size: 3}, - "\\Biggr": {type: "close", size: 4}, - "\\bigm" : {type: "rel", size: 1}, - "\\Bigm" : {type: "rel", size: 2}, - "\\biggm": {type: "rel", size: 3}, - "\\Biggm": {type: "rel", size: 4}, - "\\big" : {type: "textord", size: 1}, - "\\Big" : {type: "textord", size: 2}, - "\\bigg" : {type: "textord", size: 3}, - "\\Bigg" : {type: "textord", size: 4} -}; - -var delimiters = [ - "(", ")", "[", "\\lbrack", "]", "\\rbrack", - "\\{", "\\lbrace", "\\}", "\\rbrace", - "\\lfloor", "\\rfloor", "\\lceil", "\\rceil", - "<", ">", "\\langle", "\\rangle", - "/", "\\backslash", - "|", "\\vert", "\\|", "\\Vert", - "\\uparrow", "\\Uparrow", - "\\downarrow", "\\Downarrow", - "\\updownarrow", "\\Updownarrow", - "." -]; - -/* - * This is a list of functions which each have the same function but have - * different names so that we don't have to duplicate the data a bunch of times. - * Each element in the list is an object with the following keys: - * - funcs: A list of function names to be associated with the data - * - data: An objecty with the same data as in each value of the `function` - * table above - */ -var duplicatedFunctions = [ - // Single-argument color functions - { - funcs: [ - "\\blue", "\\orange", "\\pink", "\\red", - "\\green", "\\gray", "\\purple" - ], - data: { - numArgs: 1, - allowedInText: true, - handler: function(func, body) { - var atoms; - if (body.type === "ordgroup") { - atoms = body.value; - } else { - atoms = [body]; - } - - return { - type: "color", - color: "katex-" + func.slice(1), - value: atoms - }; - } - } - }, - - // No-argument mathy operators - { - funcs: [ - "\\arcsin", "\\arccos", "\\arctan", "\\arg", "\\cos", "\\cosh", - "\\cot", "\\coth", "\\csc", "\\deg", "\\dim", "\\exp", "\\hom", - "\\ker", "\\lg", "\\ln", "\\log", "\\sec", "\\sin", "\\sinh", - "\\tan","\\tanh" - ], - data: { - numArgs: 0, - handler: function(func) { - return { - type: "namedfn", - body: func - }; - } - } - }, - - // Fractions - { - funcs: ["\\dfrac", "\\frac", "\\tfrac"], - data: { - numArgs: 2, - greediness: 2, - handler: function(func, numer, denom) { - return { - type: "frac", - numer: numer, - denom: denom, - size: func.slice(1) - }; - } - } - }, - - // Left and right overlap functions - { - funcs: ["\\llap", "\\rlap"], - data: { - numArgs: 1, - allowedInText: true, - handler: function(func, body) { - return { - type: func.slice(1), - body: body - }; - } - } - }, - - // Delimiter functions - { - funcs: [ - "\\bigl", "\\Bigl", "\\biggl", "\\Biggl", - "\\bigr", "\\Bigr", "\\biggr", "\\Biggr", - "\\bigm", "\\Bigm", "\\biggm", "\\Biggm", - "\\big", "\\Big", "\\bigg", "\\Bigg", - "\\left", "\\right" - ], - data: { - numArgs: 1, - handler: function(func, delim, positions) { - if (!utils.contains(delimiters, delim.value)) { - throw new ParseError( - "Invalid delimiter: '" + delim.value + "' after '" + - func + "'", - this.lexer, positions[1]); - } - - // left and right are caught somewhere in Parser.js, which is - // why this data doesn't match what is in buildTree - if (func === "\\left" || func === "\\right") { - return { - type: "leftright", - value: delim.value - }; - } else { - return { - type: "delimsizing", - size: delimiterSizes[func].size, - delimType: delimiterSizes[func].type, - value: delim.value - }; - } - } - } - }, - - // Sizing functions - { - funcs: [ - "\\tiny", "\\scriptsize", "\\footnotesize", "\\small", - "\\normalsize", "\\large", "\\Large", "\\LARGE", "\\huge", "\\Huge" - ], - data: { - numArgs: 0 - } - } -]; - -var addFuncsWithData = function(funcs, data) { - for (var i = 0; i < funcs.length; i++) { - functions[funcs[i]] = data; - } -}; - -// Add all of the functions in duplicatedFunctions to the functions map -for (var i = 0; i < duplicatedFunctions.length; i++) { - addFuncsWithData(duplicatedFunctions[i].funcs, duplicatedFunctions[i].data); -} - -// Returns the greediness of a given function. Since greediness is optional, we -// use this function to put in the default value if it is undefined. -var getGreediness = function(func) { - if (functions[func].greediness === undefined) { - return 1; - } else { - return functions[func].greediness; - } -}; - -module.exports = { - funcs: functions, - getGreediness: getGreediness -}; - -},{"./ParseError":3,"./utils":15}],12:[function(require,module,exports){ -var ParseError = require("./ParseError"); - -var buildTree = require("./buildTree"); -var parseTree = require("./parseTree"); -var utils = require("./utils"); - -var process = function(toParse, baseNode) { - utils.clearNode(baseNode); - - var tree = parseTree(toParse); - var node = buildTree(tree); - - baseNode.appendChild(node); -}; - -module.exports = { - process: process, - ParseError: ParseError -}; - -},{"./ParseError":3,"./buildTree":7,"./parseTree":13,"./utils":15}],13:[function(require,module,exports){ -var Parser = require("./Parser"); - -// Parses the expression using the parser -var parseTree = function(toParse) { - var parser = new Parser(toParse); - - return parser.parse(); -} - -module.exports = parseTree; - -},{"./Parser":4}],14:[function(require,module,exports){ -/* This file holds a list of all no-argument functions and single-character - * symbols (like 'a' or ';'). For each of the symbols, there are three - * properties they can have: - * - font (required): the font to be used for this * symbol. Either "main" (the - normal font), or "ams" (the ams fonts) - * - group (required): the ParseNode group type the symbol should have (i.e. - "textord" or "mathord" or - * - replace (optiona): the character that this symbol or function should be - * replaced with (i.e. "\phi" has a replace value of "\u03d5", the phi - * character in the main font) - * There outermost map in the table indicates what mode the symbols should be - * accepted in (e.g. "math" or "text") - */ - -var symbols = { - "math": { - "`": { - font: "main", - group: "textord", - replace: "\u2018" - }, - "\\$": { - font: "main", - group: "textord", - replace: "$" - }, - "\\%": { - font: "main", - group: "textord", - replace: "%" - }, - "\\_": { - font: "main", - group: "textord", - replace: "_" - }, - "\\angle": { - font: "main", - group: "textord", - replace: "\u2220" - }, - "\\infty": { - font: "main", - group: "textord", - replace: "\u221e" - }, - "\\prime": { - font: "main", - group: "textord", - replace: "\u2032" - }, - "\\triangle": { - font: "main", - group: "textord", - replace: "\u25b3" - }, - "\\Gamma": { - font: "main", - group: "textord", - replace: "\u0393" - }, - "\\Delta": { - font: "main", - group: "textord", - replace: "\u0394" - }, - "\\Theta": { - font: "main", - group: "textord", - replace: "\u0398" - }, - "\\Lambda": { - font: "main", - group: "textord", - replace: "\u039b" - }, - "\\Xi": { - font: "main", - group: "textord", - replace: "\u039e" - }, - "\\Pi": { - font: "main", - group: "textord", - replace: "\u03a0" - }, - "\\Sigma": { - font: "main", - group: "textord", - replace: "\u03a3" - }, - "\\Upsilon": { - font: "main", - group: "textord", - replace: "\u03a5" - }, - "\\Phi": { - font: "main", - group: "textord", - replace: "\u03a6" - }, - "\\Psi": { - font: "main", - group: "textord", - replace: "\u03a8" - }, - "\\Omega": { - font: "main", - group: "textord", - replace: "\u03a9" - }, - "\\alpha": { - font: "main", - group: "mathord", - replace: "\u03b1" - }, - "\\beta": { - font: "main", - group: "mathord", - replace: "\u03b2" - }, - "\\gamma": { - font: "main", - group: "mathord", - replace: "\u03b3" - }, - "\\delta": { - font: "main", - group: "mathord", - replace: "\u03b4" - }, - "\\epsilon": { - font: "main", - group: "mathord", - replace: "\u03f5" - }, - "\\zeta": { - font: "main", - group: "mathord", - replace: "\u03b6" - }, - "\\eta": { - font: "main", - group: "mathord", - replace: "\u03b7" - }, - "\\theta": { - font: "main", - group: "mathord", - replace: "\u03b8" - }, - "\\iota": { - font: "main", - group: "mathord", - replace: "\u03b9" - }, - "\\kappa": { - font: "main", - group: "mathord", - replace: "\u03ba" - }, - "\\lambda": { - font: "main", - group: "mathord", - replace: "\u03bb" - }, - "\\mu": { - font: "main", - group: "mathord", - replace: "\u03bc" - }, - "\\nu": { - font: "main", - group: "mathord", - replace: "\u03bd" - }, - "\\xi": { - font: "main", - group: "mathord", - replace: "\u03be" - }, - "\\omicron": { - font: "main", - group: "mathord", - replace: "o" - }, - "\\pi": { - font: "main", - group: "mathord", - replace: "\u03c0" - }, - "\\rho": { - font: "main", - group: "mathord", - replace: "\u03c1" - }, - "\\sigma": { - font: "main", - group: "mathord", - replace: "\u03c3" - }, - "\\tau": { - font: "main", - group: "mathord", - replace: "\u03c4" - }, - "\\upsilon": { - font: "main", - group: "mathord", - replace: "\u03c5" - }, - "\\phi": { - font: "main", - group: "mathord", - replace: "\u03d5" - }, - "\\chi": { - font: "main", - group: "mathord", - replace: "\u03c7" - }, - "\\psi": { - font: "main", - group: "mathord", - replace: "\u03c8" - }, - "\\omega": { - font: "main", - group: "mathord", - replace: "\u03c9" - }, - "\\varepsilon": { - font: "main", - group: "mathord", - replace: "\u03b5" - }, - "\\vartheta": { - font: "main", - group: "mathord", - replace: "\u03d1" - }, - "\\varpi": { - font: "main", - group: "mathord", - replace: "\u03d6" - }, - "\\varrho": { - font: "main", - group: "mathord", - replace: "\u03f1" - }, - "\\varsigma": { - font: "main", - group: "mathord", - replace: "\u03c2" - }, - "\\varphi": { - font: "main", - group: "mathord", - replace: "\u03c6" - }, - "*": { - font: "main", - group: "bin", - replace: "\u2217" - }, - "+": { - font: "main", - group: "bin" - }, - "-": { - font: "main", - group: "bin", - replace: "\u2212" - }, - "\\cdot": { - font: "main", - group: "bin", - replace: "\u22c5" - }, - "\\circ": { - font: "main", - group: "bin", - replace: "\u2218" - }, - "\\div": { - font: "main", - group: "bin", - replace: "\u00f7" - }, - "\\pm": { - font: "main", - group: "bin", - replace: "\u00b1" - }, - "\\times": { - font: "main", - group: "bin", - replace: "\u00d7" - }, - "\\surd": { - font: "main", - group: "textord", - replace: "\u221a" - }, - "(": { - font: "main", - group: "open" - }, - "[": { - font: "main", - group: "open" - }, - "\\langle": { - font: "main", - group: "open", - replace: "\u27e8" - }, - "\\lvert": { - font: "main", - group: "open", - replace: "\u2223" - }, - ")": { - font: "main", - group: "close" - }, - "]": { - font: "main", - group: "close" - }, - "?": { - font: "main", - group: "close" - }, - "!": { - font: "main", - group: "close" - }, - "\\rangle": { - font: "main", - group: "close", - replace: "\u27e9" - }, - "\\rvert": { - font: "main", - group: "close", - replace: "\u2223" - }, - "=": { - font: "main", - group: "rel" - }, - "<": { - font: "main", - group: "rel" - }, - ">": { - font: "main", - group: "rel" - }, - ":": { - font: "main", - group: "rel" - }, - "\\approx": { - font: "main", - group: "rel", - replace: "\u2248" - }, - "\\cong": { - font: "main", - group: "rel", - replace: "\u2245" - }, - "\\ge": { - font: "main", - group: "rel", - replace: "\u2265" - }, - "\\geq": { - font: "main", - group: "rel", - replace: "\u2265" - }, - "\\gets": { - font: "main", - group: "rel", - replace: "\u2190" - }, - "\\in": { - font: "main", - group: "rel", - replace: "\u2208" - }, - "\\leftarrow": { - font: "main", - group: "rel", - replace: "\u2190" - }, - "\\le": { - font: "main", - group: "rel", - replace: "\u2264" - }, - "\\leq": { - font: "main", - group: "rel", - replace: "\u2264" - }, - "\\ne": { - font: "main", - group: "rel", - replace: "\u2260" - }, - "\\neq": { - font: "main", - group: "rel", - replace: "\u2260" - }, - "\\rightarrow": { - font: "main", - group: "rel", - replace: "\u2192" - }, - "\\to": { - font: "main", - group: "rel", - replace: "\u2192" - }, - "\\ngeq": { - font: "ams", - group: "rel", - replace: "\u2271" - }, - "\\nleq": { - font: "ams", - group: "rel", - replace: "\u2270" - }, - "\\!": { - font: "main", - group: "spacing" - }, - "\\ ": { - font: "main", - group: "spacing", - replace: "\u00a0" - }, - "~": { - font: "main", - group: "spacing", - replace: "\u00a0" - }, - "\\,": { - font: "main", - group: "spacing" - }, - "\\:": { - font: "main", - group: "spacing" - }, - "\\;": { - font: "main", - group: "spacing" - }, - "\\enspace": { - font: "main", - group: "spacing" - }, - "\\qquad": { - font: "main", - group: "spacing" - }, - "\\quad": { - font: "main", - group: "spacing" - }, - "\\space": { - font: "main", - group: "spacing", - replace: "\u00a0" - }, - ",": { - font: "main", - group: "punct" - }, - ";": { - font: "main", - group: "punct" - }, - "\\colon": { - font: "main", - group: "punct", - replace: ":" - }, - "\\barwedge": { - font: "ams", - group: "textord", - replace: "\u22bc" - }, - "\\veebar": { - font: "ams", - group: "textord", - replace: "\u22bb" - }, - "\\odot": { - font: "main", - group: "textord", - replace: "\u2299" - }, - "\\oplus": { - font: "main", - group: "textord", - replace: "\u2295" - }, - "\\otimes": { - font: "main", - group: "textord", - replace: "\u2297" - }, - "\\oslash": { - font: "main", - group: "textord", - replace: "\u2298" - }, - "\\circledcirc": { - font: "ams", - group: "textord", - replace: "\u229a" - }, - "\\boxdot": { - font: "ams", - group: "textord", - replace: "\u22a1" - }, - "\\bigtriangleup": { - font: "main", - group: "textord", - replace: "\u25b3" - }, - "\\bigtriangledown": { - font: "main", - group: "textord", - replace: "\u25bd" - }, - "\\dagger": { - font: "main", - group: "textord", - replace: "\u2020" - }, - "\\diamond": { - font: "main", - group: "textord", - replace: "\u22c4" - }, - "\\star": { - font: "main", - group: "textord", - replace: "\u22c6" - }, - "\\triangleleft": { - font: "main", - group: "textord", - replace: "\u25c3" - }, - "\\triangleright": { - font: "main", - group: "textord", - replace: "\u25b9" - }, - "\\{": { - font: "main", - group: "open", - replace: "{" - }, - "\\}": { - font: "main", - group: "close", - replace: "}" - }, - "\\lbrace": { - font: "main", - group: "open", - replace: "{" - }, - "\\rbrace": { - font: "main", - group: "close", - replace: "}" - }, - "\\lbrack": { - font: "main", - group: "open", - replace: "[" - }, - "\\rbrack": { - font: "main", - group: "close", - replace: "]" - }, - "\\lfloor": { - font: "main", - group: "open", - replace: "\u230a" - }, - "\\rfloor": { - font: "main", - group: "close", - replace: "\u230b" - }, - "\\lceil": { - font: "main", - group: "open", - replace: "\u2308" - }, - "\\rceil": { - font: "main", - group: "close", - replace: "\u2309" - }, - "\\backslash": { - font: "main", - group: "textord", - replace: "\\" - }, - "|": { - font: "main", - group: "textord", - replace: "\u2223" - }, - "\\vert": { - font: "main", - group: "textord", - replace: "\u2223" - }, - "\\|": { - font: "main", - group: "textord", - replace: "\u2225" - }, - "\\Vert": { - font: "main", - group: "textord", - replace: "\u2225" - }, - "\\uparrow": { - font: "main", - group: "textord", - replace: "\u2191" - }, - "\\Uparrow": { - font: "main", - group: "textord", - replace: "\u21d1" - }, - "\\downarrow": { - font: "main", - group: "textord", - replace: "\u2193" - }, - "\\Downarrow": { - font: "main", - group: "textord", - replace: "\u21d3" - }, - "\\updownarrow": { - font: "main", - group: "textord", - replace: "\u2195" - }, - "\\Updownarrow": { - font: "main", - group: "textord", - replace: "\u21d5" - } - }, - "text": { - "\\ ": { - font: "main", - group: "spacing", - replace: "\u00a0" - }, - " ": { - font: "main", - group: "spacing", - replace: "\u00a0" - }, - "~": { - font: "main", - group: "spacing", - replace: "\u00a0" - } - } -}; - -var mathTextSymbols = "0123456789/@.\""; -for (var i = 0; i < mathTextSymbols.length; i++) { - var ch = mathTextSymbols.charAt(i); - symbols["math"][ch] = { - font: "main", - group: "textord" - }; -} - -var textSymbols = "0123456789`!@*()-=+[]'\";:?/.,"; -for (var i = 0; i < textSymbols.length; i++) { - var ch = textSymbols.charAt(i); - symbols["text"][ch] = { - font: "main", - group: "textord" - }; -} - -var letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; -for (var i = 0; i < letters.length; i++) { - var ch = letters.charAt(i); - symbols["math"][ch] = { - font: "main", - group: "mathord" - }; - symbols["text"][ch] = { - font: "main", - group: "textord" - }; -} - -module.exports = symbols; - -},{}],15:[function(require,module,exports){ -var nativeIndexOf = Array.prototype.indexOf; -var indexOf = function(list, elem) { - if (list == null) { - return -1; - } - if (nativeIndexOf && list.indexOf === nativeIndexOf) { - return list.indexOf(elem); - } - var i = 0, l = list.length; - for (; i < l; i++) { - if (list[i] === elem) { - return i; - } - } - return -1; -}; - -var contains = function(list, elem) { - return indexOf(list, elem) !== -1; -}; - -var setTextContent; - -var testNode = document.createElement("span"); -if ("textContent" in testNode) { - setTextContent = function(node, text) { - node.textContent = text; - }; -} else { - setTextContent = function(node, text) { - node.innerText = text; - }; -} - -function clearNode(node) { - setTextContent(node, ""); -} - -module.exports = { - contains: contains, - indexOf: indexOf, - setTextContent: setTextContent, - clearNode: clearNode -}; - -},{}]},{},[12]) -(12) -}); -; \ No newline at end of file +(function(t){if("function"==typeof bootstrap)bootstrap("katex",t);else if("object"==typeof exports)module.exports=t();else if("function"==typeof define&&define.amd)define(t);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeKatex=t}else"undefined"!=typeof window?window.katex=t():global.katex=t()})(function(){var t,i,e,h,a;return function l(t,i,e){function h(p,r){if(!i[p]){if(!t[p]){var c=typeof require=="function"&&require;if(!r&&c)return c(p,!0);if(a)return a(p,!0);throw new Error("Cannot find module '"+p+"'")}var g=i[p]={exports:{}};t[p][0].call(g.exports,function(i){var e=t[p][1][i];return h(e?e:i)},g,g.exports,l,t,i,e)}return i[p].exports}var a=typeof require=="function"&&require;for(var p=0;p:]/,"rel"],[/^[,;]/,"punct"],[/^'/,"'"],[/^\^/,"^"],[/^_/,"_"],[/^{/,"{"],[/^}/,"}"],[/^[(\[]/,"open"],[/^[)\]?!]/,"close"],[/^~/,"spacing"]];var r=[[/^[a-zA-Z0-9`!@*()-=+\[\]'";:?\/.,]/,"textord"],[/^{/,"{"],[/^}/,"}"],[/^~/,"spacing"]];var c=/^\s*/;var g=/^( +|\\ +)/;var d=/^\\(?:[a-zA-Z]+|.)/;a.prototype._innerLex=function(t,i,e){var a=this._input.slice(t);if(e){var p=a.match(c)[0];t+=p.length;a=a.slice(p.length)}else{var p=a.match(g);if(p!==null){return new l(" "," ",t+p[0].length)}}if(a.length===0){return new l("EOF",null,t)}var r;if(r=a.match(d)){return new l(r[0],r[0],t+r[0].length)}else{for(var n=0;n0){var p=h.getGreediness(l.result.result);if(p>o){return this.parseFunction(t,i)}else{throw new r("Got function '"+l.result.result+"' with no arguments "+"as "+a,this.lexer,t)}}else{return l.result}};c.prototype.parseAtom=function(t,i){var e=this.parseImplicitGroup(t,i);if(i==="text"){return e}var h;if(!e){h=t;e=undefined}else{h=e.position}var a;var l;while(true){var p=this.lexer.lex(h,i);var c;if(p.type==="^"){if(a){throw new r("Double superscript",this.lexer,h)}var n=this.handleSupSubscript(p.position,i,p.type,"superscript");h=n.position;a=n.result}else if(p.type==="_"){if(l){throw new r("Double subscript",this.lexer,h)}var n=this.handleSupSubscript(p.position,i,p.type,"subscript");h=n.position;l=n.result}else if(p.type==="'"){var o=new g("textord","\\prime",i);var s=[o];h=p.position;while((p=this.lexer.lex(h,i)).type==="'"){s.push(o);h=p.position}a=new g("ordgroup",s,i)}else{break}}if(a||l){return new d(new g("supsub",{base:e&&e.result,sup:a,sub:l},i),h)}else{return e}};var s=["\\tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"];var u=["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"];c.prototype.parseImplicitGroup=function(t,i){var e=this.parseSymbol(t,i);if(!e||!e.result){return this.parseFunction(t,i)}var h=e.result.result;if(h==="\\left"){var a=this.parseFunction(t,i);var l=this.handleExpressionBody(a.position,i);var c=this.parseSymbol(l.position,i);if(c&&c.result.result==="\\right"){var n=this.parseFunction(l.position,i);return new d(new g("leftright",{body:l.body,left:a.result.value.value,right:n.result.value.value},i),n.position)}else{throw new r("Missing \\right",this.lexer,l.position)}}else if(h==="\\right"){return null}else if(p.contains(s,h)){var l=this.handleExpressionBody(e.result.position,i);return new d(new g("sizing",{size:"size"+(p.indexOf(s,h)+1),value:l.body},i),l.position)}else if(p.contains(u,h)){var l=this.handleExpressionBody(e.result.position,i);return new d(new g("styling",{style:h.slice(1,h.length-5),value:l.body},i),l.position)}else{return this.parseFunction(t,i)}};c.prototype.parseFunction=function(t,i){var e=this.parseGroup(t,i);if(e){if(e.isFunction){var a=e.result.result;if(i==="text"&&!e.allowedInText){throw new r("Can't use function '"+a+"' in text mode",this.lexer,e.position)}var l=e.result.position;var p;if(e.numArgs>0){var c=h.getGreediness(a);var n=[a];var o=[l];for(var s=0;s0){var v=h.getGreediness(m.result.result);if(v>c){f=this.parseFunction(l,i)}else{throw new r("Got function '"+m.result.result+"' as "+"argument to function '"+e.result.result+"'",this.lexer,m.result.position-1)}}else{f=m.result}n.push(f.result);o.push(f.position);l=f.position}n.push(o);p=h.funcs[a].handler.apply(this,n)}else{p=h.funcs[a].handler.apply(this,[a])}return new d(new g(p.type,p,i),l)}else{return e.result}}else{return null}};c.prototype.parseSpecialGroup=function(t,i,e){if(i==="color"||i==="size"){var h=this.lexer.lex(t,e);this.expect(h,"{");var a=this.lexer.lex(h.position,i);var l=this.lexer.lex(a.position,e);this.expect(l,"}");return new n(new d(new g("color",a.text,e),l.position),false)}else if(i==="text"){var p=this.lexer.lex(t,"whitespace");return this.parseGroup(p.position,i)}else{return this.parseGroup(t,i)}};c.prototype.parseGroup=function(t,i){var e=this.lexer.lex(t,i);if(e.type==="{"){var h=this.parseExpression(e.position,i);var a=this.lexer.lex(h.position,i);this.expect(a,"}");return new n(new d(new g("ordgroup",h.result,i),a.position),false)}else{return this.parseSymbol(t,i)}};c.prototype.parseSymbol=function(t,i){var e=this.lexer.lex(t,i);if(h.funcs[e.type]){var a=h.funcs[e.type];var p=a.argTypes;if(p){p=p.slice();for(var r=0;ri){i=t.children[a].height}if(t.children[a].depth>e){e=t.children[a].depth}if(t.children[a].maxFontSize>h){h=t.children[a].maxFontSize}}}t.height=i;t.depth=e;t.maxFontSize=h};var d=function(t,i,e){var a=new h.span(t,i);g(a);if(e){a.style.color=e}return a};var n=function(t){var i=new h.documentFragment(t);g(i);return i};var o=function(t,i){var e=d([],[new h.symbolNode("​")]);e.style.fontSize=i/t.style.sizeMultiplier+"em";var a=d(["fontsize-ensurer","reset-"+t.size,"size5"],[e]);return a};var s=function(t,i,e,a){var l;if(i==="individualShift"){var p=t;t=[p[0]];l=-p[0].shift-p[0].elem.depth;var r=l;for(var c=1;c0){u+=M;m-=M}}k=p.makeVList([{type:"elem",elem:o,shift:m},{type:"elem",elem:d,shift:-u}],"individualShift",null,i);if(a instanceof c.symbolNode){k.children[1].style.marginLeft=a.italic+"em";a.italic=0}k.children[0].style.marginRight=S;k.children[1].style.marginRight=S}return s([f(t.value.base)],[a,k])},open:function(t,i,e){return p.mathrm(t.value,t.mode,i.getColor(),["mopen"])},close:function(t,i,e){return p.mathrm(t.value,t.mode,i.getColor(),["mclose"])},frac:function(t,i,e){var h=i.style;if(t.value.size==="dfrac"){h=l.DISPLAY}else if(t.value.size==="tfrac"){h=l.TEXT}var a=h.fracNum();var r=h.fracDen();var c=z(t.value.numer,i.withStyle(a));var d=s([h.reset(),a.cls()],[c]);var n=z(t.value.denom,i.withStyle(r));var o=s([h.reset(),r.cls()],[n]);var u=g.metrics.defaultRuleThickness/i.style.sizeMultiplier;var m=s([i.style.reset(),l.TEXT.cls(),"frac-line"]);m.height=u;var f,v,y;if(h.size===l.DISPLAY.size){f=g.metrics.num1;v=g.metrics.denom1;y=3*u}else{f=g.metrics.num2;v=g.metrics.denom2;y=u}var x=g.metrics.axisHeight;if(f-c.depth-(x+.5*u)h.height+h.depth+n){n=(n+f-h.height-h.depth)/2}delimShift=-(h.height+n+a)+m.height;m.style.top=delimShift+"em";m.height-=delimShift;m.depth+=delimShift;var v;if(h.height===0&&h.depth===0){v=s()}else{v=p.makeVList([{type:"elem",elem:h},{type:"kern",size:n},{type:"elem",elem:c},{type:"kern",size:a}],"firstBaseline",null,i)}return s(["sqrt","mord"],[m,v])},overline:function(t,i,e){var h=z(t.value.body,i.withStyle(i.style.cramp()));var a=g.metrics.defaultRuleThickness/i.style.sizeMultiplier;var r=s([i.style.reset(),l.TEXT.cls(),"overline-line"]);r.height=a;r.maxFontSize=1;var c=p.makeVList([{type:"elem",elem:h},{type:"kern",size:3*a},{type:"elem",elem:r},{type:"kern",size:a}],"firstBaseline",null,i);return s(["overline","mord"],[c],i.getColor())},sizing:function(t,i,e){var h=u(t.value.value,i.withSize(t.value.size),e);var a=s(["mord"],[s(["sizing","reset-"+i.size,t.value.size,i.style.cls()],h)]);var l={size1:.5,size2:.7,size3:.8,size4:.9,size5:1,size6:1.2,size7:1.44,size8:1.73,size9:2.07,size10:2.49};var p=l[t.value.size];a.maxFontSize=p*i.style.sizeMultiplier;return a},styling:function(t,i,e){var h={display:l.DISPLAY,text:l.TEXT,script:l.SCRIPT,scriptscript:l.SCRIPTSCRIPT};var a=h[t.value.style];var p=u(t.value.value,i.withStyle(a),e);return s([i.style.reset(),a.cls()],p)},delimsizing:function(t,i,e){var h=t.value.value;if(h==="."){return s([m[t.value.delimType]])}return s([m[t.value.delimType]],[r.sizedDelim(h,t.value.size,i,t.mode)])},leftright:function(t,i,e){var h=u(t.value.body,i.reset());var a=0;var l=0;for(var p=0;p","\\langle","\\rangle","/","\\backslash","\\surd"];var z=["\\uparrow","\\downarrow","\\updownarrow","\\Uparrow","\\Downarrow","\\Updownarrow","|","\\|","\\vert","\\Vert"];var w=["<",">","\\langle","\\rangle","/","\\backslash"];var S=[0,1.2,1.8,2.4,3];var k=function(t,i,e,h){if(t==="<"){t="\\langle"}else if(t===">"){t="\\rangle"}var l;if(g.contains(b,t)){return v(t,i,false,e,h)}else if(g.contains(z,t)){return x(t,S[i],false,e,h)}else{throw new a("Illegal delimiter: '"+t+"'")}};var T=[{type:"small",style:l.SCRIPTSCRIPT},{type:"small",style:l.SCRIPT},{type:"small",style:l.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4}];var M=[{type:"small",style:l.SCRIPTSCRIPT},{type:"small",style:l.SCRIPT},{type:"small",style:l.TEXT},{type:"stack"}];var R=[{type:"small",style:l.SCRIPTSCRIPT},{type:"small",style:l.SCRIPT},{type:"small",style:l.TEXT},{type:"large",size:1},{type:"large",size:2},{type:"large",size:3},{type:"large",size:4},{type:"stack"}];var C=function(t){if(t.type==="small"){return"Main-Regular"}else if(t.type==="large"){return"Size"+t.size+"-Regular"}else if(t.type==="stack"){return"Size4-Regular"}};var E=function(t,i,e,h){var a=Math.min(2,3-h.style.size);for(var l=a;li){return e[l]}}return e[e.length-1]};var P=function(t,i,e,h,a){if(t==="<"){t="\\langle"}else if(t===">"){t="\\rangle"}var l;if(g.contains(w,t)){l=T}else if(g.contains(b,t)){l=R}else{l=M}var p=E(t,i,l,h);if(p.type==="small"){return f(t,p.style,e,h,a)}else if(p.type==="large"){return v(t,p.size,e,h,a)}else if(p.type==="stack"){return x(t,i,e,h,a)}};var A=function(t,i,e,h,a){var l=r.metrics.axisHeight*h.style.sizeMultiplier;var p=901;var c=5/r.metrics.ptPerEm;var g=Math.max(i-l,e+l);var d=Math.max(g/500*p,2*g-c);return P(t,d,true,h,a)};i.exports={sizedDelim:k,customSizedDelim:P,leftRightDelim:A}},{"./Options":2,"./ParseError":3,"./Style":5,"./buildCommon":6,"./domTree":9,"./fontMetrics":10,"./parseTree":13,"./symbols":14,"./utils":15}],9:[function(t,i,e){var h=t("./utils");var a=function(t){t=t.slice();for(var i=t.length-1;i>=0;i--){if(!t[i]){t.splice(i,1)}}return t.join(" ")};function l(t,i,e,h,a,l){this.classes=t||[];this.children=i||[];this.height=e||0;this.depth=h||0;this.maxFontSize=a||0;this.style=l||{}}l.prototype.toNode=function(){var t=document.createElement("span");t.className=a(this.classes);for(var i in this.style){if(this.style.hasOwnProperty(i)){t.style[i]=this.style[i]}}for(var e=0;e";return t};function p(t,i,e,h){this.children=t||[];this.height=i||0;this.depth=e||0;this.maxFontSize=h||0}p.prototype.toNode=function(){var t=document.createDocumentFragment();for(var i=0;i0){i=document.createElement("span");i.style.marginRight=this.italic+"em"}if(this.classes.length>0){i=i||document.createElement("span");i.className=a(this.classes)}for(var e in this.style){if(this.style.hasOwnProperty(e)){i=i||document.createElement("span");i.style[e]=this.style[e]}}if(i){i.appendChild(t);return i}else{return t}};r.prototype.toMarkup=function(){var t=false;var i="0){e+="margin-right:"+this.italic+"em;"}for(var l in this.style){if(this.style.hasOwnProperty(l)){e+=h.hyphenate(l)+":"+this.style[l]+";"}}if(e){t=true;i+=' style="'+h.escape(e)+'"'}var p=h.escape(this.value);if(t){i+=">";i+=p;i+="";return i}else{return p}};i.exports={span:l,documentFragment:p,symbolNode:r}},{"./utils":15}],10:[function(t,i,e){var h=.025;var a=0;var l=0;var p=0;var r=.431;var c=1;var g=0;var d=.677;var n=.394;var o=.444;var s=.686; +var u=.345;var m=.413;var f=.363;var v=.289;var y=.15;var x=.247;var b=.386;var z=.05;var w=2.39;var S=.101;var k=.25;var T=0;var M=0;var R=0;var C=0;var E=.431;var P=1;var A=0;var I=.04;var L=.111;var O=.166;var q=.2;var D=.6;var F=.1;var _=10;var B={xHeight:r,quad:c,num1:d,num2:n,num3:o,denom1:s,denom2:u,sup1:m,sup2:f,sup3:v,sub1:y,sub2:x,supDrop:b,subDrop:z,delim1:w,delim2:S,axisHeight:k,defaultRuleThickness:I,bigOpSpacing1:L,bigOpSpacing2:O,bigOpSpacing3:q,bigOpSpacing4:D,bigOpSpacing5:F,ptPerEm:_};var N={"AMS-Regular":{10003:{depth:0,height:.69224,italic:0},10016:{depth:0,height:.69224,italic:0},1008:{depth:0,height:.43056,italic:.04028},107:{depth:0,height:.68889,italic:0},10731:{depth:.11111,height:.69224,italic:0},10846:{depth:.19444,height:.75583,italic:0},10877:{depth:.13667,height:.63667,italic:0},10878:{depth:.13667,height:.63667,italic:0},10885:{depth:.25583,height:.75583,italic:0},10886:{depth:.25583,height:.75583,italic:0},10887:{depth:.13597,height:.63597,italic:0},10888:{depth:.13597,height:.63597,italic:0},10889:{depth:.26167,height:.75726,italic:0},10890:{depth:.26167,height:.75726,italic:0},10891:{depth:.48256,height:.98256,italic:0},10892:{depth:.48256,height:.98256,italic:0},10901:{depth:.13667,height:.63667,italic:0},10902:{depth:.13667,height:.63667,italic:0},10933:{depth:.25142,height:.75726,italic:0},10934:{depth:.25142,height:.75726,italic:0},10935:{depth:.26167,height:.75726,italic:0},10936:{depth:.26167,height:.75726,italic:0},10937:{depth:.26167,height:.75726,italic:0},10938:{depth:.26167,height:.75726,italic:0},10949:{depth:.25583,height:.75583,italic:0},10950:{depth:.25583,height:.75583,italic:0},10955:{depth:.28481,height:.79383,italic:0},10956:{depth:.28481,height:.79383,italic:0},165:{depth:0,height:.675,italic:.025},174:{depth:.15559,height:.69224,italic:0},240:{depth:0,height:.68889,italic:0},295:{depth:0,height:.68889,italic:0},57350:{depth:.08167,height:.58167,italic:0},57351:{depth:.08167,height:.58167,italic:0},57352:{depth:.08167,height:.58167,italic:0},57353:{depth:0,height:.43056,italic:.04028},57356:{depth:.25142,height:.75726,italic:0},57357:{depth:.25142,height:.75726,italic:0},57358:{depth:.41951,height:.91951,italic:0},57359:{depth:.30274,height:.79383,italic:0},57360:{depth:.30274,height:.79383,italic:0},57361:{depth:.41951,height:.91951,italic:0},57366:{depth:.25142,height:.75726,italic:0},57367:{depth:.25142,height:.75726,italic:0},57368:{depth:.25142,height:.75726,italic:0},57369:{depth:.25142,height:.75726,italic:0},57370:{depth:.13597,height:.63597,italic:0},57371:{depth:.13597,height:.63597,italic:0},65:{depth:0,height:.68889,italic:0},66:{depth:0,height:.68889,italic:0},67:{depth:0,height:.68889,italic:0},68:{depth:0,height:.68889,italic:0},69:{depth:0,height:.68889,italic:0},70:{depth:0,height:.68889,italic:0},71:{depth:0,height:.68889,italic:0},710:{depth:0,height:.825,italic:0},72:{depth:0,height:.68889,italic:0},73:{depth:0,height:.68889,italic:0},732:{depth:0,height:.9,italic:0},74:{depth:.16667,height:.68889,italic:0},75:{depth:0,height:.68889,italic:0},76:{depth:0,height:.68889,italic:0},77:{depth:0,height:.68889,italic:0},770:{depth:0,height:.825,italic:0},771:{depth:0,height:.9,italic:0},78:{depth:0,height:.68889,italic:0},79:{depth:.16667,height:.68889,italic:0},80:{depth:0,height:.68889,italic:0},81:{depth:.16667,height:.68889,italic:0},82:{depth:0,height:.68889,italic:0},8245:{depth:0,height:.54986,italic:0},83:{depth:0,height:.68889,italic:0},84:{depth:0,height:.68889,italic:0},8463:{depth:0,height:.68889,italic:0},8487:{depth:0,height:.68889,italic:0},8498:{depth:0,height:.68889,italic:0},85:{depth:0,height:.68889,italic:0},8502:{depth:0,height:.68889,italic:0},8503:{depth:0,height:.68889,italic:0},8504:{depth:0,height:.68889,italic:0},8513:{depth:0,height:.68889,italic:0},8592:{depth:-.03598,height:.46402,italic:0},8594:{depth:-.03598,height:.46402,italic:0},86:{depth:0,height:.68889,italic:0},8602:{depth:-.13313,height:.36687,italic:0},8603:{depth:-.13313,height:.36687,italic:0},8606:{depth:.01354,height:.52239,italic:0},8608:{depth:.01354,height:.52239,italic:0},8610:{depth:.01354,height:.52239,italic:0},8611:{depth:.01354,height:.52239,italic:0},8619:{depth:0,height:.54986,italic:0},8620:{depth:0,height:.54986,italic:0},8621:{depth:-.13313,height:.37788,italic:0},8622:{depth:-.13313,height:.36687,italic:0},8624:{depth:0,height:.69224,italic:0},8625:{depth:0,height:.69224,italic:0},8630:{depth:0,height:.43056,italic:0},8631:{depth:0,height:.43056,italic:0},8634:{depth:.08198,height:.58198,italic:0},8635:{depth:.08198,height:.58198,italic:0},8638:{depth:.19444,height:.69224,italic:0},8639:{depth:.19444,height:.69224,italic:0},8642:{depth:.19444,height:.69224,italic:0},8643:{depth:.19444,height:.69224,italic:0},8644:{depth:.1808,height:.675,italic:0},8646:{depth:.1808,height:.675,italic:0},8647:{depth:.1808,height:.675,italic:0},8648:{depth:.19444,height:.69224,italic:0},8649:{depth:.1808,height:.675,italic:0},8650:{depth:.19444,height:.69224,italic:0},8651:{depth:.01354,height:.52239,italic:0},8652:{depth:.01354,height:.52239,italic:0},8653:{depth:-.13313,height:.36687,italic:0},8654:{depth:-.13313,height:.36687,italic:0},8655:{depth:-.13313,height:.36687,italic:0},8666:{depth:.13667,height:.63667,italic:0},8667:{depth:.13667,height:.63667,italic:0},8669:{depth:-.13313,height:.37788,italic:0},87:{depth:0,height:.68889,italic:0},8705:{depth:0,height:.825,italic:0},8708:{depth:0,height:.68889,italic:0},8709:{depth:.08167,height:.58167,italic:0},8717:{depth:0,height:.43056,italic:0},8722:{depth:-.03598,height:.46402,italic:0},8724:{depth:.08198,height:.69224,italic:0},8726:{depth:.08167,height:.58167,italic:0},8733:{depth:0,height:.69224,italic:0},8736:{depth:0,height:.69224,italic:0},8737:{depth:0,height:.69224,italic:0},8738:{depth:.03517,height:.52239,italic:0},8739:{depth:.08167,height:.58167,italic:0},8740:{depth:.25142,height:.74111,italic:0},8741:{depth:.08167,height:.58167,italic:0},8742:{depth:.25142,height:.74111,italic:0},8756:{depth:0,height:.69224,italic:0},8757:{depth:0,height:.69224,italic:0},8764:{depth:-.13313,height:.36687,italic:0},8765:{depth:-.13313,height:.37788,italic:0},8769:{depth:-.13313,height:.36687,italic:0},8770:{depth:-.03625,height:.46375,italic:0},8774:{depth:.30274,height:.79383,italic:0},8776:{depth:-.01688,height:.48312,italic:0},8778:{depth:.08167,height:.58167,italic:0},8782:{depth:.06062,height:.54986,italic:0},8783:{depth:.06062,height:.54986,italic:0},8785:{depth:.08198,height:.58198,italic:0},8786:{depth:.08198,height:.58198,italic:0},8787:{depth:.08198,height:.58198,italic:0},8790:{depth:0,height:.69224,italic:0},8791:{depth:.22958,height:.72958,italic:0},8796:{depth:.08198,height:.91667,italic:0},88:{depth:0,height:.68889,italic:0},8806:{depth:.25583,height:.75583,italic:0},8807:{depth:.25583,height:.75583,italic:0},8808:{depth:.25142,height:.75726,italic:0},8809:{depth:.25142,height:.75726,italic:0},8812:{depth:.25583,height:.75583,italic:0},8814:{depth:.20576,height:.70576,italic:0},8815:{depth:.20576,height:.70576,italic:0},8816:{depth:.30274,height:.79383,italic:0},8817:{depth:.30274,height:.79383,italic:0},8818:{depth:.22958,height:.72958,italic:0},8819:{depth:.22958,height:.72958,italic:0},8822:{depth:.1808,height:.675,italic:0},8823:{depth:.1808,height:.675,italic:0},8828:{depth:.13667,height:.63667,italic:0},8829:{depth:.13667,height:.63667,italic:0},8830:{depth:.22958,height:.72958,italic:0},8831:{depth:.22958,height:.72958,italic:0},8832:{depth:.20576,height:.70576,italic:0},8833:{depth:.20576,height:.70576,italic:0},8840:{depth:.30274,height:.79383,italic:0},8841:{depth:.30274,height:.79383,italic:0},8842:{depth:.13597,height:.63597,italic:0},8843:{depth:.13597,height:.63597,italic:0},8847:{depth:.03517,height:.54986,italic:0},8848:{depth:.03517,height:.54986,italic:0},8858:{depth:.08198,height:.58198,italic:0},8859:{depth:.08198,height:.58198,italic:0},8861:{depth:.08198,height:.58198,italic:0},8862:{depth:0,height:.675,italic:0},8863:{depth:0,height:.675,italic:0},8864:{depth:0,height:.675,italic:0},8865:{depth:0,height:.675,italic:0},8872:{depth:0,height:.69224,italic:0},8873:{depth:0,height:.69224,italic:0},8874:{depth:0,height:.69224,italic:0},8876:{depth:0,height:.68889,italic:0},8877:{depth:0,height:.68889,italic:0},8878:{depth:0,height:.68889,italic:0},8879:{depth:0,height:.68889,italic:0},8882:{depth:.03517,height:.54986,italic:0},8883:{depth:.03517,height:.54986,italic:0},8884:{depth:.13667,height:.63667,italic:0},8885:{depth:.13667,height:.63667,italic:0},8888:{depth:0,height:.54986,italic:0},8890:{depth:.19444,height:.43056,italic:0},8891:{depth:.19444,height:.69224,italic:0},8892:{depth:.19444,height:.69224,italic:0},89:{depth:0,height:.68889,italic:0},8901:{depth:0,height:.54986,italic:0},8903:{depth:.08167,height:.58167,italic:0},8905:{depth:.08167,height:.58167,italic:0},8906:{depth:.08167,height:.58167,italic:0},8907:{depth:0,height:.69224,italic:0},8908:{depth:0,height:.69224,italic:0},8909:{depth:-.03598,height:.46402,italic:0},8910:{depth:0,height:.54986,italic:0},8911:{depth:0,height:.54986,italic:0},8912:{depth:.03517,height:.54986,italic:0},8913:{depth:.03517,height:.54986,italic:0},8914:{depth:0,height:.54986,italic:0},8915:{depth:0,height:.54986,italic:0},8916:{depth:0,height:.69224,italic:0},8918:{depth:.0391,height:.5391,italic:0},8919:{depth:.0391,height:.5391,italic:0},8920:{depth:.03517,height:.54986,italic:0},8921:{depth:.03517,height:.54986,italic:0},8922:{depth:.38569,height:.88569,italic:0},8923:{depth:.38569,height:.88569,italic:0},8926:{depth:.13667,height:.63667,italic:0},8927:{depth:.13667,height:.63667,italic:0},8928:{depth:.30274,height:.79383,italic:0},8929:{depth:.30274,height:.79383,italic:0},8934:{depth:.23222,height:.74111,italic:0},8935:{depth:.23222,height:.74111,italic:0},8936:{depth:.23222,height:.74111,italic:0},8937:{depth:.23222,height:.74111,italic:0},8938:{depth:.20576,height:.70576,italic:0},8939:{depth:.20576,height:.70576,italic:0},8940:{depth:.30274,height:.79383,italic:0},8941:{depth:.30274,height:.79383,italic:0},8994:{depth:.19444,height:.69224,italic:0},8995:{depth:.19444,height:.69224,italic:0},90:{depth:0,height:.68889,italic:0},9416:{depth:.15559,height:.69224,italic:0},9484:{depth:0,height:.69224,italic:0},9488:{depth:0,height:.69224,italic:0},9492:{depth:0,height:.37788,italic:0},9496:{depth:0,height:.37788,italic:0},9585:{depth:.19444,height:.68889,italic:0},9586:{depth:.19444,height:.74111,italic:0},9632:{depth:0,height:.675,italic:0},9633:{depth:0,height:.675,italic:0},9650:{depth:0,height:.54986,italic:0},9651:{depth:0,height:.54986,italic:0},9654:{depth:.03517,height:.54986,italic:0},9660:{depth:0,height:.54986,italic:0},9661:{depth:0,height:.54986,italic:0},9664:{depth:.03517,height:.54986,italic:0},9674:{depth:.11111,height:.69224,italic:0},9733:{depth:.19444,height:.69224,italic:0},989:{depth:.08167,height:.58167,italic:0}},"Main-Bold":{100:{depth:0,height:.69444,italic:0},101:{depth:0,height:.44444,italic:0},102:{depth:0,height:.69444,italic:.10903},10216:{depth:.25,height:.75,italic:0},10217:{depth:.25,height:.75,italic:0},103:{depth:.19444,height:.44444,italic:.01597},104:{depth:0,height:.69444,italic:0},105:{depth:0,height:.69444,italic:0},106:{depth:.19444,height:.69444,italic:0},107:{depth:0,height:.69444,italic:0},108:{depth:0,height:.69444,italic:0},10815:{depth:0,height:.68611,italic:0},109:{depth:0,height:.44444,italic:0},10927:{depth:.19667,height:.69667,italic:0},10928:{depth:.19667,height:.69667,italic:0},110:{depth:0,height:.44444,italic:0},111:{depth:0,height:.44444,italic:0},112:{depth:.19444,height:.44444,italic:0},113:{depth:.19444,height:.44444,italic:0},114:{depth:0,height:.44444,italic:0},115:{depth:0,height:.44444,italic:0},116:{depth:0,height:.63492,italic:0},117:{depth:0,height:.44444,italic:0},118:{depth:0,height:.44444,italic:.01597},119:{depth:0,height:.44444,italic:.01597},120:{depth:0,height:.44444,italic:0},121:{depth:.19444,height:.44444,italic:.01597},122:{depth:0,height:.44444,italic:0},123:{depth:.25,height:.75,italic:0},124:{depth:.25,height:.75,italic:0},125:{depth:.25,height:.75,italic:0},126:{depth:.35,height:.34444,italic:0},168:{depth:0,height:.69444,italic:0},172:{depth:0,height:.44444,italic:0},175:{depth:0,height:.59611,italic:0},176:{depth:0,height:.69444,italic:0},177:{depth:.13333,height:.63333,italic:0},180:{depth:0,height:.69444,italic:0},215:{depth:.13333,height:.63333,italic:0},247:{depth:.13333,height:.63333,italic:0},305:{depth:0,height:.44444,italic:0},33:{depth:0,height:.69444,italic:0},34:{depth:0,height:.69444,italic:0},35:{depth:.19444,height:.69444,italic:0},36:{depth:.05556,height:.75,italic:0},37:{depth:.05556,height:.75,italic:0},38:{depth:0,height:.69444,italic:0},39:{depth:0,height:.69444,italic:0},40:{depth:.25,height:.75,italic:0},41:{depth:.25,height:.75,italic:0},42:{depth:0,height:.75,italic:0},43:{depth:.13333,height:.63333,italic:0},44:{depth:.19444,height:.15556,italic:0},45:{depth:0,height:.44444,italic:0},46:{depth:0,height:.15556,italic:0},47:{depth:.25,height:.75,italic:0},48:{depth:0,height:.64444,italic:0},49:{depth:0,height:.64444,italic:0},50:{depth:0,height:.64444,italic:0},51:{depth:0,height:.64444,italic:0},52:{depth:0,height:.64444,italic:0},53:{depth:0,height:.64444,italic:0},54:{depth:0,height:.64444,italic:0},55:{depth:0,height:.64444,italic:0},56:{depth:0,height:.64444,italic:0},567:{depth:.19444,height:.44444,italic:0},57:{depth:0,height:.64444,italic:0},58:{depth:0,height:.44444,italic:0},59:{depth:.19444,height:.44444,italic:0},60:{depth:.08556,height:.58556,italic:0},61:{depth:-.10889,height:.39111,italic:0},62:{depth:.08556,height:.58556,italic:0},63:{depth:0,height:.69444,italic:0},64:{depth:0,height:.69444,italic:0},65:{depth:0,height:.68611,italic:0},66:{depth:0,height:.68611,italic:0},67:{depth:0,height:.68611,italic:0},68:{depth:0,height:.68611,italic:0},69:{depth:0,height:.68611,italic:0},70:{depth:0,height:.68611,italic:0},71:{depth:0,height:.68611,italic:0},710:{depth:0,height:.69444,italic:0},711:{depth:0,height:.63194,italic:0},713:{depth:0,height:.59611,italic:0},714:{depth:0,height:.69444,italic:0},715:{depth:0,height:.69444,italic:0},72:{depth:0,height:.68611,italic:0},728:{depth:0,height:.69444,italic:0},729:{depth:0,height:.69444,italic:0},73:{depth:0,height:.68611,italic:0},730:{depth:0,height:.69444,italic:0},732:{depth:0,height:.69444,italic:0},74:{depth:0,height:.68611,italic:0},75:{depth:0,height:.68611,italic:0},76:{depth:0,height:.68611,italic:0},768:{depth:0,height:.69444,italic:0},769:{depth:0,height:.69444,italic:0},77:{depth:0,height:.68611,italic:0},770:{depth:0,height:.69444,italic:0},771:{depth:0,height:.69444,italic:0},772:{depth:0,height:.59611,italic:0},774:{depth:0,height:.69444,italic:0},775:{depth:0,height:.69444,italic:0},776:{depth:0,height:.69444,italic:0},778:{depth:0,height:.69444,italic:0},779:{depth:0,height:.69444,italic:0},78:{depth:0,height:.68611,italic:0},780:{depth:0,height:.63194,italic:0},79:{depth:0,height:.68611,italic:0},80:{depth:0,height:.68611,italic:0},81:{depth:.19444,height:.68611,italic:0},82:{depth:0,height:.68611,italic:0},8211:{depth:0,height:.44444,italic:.03194},8212:{depth:0,height:.44444,italic:.03194},8216:{depth:0,height:.69444,italic:0},8217:{depth:0,height:.69444,italic:0},8220:{depth:0,height:.69444,italic:0},8221:{depth:0,height:.69444,italic:0},8224:{depth:.19444,height:.69444,italic:0},8225:{depth:.19444,height:.69444,italic:0},824:{depth:.19444,height:.69444,italic:0},8242:{depth:0,height:.55556,italic:0},83:{depth:0,height:.68611,italic:0},84:{depth:0,height:.68611,italic:0},8407:{depth:0,height:.72444,italic:.15486},8463:{depth:0,height:.69444,italic:0},8465:{depth:0,height:.69444,italic:0},8467:{depth:0,height:.69444,italic:0},8472:{depth:.19444,height:.44444,italic:0},8476:{depth:0,height:.69444,italic:0},85:{depth:0,height:.68611,italic:0},8501:{depth:0,height:.69444,italic:0},8592:{depth:-.10889,height:.39111,italic:0},8593:{depth:.19444,height:.69444,italic:0},8594:{depth:-.10889,height:.39111,italic:0},8595:{depth:.19444,height:.69444,italic:0},8596:{depth:-.10889,height:.39111,italic:0},8597:{depth:.25,height:.75,italic:0},8598:{depth:.19444,height:.69444,italic:0},8599:{depth:.19444,height:.69444,italic:0},86:{depth:0,height:.68611,italic:.01597},8600:{depth:.19444,height:.69444,italic:0},8601:{depth:.19444,height:.69444,italic:0},8636:{depth:-.10889,height:.39111,italic:0},8637:{depth:-.10889,height:.39111,italic:0},8640:{depth:-.10889,height:.39111,italic:0},8641:{depth:-.10889,height:.39111,italic:0},8656:{depth:-.10889,height:.39111,italic:0},8657:{depth:.19444,height:.69444,italic:0},8658:{depth:-.10889,height:.39111,italic:0},8659:{depth:.19444,height:.69444,italic:0},8660:{depth:-.10889,height:.39111,italic:0},8661:{depth:.25,height:.75,italic:0},87:{depth:0,height:.68611,italic:.01597},8704:{depth:0,height:.69444,italic:0},8706:{depth:0,height:.69444,italic:.06389},8707:{depth:0,height:.69444,italic:0},8709:{depth:.05556,height:.75,italic:0},8711:{depth:0,height:.68611,italic:0},8712:{depth:.08556,height:.58556,italic:0},8715:{depth:.08556,height:.58556,italic:0},8722:{depth:.13333,height:.63333,italic:0},8723:{depth:.13333,height:.63333,italic:0},8725:{depth:.25,height:.75,italic:0},8726:{depth:.25,height:.75,italic:0},8727:{depth:-.02778,height:.47222,italic:0},8728:{depth:-.02639,height:.47361,italic:0},8729:{depth:-.02639,height:.47361,italic:0},8730:{depth:.18,height:.82,italic:0},8733:{depth:0,height:.44444,italic:0},8734:{depth:0,height:.44444,italic:0},8736:{depth:0,height:.69224,italic:0},8739:{depth:.25,height:.75,italic:0},8741:{depth:.25,height:.75,italic:0},8743:{depth:0,height:.55556,italic:0},8744:{depth:0,height:.55556,italic:0},8745:{depth:0,height:.55556,italic:0},8746:{depth:0,height:.55556,italic:0},8747:{depth:.19444,height:.69444,italic:.12778},8764:{depth:-.10889,height:.39111,italic:0},8768:{depth:.19444,height:.69444,italic:0},8771:{depth:.00222,height:.50222,italic:0},8776:{depth:.02444,height:.52444,italic:0},8781:{depth:.00222,height:.50222,italic:0},88:{depth:0,height:.68611,italic:0},8801:{depth:.00222,height:.50222,italic:0},8804:{depth:.19667,height:.69667,italic:0},8805:{depth:.19667,height:.69667,italic:0},8810:{depth:.08556,height:.58556,italic:0},8811:{depth:.08556,height:.58556,italic:0},8826:{depth:.08556,height:.58556,italic:0},8827:{depth:.08556,height:.58556,italic:0},8834:{depth:.08556,height:.58556,italic:0},8835:{depth:.08556,height:.58556,italic:0},8838:{depth:.19667,height:.69667,italic:0},8839:{depth:.19667,height:.69667,italic:0},8846:{depth:0,height:.55556,italic:0},8849:{depth:.19667,height:.69667,italic:0},8850:{depth:.19667,height:.69667,italic:0},8851:{depth:0,height:.55556,italic:0},8852:{depth:0,height:.55556,italic:0},8853:{depth:.13333,height:.63333,italic:0},8854:{depth:.13333,height:.63333,italic:0},8855:{depth:.13333,height:.63333,italic:0},8856:{depth:.13333,height:.63333,italic:0},8857:{depth:.13333,height:.63333,italic:0},8866:{depth:0,height:.69444,italic:0},8867:{depth:0,height:.69444,italic:0},8868:{depth:0,height:.69444,italic:0},8869:{depth:0,height:.69444,italic:0},89:{depth:0,height:.68611,italic:.02875},8900:{depth:-.02639,height:.47361,italic:0},8901:{depth:-.02639,height:.47361,italic:0},8902:{depth:-.02778,height:.47222,italic:0},8968:{depth:.25,height:.75,italic:0},8969:{depth:.25,height:.75,italic:0},8970:{depth:.25,height:.75,italic:0},8971:{depth:.25,height:.75,italic:0},8994:{depth:-.13889,height:.36111,italic:0},8995:{depth:-.13889,height:.36111,italic:0},90:{depth:0,height:.68611,italic:0},91:{depth:.25,height:.75,italic:0},915:{depth:0,height:.68611,italic:0},916:{depth:0,height:.68611,italic:0},92:{depth:.25,height:.75,italic:0},920:{depth:0,height:.68611,italic:0},923:{depth:0,height:.68611,italic:0},926:{depth:0,height:.68611,italic:0},928:{depth:0,height:.68611,italic:0},93:{depth:.25,height:.75,italic:0},931:{depth:0,height:.68611,italic:0},933:{depth:0,height:.68611,italic:0},934:{depth:0,height:.68611,italic:0},936:{depth:0,height:.68611,italic:0},937:{depth:0,height:.68611,italic:0},94:{depth:0,height:.69444,italic:0},95:{depth:.31,height:.13444,italic:.03194},96:{depth:0,height:.69444,italic:0},9651:{depth:.19444,height:.69444,italic:0},9657:{depth:-.02778,height:.47222,italic:0},9661:{depth:.19444,height:.69444,italic:0},9667:{depth:-.02778,height:.47222,italic:0},97:{depth:0,height:.44444,italic:0},9711:{depth:.19444,height:.69444,italic:0},98:{depth:0,height:.69444,italic:0},9824:{depth:.12963,height:.69444,italic:0},9825:{depth:.12963,height:.69444,italic:0},9826:{depth:.12963,height:.69444,italic:0},9827:{depth:.12963,height:.69444,italic:0},9837:{depth:0,height:.75,italic:0},9838:{depth:.19444,height:.69444,italic:0},9839:{depth:.19444,height:.69444,italic:0},99:{depth:0,height:.44444,italic:0}},"Main-Italic":{100:{depth:0,height:.69444,italic:.10333},101:{depth:0,height:.43056,italic:.07514},102:{depth:.19444,height:.69444,italic:.21194},103:{depth:.19444,height:.43056,italic:.08847},104:{depth:0,height:.69444,italic:.07671},105:{depth:0,height:.65536,italic:.1019},106:{depth:.19444,height:.65536,italic:.14467},107:{depth:0,height:.69444,italic:.10764},108:{depth:0,height:.69444,italic:.10333},109:{depth:0,height:.43056,italic:.07671},110:{depth:0,height:.43056,italic:.07671},111:{depth:0,height:.43056,italic:.06312},112:{depth:.19444,height:.43056,italic:.06312},113:{depth:.19444,height:.43056,italic:.08847},114:{depth:0,height:.43056,italic:.10764},115:{depth:0,height:.43056,italic:.08208},116:{depth:0,height:.61508,italic:.09486},117:{depth:0,height:.43056,italic:.07671},118:{depth:0,height:.43056,italic:.10764},119:{depth:0,height:.43056,italic:.10764},120:{depth:0,height:.43056,italic:.12042},121:{depth:.19444,height:.43056,italic:.08847},122:{depth:0,height:.43056,italic:.12292},126:{depth:.35,height:.31786,italic:.11585},163:{depth:0,height:.69444,italic:0},305:{depth:0,height:.43056,italic:.07671},33:{depth:0,height:.69444,italic:.12417},34:{depth:0,height:.69444,italic:.06961},35:{depth:.19444,height:.69444,italic:.06616},37:{depth:.05556,height:.75,italic:.13639},38:{depth:0,height:.69444,italic:.09694},39:{depth:0,height:.69444,italic:.12417},40:{depth:.25,height:.75,italic:.16194},41:{depth:.25,height:.75,italic:.03694},42:{depth:0,height:.75,italic:.14917},43:{depth:.05667,height:.56167,italic:.03694},44:{depth:.19444,height:.10556,italic:0},45:{depth:0,height:.43056,italic:.02826},46:{depth:0,height:.10556,italic:0},47:{depth:.25,height:.75,italic:.16194},48:{depth:0,height:.64444,italic:.13556},49:{depth:0,height:.64444,italic:.13556},50:{depth:0,height:.64444,italic:.13556},51:{depth:0,height:.64444,italic:.13556},52:{depth:.19444,height:.64444,italic:.13556},53:{depth:0,height:.64444,italic:.13556},54:{depth:0,height:.64444,italic:.13556},55:{depth:.19444,height:.64444,italic:.13556},56:{depth:0,height:.64444,italic:.13556},567:{depth:.19444,height:.43056,italic:.03736},57:{depth:0,height:.64444,italic:.13556},58:{depth:0,height:.43056,italic:.0582},59:{depth:.19444,height:.43056,italic:.0582},61:{depth:-.13313,height:.36687,italic:.06616},63:{depth:0,height:.69444,italic:.1225},64:{depth:0,height:.69444,italic:.09597},65:{depth:0,height:.68333,italic:0},66:{depth:0,height:.68333,italic:.10257},67:{depth:0,height:.68333,italic:.14528},68:{depth:0,height:.68333,italic:.09403},69:{depth:0,height:.68333,italic:.12028},70:{depth:0,height:.68333,italic:.13305},71:{depth:0,height:.68333,italic:.08722},72:{depth:0,height:.68333,italic:.16389},73:{depth:0,height:.68333,italic:.15806},74:{depth:0,height:.68333,italic:.14028},75:{depth:0,height:.68333,italic:.14528},76:{depth:0,height:.68333,italic:0},768:{depth:0,height:.69444,italic:0},769:{depth:0,height:.69444,italic:.09694},77:{depth:0,height:.68333,italic:.16389},770:{depth:0,height:.69444,italic:.06646},771:{depth:0,height:.66786,italic:.11585},772:{depth:0,height:.56167,italic:.10333},774:{depth:0,height:.69444,italic:.10806},775:{depth:0,height:.66786,italic:.11752},776:{depth:0,height:.66786,italic:.10474},778:{depth:0,height:.69444,italic:0},779:{depth:0,height:.69444,italic:.1225},78:{depth:0,height:.68333,italic:.16389},780:{depth:0,height:.62847,italic:.08295},79:{depth:0,height:.68333,italic:.09403},80:{depth:0,height:.68333,italic:.10257},81:{depth:.19444,height:.68333,italic:.09403},82:{depth:0,height:.68333,italic:.03868},8211:{depth:0,height:.43056,italic:.09208},8212:{depth:0,height:.43056,italic:.09208},8216:{depth:0,height:.69444,italic:.12417},8217:{depth:0,height:.69444,italic:.12417},8220:{depth:0,height:.69444,italic:.1685},8221:{depth:0,height:.69444,italic:.06961},83:{depth:0,height:.68333,italic:.11972},84:{depth:0,height:.68333,italic:.13305},8463:{depth:0,height:.68889,italic:0},85:{depth:0,height:.68333,italic:.16389},86:{depth:0,height:.68333,italic:.18361},87:{depth:0,height:.68333,italic:.18361},88:{depth:0,height:.68333,italic:.15806},89:{depth:0,height:.68333,italic:.19383},90:{depth:0,height:.68333,italic:.14528},91:{depth:.25,height:.75,italic:.1875},915:{depth:0,height:.68333,italic:.13305},916:{depth:0,height:.68333,italic:0},920:{depth:0,height:.68333,italic:.09403},923:{depth:0,height:.68333,italic:0},926:{depth:0,height:.68333,italic:.15294},928:{depth:0,height:.68333,italic:.16389},93:{depth:.25,height:.75,italic:.10528},931:{depth:0,height:.68333,italic:.12028},933:{depth:0,height:.68333,italic:.11111},934:{depth:0,height:.68333,italic:.05986},936:{depth:0,height:.68333,italic:.11111},937:{depth:0,height:.68333,italic:.10257},94:{depth:0,height:.69444,italic:.06646},95:{depth:.31,height:.12056,italic:.09208},97:{depth:0,height:.43056,italic:.07671},98:{depth:0,height:.69444,italic:.06312},99:{depth:0,height:.43056,italic:.05653}},"Main-Regular":{32:{"0.0":0},160:{"0.0":0},8230:{"-0.0":0,"120.0":.12},8773:{"-22.0":-.022,0:0,"589.0":.589},8800:{0:0,"215.0":.215,"716.0":.716},8942:{0:0,"30.0":.03,"900.0":.9},8943:{"-190.0":-.19,0:0,"310.0":.31},8945:{"-100.0":-.1,0:0,"820.0":.82},100:{depth:0,height:.69444,italic:0},101:{depth:0,height:.43056,italic:0},102:{depth:0,height:.69444,italic:.07778},10216:{depth:.25,height:.75,italic:0},10217:{depth:.25,height:.75,italic:0},103:{depth:.19444,height:.43056,italic:.01389},104:{depth:0,height:.69444,italic:0},105:{depth:0,height:.66786,italic:0},106:{depth:.19444,height:.66786,italic:0},107:{depth:0,height:.69444,italic:0},108:{depth:0,height:.69444,italic:0},10815:{depth:0,height:.68333,italic:0},109:{depth:0,height:.43056,italic:0},10927:{depth:.13597,height:.63597,italic:0},10928:{depth:.13597,height:.63597,italic:0},110:{depth:0,height:.43056,italic:0},111:{depth:0,height:.43056,italic:0},112:{depth:.19444,height:.43056,italic:0},113:{depth:.19444,height:.43056,italic:0},114:{depth:0,height:.43056,italic:0},115:{depth:0,height:.43056,italic:0},116:{depth:0,height:.61508,italic:0},117:{depth:0,height:.43056,italic:0},118:{depth:0,height:.43056,italic:.01389},119:{depth:0,height:.43056,italic:.01389},120:{depth:0,height:.43056,italic:0},121:{depth:.19444,height:.43056,italic:.01389},122:{depth:0,height:.43056,italic:0},123:{depth:.25,height:.75,italic:0},124:{depth:.25,height:.75,italic:0},125:{depth:.25,height:.75,italic:0},126:{depth:.35,height:.31786,italic:0},168:{depth:0,height:.66786,italic:0},172:{depth:0,height:.43056,italic:0},175:{depth:0,height:.56778,italic:0},176:{depth:0,height:.69444,italic:0},177:{depth:.08333,height:.58333,italic:0},180:{depth:0,height:.69444,italic:0},215:{depth:.08333,height:.58333,italic:0},247:{depth:.08333,height:.58333,italic:0},305:{depth:0,height:.43056,italic:0},33:{depth:0,height:.69444,italic:0},34:{depth:0,height:.69444,italic:0},35:{depth:.19444,height:.69444,italic:0},36:{depth:.05556,height:.75,italic:0},37:{depth:.05556,height:.75,italic:0},38:{depth:0,height:.69444,italic:0},39:{depth:0,height:.69444,italic:0},40:{depth:.25,height:.75,italic:0},41:{depth:.25,height:.75,italic:0},42:{depth:0,height:.75,italic:0},43:{depth:.08333,height:.58333,italic:0},44:{depth:.19444,height:.10556,italic:0},45:{depth:0,height:.43056,italic:0},46:{depth:0,height:.10556,italic:0},47:{depth:.25,height:.75,italic:0},48:{depth:0,height:.64444,italic:0},49:{depth:0,height:.64444,italic:0},50:{depth:0,height:.64444,italic:0},51:{depth:0,height:.64444,italic:0},52:{depth:0,height:.64444,italic:0},53:{depth:0,height:.64444,italic:0},54:{depth:0,height:.64444,italic:0},55:{depth:0,height:.64444,italic:0},56:{depth:0,height:.64444,italic:0},567:{depth:.19444,height:.43056,italic:0},57:{depth:0,height:.64444,italic:0},58:{depth:0,height:.43056,italic:0},59:{depth:.19444,height:.43056,italic:0},60:{depth:.0391,height:.5391,italic:0},61:{depth:-.13313,height:.36687,italic:0},62:{depth:.0391,height:.5391,italic:0},63:{depth:0,height:.69444,italic:0},64:{depth:0,height:.69444,italic:0},65:{depth:0,height:.68333,italic:0},66:{depth:0,height:.68333,italic:0},67:{depth:0,height:.68333,italic:0},68:{depth:0,height:.68333,italic:0},69:{depth:0,height:.68333,italic:0},70:{depth:0,height:.68333,italic:0},71:{depth:0,height:.68333,italic:0},710:{depth:0,height:.69444,italic:0},711:{depth:0,height:.62847,italic:0},713:{depth:0,height:.56778,italic:0},714:{depth:0,height:.69444,italic:0},715:{depth:0,height:.69444,italic:0},72:{depth:0,height:.68333,italic:0},728:{depth:0,height:.69444,italic:0},729:{depth:0,height:.66786,italic:0},73:{depth:0,height:.68333,italic:0},730:{depth:0,height:.69444,italic:0},732:{depth:0,height:.66786,italic:0},74:{depth:0,height:.68333,italic:0},75:{depth:0,height:.68333,italic:0},76:{depth:0,height:.68333,italic:0},768:{depth:0,height:.69444,italic:0},769:{depth:0,height:.69444,italic:0},77:{depth:0,height:.68333,italic:0},770:{depth:0,height:.69444,italic:0},771:{depth:0,height:.66786,italic:0},772:{depth:0,height:.56778,italic:0},774:{depth:0,height:.69444,italic:0},775:{depth:0,height:.66786,italic:0},776:{depth:0,height:.66786,italic:0},778:{depth:0,height:.69444,italic:0},779:{depth:0,height:.69444,italic:0},78:{depth:0,height:.68333,italic:0},780:{depth:0,height:.62847,italic:0},79:{depth:0,height:.68333,italic:0},80:{depth:0,height:.68333,italic:0},81:{depth:.19444,height:.68333,italic:0},82:{depth:0,height:.68333,italic:0},8211:{depth:0,height:.43056,italic:.02778},8212:{depth:0,height:.43056,italic:.02778},8216:{depth:0,height:.69444,italic:0},8217:{depth:0,height:.69444,italic:0},8220:{depth:0,height:.69444,italic:0},8221:{depth:0,height:.69444,italic:0},8224:{depth:.19444,height:.69444,italic:0},8225:{depth:.19444,height:.69444,italic:0},824:{depth:.19444,height:.69444,italic:0},8242:{depth:0,height:.55556,italic:0},83:{depth:0,height:.68333,italic:0},84:{depth:0,height:.68333,italic:0},8407:{depth:0,height:.71444,italic:.15382},8463:{depth:0,height:.68889,italic:0},8465:{depth:0,height:.69444,italic:0},8467:{depth:0,height:.69444,italic:0},8472:{depth:.19444,height:.43056,italic:0},8476:{depth:0,height:.69444,italic:0},85:{depth:0,height:.68333,italic:0},8501:{depth:0,height:.69444,italic:0},8592:{depth:-.13313,height:.36687,italic:0},8593:{depth:.19444,height:.69444,italic:0},8594:{depth:-.13313,height:.36687,italic:0},8595:{depth:.19444,height:.69444,italic:0},8596:{depth:-.13313,height:.36687,italic:0},8597:{depth:.25,height:.75,italic:0},8598:{depth:.19444,height:.69444,italic:0},8599:{depth:.19444,height:.69444,italic:0},86:{depth:0,height:.68333,italic:.01389},8600:{depth:.19444,height:.69444,italic:0},8601:{depth:.19444,height:.69444,italic:0},8636:{depth:-.13313,height:.36687,italic:0},8637:{depth:-.13313,height:.36687,italic:0},8640:{depth:-.13313,height:.36687,italic:0},8641:{depth:-.13313,height:.36687,italic:0},8656:{depth:-.13313,height:.36687,italic:0},8657:{depth:.19444,height:.69444,italic:0},8658:{depth:-.13313,height:.36687,italic:0},8659:{depth:.19444,height:.69444,italic:0},8660:{depth:-.13313,height:.36687,italic:0},8661:{depth:.25,height:.75,italic:0},87:{depth:0,height:.68333,italic:.01389},8704:{depth:0,height:.69444,italic:0},8706:{depth:0,height:.69444,italic:.05556},8707:{depth:0,height:.69444,italic:0},8709:{depth:.05556,height:.75,italic:0},8711:{depth:0,height:.68333,italic:0},8712:{depth:.0391,height:.5391,italic:0},8715:{depth:.0391,height:.5391,italic:0},8722:{depth:.08333,height:.58333,italic:0},8723:{depth:.08333,height:.58333,italic:0},8725:{depth:.25,height:.75,italic:0},8726:{depth:.25,height:.75,italic:0},8727:{depth:-.03472,height:.46528,italic:0},8728:{depth:-.05555,height:.44445,italic:0},8729:{depth:-.05555,height:.44445,italic:0},8730:{depth:.2,height:.8,italic:0},8733:{depth:0,height:.43056,italic:0},8734:{depth:0,height:.43056,italic:0},8736:{depth:0,height:.69224,italic:0},8739:{depth:.25,height:.75,italic:0},8741:{depth:.25,height:.75,italic:0},8743:{depth:0,height:.55556,italic:0},8744:{depth:0,height:.55556,italic:0},8745:{depth:0,height:.55556,italic:0},8746:{depth:0,height:.55556,italic:0},8747:{depth:.19444,height:.69444,italic:.11111},8764:{depth:-.13313,height:.36687,italic:0},8768:{depth:.19444,height:.69444,italic:0},8771:{depth:-.03625,height:.46375,italic:0},8776:{depth:-.01688,height:.48312,italic:0},8781:{depth:-.03625,height:.46375,italic:0},88:{depth:0,height:.68333,italic:0},8801:{depth:-.03625,height:.46375,italic:0},8804:{depth:.13597,height:.63597,italic:0},8805:{depth:.13597,height:.63597,italic:0},8810:{depth:.0391,height:.5391,italic:0},8811:{depth:.0391,height:.5391,italic:0},8826:{depth:.0391,height:.5391,italic:0},8827:{depth:.0391,height:.5391,italic:0},8834:{depth:.0391,height:.5391,italic:0},8835:{depth:.0391,height:.5391,italic:0},8838:{depth:.13597,height:.63597,italic:0},8839:{depth:.13597,height:.63597,italic:0},8846:{depth:0,height:.55556,italic:0},8849:{depth:.13597,height:.63597,italic:0},8850:{depth:.13597,height:.63597,italic:0},8851:{depth:0,height:.55556,italic:0},8852:{depth:0,height:.55556,italic:0},8853:{depth:.08333,height:.58333,italic:0},8854:{depth:.08333,height:.58333,italic:0},8855:{depth:.08333,height:.58333,italic:0},8856:{depth:.08333,height:.58333,italic:0},8857:{depth:.08333,height:.58333,italic:0},8866:{depth:0,height:.69444,italic:0},8867:{depth:0,height:.69444,italic:0},8868:{depth:0,height:.69444,italic:0},8869:{depth:0,height:.69444,italic:0},89:{depth:0,height:.68333,italic:.025},8900:{depth:-.05555,height:.44445,italic:0},8901:{depth:-.05555,height:.44445,italic:0},8902:{depth:-.03472,height:.46528,italic:0},8968:{depth:.25,height:.75,italic:0},8969:{depth:.25,height:.75,italic:0},8970:{depth:.25,height:.75,italic:0},8971:{depth:.25,height:.75,italic:0},8994:{depth:-.14236,height:.35764,italic:0},8995:{depth:-.14236,height:.35764,italic:0},90:{depth:0,height:.68333,italic:0},91:{depth:.25,height:.75,italic:0},915:{depth:0,height:.68333,italic:0},916:{depth:0,height:.68333,italic:0},92:{depth:.25,height:.75,italic:0},920:{depth:0,height:.68333,italic:0},923:{depth:0,height:.68333,italic:0},926:{depth:0,height:.68333,italic:0},928:{depth:0,height:.68333,italic:0},93:{depth:.25,height:.75,italic:0},931:{depth:0,height:.68333,italic:0},933:{depth:0,height:.68333,italic:0},934:{depth:0,height:.68333,italic:0},936:{depth:0,height:.68333,italic:0},937:{depth:0,height:.68333,italic:0},94:{depth:0,height:.69444,italic:0},95:{depth:.31,height:.12056,italic:.02778},96:{depth:0,height:.69444,italic:0},9651:{depth:.19444,height:.69444,italic:0},9657:{depth:-.03472,height:.46528,italic:0},9661:{depth:.19444,height:.69444,italic:0},9667:{depth:-.03472,height:.46528,italic:0},97:{depth:0,height:.43056,italic:0},9711:{depth:.19444,height:.69444,italic:0},98:{depth:0,height:.69444,italic:0},9824:{depth:.12963,height:.69444,italic:0},9825:{depth:.12963,height:.69444,italic:0},9826:{depth:.12963,height:.69444,italic:0},9827:{depth:.12963,height:.69444,italic:0},9837:{depth:0,height:.75,italic:0},9838:{depth:.19444,height:.69444,italic:0},9839:{depth:.19444,height:.69444,italic:0},99:{depth:0,height:.43056,italic:0}},"Math-BoldItalic":{100:{depth:0,height:.69444,italic:0},1009:{depth:.19444,height:.44444,italic:0},101:{depth:0,height:.44444,italic:0},1013:{depth:0,height:.44444,italic:0},102:{depth:.19444,height:.69444,italic:.11042},103:{depth:.19444,height:.44444,italic:.03704},104:{depth:0,height:.69444,italic:0},105:{depth:0,height:.69326,italic:0},106:{depth:.19444,height:.69326,italic:.0622},107:{depth:0,height:.69444,italic:.01852},108:{depth:0,height:.69444,italic:.0088},109:{depth:0,height:.44444,italic:0},110:{depth:0,height:.44444,italic:0},111:{depth:0,height:.44444,italic:0},112:{depth:.19444,height:.44444,italic:0},113:{depth:.19444,height:.44444,italic:.03704},114:{depth:0,height:.44444,italic:.03194},115:{depth:0,height:.44444,italic:0},116:{depth:0,height:.63492,italic:0},117:{depth:0,height:.44444,italic:0},118:{depth:0,height:.44444,italic:.03704},119:{depth:0,height:.44444,italic:.02778},120:{depth:0,height:.44444,italic:0},121:{depth:.19444,height:.44444,italic:.03704},122:{depth:0,height:.44444,italic:.04213},47:{depth:.19444,height:.69444,italic:0},65:{depth:0,height:.68611,italic:0},66:{depth:0,height:.68611,italic:.04835},67:{depth:0,height:.68611,italic:.06979},68:{depth:0,height:.68611,italic:.03194},69:{depth:0,height:.68611,italic:.05451},70:{depth:0,height:.68611,italic:.15972},71:{depth:0,height:.68611,italic:0},72:{depth:0,height:.68611,italic:.08229},73:{depth:0,height:.68611,italic:.07778},74:{depth:0,height:.68611,italic:.10069},75:{depth:0,height:.68611,italic:.06979},76:{depth:0,height:.68611,italic:0},77:{depth:0,height:.68611,italic:.11424},78:{depth:0,height:.68611,italic:.11424},79:{depth:0,height:.68611,italic:.03194},80:{depth:0,height:.68611,italic:.15972},81:{depth:.19444,height:.68611,italic:0},82:{depth:0,height:.68611,italic:.00421},83:{depth:0,height:.68611,italic:.05382},84:{depth:0,height:.68611,italic:.15972},85:{depth:0,height:.68611,italic:.11424},86:{depth:0,height:.68611,italic:.25555},87:{depth:0,height:.68611,italic:.15972},88:{depth:0,height:.68611,italic:.07778},89:{depth:0,height:.68611,italic:.25555},90:{depth:0,height:.68611,italic:.06979},915:{depth:0,height:.68611,italic:.15972},916:{depth:0,height:.68611,italic:0},920:{depth:0,height:.68611,italic:.03194},923:{depth:0,height:.68611,italic:0},926:{depth:0,height:.68611,italic:.07458},928:{depth:0,height:.68611,italic:.08229},931:{depth:0,height:.68611,italic:.05451},933:{depth:0,height:.68611,italic:.15972},934:{depth:0,height:.68611,italic:0},936:{depth:0,height:.68611,italic:.11653},937:{depth:0,height:.68611,italic:.04835},945:{depth:0,height:.44444,italic:0},946:{depth:.19444,height:.69444,italic:.03403},947:{depth:.19444,height:.44444,italic:.06389},948:{depth:0,height:.69444,italic:.03819},949:{depth:0,height:.44444,italic:0},950:{depth:.19444,height:.69444,italic:.06215},951:{depth:.19444,height:.44444,italic:.03704},952:{depth:0,height:.69444,italic:.03194},953:{depth:0,height:.44444,italic:0},954:{depth:0,height:.44444,italic:0},955:{depth:0,height:.69444,italic:0},956:{depth:.19444,height:.44444,italic:0},957:{depth:0,height:.44444,italic:.06898},958:{depth:.19444,height:.69444,italic:.03021},959:{depth:0,height:.44444,italic:0},960:{depth:0,height:.44444,italic:.03704},961:{depth:.19444,height:.44444,italic:0},962:{depth:.09722,height:.44444,italic:.07917},963:{depth:0,height:.44444,italic:.03704},964:{depth:0,height:.44444,italic:.13472},965:{depth:0,height:.44444,italic:.03704},966:{depth:.19444,height:.44444,italic:0},967:{depth:.19444,height:.44444,italic:0},968:{depth:.19444,height:.69444,italic:.03704},969:{depth:0,height:.44444,italic:.03704},97:{depth:0,height:.44444,italic:0},977:{depth:0,height:.69444,italic:0},98:{depth:0,height:.69444,italic:0},981:{depth:.19444,height:.69444,italic:0},982:{depth:0,height:.44444,italic:.03194},99:{depth:0,height:.44444,italic:0}},"Math-Italic":{100:{depth:0,height:.69444,italic:0},1009:{depth:.19444,height:.43056,italic:0},101:{depth:0,height:.43056,italic:0},1013:{depth:0,height:.43056,italic:0},102:{depth:.19444,height:.69444,italic:.10764},103:{depth:.19444,height:.43056,italic:.03588},104:{depth:0,height:.69444,italic:0},105:{depth:0,height:.65952,italic:0},106:{depth:.19444,height:.65952,italic:.05724},107:{depth:0,height:.69444,italic:.03148},108:{depth:0,height:.69444,italic:.01968},109:{depth:0,height:.43056,italic:0},110:{depth:0,height:.43056,italic:0},111:{depth:0,height:.43056,italic:0},112:{depth:.19444,height:.43056,italic:0},113:{depth:.19444,height:.43056,italic:.03588},114:{depth:0,height:.43056,italic:.02778},115:{depth:0,height:.43056,italic:0},116:{depth:0,height:.61508,italic:0},117:{depth:0,height:.43056,italic:0},118:{depth:0,height:.43056,italic:.03588},119:{depth:0,height:.43056,italic:.02691},120:{depth:0,height:.43056,italic:0},121:{depth:.19444,height:.43056,italic:.03588},122:{depth:0,height:.43056,italic:.04398},47:{depth:.19444,height:.69444,italic:0},65:{depth:0,height:.68333,italic:0},66:{depth:0,height:.68333,italic:.05017},67:{depth:0,height:.68333,italic:.07153},68:{depth:0,height:.68333,italic:.02778},69:{depth:0,height:.68333,italic:.05764},70:{depth:0,height:.68333,italic:.13889},71:{depth:0,height:.68333,italic:0},72:{depth:0,height:.68333,italic:.08125},73:{depth:0,height:.68333,italic:.07847},74:{depth:0,height:.68333,italic:.09618},75:{depth:0,height:.68333,italic:.07153},76:{depth:0,height:.68333,italic:0},77:{depth:0,height:.68333,italic:.10903},78:{depth:0,height:.68333,italic:.10903},79:{depth:0,height:.68333,italic:.02778},80:{depth:0,height:.68333,italic:.13889},81:{depth:.19444,height:.68333,italic:0},82:{depth:0,height:.68333,italic:.00773},83:{depth:0,height:.68333,italic:.05764},84:{depth:0,height:.68333,italic:.13889},85:{depth:0,height:.68333,italic:.10903},86:{depth:0,height:.68333,italic:.22222},87:{depth:0,height:.68333,italic:.13889},88:{depth:0,height:.68333,italic:.07847},89:{depth:0,height:.68333,italic:.22222},90:{depth:0,height:.68333,italic:.07153},915:{depth:0,height:.68333,italic:.13889},916:{depth:0,height:.68333,italic:0},920:{depth:0,height:.68333,italic:.02778},923:{depth:0,height:.68333,italic:0},926:{depth:0,height:.68333,italic:.07569},928:{depth:0,height:.68333,italic:.08125},931:{depth:0,height:.68333,italic:.05764},933:{depth:0,height:.68333,italic:.13889},934:{depth:0,height:.68333,italic:0},936:{depth:0,height:.68333,italic:.11},937:{depth:0,height:.68333,italic:.05017},945:{depth:0,height:.43056,italic:.0037},946:{depth:.19444,height:.69444,italic:.05278},947:{depth:.19444,height:.43056,italic:.05556},948:{depth:0,height:.69444,italic:.03785},949:{depth:0,height:.43056,italic:0},950:{depth:.19444,height:.69444,italic:.07378},951:{depth:.19444,height:.43056,italic:.03588},952:{depth:0,height:.69444,italic:.02778},953:{depth:0,height:.43056,italic:0},954:{depth:0,height:.43056,italic:0},955:{depth:0,height:.69444,italic:0},956:{depth:.19444,height:.43056,italic:0},957:{depth:0,height:.43056,italic:.06366},958:{depth:.19444,height:.69444,italic:.04601},959:{depth:0,height:.43056,italic:0},960:{depth:0,height:.43056,italic:.03588},961:{depth:.19444,height:.43056,italic:0},962:{depth:.09722,height:.43056,italic:.07986},963:{depth:0,height:.43056,italic:.03588},964:{depth:0,height:.43056,italic:.1132},965:{depth:0,height:.43056,italic:.03588},966:{depth:.19444,height:.43056,italic:0},967:{depth:.19444,height:.43056,italic:0},968:{depth:.19444,height:.69444,italic:.03588},969:{depth:0,height:.43056,italic:.03588},97:{depth:0,height:.43056,italic:0},977:{depth:0,height:.69444,italic:0},98:{depth:0,height:.69444,italic:0},981:{depth:.19444,height:.69444,italic:0},982:{depth:0,height:.43056,italic:.02778},99:{depth:0,height:.43056,italic:0}},"Math-Regular":{100:{depth:0,height:.69444,italic:0},1009:{depth:.19444,height:.43056,italic:0},101:{depth:0,height:.43056,italic:0},1013:{depth:0,height:.43056,italic:0},102:{depth:.19444,height:.69444,italic:.10764},103:{depth:.19444,height:.43056,italic:.03588},104:{depth:0,height:.69444,italic:0},105:{depth:0,height:.65952,italic:0},106:{depth:.19444,height:.65952,italic:.05724},107:{depth:0,height:.69444,italic:.03148},108:{depth:0,height:.69444,italic:.01968},109:{depth:0,height:.43056,italic:0},110:{depth:0,height:.43056,italic:0},111:{depth:0,height:.43056,italic:0},112:{depth:.19444,height:.43056,italic:0},113:{depth:.19444,height:.43056,italic:.03588},114:{depth:0,height:.43056,italic:.02778},115:{depth:0,height:.43056,italic:0},116:{depth:0,height:.61508,italic:0},117:{depth:0,height:.43056,italic:0},118:{depth:0,height:.43056,italic:.03588},119:{depth:0,height:.43056,italic:.02691},120:{depth:0,height:.43056,italic:0},121:{depth:.19444,height:.43056,italic:.03588},122:{depth:0,height:.43056,italic:.04398},65:{depth:0,height:.68333,italic:0},66:{depth:0,height:.68333,italic:.05017},67:{depth:0,height:.68333,italic:.07153},68:{depth:0,height:.68333,italic:.02778},69:{depth:0,height:.68333,italic:.05764},70:{depth:0,height:.68333,italic:.13889},71:{depth:0,height:.68333,italic:0},72:{depth:0,height:.68333,italic:.08125},73:{depth:0,height:.68333,italic:.07847},74:{depth:0,height:.68333,italic:.09618},75:{depth:0,height:.68333,italic:.07153},76:{depth:0,height:.68333,italic:0},77:{depth:0,height:.68333,italic:.10903},78:{depth:0,height:.68333,italic:.10903},79:{depth:0,height:.68333,italic:.02778},80:{depth:0,height:.68333,italic:.13889},81:{depth:.19444,height:.68333,italic:0},82:{depth:0,height:.68333,italic:.00773},83:{depth:0,height:.68333,italic:.05764},84:{depth:0,height:.68333,italic:.13889},85:{depth:0,height:.68333,italic:.10903},86:{depth:0,height:.68333,italic:.22222},87:{depth:0,height:.68333,italic:.13889},88:{depth:0,height:.68333,italic:.07847},89:{depth:0,height:.68333,italic:.22222},90:{depth:0,height:.68333,italic:.07153},915:{depth:0,height:.68333,italic:.13889},916:{depth:0,height:.68333,italic:0},920:{depth:0,height:.68333,italic:.02778},923:{depth:0,height:.68333,italic:0},926:{depth:0,height:.68333,italic:.07569},928:{depth:0,height:.68333,italic:.08125},931:{depth:0,height:.68333,italic:.05764},933:{depth:0,height:.68333,italic:.13889},934:{depth:0,height:.68333,italic:0},936:{depth:0,height:.68333,italic:.11},937:{depth:0,height:.68333,italic:.05017},945:{depth:0,height:.43056,italic:.0037},946:{depth:.19444,height:.69444,italic:.05278},947:{depth:.19444,height:.43056,italic:.05556},948:{depth:0,height:.69444,italic:.03785},949:{depth:0,height:.43056,italic:0},950:{depth:.19444,height:.69444,italic:.07378},951:{depth:.19444,height:.43056,italic:.03588},952:{depth:0,height:.69444,italic:.02778},953:{depth:0,height:.43056,italic:0},954:{depth:0,height:.43056,italic:0},955:{depth:0,height:.69444,italic:0},956:{depth:.19444,height:.43056,italic:0},957:{depth:0,height:.43056,italic:.06366},958:{depth:.19444,height:.69444,italic:.04601},959:{depth:0,height:.43056,italic:0},960:{depth:0,height:.43056,italic:.03588},961:{depth:.19444,height:.43056,italic:0},962:{depth:.09722,height:.43056,italic:.07986},963:{depth:0,height:.43056,italic:.03588},964:{depth:0,height:.43056,italic:.1132},965:{depth:0,height:.43056,italic:.03588},966:{depth:.19444,height:.43056,italic:0},967:{depth:.19444,height:.43056,italic:0},968:{depth:.19444,height:.69444,italic:.03588},969:{depth:0,height:.43056,italic:.03588},97:{depth:0,height:.43056,italic:0},977:{depth:0,height:.69444,italic:0},98:{depth:0,height:.69444,italic:0},981:{depth:.19444,height:.69444,italic:0},982:{depth:0,height:.43056,italic:.02778},99:{depth:0,height:.43056,italic:0}},"Size1-Regular":{10216:{depth:.35001,height:.85,italic:0},10217:{depth:.35001,height:.85,italic:0},10752:{depth:.25001,height:.75,italic:0},10753:{depth:.25001,height:.75,italic:0},10754:{depth:.25001,height:.75,italic:0},10756:{depth:.25001,height:.75,italic:0},10758:{depth:.25001,height:.75,italic:0},123:{depth:.35001,height:.85,italic:0},125:{depth:.35001,height:.85,italic:0},40:{depth:.35001,height:.85,italic:0},41:{depth:.35001,height:.85,italic:0},47:{depth:.35001,height:.85,italic:0},710:{depth:0,height:.72222,italic:0},732:{depth:0,height:.72222,italic:0},770:{depth:0,height:.72222,italic:0},771:{depth:0,height:.72222,italic:0},8214:{depth:-99e-5,height:.601,italic:0},8593:{depth:1e-5,height:.6,italic:0},8595:{depth:1e-5,height:.6,italic:0},8657:{depth:1e-5,height:.6,italic:0},8659:{depth:1e-5,height:.6,italic:0},8719:{depth:.25001,height:.75,italic:0},8720:{depth:.25001,height:.75,italic:0},8721:{depth:.25001,height:.75,italic:0},8730:{depth:.35001,height:.85,italic:0},8739:{depth:-.00599,height:.606,italic:0},8741:{depth:-.00599,height:.606,italic:0},8747:{depth:.30612,height:.805,italic:.19445},8750:{depth:.30612,height:.805,italic:.19445},8896:{depth:.25001,height:.75,italic:0},8897:{depth:.25001,height:.75,italic:0},8898:{depth:.25001,height:.75,italic:0},8899:{depth:.25001,height:.75,italic:0},8968:{depth:.35001,height:.85,italic:0},8969:{depth:.35001,height:.85,italic:0},8970:{depth:.35001,height:.85,italic:0},8971:{depth:.35001,height:.85,italic:0},91:{depth:.35001,height:.85,italic:0},9168:{depth:-99e-5,height:.601,italic:0},92:{depth:.35001,height:.85,italic:0},93:{depth:.35001,height:.85,italic:0}},"Size2-Regular":{10216:{depth:.65002,height:1.15,italic:0},10217:{depth:.65002,height:1.15,italic:0},10752:{depth:.55001,height:1.05,italic:0},10753:{depth:.55001,height:1.05,italic:0},10754:{depth:.55001,height:1.05,italic:0},10756:{depth:.55001,height:1.05,italic:0},10758:{depth:.55001,height:1.05,italic:0},123:{depth:.65002,height:1.15,italic:0},125:{depth:.65002,height:1.15,italic:0},40:{depth:.65002,height:1.15,italic:0},41:{depth:.65002,height:1.15,italic:0},47:{depth:.65002,height:1.15,italic:0},710:{depth:0,height:.75,italic:0},732:{depth:0,height:.75,italic:0},770:{depth:0,height:.75,italic:0},771:{depth:0,height:.75,italic:0},8719:{depth:.55001,height:1.05,italic:0},8720:{depth:.55001,height:1.05,italic:0},8721:{depth:.55001,height:1.05,italic:0},8730:{depth:.65002,height:1.15,italic:0},8747:{depth:.86225,height:1.36,italic:.44445},8750:{depth:.86225,height:1.36,italic:.44445},8896:{depth:.55001,height:1.05,italic:0},8897:{depth:.55001,height:1.05,italic:0},8898:{depth:.55001,height:1.05,italic:0},8899:{depth:.55001,height:1.05,italic:0},8968:{depth:.65002,height:1.15,italic:0},8969:{depth:.65002,height:1.15,italic:0},8970:{depth:.65002,height:1.15,italic:0},8971:{depth:.65002,height:1.15,italic:0},91:{depth:.65002,height:1.15,italic:0},92:{depth:.65002,height:1.15,italic:0},93:{depth:.65002,height:1.15,italic:0}},"Size3-Regular":{10216:{depth:.95003,height:1.45,italic:0},10217:{depth:.95003,height:1.45,italic:0},123:{depth:.95003,height:1.45,italic:0},125:{depth:.95003,height:1.45,italic:0},40:{depth:.95003,height:1.45,italic:0},41:{depth:.95003,height:1.45,italic:0},47:{depth:.95003,height:1.45,italic:0},710:{depth:0,height:.75,italic:0},732:{depth:0,height:.75,italic:0},770:{depth:0,height:.75,italic:0},771:{depth:0,height:.75,italic:0},8730:{depth:.95003,height:1.45,italic:0},8968:{depth:.95003,height:1.45,italic:0},8969:{depth:.95003,height:1.45,italic:0},8970:{depth:.95003,height:1.45,italic:0},8971:{depth:.95003,height:1.45,italic:0},91:{depth:.95003,height:1.45,italic:0},92:{depth:.95003,height:1.45,italic:0},93:{depth:.95003,height:1.45,italic:0}},"Size4-Regular":{10216:{depth:1.25003,height:1.75,italic:0},10217:{depth:1.25003,height:1.75,italic:0},123:{depth:1.25003,height:1.75,italic:0},125:{depth:1.25003,height:1.75,italic:0},40:{depth:1.25003,height:1.75,italic:0},41:{depth:1.25003,height:1.75,italic:0},47:{depth:1.25003,height:1.75,italic:0},57344:{depth:-.00499,height:.605,italic:0},57345:{depth:-.00499,height:.605,italic:0},57680:{depth:0,height:.12,italic:0},57681:{depth:0,height:.12,italic:0},57682:{depth:0,height:.12,italic:0},57683:{depth:0,height:.12,italic:0},710:{depth:0,height:.825,italic:0},732:{depth:0,height:.825,italic:0},770:{depth:0,height:.825,italic:0},771:{depth:0,height:.825,italic:0},8730:{depth:1.25003,height:1.75,italic:0},8968:{depth:1.25003,height:1.75,italic:0},8969:{depth:1.25003,height:1.75,italic:0},8970:{depth:1.25003,height:1.75,italic:0},8971:{depth:1.25003,height:1.75,italic:0},91:{depth:1.25003,height:1.75,italic:0},9115:{depth:.64502,height:1.155,italic:0},9116:{depth:1e-5,height:.6,italic:0},9117:{depth:.64502,height:1.155,italic:0},9118:{depth:.64502,height:1.155,italic:0},9119:{depth:1e-5,height:.6,italic:0},9120:{depth:.64502,height:1.155,italic:0},9121:{depth:.64502,height:1.155,italic:0},9122:{depth:-99e-5,height:.601,italic:0},9123:{depth:.64502,height:1.155,italic:0},9124:{depth:.64502,height:1.155,italic:0},9125:{depth:-99e-5,height:.601,italic:0},9126:{depth:.64502,height:1.155,italic:0},9127:{depth:1e-5,height:.9,italic:0},9128:{depth:.65002,height:1.15,italic:0},9129:{depth:.90001,height:0,italic:0},9130:{depth:0,height:.3,italic:0},9131:{depth:1e-5,height:.9,italic:0},9132:{depth:.65002,height:1.15,italic:0},9133:{depth:.90001,height:0,italic:0},9143:{depth:.88502,height:.915,italic:0},92:{depth:1.25003,height:1.75,italic:0},93:{depth:1.25003,height:1.75,italic:0}}}; +var G=function(t,i){return N[i][t.charCodeAt(0)]};i.exports={metrics:B,getCharacterMetrics:G}},{}],11:[function(t,i,e){var h=t("./utils");var a=t("./ParseError");var l={"\\sqrt":{numArgs:1,handler:function(t,i){return{type:"sqrt",body:i}}},"\\text":{numArgs:1,argTypes:["text"],greediness:2,handler:function(t,i){var e;if(i.type==="ordgroup"){e=i.value}else{e=[i]}return{type:"text",body:e}}},"\\color":{numArgs:2,allowedInText:true,argTypes:["color","original"],handler:function(t,i,e){var h;if(e.type==="ordgroup"){h=e.value}else{h=[e]}return{type:"color",color:i.value,value:h}}},"\\overline":{numArgs:1,handler:function(t,i){return{type:"overline",body:i}}},"\\rule":{numArgs:2,argTypes:["size","size"],handler:function(t,i,e){return{type:"rule",width:i.value,height:e.value}}},"\\KaTeX":{numArgs:0,handler:function(t){return{type:"katex"}}}};var p={"\\bigl":{type:"open",size:1},"\\Bigl":{type:"open",size:2},"\\biggl":{type:"open",size:3},"\\Biggl":{type:"open",size:4},"\\bigr":{type:"close",size:1},"\\Bigr":{type:"close",size:2},"\\biggr":{type:"close",size:3},"\\Biggr":{type:"close",size:4},"\\bigm":{type:"rel",size:1},"\\Bigm":{type:"rel",size:2},"\\biggm":{type:"rel",size:3},"\\Biggm":{type:"rel",size:4},"\\big":{type:"textord",size:1},"\\Big":{type:"textord",size:2},"\\bigg":{type:"textord",size:3},"\\Bigg":{type:"textord",size:4}};var r=["(",")","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\\lfloor","\\rfloor","\\lceil","\\rceil","<",">","\\langle","\\rangle","/","\\backslash","|","\\vert","\\|","\\Vert","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."];var c=[{funcs:["\\blue","\\orange","\\pink","\\red","\\green","\\gray","\\purple"],data:{numArgs:1,allowedInText:true,handler:function(t,i){var e;if(i.type==="ordgroup"){e=i.value}else{e=[i]}return{type:"color",color:"katex-"+t.slice(1),value:e}}}},{funcs:["\\arcsin","\\arccos","\\arctan","\\arg","\\cos","\\cosh","\\cot","\\coth","\\csc","\\deg","\\dim","\\exp","\\hom","\\ker","\\lg","\\ln","\\log","\\sec","\\sin","\\sinh","\\tan","\\tanh"],data:{numArgs:0,handler:function(t){return{type:"op",limits:false,symbol:false,body:t}}}},{funcs:["\\det","\\gcd","\\inf","\\lim","\\liminf","\\limsup","\\max","\\min","\\Pr","\\sup"],data:{numArgs:0,handler:function(t){return{type:"op",limits:true,symbol:false,body:t}}}},{funcs:["\\int","\\iint","\\iiint","\\oint"],data:{numArgs:0,handler:function(t){return{type:"op",limits:false,symbol:true,body:t}}}},{funcs:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcap","\\bigcup","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcup","\\smallint"],data:{numArgs:0,handler:function(t){return{type:"op",limits:true,symbol:true,body:t}}}},{funcs:["\\dfrac","\\frac","\\tfrac"],data:{numArgs:2,greediness:2,handler:function(t,i,e){return{type:"frac",numer:i,denom:e,size:t.slice(1)}}}},{funcs:["\\llap","\\rlap"],data:{numArgs:1,allowedInText:true,handler:function(t,i){return{type:t.slice(1),body:i}}}},{funcs:["\\bigl","\\Bigl","\\biggl","\\Biggl","\\bigr","\\Bigr","\\biggr","\\Biggr","\\bigm","\\Bigm","\\biggm","\\Biggm","\\big","\\Big","\\bigg","\\Bigg","\\left","\\right"],data:{numArgs:1,handler:function(t,i,e){if(!h.contains(r,i.value)){throw new a("Invalid delimiter: '"+i.value+"' after '"+t+"'",this.lexer,e[1])}if(t==="\\left"||t==="\\right"){return{type:"leftright",value:i.value}}else{return{type:"delimsizing",size:p[t].size,delimType:p[t].type,value:i.value}}}}},{funcs:["\\tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],data:{numArgs:0}},{funcs:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],data:{numArgs:0}}];var g=function(t,i){for(var e=0;e":{font:"main",group:"rel"},":":{font:"main",group:"rel"},"\\approx":{font:"main",group:"rel",replace:"≈"},"\\cong":{font:"main",group:"rel",replace:"≅"},"\\ge":{font:"main",group:"rel",replace:"≥"},"\\geq":{font:"main",group:"rel",replace:"≥"},"\\gets":{font:"main",group:"rel",replace:"←"},"\\in":{font:"main",group:"rel",replace:"∈"},"\\leftarrow":{font:"main",group:"rel",replace:"←"},"\\le":{font:"main",group:"rel",replace:"≤"},"\\leq":{font:"main",group:"rel",replace:"≤"},"\\ne":{font:"main",group:"rel",replace:"≠"},"\\neq":{font:"main",group:"rel",replace:"≠"},"\\rightarrow":{font:"main",group:"rel",replace:"→"},"\\to":{font:"main",group:"rel",replace:"→"},"\\ngeq":{font:"ams",group:"rel",replace:"≱"},"\\nleq":{font:"ams",group:"rel",replace:"≰"},"\\!":{font:"main",group:"spacing"},"\\ ":{font:"main",group:"spacing",replace:" "},"~":{font:"main",group:"spacing",replace:" "},"\\,":{font:"main",group:"spacing"},"\\:":{font:"main",group:"spacing"},"\\;":{font:"main",group:"spacing"},"\\enspace":{font:"main",group:"spacing"},"\\qquad":{font:"main",group:"spacing"},"\\quad":{font:"main",group:"spacing"},"\\space":{font:"main",group:"spacing",replace:" "},",":{font:"main",group:"punct"},";":{font:"main",group:"punct"},"\\colon":{font:"main",group:"punct",replace:":"},"\\barwedge":{font:"ams",group:"textord",replace:"⊼"},"\\veebar":{font:"ams",group:"textord",replace:"⊻"},"\\odot":{font:"main",group:"textord",replace:"⊙"},"\\oplus":{font:"main",group:"textord",replace:"⊕"},"\\otimes":{font:"main",group:"textord",replace:"⊗"},"\\oslash":{font:"main",group:"textord",replace:"⊘"},"\\circledcirc":{font:"ams",group:"textord",replace:"⊚"},"\\boxdot":{font:"ams",group:"textord",replace:"⊡"},"\\bigtriangleup":{font:"main",group:"textord",replace:"△"},"\\bigtriangledown":{font:"main",group:"textord",replace:"▽"},"\\dagger":{font:"main",group:"textord",replace:"†"},"\\diamond":{font:"main",group:"textord",replace:"⋄"},"\\star":{font:"main",group:"textord",replace:"⋆"},"\\triangleleft":{font:"main",group:"textord",replace:"◃"},"\\triangleright":{font:"main",group:"textord",replace:"▹"},"\\{":{font:"main",group:"open",replace:"{"},"\\}":{font:"main",group:"close",replace:"}"},"\\lbrace":{font:"main",group:"open",replace:"{"},"\\rbrace":{font:"main",group:"close",replace:"}"},"\\lbrack":{font:"main",group:"open",replace:"["},"\\rbrack":{font:"main",group:"close",replace:"]"},"\\lfloor":{font:"main",group:"open",replace:"⌊"},"\\rfloor":{font:"main",group:"close",replace:"⌋"},"\\lceil":{font:"main",group:"open",replace:"⌈"},"\\rceil":{font:"main",group:"close",replace:"⌉"},"\\backslash":{font:"main",group:"textord",replace:"\\"},"|":{font:"main",group:"textord",replace:"∣"},"\\vert":{font:"main",group:"textord",replace:"∣"},"\\|":{font:"main",group:"textord",replace:"∥"},"\\Vert":{font:"main",group:"textord",replace:"∥"},"\\uparrow":{font:"main",group:"textord",replace:"↑"},"\\Uparrow":{font:"main",group:"textord",replace:"⇑"},"\\downarrow":{font:"main",group:"textord",replace:"↓"},"\\Downarrow":{font:"main",group:"textord",replace:"⇓"},"\\updownarrow":{font:"main",group:"textord",replace:"↕"},"\\Updownarrow":{font:"main",group:"textord",replace:"⇕"},"\\coprod":{font:"math",group:"op",replace:"∐"},"\\bigvee":{font:"math",group:"op",replace:"⋁"},"\\bigwedge":{font:"math",group:"op",replace:"⋀"},"\\biguplus":{font:"math",group:"op",replace:"⨄"},"\\bigcap":{font:"math",group:"op",replace:"⋂"},"\\bigcup":{font:"math",group:"op",replace:"⋃"},"\\int":{font:"math",group:"op",replace:"∫"},"\\intop":{font:"math",group:"op",replace:"∫"},"\\iint":{font:"math",group:"op",replace:"∬"},"\\iiint":{font:"math",group:"op",replace:"∭"},"\\prod":{font:"math",group:"op",replace:"∏"},"\\sum":{font:"math",group:"op",replace:"∑"},"\\bigotimes":{font:"math",group:"op",replace:"⨂"},"\\bigoplus":{font:"math",group:"op",replace:"⨁"},"\\bigodot":{font:"math",group:"op",replace:"⨀"},"\\oint":{font:"math",group:"op",replace:"∮"},"\\bigsqcup":{font:"math",group:"op",replace:"⨆"},"\\smallint":{font:"math",group:"op",replace:"∫"},"\\ldots":{font:"main",group:"punct",replace:"…"},"\\cdots":{font:"main",group:"punct",replace:"⋯"},"\\ddots":{font:"main",group:"punct",replace:"⋱"},"\\vdots":{font:"main",group:"punct",replace:"⋮"}},text:{"\\ ":{font:"main",group:"spacing",replace:" "}," ":{font:"main",group:"spacing",replace:" "},"~":{font:"main",group:"spacing",replace:" "}}};var a='0123456789/@."';for(var l=0;l":">","<":"<",'"':""","'":"'"};var g=/[&><"']/g;function d(t){return c[t]}function n(t){return(""+t).replace(g,d)}var o;if(typeof document!=="undefined"){var s=document.createElement("span");if("textContent"in s){o=function(t,i){t.textContent=i}}else{o=function(t,i){t.innerText=i}}}function u(t){o(t,"")}i.exports={contains:l,escape:n,hyphenate:r,indexOf:a,setTextContent:o,clearNode:u}},{}]},{},[12])(12)}); \ No newline at end of file diff --git a/lib/normalize.css b/lib/normalize.css new file mode 100644 index 000000000..08f895079 --- /dev/null +++ b/lib/normalize.css @@ -0,0 +1,425 @@ +/*! normalize.css v3.0.1 | MIT License | git.io/normalize */ + +/** + * 1. Set default font family to sans-serif. + * 2. Prevent iOS text size adjust after orientation change, without disabling + * user zoom. + */ + +html { + font-family: sans-serif; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/** + * Remove default margin. + */ + +body { + margin: 0; +} + +/* HTML5 display definitions + ========================================================================== */ + +/** + * Correct `block` display not defined for any HTML5 element in IE 8/9. + * Correct `block` display not defined for `details` or `summary` in IE 10/11 and Firefox. + * Correct `block` display not defined for `main` in IE 11. + */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +/** + * 1. Correct `inline-block` display not defined in IE 8/9. + * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. + */ + +audio, +canvas, +progress, +video { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Prevent modern browsers from displaying `audio` without controls. + * Remove excess height in iOS 5 devices. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Address `[hidden]` styling not present in IE 8/9/10. + * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22. + */ + +[hidden], +template { + display: none; +} + +/* Links + ========================================================================== */ + +/** + * Remove the gray background color from active links in IE 10. + */ + +a { + background: transparent; +} + +/** + * Improve readability when focused and also mouse hovered in all browsers. + */ + +a:active, +a:hover { + outline: 0; +} + +/* Text-level semantics + ========================================================================== */ + +/** + * Address styling not present in IE 8/9/10/11, Safari, and Chrome. + */ + +abbr[title] { + border-bottom: 1px dotted; +} + +/** + * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. + */ + +b, +strong { + font-weight: bold; +} + +/** + * Address styling not present in Safari and Chrome. + */ + +dfn { + font-style: italic; +} + +/** + * Address variable `h1` font-size and margin within `section` and `article` + * contexts in Firefox 4+, Safari, and Chrome. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/** + * Address styling not present in IE 8/9. + */ + +mark { + background: #ff0; + color: #000; +} + +/** + * Address inconsistent and variable font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` affecting `line-height` in all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Remove border when inside `a` element in IE 8/9/10. + */ + +img { + border: 0; +} + +/** + * Correct overflow not hidden in IE 9/10/11. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Grouping content + ========================================================================== */ + +/** + * Address margin not present in IE 8/9 and Safari. + */ + +figure { + margin: 1em 40px; +} + +/** + * Address differences between Firefox and other browsers. + */ + +hr { + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} + +/** + * Contain overflow in all browsers. + */ + +pre { + overflow: auto; +} + +/** + * Address odd `em`-unit font size rendering in all browsers. + */ + +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} + +/* Forms + ========================================================================== */ + +/** + * Known limitation: by default, Chrome and Safari on OS X allow very limited + * styling of `select`, unless a `border` property is set. + */ + +/** + * 1. Correct color not being inherited. + * Known issue: affects color of disabled elements. + * 2. Correct font properties not being inherited. + * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. + */ + +button, +input, +optgroup, +select, +textarea { + color: inherit; /* 1 */ + font: inherit; /* 2 */ + margin: 0; /* 3 */ +} + +/** + * Address `overflow` set to `hidden` in IE 8/9/10/11. + */ + +button { + overflow: visible; +} + +/** + * Address inconsistent `text-transform` inheritance for `button` and `select`. + * All other form control elements do not inherit `text-transform` values. + * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. + * Correct `select` style inheritance in Firefox. + */ + +button, +select { + text-transform: none; +} + +/** + * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` + * and `video` controls. + * 2. Correct inability to style clickable `input` types in iOS. + * 3. Improve usability and consistency of cursor style between image-type + * `input` and others. + */ + +button, +html input[type="button"], /* 1 */ +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; /* 2 */ + cursor: pointer; /* 3 */ +} + +/** + * Re-set default cursor for disabled elements. + */ + +button[disabled], +html input[disabled] { + cursor: default; +} + +/** + * Remove inner padding and border in Firefox 4+. + */ + +button::-moz-focus-inner, +input::-moz-focus-inner { + border: 0; + padding: 0; +} + +/** + * Address Firefox 4+ setting `line-height` on `input` using `!important` in + * the UA stylesheet. + */ + +input { + line-height: normal; +} + +/** + * It's recommended that you don't attempt to style these elements. + * Firefox's implementation doesn't respect box-sizing, padding, or width. + * + * 1. Address box sizing set to `content-box` in IE 8/9/10. + * 2. Remove excess padding in IE 8/9/10. + */ + +input[type="checkbox"], +input[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Fix the cursor style for Chrome's increment/decrement buttons. For certain + * `font-size` values of the `input`, it causes the cursor style of the + * decrement button to change from `default` to `text`. + */ + +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Address `appearance` set to `searchfield` in Safari and Chrome. + * 2. Address `box-sizing` set to `border-box` in Safari and Chrome + * (include `-moz` to future-proof). + */ + +input[type="search"] { + -webkit-appearance: textfield; /* 1 */ + -moz-box-sizing: content-box; + -webkit-box-sizing: content-box; /* 2 */ + box-sizing: content-box; +} + +/** + * Remove inner padding and search cancel button in Safari and Chrome on OS X. + * Safari (but not Chrome) clips the cancel button when the search input has + * padding (and `textfield` appearance). + */ + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * Define consistent border, margin, and padding. + */ + +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} + +/** + * 1. Correct `color` not being inherited in IE 8/9/10/11. + * 2. Remove padding so people aren't caught out if they zero out fieldsets. + */ + +legend { + border: 0; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Remove default vertical scrollbar in IE 8/9/10/11. + */ + +textarea { + overflow: auto; +} + +/** + * Don't inherit the `font-weight` (applied by a rule above). + * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. + */ + +optgroup { + font-weight: bold; +} + +/* Tables + ========================================================================== */ + +/** + * Remove most spacing between table cells. + */ + +table { + border-collapse: collapse; + border-spacing: 0; +} + +td, +th { + padding: 0; +} diff --git a/main.css b/main.css index 3056b78c1..56c563f83 100644 --- a/main.css +++ b/main.css @@ -1,14 +1,119 @@ body { + font: 16px/1.5 "Proxima Nova"; +} + +.container { + margin: 0 auto; + margin: 0 auto; + width: 800px; +} + +.header { + color: #fff; + background: #329894; + padding: 40px 0 0; + overflow: hidden; +} + +.logo { + color: #fff; + font-size: 45px; + margin: 0; +} + +.tagline { + font-size: 28px; + font-weight: 300; + padding: 20px 0; + text-align: center; +} + +.tagline em { + font-weight: 600; +} + +.cta { + margin: 10px 0; + text-align: center; +} + +.cta a { + background: #329894; + border-radius: 3px; + border: 3px solid #fff; + color: #fff; + display: inline-block; + font-weight: 600; + margin: 0 10px; + padding: 8px 24px; + text-decoration: none; +} + +.demo { + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); + font-size: 18px; + margin: 50px 0 0; +} + +.demo, +.demo-left, +.demo-right { + height: 300px; +} + +.demo-left, +.demo-right { + box-sizing: border-box; + float: left; + padding: 30px; + width: 50%; +} + +.demo-instructions { + margin-bottom: 10px; +} + +.demo-left { + background: #444; +} + +.demo-left textarea { + background: #000; + border: none; + box-sizing: border-box; + color: #fff; + font: 14px Menlo, monospace; + height: 120px; + padding: 10px; + resize: none; + width: 100%; +} + +.demo-right { + background: #fff; + color: #444; +} + +.demo-right #demo-output { font-size: 20px; } -#main { - margin-left: auto; - margin-right: auto; - min-width: 300px; - max-width: 600px; +.main { + background: #fff2e7; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); + min-height: 400px; + position: relative; } -#example { - font-size: 30px; +.subtagline { + color: #329894; + font-size: 24px; + font-weight: 600; + padding: 30px 0; + text-align: center; +} + +.main .example { + font-size: 22px; + text-align: center; } diff --git a/main.js b/main.js index c5273bfce..7fcc4d360 100644 --- a/main.js +++ b/main.js @@ -1,12 +1,11 @@ window.startup = function() { - var title = document.getElementById("title"); - katex.process("\\KaTeX", title); - - var example = document.getElementById("example"); - katex.process("\\frac{1}{\\Bigl(\\sqrt{\\phi \\sqrt{5}}-\\phi\\Bigr) e^{\\frac25 \\pi}} = 1+\\frac{e^{-2\\pi}} {1+\\frac{e^{-4\\pi}} {1+\\frac{e^{-6\\pi}} {1+\\frac{e^{-8\\pi}} {1+...} } } }", example); + var tex = document.getElementsByClassName("tex"); + Array.prototype.forEach.call(tex, function(el) { + katex.process(el.getAttribute("data-expr"), el); + }); var demoInput = document.getElementById("demo-input"); - var demoOutput = document.getElementById("demo"); + var demoOutput = document.getElementById("demo-output"); function doDemo() { katex.process(demoInput.value, demoOutput);